前言¶
在 DeepSeek Harness(DSH)裏做 Agent,常見做法是固定工作區、持久會話、技能目錄或一套寫死的工具。這些選擇能加快產品落地,也會把「文件在哪、歷史怎麼恢復、說明從哪加載」寫進架構裏。換執行環境(例如從本機遷到沙箱)、換機器續聊、或讓用戶按任務自由選資源,往往要改 Agent 本體或搬會話文件。
下面介紹社區插件 DSH Context OS(weijiafu14/dsh-context-os)。它把一輪運行的基礎收窄爲:在特定上下文組合下執行的 Agent loop;執行環境、代碼、會話歷史、文檔等以「完整服務」接入,由框架裝配上下文並路由事件,DSH 仍負責模型交互與原生執行循環。
這是什麼¶
DSH Context OS 是 DeepSeek Harness 的插件,維護者爲 weijiafu14,在 SkillHub 社區目錄中歸類爲工作流。項目 slogan 爲:ReAct is all you need. Everything is a context connector. —— 用完整、可替換的資源服務組合每一輪 Agent 運行。
當前爲實驗版 0.2.0(MIT 許可)。README 寫明:上下文組合運行時與 Web 拖拽界面已可用;完整模式通過隨包啓動器配合固定 commit 的 DSH 構建運行。統一資源審計、Agent 輔助選連接器等屬於後續步驟。
設計思路與文章 《以上下文裝配與反饋作爲框架邊界》 一致。SkillHub(https://www.skillhub.cn/plugins/weijiafu14/dsh-context-os)是獨立社區站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,安裝前請自行審閱源碼與許可證。
三層架構與一輪運行的路徑¶
flowchart TB
services["上下文連接器 · 完整服務"]
os["DSH Context OS"]
dsh["DSH · Agent loop"]
services <-->|上下文貢獻 / 事件| os
os <-->|裝配輸入 / 調用與記錄| dsh
一個 connector 對應一個完整服務:說明、可調用能力、執行反饋、持久化與收尾在同一邊界內。框架負責貢獻身份、順序、校驗與裝配;DSH 負責底層 loop。服務依賴沿用 DSH/Cordis(例如倉庫服務依賴執行環境服務)。
每輪運行的大致步驟:
- 選中的連接器初始化,貢獻說明、能力及合法歷史。
- 每次模型步驟前,框架合併各服務當前貢獻爲下一次輸入。
- 模型發起操作,框架路由到擁有該能力的連接器。
- 服務操作自有資源並返回結果,必要時更新後續上下文。
- 記錄與收尾事件回傳服務,用於持久化、業務收尾與釋放資源。
同一套邊界既用於啓動前的裝配,也用於運行中的反饋(按需加載知識、新日誌、工具結果等)。
核心功能(0.2.0 已覈實範圍)¶
| 本版已提供 | 需集成方或後續建設 |
|---|---|
| 統一事件與上下文貢獻、歸屬隔離與衝突檢查 | 統一資源讀寫賬本、任意網絡與 Shell 副作用攔截 |
| DSH Web 拖拽組合器、可複用宿主 UI | 通過 Agent 對話輔助選擇連接器 |
| 原生執行工具、Skill、MCP、會話歷史、子 Agent 適配及 PTC 執行投影 | 面向生產的沙箱、遠端會話、企業服務後端 |
| 獨立框架入口與完整文檔服務示例 | 通用上下文預算、壓縮策略插件 |
| 已驗證的更新、撤銷、冷恢復、服務替換與持久化行爲 | 跨機器遷移執行中進程、多寫入方會話同步 |
連接器實現 { id, events, handle(event) }。運行時核心事件包括 run/initialize、agent/prepare-step、tools/execute、session/event、run/settled;處理後可 put / remove / append / answer 等上下文貢獻。協議細節見倉庫 docs/protocol.md。
產品側可組合的典型意圖(來自 README 表格,具體連接器需你在環境中自行配置):
| 本輪任務 | 選中的服務(示例) |
|---|---|
| 修復 Bug | 任務輸入 + 倉庫 + 沙箱 + 指定歷史 |
| 評審設計 | 任務輸入 + 團隊文檔 + 架構知識 + 會話歷史 |
| 排查線上問題 | 任務輸入 + 日誌來源 + 代碼服務 + 事件處理歷史 |
Web 端已支持將可用連接器拖入本輪、編輯配置並創建獨立 DSH 會話;開發者也可用 /core 等入口以 API 構造相同組合。
公開包入口:dsh-context-os 插件本體、組合核心 /core、兼容適配 /compat、React 組合器 /ui。需要 Node.js ≥ 24.9。
安裝與啓用¶
官方要求:除 npm 版本號外,還須使用已構建的 DSH commit 22ddee3792402c3e70ec5f86a63c3e3e895a2f60(標籤 0.2.1-rc.3)。請將 /absolute/path/to/pinned/deepseek-harness 換成你本機該構建的實際路徑。
從 npm 安裝到兼容的 DSH Web profile:
dsh plugin --profile web add dsh-context-os@0.2.0 --ignore-scripts --config.auto-install-peers=false -w
"${DSH_HOME:-$HOME/.dsh}/profiles/web/node_modules/.bin/dsh-context-os" --dsh-root /absolute/path/to/pinned/deepseek-harness --profile web
上述第二行通過隨包 CLI 啓動:在 DSH 啓動前裝入經版本覈對的上下文準備與接納適配,並啓用完整事件驅動模式。進入 Web 後打開 上下文組合,選擇連接器、輸入任務並開始運行。
也可從 GitHub Releases 獲取安裝包;自行構建時在項目源碼目錄設置 DSH_SOURCE_ROOT 後執行 npm run build 與 npm pack,再用 dsh plugin --profile web add /absolute/path/dsh-context-os-0.2.0.tgz ... 安裝(命令格式與 npm 安裝相同,見 README.zh-CN)。
典型用法示例¶
向文檔連接器投遞來源事件(假設已裝配 examples/documentService.ts 所示的完整文檔服務):
const receipt = await run.send(
'documents/changed',
{ policy: '採用更新後的評審規則。' },
'documents',
);
await receipt.completed;
send() 確認事件已被接納;completed 等待執行、子任務與持久化結束。跨機器續聊在架構上可表述爲:選擇歷史 + 選擇本輪服務 + 執行 Agent loop,歷史由會話服務負責,執行資源由環境服務負責。
0.2 還支持宿主向連接器授予受限的 catalog、start、send、wait、stop 等運行管理能力;子運行與父運行共用同一套組合機制,詳見 docs/run-control.md。參考應用:DSH COS Super-agent。
適用場景與注意¶
適合誰: 需要在 DSH 上按任務組合執行環境、倉庫、文檔、歷史、Skill/MCP 等,並希望用「替換單個完整服務」驗證行爲(例如本地文件後端換 HTTP 後端)的開發者;需要 Web 拖拽配置一輪連接器組合的團隊。
務必注意:
- 插件在 當前 DSH 進程權限 下運行;README 明確本包不提供不可信插件代碼隔離,也不會自動記錄任意 Shell 命令的全部外部影響。安裝前請閱讀源碼、MIT LICENSE 與
NOTICE。 - 狀態爲 experimental;peer 運行時由兼容 DSH 提供,獨立 Electron 安裝發行版尚未單獨驗證。
- 壓縮仍主要由底層運行時提供,Context OS 尚未開放通用預算與壓縮策略插件接口。
結尾¶
DSH Context OS 把 ReAct 循環與外部世界的關係做成可組合的「上下文連接器」:框架管裝配與事件,服務管資源與持久化,換環境或換歷史往往只需換選中服務而非重寫 Agent。
- 社區目錄:https://www.skillhub.cn/plugins/weijiafu14/dsh-context-os
- 源碼與文檔:https://github.com/weijiafu14/dsh-context-os