dsh-flykit:將 DeepSeek Harness Web 界面升級爲智能體駕駛艙

前言

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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜