免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

DeepSeek Harness 能力 Seams 全景:可替换能力清单与三角色

发布日期:2026-08-18 14:48:20 浏览次数: 1739
作者:phplife

微信搜一搜,关注“phplife”

推荐语

DeepSeek Harness官方导读,详解seam三角色与分类,提供可替换能力清单及服务对照表,技术架构入门必备。
核心内容:
1. seam的三角色定义及常见误区
2. 三种服务角色(seam/core/bundle)分类与例子
3. 可替换能力清单及执行世界应用例证

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

DeepSeek Harness 能力 Seams 全景:可替换能力清单与三角色

本文是 dsh 官方参考「能力 Seams 与核心服务」的导读:先讲清 seam 的三角色,再解释 seam / core / bundle 三种分类,最后给出一份按子系统组织的完整 ctx.* 服务清单与「我要做 X 该动哪里」对照表。


〇、先记住一个定义:seam 与它的三个角色

上一篇《架构入门》里我们说过,连「模型」本身都不是硬编码的,而是一个 seam(可替换能力)。这一篇把 seam 这个概念讲透。

一个 seam 由三个角色构成:

角色
职责
Service Definition(服务定义)
声明接口
Service Provider(服务提供方)
实现接口
Consumer(消费方)
使用接口(通常是面向模型的工具)

两条容易踩的坑:

  • 一个包可以合并承担多个角色
    ——例如 llm 包既是接口声明方,又注册着适配器;
  • 单一角色本身不是 seam
    ——只有「接口 + 实现 + 消费方」三者齐备,才算一条可替换能力。

这解释了为什么 seam 是「替换一个提供方,就能改变整个产品」的原因:消费方只面向接口编程,永远看不到提供方的实现细节。


一、三种角色:seam / core / bundle

在官方清单里,每个 ctx.* 服务都被标注了角色。角色一共三类:

角色
含义
判断标准
例子
seam
可替换能力
有接口,且有多个可选实现挂在同一接口后
ctx.llm
llm-deepseek / llm-replay)、ctx.fsctx.shell
core
主干服务
只有一个实现,但仍通过 ctx 暴露给其他插件
ctx.sessions
ctx.toolsctx.systemPrompt
bundle
组合点
唯一的具体实现,其他包依赖它的事件与服务,而不依赖它本身
ctx.agentLoop
(全库仅此一个)

三个概念里,bundle 最少见:整个 dsh 只有 ctx.agentLoop 一个 bundle——它是「唯一的具体循环插件」,扩展包都依赖 dsh-agent 的事件与服务,而非直接依赖 agent-loop 这个包。

官方特别注明「维护模式:混合模式」:服务从 Cordis 声明中发现;接口、实现和消费方角色由 scripts/gen-doc-graphs.ts 自动分类,并设有完整性守卫。也就是说,下面这张清单不是手写维护的,而是从代码里生成出来的——它本身就是一份活文档。


二、最强例证:共享执行世界

理解 seam 威力的最好入口,是「执行世界」这一组服务:

  • ctx.fs
    (文件系统)与 ctx.subprocess(子进程)的提供方共享同一个执行世界
  • 把它们指向远程沙箱,也就把 Bash、PTY 和 LSP 一并搬了过去,无需为每个能力单独写 fork;
  • ctx.e2b
     持有共享的 E2B SDK 句柄、远程工作目录与最终沙箱处置,让 fs-e2b 与 subprocess-e2b 两个提供方落在同一个 Linux 运行时里。

再看 ctx.sandbox 与 ctx.sandboxPolicy 的分工:

  • ctx.sandbox
    :消费方交出即将执行 spawn 的确切 argv;与宿主共享文件系统和内核的后端,按每次调用的策略包装这个 argv,并报告强制执行情况。
  • ctx.sandboxPolicy
    :统一保存部署默认模式和工作区根目录;只有沙箱执行器和提供方读取它——因此 bash 与 fs 不会限制到不同的根目录

这组设计体现了一个贯穿全库的原则:能力做「是什么」,策略做「允许什么」,两者彻底解耦


三、完整清单:按子系统速查

以下按官方侧边栏的子系统分组,列出全部 ctx.* 服务。seam 标注 ★,bundle 标注 ◆,其余为 core

3.1 内核与作用域

ctx 键
角色
实现
说明
ctx.invariants
core
invariants
配套子路径注册所属包本地的检查;负责选择、唯一性、子 fiber 与失败归属
ctx.typert
core
typert-registry
插件直接或经 dsh-typert-loader 注册实时 zod 贡献
ctx.typertGateway
core
api-gateway
把生成的 Remote 描述符与实时 Cordis 服务关联,提供一元调用

3.2 会话与持久化

ctx 键
角色
实现
说明
ctx.sessions
core
session
仅追加的 Session 实例,发出持久会话事件流
ctx.sessionPersistence
 ★
seam
jsonl / sqlite
各后端持久化同一套 SessionEvent 词汇;组合时选择后端
ctx.sessionQuery
 ★
seam
session-query-sqlite
精确读取、过滤与追踪;后端提供全文、排序、摘要与游标
ctx.sessionReferenceResolver
core
session-reference
把有界对话快照投影为持久但不可信的消息上下文
ctx.sessionTitle
 ★
seam
first-prompt-llm / all-prompts-llm
确定性回退 + 最新标题折叠区 + 唯一可选异步提供方
ctx.sessionProjections
core
session-projection
各领域注册由状态驱动的折叠单元
ctx.sessionProjectionCache
core
session-projection-cache
按会话持久保存投影单元状态,冷读取阶梯无需加载完整日志
ctx.spillStore
 ★
seam
spill-local
保存过大工具文本,返回面向模型的定位信息与取回提示

3.3 模型与上下文

ctx 键
角色
实现
说明
ctx.llm
 ★
seam
llm-deepseek / llm-pi-ai / llm-replay
适配器注册提供方实现;agent loop 与压缩调用提供方无关的流服务
ctx.tokenMeter
core
token-meter
按会话隔离的回放折叠区;压力消费方共享不可变测量结果
ctx.toolResultPruner
core
compaction-tool-result-pruner
摘要压缩前改写过大的当前工具结果
ctx.systemPrompt
core
system-prompt
为每个步骤收集提示词各部分与面向模型的工具 schema
ctx.compaction
 ★
seam
compaction-basic
基础后端消费步骤后压力事件与请求错误恢复事件

3.4 执行与工具

ctx 键
角色
实现
说明
ctx.tools
core
tools
注册能力、负责 Code Mode 传输与带把关的执行流水线
ctx.subprocess
 ★
seam
subprocess-local / subprocess-e2b
进程坐标、进程树/会话生命周期、stdio 处置、kill 升级
ctx.shell
 ★
seam
bash-local / bash-sandbox / pwsh-local
面向模型的 shell 工具与钩子桥接消费此 seam
ctx.shellEnv
core
shell-env
声明限定于 effect 作用域的 DSH_* 事实
ctx.terminals
 ★
seam
terminal-bash
精确到 Agent 的会话身份与清理
ctx.sandbox
 ★
seam
sandbox-local
按每次调用的策略包装 spawn 的 argv 并报告强制执行
ctx.sandboxPolicy
core
sandbox-policy
统一保存部署默认模式与工作区根目录
ctx.codeRuntime
 ★
seam
code-runtime-worker
用 Host 提供的异步绑定运行模型编写的程序
ctx.fs
 ★
seam
fs-local / fs-sandbox / fs-e2b
读/写/编辑;沙箱按共享模式限制变更
ctx.lsp
 ★
seam
lsp-local
提供方注册与选择 + 恰好四种操作的标准化查询执行
ctx.web
 ★
seam
web-search-* / web-fetch-http
搜索与抓取提供方注册到同一 seam
ctx.workflowEngine
 ★
seam
workflow-worker-thread
每个上下文一个引擎;agent() 调用经 ctx.subagents 扇出

3.5 策略与交互

ctx 键
角色
实现
说明
ctx.approval
 ★
seam
acp
一次性权限决策经 approval/request waterfall 分派
ctx.permissionPresets
core
permission-presets
预设表 workspace-write / danger-full-access
ctx.userQuestions
 ★
seam
user-questions
UI 前端提供当前生效的人工回答提供方
ctx.planMode
core
plan-mode
折叠计划/模式状态,注册 /plan
ctx.commands
core
commands
注册直接面向人的命令,不把调用发给模型
ctx.goals
core
goal
从会话日志折叠带修订版本的目标状态
ctx.directoryPicker
 ★
seam
native / browse
带判别标记的交互能力:系统选择器或应用内浏览器

3.6 子代理

ctx 键
角色
实现
说明
ctx.subagents
 ★
seam
spawn/fork-in-process、acp、codex、claude-code、dsh-sdk
提供方实现传输;负责基于 Activation 的延续编排
ctx.agents
core
agent
实时 Agent 句柄、创建/恢复工厂 seam、发起方传播
ctx.agentDefaultModel
core
agent-default-model
经 settings 分层默认 ModelSelection
ctx.agentPresets
core
agent-presets
发现 preset 目录,在创建期挂载 preset cordis.yml 到 agent 作用域
ctx.agentLoop
 ◆
bundle
agent-loop
唯一的具体循环插件
ctx.jobs
 ★
seam
jobs-local
登记正在运行的工作;tool-jobs 负责读取/列出/终止
ctx.skills
 ★
seam
skill-badge / skill-filesystem
合并提供方的 skill 目录

3.7 存储、平台与接入

ctx 键
角色
实现
说明
ctx.storage
 ★
seam
storage-json / storage-sqlite
各后端并列注册;类型化操作转为不透明 KV 单元原语
ctx.storageDomain
core
storage-domain
等待后端就绪后发布领域形态的类型化持久状态
ctx.settings
 ★
seam
settings-file
命名空间 schema + 分层值
ctx.credentials
 ★
seam
credentials-local
配置携带机密引用;提供方拥有实际值
ctx.workspaceRegistry
core
workspace
带 WorkspaceId 品牌类型的记录
ctx.messageFeedback
core
message-feedback
本地逐 assistant 消息反馈,不进入会话历史或遥测
ctx.attachments
 ★
seam
attachment-local
宿主提交已接受的图片;提供方解析授权持久引用
ctx.sessionTelemetry
 ★
seam
session-telemetry-otel
捕获会话记录、脱敏后交给后端(输出离开进程)
ctx.apiProxy
core
apiproxy
与传输无关的 Host 网关接口
ctx.webServer
core
webserver
node:http
 载体:具名路由注册表与静态回退
ctx.clientModules
core
modules
增量扫描 dsh.client 组合入口图
ctx.dynamicCordisRunner
core
cordis-host-runner
内存定义注册表 + Host 侧 vm 沙箱 + request-run
ctx.cordisInspect
core
cordis-host-runner
注册 Host inspect 提供方、镜像 Client manifest

四、「我要做 X」对照表(seam 视角)

想做什么
归属位置
换一个模型后端
在 ctx.llm 上注册新适配器
换会话存储后端
注册 ctx.sessionPersistence 新后端
换 shell / 沙箱 / 终端
替换 ctx.shell / ctx.sandbox / ctx.terminals 提供方
把文件与进程一起搬到远程
让 ctx.fs 与 ctx.subprocess 指向同一远程沙箱
添加面向模型的能力
在 ctx.tools 注册;schema 加入提示词组装
限制所启动的进程
消费 ctx.sandbox;统一策略写 ctx.sandboxPolicy
加一次性权限审批
监听 approval/request waterfall 提供回答方
加后台工作
在 ctx.jobs 注册;job_* 工具负责收集或停止
加载第三方 skill
在 ctx.skills 合并目录
生成会话标题
注册唯一的 ctx.sessionTitle 提供方
加搜索/抓取
在 ctx.web 注册搜索或抓取提供方
加代码执行沙箱
在 ctx.codeRuntime 注册后端
加 LSP 能力
在 ctx.lsp 注册后端并转换为标准化请求

五、总结

最后把本文要点压成四句话:

  1. seam = 三角色
    :Service Definition、Service Provider、Consumer 三者齐备,才是一条可替换能力。
  2. 三种分类
    seam(多实现)、core(单实现主干)、bundle(唯一组合点,全库只有 ctx.agentLoop)。
  3. 共享执行世界
    ctx.fs 与 ctx.subprocess 指向同一世界,搬一次就把 Bash、PTY、LSP 全部带走。
  4. 清单是活文档
    :接口、实现、消费方角色由代码生成并设完整性守卫,查它比猜它可靠。

掌握了这四点,再配合文中的两张速查表,你就能在 dsh 里精准定位任何一个可替换能力的位置——这正是「一切皆插件」从口号变成工程现实的关键。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅