在 DeepSeek Harness 的生態中,本地 HTML 文件的審查、編輯與標註通常需要通過 MCP 橋接或啓動額外的服務進程來實現。@philmingdao/anno-dsh-native 提供了一種原生方案,它將 Anno 的核心能力直接集成到 Harness 進程中,去除了中間層和子進程開銷,實現了更輕量的架構。
這是一個爲 Anno 提供的原生 DeepSeek Harness 插件,包含 HTML 審查服務器、持久化會話存儲以及六種模型工具,無需 MCP 介接。
核心功能¶
進程內運行
插件運行在 Harness 進程內部。HTTP 審查服務器、磁盤會話存儲以及 html_review_* 工具的註冊邏輯都在同一個進程內完成。這避免了 MCP 橋接的額外開銷,也沒有獨立的子 npx 進程需要管理。
會話持久化
審查會話默認持久化存儲在 $ANNO_DATA_DIR/sessions(默認爲 ~/.anno/sessions)。源文件不會被覆蓋,生成的輸出文件會進行版本控制(如 -reviewed.html、-reviewed-v2.html)。
模型工具
插件註冊了六個原生模型工具,Agent 可以直接調用:
- html_review_start_session
- html_review_get_session
- html_review_claim_handoff
- html_review_mark_handoff_sent
- html_review_list_sessions
- html_review_register_final
系統提示集成
插件包含一個 tool:anno 系統提示詞章節,明確教導 Agent 如何遵循“開始 -> 審查 -> 接收 -> 解決”的工作流。
安裝與配置¶
安裝該插件需要使用 DSH 的 profile 機制。
dsh plugin --profile web add @philmingdao/anno-dsh-native
安裝完成後,插件會應用 cordis.patch.yml,將 anno-native 行插入到 profile 的主機平面中。啓動 Harness 正常運行:
dsh web
所有處於該 profile 下的 Agent 共享同一個審查服務器和會話存儲。
配置項
anno-native 行支持以下配置:
| 字段 | 默認值 | 含義 |
|---|---|---|
host |
dsh |
會話記錄中標記的主機類型。 |
dataDir |
$ANNO_DATA_DIR 或 ~/.anno |
持久化會話的根目錄。 |
assetsDir |
package assets/ |
存放 editor.html 和 handoff.html 的目錄。 |
典型用法¶
Agent 與插件的交互遵循以下工作流:
-
發起審查
Agent 調用html_review_start_session,傳入源文件的絕對路徑。插件返回一個迴環 URL(127.0.0.1+ 臨時端口),Harness 會在瀏覽器中打開該 URL。 -
用戶交互與回傳
用戶在瀏覽器編輯器中完成審查後點擊“提交給 Agent”。插件捕獲發起該會話的 Agent,並準備交接數據。服務器通過agent.followup推送一條普通的後繼回合消息,包含完整的審查內容(文本編輯、格式變更、標註等)。 -
Agent 解決
收到消息後,Agent 的提示詞會指示其按順序執行:
-html_review_claim_handoff(持久化接收確認)
-html_review_get_session(重載完整會話)
-html_review_register_final(將修改應用到草稿 HTML 並生成最終文件)
由於是進程內推送,Agent 可以立即解決交接問題,無需手動輪詢。
架構與依賴¶
插件採用 Cordis 插件架構,核心分爲兩部分:
lib/anno-core.js:負責 HTTP 服務器、磁盤存儲和交接鉤子。該模塊刻意移除了對 DSH 的依賴,可以直接進行單元測試。lib/index.js:作爲 Cordis 綁定層,註冊工具、注入系統提示詞、啓動服務器,並處理 Agent 的調用上下文。
該包保持零外部依賴,使用 Node.js 原生的 node:crypto 模塊構建消息,不依賴 @deepseek-ai/dsh-tools。
注意事項¶
版本要求
- DeepSeek Harness 版本需在 >=0.1.0-rc.6 <0.2.0 之間。
- Node.js 版本需爲 22 或更新。
卸載行爲
執行卸載命令後,數據目錄下的現有審查會話會保留。如果源頭 Agent 已經離線,交接數據仍會持久化在磁盤上,Agent 可以通過普通的 html_review_* 工具列表進行查看和接管。
許可證
插件採用 MIT 許可證。編輯器 UI 使用的字體遵循 SIL Open Font License,詳情請參考主 Anno 倉庫。