前言¶
在 DeepSeek Harness(DSH)裏,主會話往往承擔「執行任務」:工具調用、改文件、跑命令會佔滿 transcript,也把上下文預算花在當前任務上。若在同一輪裏穿插「幫我理一下思路」「只看一下這個文件別動它」,既容易污染工作流,又有誤改倉庫的風險。社區插件 dsh-side-chat(倉庫 Uzumaku13/DSH-side-chat-advisor)在 Web UI 右側邊欄增加獨立聊天頁籤:與會話並行、可讀可搜、默認不寫盤、不執行 shell。
這是什麼¶
- 定位:DSH 右側面板裏的第二個對話線程,獨立於主 agent 會話,繼承當前工作目錄以便讀項目,工具面限制爲只讀。
- 維護者:GitHub 用戶 Uzumaku13(package.json 作者爲 Ivan Belyaev)。
- 分類:客戶端插件(注入 Web 側邊欄與會話相關 UI 模塊)。
- 當前版本:1.3.1(MIT 許可證)。
- 目錄頁:skillhub.cn 條目。
一句話對比主會話:主會話是「幹活用的 chat」;Side Chat 是「旁路琢磨用的 chat」,兩者 session 分離,互不污染。
核心功能¶
獨立線程與界面¶
| 能力 | 說明 |
|---|---|
| Separate thread | 獨立 agent 會話,重載與重啓後仍可持續 |
| Right-panel tab | 在右側與主會話並列,不替代主會話 |
| Streaming | 流式輸出,回答過程中可用 Stop 中止 |
| Clean transcript | 展示對話內容,不展示 agent 內部獨白 |
只讀工具集¶
預設與主機側 tools.restrict 雙重限制。允許的工具包括:read、glob、grep、read_image、web_search、web_fetch;不包含 write、edit、shell。
推理檔位、語音與圖片¶
- Reasoning level:
off / low / high / max,在 Settings → Plugins → Side chat 配置,按線程生效;默認Off。 - 語音:錄製麥克風,經主機註冊的 speech provider 轉寫(README 提及曾在本地 GigaAM provider 上測試);未配置 provider 時界面會提示無可用項。
- 圖片:可附帶截圖,作爲 prompt 內容部分發送。
線程歷史與綁定¶
- free:默認;用面板頭「+」新建的自由線程,不屬於某一主 session,在各 session 歷史中可見。
- bound:在歷史列表用 pin 釘到當前主 session,回到該 session 時面板可再次打開同一線程。
- 「+」不刪除舊線程,僅切換使用;從列表移除條目不刪除磁盤上的 DSH session 日誌(位於
$DSH_HOME/sessions/<id>)。
捆綁的 agent preset¶
一次安裝會註冊 兩行:插件本體與其運行的 sidechat preset。該 preset 掛載面向聊天的 persona、讀工具、Web 訪問與 compaction,不包含 agent-instructions、tool-skill 或 MCP,避免繼承編碼 preset 下的 AGENTS.md、項目規則與整本 skill 目錄。
環境要求¶
- DeepSeek Harness 0.2.x,且啓用 Web UI(
@deepseek-ai/dsh-web-app)。 - 已配置模型 provider(插件使用主機默認路由)。
- 語音功能依賴主機內已註冊的 speech provider。
安裝與啓用¶
在已取得插件目錄的絕對路徑後(目錄內爲 bundle 根,含 cordis.patch.yml 等),任選其一安裝。
在 DSH 會話中通過 plugin_manager:
plugin_manager
action: install_bundle
target: /absolute/path/to/dsh-side-chat
CLI 等價命令:
dsh plugin --profile <profile> add /absolute/path/to/dsh-side-chat
一個 bundle 即完成插件與 preset,無需第二步。
啓用步驟:
- 重啓 DSH,或在 Settings → Plugins 中關閉再打開該插件;
- 刷新瀏覽器頁面(
F5),客戶端以瀏覽器模塊形式加載。
卸載 bundle:
plugin_manager
action: remove_bundle
target: dsh-side-chat
安裝前請自行審閱倉庫源碼與 MIT 許可證;插件以當前 DSH 進程權限運行,具備其聲明的只讀工具與 Web 能力,不代表對主機外系統的額外隔離。
典型用法¶
打開面板¶
在會話標題欄右側、與會話工具相鄰處,點擊 speech-bubble 按鈕;右欄 tab 引導中也可進入 Side Chat。
發送與附件¶
- 輸入後 Enter 發送;Shift+Enter 換行。
- 麥克風:錄製後再次點擊停止,轉寫結果追加到草稿,可改字再發。
- Picture:可一次附加多張圖片。
- 回答進行中 Stop 替代 Send。
- 面板頭 +:開始新線程;舊線程仍在歷史中。
歷史與時鐘按鈕¶
面板頭時鐘按鈕打開歷史:Bound to this session 與 Free。點擊行切換線程;pin 綁定或解綁當前 session;× 僅從列表移除(不刪磁盤會話)。
設置項¶
Settings → Plugins → Side chat(插件列表卡片亦可)。
- Reasoning level:按模型目錄提供的檔位選擇;插件通過
GET /x-side-chat/models.json等與主機協作,並在變更後恢復主會話的默認推理檔位,避免影響編碼會話。 - Hide the Claude Migration button(可選,默認關):若安裝了
dsh-claude-move,可用 CSS 隱藏其浮動入口;偏好存在瀏覽器localStorage。
主機側 HTTP 路由(便於無瀏覽器調試)包括例如 POST /x-side-chat/thread、POST /x-side-chat/say 等,詳見倉庫 README How it works。
適用場景與注意¶
適合:
- 需要在同一項目上下文中問問題、讀文件、搜代碼或查 Web,但不想讓主會話 transcript 塞滿旁支討論;
- 希望「只看不動」的探索性對話,降低誤編輯風險;
- 需要語音速記、貼圖討論,且接受獨立 preset 的聊天風格。
注意:
- 只讀是工具掩碼與 preset 共同約束,仍應把敏感倉庫與憑據按組織規範處理;
- 線程 id 存於瀏覽器
localStorage(dsh.side-chat.thread.v2)與$DSH_HOME/side-chat/threads.json; - 社區目錄 skillhub.cn 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態原則是「一切皆插件」,按需選用即可。
結尾¶
dsh-side-chat 把「瀏覽器裏另開一頁問 AI」搬進 DSH 右側:獨立會話、項目目錄可讀、工具面不寫 shell。若你常在工作流中間插入純討論,可對照 README 安裝 bundle 並在設置裏調好推理檔位。
- 目錄頁:https://www.skillhub.cn/plugins/Uzumaku13/DSH-side-chat-advisor
- 源碼與文檔:https://github.com/Uzumaku13/DSH-side-chat-advisor