前言¶
在 DeepSeek Harness(DSH)中執行主任務時,經常會遇到一種夾縫問題:主 Agent 還在繼續工作,你臨時想確認一個當前上下文裏已經出現過的細節。直接發送普通消息,會把問題帶入主會話,可能影響後續任務;另開一個會話,又會缺少剛纔討論過的背景。
dsh-btw 是 iyllyt 維護的非官方社區插件,許可證爲 MIT。它爲 DSH 提供 /btw 旁路提問:在主 Agent 忙碌時提交一次與當前上下文相關的快速提問,回答顯示在臨時面板中,不進入主會話歷史。
這是什麼¶
一句話定位:dsh-btw 是面向 DSH 的一次性旁路問答插件。
它複用父會話當前可共享的上下文,生成一次回答;主任務繼續執行,BTW 的問題和回答不寫入普通會話歷史。
核心功能¶
- 主任務並行:主 Agent 忙碌時也可以提交
/btw,主任務不會被暫停。 - 共享上下文:複用父會話當前的模型配置、系統提示詞、工具 schema 和安全消息前綴。
- 一次性回答:只進行一輪模型生成,不執行工具,也不會繼續追問。
- 會話隔離:不向主 SessionStore 寫入用戶消息、回答或隱藏 Session。
- 臨時界面:Markdown 回答顯示在 composer 上方,不遮擋輸入框。
- 隱私存檔:可選擇私有 JSONL、僅內存或完全不保存三種 sidechain 模式。
- 緩存保護:Anthropic/pi-ai 路由把緩存邊界移回共享前綴;其他路由交給 provider 管理。
- 可取消:關閉面板會中止請求,並支持獨立超時控制。
安裝¶
下面是已覈實事實中給出的 web profile 安裝命令:
dsh plugin --profile web add github:iyllyt/dsh-btw
該插件是非官方社區插件,與 Anthropic、Claude Code 或 DeepSeek AI 沒有關聯。許可證爲 MIT。安裝前建議檢查源碼與許可證,並確認它將在當前 DSH 進程權限下運行。
典型用法¶
先在主會話發送至少一條消息,然後在輸入框輸入:
/btw 剛纔說的配置文件叫什麼?
也可以用來確認當前上下文中的設計選擇或報錯關係:
/btw 爲什麼這裏選擇隊列而不是直接執行?
/btw 我們最終決定使用哪種緩存策略?
/btw 這個報錯和剛纔修改的代碼有關嗎?
交互方式:
↑/↓:滾動長回答Enter/Space/Esc:關閉回答- 請求未完成時點擊
Cancel:中止本次 BTW
適用場景與限制¶
適合用於當前上下文已知細節的快速提問,例如確認剛纔提到的配置文件、已經討論過的方案、已讀代碼中的選擇。
不適合以下需求:
- 讀取尚未看過的文件
- 執行命令
- 聯網搜索
- 連續追問
- 真正修改文件或執行操作
原因是 BTW 沒有工具權限,也沒有後續輪次;它是額外的一次模型請求,不等同於普通消息或帶工具的子任務。
隱私與存檔¶
- 可選擇
private-jsonl、memory或none三種 sidechain 模式。 - 默認 sidechain 模式爲
private-jsonl,寫入$DSH_HOME/btw-sidechains/v1。 private-jsonl目錄權限爲0700,文件權限爲0600,並按天數和最大數量自動清理。- 會話隔離方面,BTW 不向主 SessionStore 寫入用戶消息、回答或隱藏 Session。
- 卸載插件不會自動刪除已經寫入
$DSH_HOME/btw-sidechains/v1的私有審計記錄。
配置與兼容性¶
- 當前版本:
0.2.0 - 目標 DSH:
0.1.0-rc.6 - Node.js:
>=22 - 配置覆蓋會替換同一插件行的整個
config,而不是遞歸合併;覆蓋時需寫出希望保留的全部字段。 - Anthropic/pi-ai 路由會把緩存邊界移回共享前綴;其他路由交給 provider 管理。
- pi-ai 緩存橋接會在預期的 rc.6 adapter internals 改變時 fail closed。