dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness /btw: a side question about the live session, including the running turn; the answer stays out of the conversation history. MIT.
DeepSeek Harness の /btw。いま動いているターンも含めてセッションに横から質問でき、答えは会話履歴にもモデルのコンテキストにも残りません。
session.snapshotEvents())。フォーク型のサイド質問と違い、ターンを止めずに「いまの状態」を聞ける| DeepSeek Harness | 0.2.1-rc.2 で確認(conversation.chat.commandview スロットを使う) |
| Node.js | 22 以上 |
cd "${DSH_HOME:-$HOME/.dsh}/profiles/web"
pnpm add link:/path/to/dsh-btw-live
package.json の dsh.profile.bundles に追加:
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@local/btw-live"
]
dsh web を再起動してページを再読み込み。クライアント側は起動時にしかスキャンされないので、初回は再起動が必要です(2回目以降の client.js 編集は HMR が拾います)。
/btw いまどこまで進んだ?
cordis.patch.yml の config(既定値):
| キー | 既定 | 意味 |
|---|---|---|
maxEvents | 80 | 読むイベント数(末尾から) |
maxChars | 16000 | トランスクリプト文字数の上限 |
toolArgChars | 300 | ツール引数の表示文字数 |
toolResultChars | 900 | ツール結果の表示文字数 |
maxTokens | 4096 | 回答の最大トークン |
timeoutMs | 120000 | 1回の呼び出しのタイムアウト |
index.js(ホスト側)— commands に btw を登録する。セッションログからトランスクリプトを組み、llm で1回だけストリームする。答えは command/done の text として返る。呼び出しにはセッションの id を sessionId として渡す(OpenCode 系は x-opencode-session でリクエストをルーティングし、無いと 400 MissingSessionID で拒否する)client.js(ブラウザ側)— conversation.chat.commandview の btw キーだけを差し替える。他のコマンドは汎用の行のまま。locale で ja / en / zh の辞書を持つプロバイダ固有の分岐は無い。呼び出しはセッション本体と同形(provider / model / reasoningEffort / sessionId、システムプロンプトは契約どおり system、ツールなし)で、違うのは出力上限 4096 だけ。再試行の判定も dsh-llm のプロバイダ非依存な失敗コード(EMPTY_RESPONSE / PI_AI_ERROR / TIMEOUT / TRANSPORT)で行う。
カードには試行ごとの結末が出ます(finish の reason.kind と failure.code / HTTP status / メッセージ)。
btw failed: no answer (#1 error PI_AI_ERROR HTTP 400 — …; #2 stop; provider=… model=…)
#1 が出力上限あり、#2 が上限なし(セッション本体と同じ形)。2回目で成功すれば表示は成功のまま