
DeepSeek 把 Agent Core 也插件化了Harness 的真正賭注假設(shè)同一個(gè)團(tuán)隊(duì)要做兩個(gè) Agent 產(chǎn)品。一個(gè)通過(guò) Web 界面工作會(huì)話存進(jìn) SQLite允許使用 Bash 和文件工具另一個(gè)只跑一次性任務(wù)會(huì)話寫入 JSONL禁止本地 Shell通過(guò) Python SDK 調(diào)用。再過(guò)一段時(shí)間第二個(gè)產(chǎn)品甚至想換掉默認(rèn)Agent Loop。如果模型、循環(huán)、工具、狀態(tài)和界面都揉在一個(gè)Agent類里團(tuán)隊(duì)通常只有兩條路繼續(xù)增加條件分支或者 Fork 一份 Agent Core。分支越多兩個(gè)產(chǎn)品越難同步修復(fù)和升級(jí)。DeepSeek Harness 想改變的正是這個(gè)位置。它的“Everything is a Plugin”不是說(shuō)搜索和 MCP 可以裝插件而是連模型適配器、Agent Loop、Session Log、Tool Registry 與產(chǎn)品 Surface 都進(jìn)入同一套 Cordis插件語(yǔ)義。這也是它真正激進(jìn)的地方Agent Core 不再是一個(gè)不可觸碰的中心。我的判斷是DeepSeek Harness 的核心賭注不是做出功能更多的編碼助手而是讓 Agent 產(chǎn)品差異通過(guò)可組合、可卸載、可觀察的運(yùn)行時(shí)能力表達(dá)減少?gòu)?fù)制 Agent Core 的必要性。它獲得了更細(xì)的替換和生命周期邊界也把復(fù)雜度轉(zhuǎn)移到了插件圖、接口契約、版本遷移和診斷上。它究竟是 Harness、Runtime還是產(chǎn)品Harness、Runtime、Framework 和 Product 在行業(yè)里沒(méi)有唯一強(qiáng)制定義。為了判斷 DeepSeek Harness可以先采用一組操作性邊界Framework 提供開(kāi)發(fā)者描述流程、狀態(tài)和組件的庫(kù)與抽象。Runtime 負(fù)責(zé)裝載、調(diào)度、生命周期和實(shí)際執(zhí)行。Agent Harness 圍繞模型組織上下文、工具、狀態(tài)、權(quán)限、反饋和停止條件。Product 在底層能力上給出默認(rèn)界面、策略、體驗(yàn)和交付承諾。DeepSeek 官方把 dsh 定位為 open-source agent harness。固定源碼同時(shí)展現(xiàn)了明顯的 Runtime 特征Cordis 負(fù)責(zé)裝載插件樹(shù)Profile 與 Bundle 決定組合Web、Headless 和 SDK 驅(qū)動(dòng)共同的底層語(yǔ)義。它確實(shí)提供可運(yùn)行界面卻仍是 Developer Preview。因此“Web UI 能打開(kāi)”和“已經(jīng)是一款成熟的Coding Agent 產(chǎn)品”是兩件不同的事。一句話概括DeepSeek Harness 是一塊用 Cordis 插件圖重組 Agent 產(chǎn)品的運(yùn)行時(shí)底盤不是只允許在固定 Agent Core 外圍增加工具的插件框架?!癊verything”包括哪些核心能力本文的架構(gòu)判斷綁定官方 Commit47f943859bef60e4160492346772ded9b24f765a。固定架構(gòu)文檔明確寫出模型適配器、工具注冊(cè)表、Session Log 和 Agent Loop 本身都是插件可以由配置替換。核心能力執(zhí)行職責(zé)進(jìn)入插件語(yǔ)義后的變化LLM Adapter統(tǒng)一消息、流式輸出與模型協(xié)議換模型后端不必改 Agent LoopAgent Loop認(rèn)領(lǐng)輸入、請(qǐng)求模型、執(zhí)行工具并判斷是否繼續(xù)“換循環(huán)”與“換 Provider”都成為組合動(dòng)作Session Log保存 Turn、Step、消息和工具事件狀態(tài)后端與循環(huán)可以分別演化Tool Registry匯總 Schema 并執(zhí)行工具流水線工具、執(zhí)行 Provider 和策略不必綁在一個(gè)類里SurfaceWeb、Headless、SDK 等入口多個(gè)產(chǎn)品入口不必各自復(fù)制 Agent Core其中最不尋常的是 Agent Loop 也只是插件。普通插件系統(tǒng)通常默認(rèn)主循環(huán)不可替換擴(kuò)展只發(fā)生在邊緣DeepSeek Harness 則把循環(huán)、狀態(tài)和工具放在同一組合機(jī)制里。但“存在替換接縫”不能直接寫成“任意實(shí)現(xiàn)都兼容”。錯(cuò)誤語(yǔ)義、流式事件、狀態(tài)格式、安全策略和性能特征仍然需要契約測(cè)試和受控實(shí)驗(yàn)。把代碼拆成包是架構(gòu)事實(shí)穩(wěn)定組合這些包才是工程能力。Cordis 不只管理注冊(cè)還管理插件何時(shí)存在如果插件只在啟動(dòng)時(shí)向 Map 注冊(cè)一個(gè)工具退出進(jìn)程時(shí)一起銷毀普通依賴注入已經(jīng)夠用。Agent Runtime真正困難的場(chǎng)景是動(dòng)態(tài)變化Workspace 被加載或卸載Provider 暫時(shí)出現(xiàn)或消失配置被更新局部能力只在某個(gè) Agent 的生命周期中存在。Cordis 把設(shè)計(jì)目標(biāo)稱為 spatiotemporal composability。用工程語(yǔ)言可以壓縮成兩個(gè)問(wèn)題插件注冊(cè)的服務(wù)、事件和子作用域能否在卸載時(shí)作為可追蹤副作用被回收消費(fèi)者能否聲明需要什么能力并在 Provider 出現(xiàn)、消失或變化時(shí)重新協(xié)調(diào)因此Cordis Context 不只是一個(gè)服務(wù)容器也追蹤插件產(chǎn)生的 effects。這讓“局部裝上再完整卸下”成為設(shè)計(jì)目標(biāo)而不是依賴開(kāi)發(fā)者記住每一次清理操作。邊界同樣重要。Cordis 官方仍明確說(shuō)明 API 尚未穩(wěn)定相關(guān)論文材料是項(xiàng)目作者持續(xù)維護(hù)的設(shè)計(jì)框架不是已經(jīng)形成同行評(píng)審共識(shí)的可靠性定理??赡嫔芷跍p少一類耦合風(fēng)險(xiǎn)但不會(huì)自動(dòng)消除復(fù)雜插件圖中的競(jìng)態(tài)、瞬時(shí)依賴缺失和版本兼容問(wèn)題。五個(gè)構(gòu)件怎樣形成真正運(yùn)行的產(chǎn)品只看插件目錄還無(wú)法回答“這一輪實(shí)際啟用了什么”。DeepSeek Harness 用五個(gè)構(gòu)件把安裝包轉(zhuǎn)成運(yùn)行組合。Profile表達(dá)產(chǎn)品選擇Profile 是命名后的產(chǎn)品組合。它決定使用哪些 Bundle并保存產(chǎn)品自己的配置覆蓋。Web 與 Headless 可以共享基礎(chǔ)能力同時(shí)選擇不同入口和默認(rèn)策略。Bundle分發(fā)能力集合Bundle 將一組 Cordis 配置行和代碼作為可復(fù)用組合?;A(chǔ) Bundle 提供模型、工具、持久化、Sandbox、設(shè)置、憑據(jù)和遙測(cè)等能力不同 Surface 再增加自己的增量。Patch注入環(huán)境差異Bundle、Profile、Home 和命令行 Patch 逐層形成最終插件樹(shù)。需要特別注意Patch 按行 ID 定位并替換整段配置不是任意 YAML 深度合并。它更可預(yù)測(cè)也要求配置者清楚被替換行的完整含義。Capability Seam定義替換邊界官方把一個(gè)完整接縫拆成 Service Definition、Provider 和 Consumer。Consumer 面向穩(wěn)定服務(wù)Provider決定本地、遠(yuǎn)端或具體協(xié)議實(shí)現(xiàn)。只有一個(gè)接口聲明還不能算完整的可替換能力。Event Log保存共同事實(shí)Session 通過(guò)追加事件保存模型可見(jiàn)事實(shí)模型歷史由日志投影而來(lái)UI、回放、持久化、Fork 與 Resume也從同一事件流派生。不同 Surface 因此不必各自維護(hù)一份“當(dāng)前 Agent 狀態(tài)”。不過(guò)append-only Log 的存在不等于跨機(jī)器恢復(fù)、所有副作用冪等或長(zhǎng)任務(wù)可靠性已經(jīng)成立。這些結(jié)論需要故障注入和真實(shí)部署證據(jù)。五者組合起來(lái)才是 DeepSeek Harness 的產(chǎn)品方法Profile 選擇Bundle 分發(fā)Patch 覆蓋Seam隔離實(shí)現(xiàn)Event Log 保存共同事實(shí)。靈活性沒(méi)有消滅復(fù)雜度把 Agent Core 插件化最直接的收益是把變化限制在更小的邊界里。切換 Session 后端不必順手重寫 Agent Loop。為受限產(chǎn)品移除 Shell可以從最終組合撤掉相關(guān) Tool 與 Provider而不是給循環(huán)增加分支。Web 與 Headless 共享運(yùn)行語(yǔ)義不必維護(hù)兩個(gè)逐漸分叉的核心。Workspace 或單個(gè) Agent 可以擁有局部能力和獨(dú)立生命周期。代價(jià)也非常具體當(dāng)前行為取決于最終插件樹(shù)只讀某個(gè)入口文件不足以知道實(shí)際啟用了什么。服務(wù)契約除了類型還必須覆蓋錯(cuò)誤、流事件、安全與遷移語(yǔ)義。生命周期錯(cuò)誤可能表現(xiàn)為重復(fù)注冊(cè)、懸掛事件或 Provider 短暫缺失。Bundle 與多層 Patch 提高復(fù)用性也提高配置漂移和升級(jí)診斷成本。Preview 階段仍會(huì)發(fā)生兼容性破壞采用者需要自行凍結(jié)版本并準(zhǔn)備遷移。所以“Everything is a Plugin”并不是免費(fèi)獲得模塊化而是選擇用顯式組合圖管理變化。如果產(chǎn)品確實(shí)需要切換模型、循環(huán)、狀態(tài)后端、執(zhí)行世界或 Surface這種復(fù)雜度可能值得。如果應(yīng)用只有一個(gè)固定 Loop、少量工具和單一部署顯式工作流加普通依賴注入往往更便宜、更容易審計(jì)。當(dāng)前證據(jù)支持到哪一步截至 2026 年 8 月 14 日官方倉(cāng)庫(kù) HEAD 仍與固定基線47f9438相同倉(cāng)庫(kù)快照內(nèi)部版本是 rc5npm 的deepseek-ai/dsh和 PyPI 的 Python SDK 已是 rc6。PyPI 明確標(biāo)記為 pre-release官方 README 仍標(biāo)注 Developer Preview 并警告會(huì)出現(xiàn)兼容性破壞Cordis 也仍聲明 API 尚未穩(wěn)定。研究材料中的本機(jī)記錄能證明更有限的內(nèi)容固定源碼依賴可安裝Web 構(gòu)建和頁(yè)面檢查完成CLI 與配置解析入口能加載選定的 Session、Loop、Tools、Jobs、Subagent 和 Compaction 測(cè)試通過(guò)。缺少模型憑據(jù)時(shí)Headless 返回MISSING_CREDENTIAL。這能證明憑據(jù)門禁真實(shí)觸發(fā)不能證明真實(shí)模型 E2E 已完成也不能推出生產(chǎn)級(jí)恢復(fù)、安全或調(diào)度能力成立。一張表判斷現(xiàn)在是否值得采用使用情境當(dāng)前建議進(jìn)入下一步前要補(bǔ)什么研究 Agent Runtime替換 Loop、狀態(tài)或 Provider適合做隔離 PoC凍結(jié) Commit 與包版本導(dǎo)出最終插件樹(shù)同一底盤派生 Web、Headless、SDK 等入口值得驗(yàn)證組合收益檢查狀態(tài)、權(quán)限和錯(cuò)誤語(yǔ)義是否一致需要按 Workspace 或 Agent 動(dòng)態(tài)裝卸能力Cordis 路線具有針對(duì)性測(cè)試重復(fù)裝卸、Provider 消失和資源回收只有固定 Loop、單一后端和少量工具優(yōu)先考慮簡(jiǎn)單方案先證明動(dòng)態(tài)組合能償還配置與診斷成本準(zhǔn)備承載關(guān)鍵生產(chǎn)任務(wù)當(dāng)前應(yīng)謹(jǐn)慎真實(shí)模型 E2E、故障注入、遷移演練和權(quán)限審計(jì)想直接證明它優(yōu)于成熟產(chǎn)品或工作流框架證據(jù)不足固定模型、任務(wù)、權(quán)限、預(yù)算和版本后再比較這張表不負(fù)責(zé)給項(xiàng)目打總分而是把架構(gòu)興趣和生產(chǎn)證據(jù)分開(kāi)。DeepSeek 已經(jīng)公開(kāi)了一份可以閱讀源碼、可以運(yùn)行局部路徑的激進(jìn) Runtime 設(shè)計(jì)它還沒(méi)有替采用者完成穩(wěn)定接口、遷移、故障恢復(fù)和安全驗(yàn)證。結(jié)論DeepSeek Harness 最值得關(guān)注的地方不是插件數(shù)量而是它把 Agent Loop、Session、LLM、Tools 與 Surface都降為插件圖中的普通參與者。產(chǎn)品不再圍繞一個(gè)必須 Fork 的核心類生長(zhǎng)而是由 Profile、Bundle、Patch、Capability Seam 與 Event Log 組合出來(lái)。它真正獲得的是替換邊界和生命周期語(yǔ)義真正支付的是組合、契約、版本、遷移和診斷成本。對(duì)需要派生多個(gè) Agent 產(chǎn)品或動(dòng)態(tài)替換執(zhí)行能力的團(tuán)隊(duì)這是一條值得認(rèn)真測(cè)試的路線對(duì)固定、簡(jiǎn)單、強(qiáng)調(diào)穩(wěn)定交付的應(yīng)用更小的顯式工作流仍可能是更好的答案。現(xiàn)階段最合理的態(tài)度不是把它當(dāng)成熟產(chǎn)品追捧也不是因?yàn)?Preview 就忽略它把固定源碼當(dāng)作一份可以驗(yàn)證的架構(gòu)提案把生產(chǎn)能力繼續(xù)標(biāo)記為待證明。參考資料DeepSeek Harness 官方倉(cāng)庫(kù)https://github.com/deepseek-ai/deepseek-harness固定 Commit 架構(gòu)文檔https://github.com/deepseek-ai/deepseek-harness/blob/47f943859bef60e4160492346772ded9b24f765a/docs/architecture.md固定 Commit Capability Seamshttps://github.com/deepseek-ai/deepseek-harness/blob/47f943859bef60e4160492346772ded9b24f765a/docs/capability-seams.mdCordis 官方倉(cāng)庫(kù)https://github.com/cordiverse/cordisDeepSeek Harness Python SDKhttps://pypi.org/project/deepseek-harness-sdk/證據(jù)邊界核心插件范圍、組合順序和 Capability Seam固定官方源碼。Cordis 的時(shí)空組合性項(xiàng)目作者的設(shè)計(jì)框架不視為同行評(píng)審共識(shí)。收益、代價(jià)和采用表基于固定架構(gòu)的工程分析。本機(jī)記錄僅限已執(zhí)行命令和頁(yè)面范圍沒(méi)有真實(shí)模型 E2E。競(jìng)品性能、生產(chǎn)恢復(fù)、安全與跨機(jī)器調(diào)度未驗(yàn)證不作結(jié)論。