)
DeepSeek Harness 插件生態「一切皆插件」到底怎么拼關鍵詞DeepSeek Harness、Cordis 插件架構、dsh plugin、Agent 運行時、插件開發目錄一、導語為什么這條消息值得關注二、它到底是什么先做概念澄清2.1 Harness 不是模型是 Agent 運行時2.2 Cordis插件元框架三、核心設計拆解3.1 一切皆插件模型、工具、UI、沙箱全可替換3.2 服務 類型化事件 可逆副作用3.3 與現有 Agent 框架的關鍵差異四、實際影響與適用場景五、安裝與上手實踐5.1 環境準備5.2 一鍵啟動5.3 安裝社區插件六、實戰項目開發一個「AI 編程番茄鐘」插件6.1 項目目標6.2 開發步驟七、冷靜視角邊界、風險與未解問題總結一、導語為什么這條消息值得關注DeepSeek Harnessdsh開源后社區迅速涌現出一批實用插件優化側邊欄交互的DSH-better-sidebar、支持快速引用文件的dsh-at-file、第一個視覺插件modlens把圖片解析為結構化 JSON。更有趣的是知名技術博主魚皮用「創造模式」讓 AI 自己開發了一個桌寵插件dsh-kun-like-pet還能通過 GitHub MCP 插件一鍵推送到開源倉庫。這條消息的核心價值不在于有哪些好玩插件而在于它驗證了一個架構判斷當 Agent 框架把「一切皆插件」做到極致時社區能自己補齊產品短板甚至長出官方沒想到的能力。對 AI 應用開發者來說理解 Harness 的 Cordis 插件架構意味著你可以不修改框架源碼就能替換模型、工具、UI、沙箱用 AI 輔助開發插件幾分鐘就能發布一個在已有內部 Agent 平臺的基礎上只替換某一層而不重寫全部二、它到底是什么先做概念澄清2.1 Harness 不是模型是 Agent 運行時很多人看到 DeepSeek Harness第一反應是又一個 DeepSeek 模型。實際上不是一個新的 LLM 模型而是一個開源的 Agent 編排運行時基于 TypeScript跑在瀏覽器里Web UI或終端里CLI它和 Claude Code、Codex 是同一類產品——AI 編程工具但架構思路完全不同Claude Code 和 Codex 是單體應用能力內置Harness 把所有能力都拆成插件包括模型適配器、工具注冊表、會話日志、Agent 循環本身全部可替換。2.2 Cordis插件元框架Harness 的底層是一個叫Cordis的插件元框架。Cordis 不關心你怎么實現工具它只做三件事插件生命周期管理加載、初始化、卸載依賴注入插件按依賴順序啟動事件總線插件通過服務service和類型化事件typed event彼此協作插件卸載時它的所有注冊會被反向撤銷不留孤兒狀態。這意味著你可以隨時熱插拔不需要重啟整個運行時。三、核心設計拆解3.1 一切皆插件模型、工具、UI、沙箱全可替換Harness 的插件覆蓋范圍插件類型職責可替換示例Model Adapter模型調用適配DeepSeek V4 Pro ? Claude ? GPT-4 ? 本地模型Tool Registry工具注冊與調用文件讀寫、終端執行、網絡搜索Web UI瀏覽器界面默認界面 ? 2005 年老站風格皮膚 ? 自定義主題Session Log會話記錄追加日志 ? 數據庫持久化Sandbox代碼執行沙箱本地沙箱 ? Docker ? 遠程服務器Agent LoopAgent 循環邏輯默認循環 ? 自定義決策流沒有特權核心你不需要 patch 框架源碼來擴展功能只需要掛載一個插件到配置里。3.2 服務 類型化事件 可逆副作用Cordis 插件協作的三要素┌─────────────────────────────────────────────────┐ │ Cordis 運行時 │ ├──────────┬──────────────┬───────────────────────┤ │ Service │ Typed Event │ Reversible Effect │ │ (服務) │ (類型化事件) │ (可逆副作用) │ │ │ │ │ │ 插件注冊 │ 插件發布/訂閱 │ 插件卸載時自動撤銷 │ │ 共享能力 │ 跨插件通信 │ 不留孤兒狀態 │ └──────────┴──────────────┴───────────────────────┘Service插件向運行時注冊的能力如文件讀寫服務、“模型調用服務”Typed Event插件之間通過類型化事件通信如任務完成事件、“用戶輸入事件”Reversible Effect插件產生的副作用在卸載時會被自動撤銷如臨時文件清理、端口釋放3.3 與現有 Agent 框架的關鍵差異對比維度DeepSeek HarnessLangGraphAutoGen架構哲學一切皆插件運行時極簡圖編排節點即步驟多 Agent 對話擴展方式配置文件掛載插件不改源碼自定義節點/邊自定義 Agent 類UI內置 Web UI本身也是插件無內置 UI無內置 UI可追溯性追加式會話日志每步可查需自行實現需自行實現熱插拔支持可逆副作用不支持不支持語言TypeScriptPythonPython四、實際影響與適用場景對個人開發者學習成本低。一鍵啟動后安裝插件只需一條命令。開發插件可以用「創造模式」讓 AI 幫你寫。實際用途如果你用 AI 編程工具Harness 的插件生態讓你可以按需組裝需要看圖就裝 modlens需要文件引用就裝 dsh-at-file想要個性化就自己寫皮膚插件。對企業/團隊接入成本對于已有內部 Agent 平臺的企業Harness 的插件化意味著可以只替換沙箱層或模型層而不重寫業務邏輯。部署選項可以部署到服務器上讓整個團隊共享一個 Harness 實例。對生態填補空白在 Harness 之前AI 編程工具Claude Code、Codex都是封閉的單體應用。Harness 是第一個把「一切皆插件」做到極致的開源 Agent 運行時。可能沖擊誰封閉的 AI 編程工具。如果社區能自己補齊產品短板官方迭代壓力會更大。五、安裝與上手實踐5.1 環境準備要求Node.js 版本^22.19 || 24奇數版本不支持Node 23 會啟動失敗# 檢查當前 Node.js 版本node-v# 如果版本不符需要安裝 Node 24這里我的node版本是v18.20.4比較老了跟我一樣的朋友這里我推薦一個辦法來解決:用 nvm-windows 管理多版本# 1. 下載 nvm-windows# 去 https://github.com/coreybutler/nvm-windows/releases 下載 nvm-setup.exe 安裝# 2. 安裝 Node 24nvminstall24nvm use24# 3. 驗證版本node-v# 應該顯示 v24.x.x# 方式 Anpx 一鍵啟動無需全局安裝npx deepseek-ai/dsh web第一次下載的時候時間可能有點久請耐心等一會兒別失手退出了別問我怎么知道的惱之后瀏覽器輸入地址就好http://127.0.0.1:3080首次進入要API Key我這邊有API Key,沒有的朋友可以去官網在這里點擊創建API 可以就好。我前面的博文也有相關內容感興趣的可以去翻一翻。5.3 安裝社區插件# 安裝插件的通用命令格式dsh plugin--profilewebaddgithub:owner/repo#ref# 示例安裝視覺插件 modlensdsh plugin--profilewebaddgithub:liustack/modlens#main其他熱門插件# 優化側邊欄交互dsh plugin--profilewebaddgithub:xxx/DSH-better-sidebar#main# 符號快速引用文件dsh plugin--profilewebaddgithub:xxx/dsh-at-file#main六、實戰項目開發一個「AI 編程番茄鐘」插件6.1 項目目標開發一個dsh-pomodoro-timer插件功能在 Web 界面右下角顯示番茄鐘懸浮窗支持 25 分鐘專注 5 分鐘休息的標準番茄鐘專注期間鎖定 AI 對話防止分心休息期間解鎖番茄鐘完成后AI 自動生成一段「本次專注期間完成的工作摘要」6.2 開發步驟步驟 1使用 create-dsh-plugin 腳手架創建插件# 創建插件項目npx create-dsh-plugin dsh-pomodoro-timer-twebui步驟 2編寫插件核心代碼進入項目目錄編輯插件主文件cddsh-pomodoro-timer編輯src/index.ts或src/my-plugin.ts/** * dsh-pomodoro-timer: AI 編程番茄鐘插件 * * 功能 * - 25 分鐘專注 5 分鐘休息 * - 專注期間鎖定 AI 對話 * - 完成后 AI 生成工作摘要 */import{Plugin}fromdeepseek-ai/cordis;exportconstpomodoroPlugin:Plugin{id:pomodoro-timer,name:AI 編程番茄鐘,// 注冊服務services:{timer:createTimerService(),ui:createFloatingWindowUI(),},// 訂閱事件onEvent(event){if(event.typetimer:completed){// 番茄鐘完成請求 AI 生成工作摘要generateWorkSummary(event.sessionId);}if(event.typetimer:started){// 專注開始鎖定 AI 對話lockChatSession();}if(event.typetimer:break){// 休息開始解鎖 AI 對話unlockChatSession();}},};步驟 3登記插件并啟動編輯cordis.patch.yml登記你的插件-insert:-id:pomodoro-timername:./src/index.ts啟動開發模式測試插件# 方式 A從源碼啟動適合開發插件pnpminstallpnpmrun buildpnpmdsh web# 方式 B本地開發模式熱重載pnpmrun dev步驟 4測試番茄鐘功能點擊右下角番茄鐘懸浮窗點擊「開始專注」25 分鐘倒計時開始AI 對話被鎖定專注完成后AI 自動生成工作摘要進入 5 分鐘休息AI 對話解鎖步驟 5發布到 GitHub# 初始化 git 倉庫gitinitgitadd.gitcommit-mfeat: AI 編程番茄鐘插件# 推送到 GitHubgitremoteaddorigin https://github.com/YOUR_USERNAME/dsh-pomodoro-timer.gitgitpush-uorigin main# 給倉庫打上 dsh-plugin 標簽!-- 操作提示在 GitHub 倉庫頁面Settings -Topics添加 dsh-plugin 標簽 --七、冷靜視角邊界、風險與未解問題1. 插件質量參差不齊社區插件由開發者自行發布沒有官方審核機制。像modlens這種實用插件是少數更多插件可能只是實驗性質。安裝第三方插件前建議先審查代碼。2. 創造模式的安全性「創造模式」下 AI 可以幫你檢查插件樹、試驗新插件、打包發布。雖然安裝前有人工審批環節但 AI 生成的代碼可能存在安全隱患如意外訪問敏感文件、網絡請求泄露數據。3. 生態早期Harness 才剛開源插件生態處于早期階段。目前社區插件數量還不多很多實用場景如企業級權限管理、多租戶隔離、審計日志還沒有成熟插件。4. 與 Claude Code/Codex 的定位差異Harness 走的是「極致開放」路線但開放也意味著學習成本。對于只想快速寫代碼的開發者Claude Code 和 Codex 的開箱即用體驗可能更好。Harness 更適合喜歡折騰、有定制需求的開發者。總結DeepSeek Harness 的「一切皆插件」架構把 Agent 運行時從單體應用拆成了可自由組裝的積木。Cordis 插件元框架通過服務、類型化事件、可逆副作用實現了真正的熱插拔。核心要點Harness 不是模型是開源的 Agent 編排運行時——所有能力模型、工具、UI、沙箱都是插件Cordis 是底層插件元框架——只做生命周期管理、依賴注入、事件總線三件事社區能自己補齊產品短板——modlens 補了視覺能力桌寵插件補了趣味性番茄鐘補了專注管理開發插件可以用 AI 輔助——「創造模式」讓 AI 幫你寫插件、打包、發布到 GitHub這場「開源 一切皆插件」的實驗才剛開始。也許用不了多久每個人手里的 AI 編程工具都長得不一樣——因為每個人都可以根據自己的需求自由組裝。t 運行時從單體應用拆成了可自由組裝的積木。Cordis 插件元框架通過服務、類型化事件、可逆副作用實現了真正的熱插拔。核心要點Harness 不是模型是開源的 Agent 編排運行時——所有能力模型、工具、UI、沙箱都是插件Cordis 是底層插件元框架——只做生命周期管理、依賴注入、事件總線三件事社區能自己補齊產品短板——modlens 補了視覺能力桌寵插件補了趣味性番茄鐘補了專注管理開發插件可以用 AI 輔助——「創造模式」讓 AI 幫你寫插件、打包、發布到 GitHub這場「開源 一切皆插件」的實驗才剛開始。也許用不了多久每個人手里的 AI 編程工具都長得不一樣——因為每個人都可以根據自己的需求自由組裝。#DeepSeek_Harness #Cordis #插件架構 #dsh_plugin #Agent運行時 #AI編程工具 #開源項目 #番茄鐘