[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6t0y10NDuW4Wf6pNH5wmCyE1zUrrCNWGTfgm1rHgfjw":3},{"item":4,"related":54},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":43,"sourceName":44,"sourceUrl":45,"status":46,"seoTitle":47,"seoDescription":47,"canonicalUrl":47,"isFeatured":48,"sno":49,"sortOrder":50,"publishedAt":51,"updatedAt":52,"createdAt":53},"c7aa69b6-3fdf-4649-be13-cce8224ffc0a","article","DeepSeek Harness：把\"智能体\"拆成乐高","deepseek-harness","DeepSeek Harness 不是又一个会干活的聊天工具，而是一套把智能体彻底模块化、插件化的开源骨架。","你大概率听过\"AI 智能体\"这个词了。说白了，就是不光陪你聊天、还能自己上手干活的 AI：写代码、查资料、跑命令、改文件。\n\n可是让 AI 真的动手，背后得有一整套零件撑着。怎么把你的话翻成它能懂的提示词？它能调哪些工具？每走一步谁记录、谁批准、谁兜底？它到底跑在网页里、终端里，还是后台任务里？\n\n> 这套把 AI 和运行环境粘在一起的底层系统，行内叫 harness（本意是\"挽具\"）。你可以把它想成智能体的操作系统。DeepSeek 最近开源了这么一个 harness，命令行里叫 dsh。\n\n所以dsh到底是什么，它和市面上那些 agent 平台到底有什么区别？\n\n## 定位\n\n> dsh 的招牌口号只有五个字：一切皆插件（Everything is a Plugin）。\n\n## 智能体 = 一盒乐高\n\n多数智能体工具长这样：厂商把模型、工具、界面、安全策略焊死在一个成品里。你想加点自己的东西？要么塞进它留的小缝里改配置，要么复制整个项目自己改。\n\n而 dsh 底层用了一个叫 Cordis 的插件框架，把产品的每一块都做成插件。模型适配器是插件，工具注册表是插件，会话日志是插件，连驱动 AI 思考的主循环本身也是插件。\n\n这里没有\"钦定的核心零件\"。官方写的那堆东西，和你自己写的插件，地位平等。要加功能，不去改核心代码，而是在旁边再插一块乐高。插上就生效，拔掉就自动还原，不留下烂摊子。\n\n## 让它不一样的几处设计\n\n**搭积木是声明式的。** dsh 用两层概念组织插件：Bundle 是一组打包好的功能块，Profile 把若干束按顺序叠起来，再贴上你自己的补丁。想象点一份套餐，再告诉店员\"这个不要、那个加倍、额外加一份\"，整个过程写在一份配置里，你从没碰过厨房的菜谱。想看自己机器上拼出了什么？一条命令 `dsh --profile web --dump-config` 把整棵积木树打印出来。\n\n**它有一本黑匣子日记。** 这是 dsh 最硬核也最实用的设计。它立了条规矩：任何送进模型里的话，都必须能从我这本日记里重建出来。这本日记就是会话日志，AI 的每一步、每句话、每次调工具，都按顺序记下来。于是跑崩了能回放复现，想换条路走就分叉一条新会话，想审计\"它到底看到了什么\"日记就是证据。对开发者和企业，这等于给 AI 装了可解释、可追溯的黑匣子。\n\n**换零件不拆整机。** dsh 把一个能力拆成三角色：接口（怎么用）、实现（怎么干）、使用者（谁在调）。妙处在\"文件系统\"和\"执行命令\"共用同一个底层世界。你只要把执行环境整体指向一个远程沙箱，Bash、终端、代码补全（LSP）会一起被搬走，上层代码一行都不用改。就像把电脑的硬盘加运行环境整体换成云端的，桌面上软件照常工作。\n\n**一个大脑，四种面孔。** 同一套能力，dsh 能同时长在多种前端上：\n\n| 形态 | 你看到的样子 |\n|---|---|\n| Web UI | 浏览器里聊天（官方主推的入门方式） |\n| 终端 TUI | 全屏命令行界面 |\n| Headless | 后台一键跑单个任务，没有界面 |\n| ACP \u002F SDK | 作为自动化服务器或程序库，被别的软件调用 |\n\n> 写一次能力，网页、命令行、自动化脚本全都能用。\n\n**它能改自己。** dsh 有个叫 `self-modification` 的模块，让 agent 能检视并挂载自己的插件。仓库里甚至附了演示：让 AI 在运行时改自己的运行环境。多数工具是出厂定型的，dsh 允许它边跑边给自己装新功能，算一种温和的元编程。\n\n**自带安全围栏。** dsh 写了一个原生部件 `landlock-run`：在 Linux 上，让被启动的程序先自我收紧文件权限，再执行。加上\"文件系统、命令、终端共用一个执行世界\"的设计，安全策略能统一施加。相当于给 AI 请的临时工发一张只能进指定房间的门禁卡，而不是整栋楼的万能钥匙。\n\n**开源，还多语言。** dsh 用 MIT 协议完全开源；核心用 TypeScript 写，同时提供 Python SDK，让 Python 程序像调普通库一样驱动它。社区还能用 `dsh-plugin` 标签发插件，互相发现。\n\n## 和别的 agent 平台有什么区别\n\n下面这张表把 dsh 和行业里常见的几类方案对照一下。这里强调设计取向的不同，不是谁好谁坏，很多平台在各自场景里都很强。\n\n| 维度 | 常见做法 | dsh 的做法 |\n|---|---|---|\n| 扩展方式 | 核心焊死，定制靠配置或小钩子；大改要 fork | 一切皆插件，加功能=插新块，无特权核心 |\n| 换模型\u002F换工具 | 常需改代码或受限于内置列表 | 注册一个插件即可，主循环不受影响 |\n| 可复现\u002F可审计 | 日志分散，难完整回放 | 会话日志为单一事实源，所见皆可重建 |\n| 运行界面 | 多绑定单一形态（CLI、IDE 或 Web） | 同一能力支持 Web、终端、后台、被调用 |\n| 安全边界 | 依赖宿主环境，策略零散 | 原生沙箱加统一执行世界，最小权限 |\n| 开放性 | 很多闭源或只开放部分 | MIT 全开源，含多语言 SDK 与插件生态 |\n| 改自身能力 | 通常不支持 | 支持运行时自挂载插件 |\n\n> 别的很多平台像买一台成品手机，好用但能改的有限；dsh 像给你一盒手机零件加说明书，出厂就强调\"你可以自己拼、自己换、自己加\"，而且拼出来的每台都留着完整装配记录。\n\n## 谁会喜欢它，谁先别急\n\n适合这三类人：想深度定制 AI 行为的团队；做 agent 评测的研究者（会话日志天生适合回放打分）；希望同一套能力在网页、命令行、自动化里复用的人。\n\n暂时不适合只想装好就能用、不想碰配置的小白用户。dsh 现在还是开发者预览版，需要 Node 环境，而且明确会说有破坏性更新。\n\n## 最后\n\nDeepSeek Harness 不是又一个会干活的聊天工具，而是一套把智能体彻底模块化、插件化的开源骨架。用\"一切皆插件\"取代焊死的核心，用\"黑匣子日记\"换来了可复现和可审计，用\"统一执行世界加原生沙箱\"兼顾了灵活和安全。\n\n对普通用户，它现在还偏毛坯房；对开发者和研究者，它给的是一种更干净、更可控、也更可拼装的智能体建造方式。\n\nDeepSeek Harness 官方仓库：\n\nhttps:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002Fdeepseek-harness\n","\u002Fuploads\u002F2026-08-14\u002F9a82b8b8-eb12-4a54-b192-fcfeb832f349.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35,39],{"id":24,"name":25,"slug":26},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":28,"name":29,"slug":30},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":32,"name":33,"slug":34},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":36,"name":37,"slug":38},"68cedb55-2cac-412f-8f81-fda8c7d686dd","思考","thought",{"id":40,"name":41,"slug":42},"7da20200-5815-42a5-851a-bc8c1db554cb","应用","app","资料来源","DeepSeek Harness 官方仓库","https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002Fdeepseek-harness","published",null,true,1,0,"2026-08-14T00:00:00.000Z","2026-08-14T03:08:57.885Z","2026-08-14T02:57:03.551Z",[55,64,73],{"id":56,"type":6,"title":57,"slug":58,"summary":59,"coverUrl":60,"authorName":14,"sno":61,"publishedAt":62,"createdAt":63},"88270c35-f9eb-4c94-ba86-f5035c0986ea","短信验证码真的安全吗？不同二次验证方式的安全差异","mfa-sms-authenticator-passkey-security","短信、身份验证器、安全密钥和 Passkey 都属于多因素认证，但抗钓鱼能力并不相同。本文用普通读者能理解的方式解释它们的区别，以及银行、邮箱和社交账号该如何选择。","\u002Fuploads\u002F2026-09-12\u002Fd995731f-a522-409e-8d68-56954886980c.jpg",47,"2026-09-12T00:00:00.000Z","2026-09-12T04:45:37.893Z",{"id":65,"type":6,"title":66,"slug":67,"summary":68,"coverUrl":69,"authorName":14,"sno":70,"publishedAt":71,"createdAt":72},"2c0069eb-784b-44c9-91e6-28d7a0a14f70","两台设备同时改一个文件，为什么会产生冲突副本","cloud-file-conflicted-copy-explained","当多人或多台设备同时编辑同一份文件，云盘可能生成冲突副本来避免覆盖其中一份修改。本文解释离线编辑、自动保存和版本合并为什么会导致冲突，以及正确的处理方式。","\u002Fuploads\u002F2026-09-13\u002F627de033-916f-457b-9a34-0e143fa78f28.jpg",48,"2026-09-13T00:00:00.000Z","2026-09-13T09:35:48.112Z",{"id":74,"type":6,"title":75,"slug":76,"summary":77,"coverUrl":78,"authorName":14,"sno":79,"publishedAt":62,"createdAt":80},"5bd2d651-c3c0-4d02-84dc-981363305e11","“端到端加密”到底保护了什么","end-to-end-encryption-what-it-protects","端到端加密保护的是消息从发送设备到接收设备之间的内容，但不自动解决设备中毒、身份冒充、云端备份和元数据问题。本文解释它的能力与边界。","\u002Fuploads\u002F2026-09-12\u002Fa283289a-ccca-46ab-be96-d9351271cfc7.jpg",50,"2026-09-12T04:45:43.559Z"]