前言¶
DeepSeek Harness (DSH) 的 Web 界面是基礎,但在進行智能體開發時,通常需要更緊密地與文件系統和終端交互。默認的 Web 界面在這些場景下顯得功能單薄。
dsh-flykit 插件通過擴展 dsh web,將其從簡單的聊天界面轉變爲一個功能完備的智能體駕駛艙。它引入了文件資源管理器、真實的編碼代理終端以及可搜索的模型選擇器,讓開發者可以在瀏覽器中直接管理代碼和會話上下文。
這是什麼¶
dsh-flykit 是 DeepSeek Harness 的一個插件,由 flykit-cc 維護,採用 MIT 許可證。
它的核心作用是將 DSH 的 Web GUI 升級爲一個集成了開發環境的控制台。它通過插件機制在 DSH 進程中註冊路由,並在瀏覽器端注入 React 組件,實現了文件編輯、終端交互、模型管理和特定應用(如 WhatsApp)的集成。
核心功能¶
文件資源管理器
插件提供文件樹視圖,支持通過 git ls-files 獲取文件列表,或進行純目錄遍歷。集成了 CodeMirror 編輯器,支持保存回磁盤。具有實時監聽能力(fs.watch),當文件在磁盤上發生變化時,會自動刷新樹狀結構和打開的文件內容。支持 Markdown 和 HTML/SVG 預覽。
真實編碼代理終端
在會話的工作區中運行真實的 PTY 終端,以 xterm 視圖呈現。支持 Claude Code、Pi、Codex 或普通 Shell。具備音效提示(當終端靜音後發出提示音)和單獨靜音功能。Claude Code 終端上方會顯示訂閱使用情況條。
視圖模式
- Agent Stage view:聚焦的終端佔據面板主體,其他終端以縮略圖形式顯示在下方。
- Split mode:終端與文件資源管理器並排顯示,最大化時覆蓋整個窗口。
應用集成
支持在面板中運行 WhatsApp Web。通過宿主機器上的 Headless Chrome 實例(路徑 apps/whatsapp/)運行 web.whatsapp.com,使用 Chrome DevTools Protocol (CDP) 進行屏幕投遞和交互轉發。
可搜索模型選擇器
替換原 Shell 的模型選擇框。支持搜索、提供商膠囊、收藏、最近使用和推理徽章。提供刷新 OpenRouter 目錄的按鈕。
狀態行
在 Composer 下方顯示狀態(空閒/思考/運行)、輪次計時器、Git 分支信息和未暫存文件計數。
Agent 工具
爲 DSH 代理提供 7 個專用工具(當 dsh-tools 存在時可用),用於控制終端:
- flykit_agent_start:啓動終端
- flykit_agent_send:向終端輸入文本
- flykit_agent_read:讀取終端內容
- flykit_agent_wait:等待終端安靜後返回輸出
- flykit_agent_list:列出會話終端
- flykit_agent_stop:停止並移除終端
- flykit_agent_run:在無終端模式下運行一次靜默查詢
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add github:flykit-cc/dsh-flykit
安裝完成後,檢查插件是否生效:
dsh --profile web --dump-config | grep flykit
啓動 Web GUI:
dsh web
如需移除插件,執行:
dsh plugin --profile web remove dsh-flykit
典型用法¶
首次 WhatsApp 設置
在終端中進入 WhatsApp 應用目錄並執行登錄腳本:
cd apps/whatsapp && node wa.mjs login
這將在終端打印二維碼,同時網頁標籤頁也會顯示。
Agent 工具使用
在 DSH 的代理配置中,可以調用上述工具來驅動終端。例如,flykit_agent_start 用於啓動一個 Claude Code 會話,flykit_agent_send 用於發送指令,flykit_agent_read 用於獲取輸出。
適用場景與注意¶
系統要求
- Node.js 版本需 ≥ 22。
- DSH 版本需爲 0.1.2-rc.1。
- 僅支持 macOS 或 Linux(Windows 不支持,因爲依賴 node-pty)。
- 系統需安裝 git(用於分支顯示和文件列表)以及 claude、pi 或 codex 二進制文件(需在 PATH 中)。
安全注意事項
- 插件註冊的路由沒有任何認證機制。
- DSH Web 服務器僅綁定到 loopback(127.0.0.1)。切勿在公網暴露 dsh web 端口,否則任何人都可以訪問這些接口並寫入終端輸入。
- 目錄同步功能會直接將 OpenRouter 的模型列表寫入 DSH 的設置文件中(llm-pi-ai.providers.openrouter.models),這會覆蓋現有列表且無法撤銷。請確保自行備份配置。
總結¶
dsh-flykit 通過插件化方式極大地豐富了 DSH Web 界面的功能,使其具備了文件編輯、多終端管理和模型調度的能力。適合需要在瀏覽器環境中進行深度智能體開發和調試的場景。更多信息可參考 GitHub 倉庫。