DeepSeek Harness 的核心设计理念是插件化。在构建智能体时,模型面对的工具和技能往往非常庞大。直接向模型暴露所有能力会导致上下文膨胀和选择混乱。rangeking/dsh-iris 旨在解决这个具体问题,它实现了一种渐进式的能力选择机制。
插件介绍¶
rangeking/dsh-iris 是一个为 DeepSeek Harness 提供渐进式能力路由的插件,由 RangeKing 维护。它的核心逻辑是:当前模型读取简短描述,选择能力 ID,然后使用 DSH 的正常加载和执行路径。
核心功能¶
该插件主要提供以下能力:
- 渐进式能力选择:允许模型基于描述选择能力。
- 自适应模式:提供多种运行模式以适应不同场景。
- MCP 支持:支持
iris_search和iris_activate接口。 - 原生人物角色保留:在路由过程中不依赖额外的路由模型,保留原生人物角色。
安装与配置¶
安装插件需要使用官方提供的命令。
dsh plugin --profile web add dsh-iris
安装后,可以在 DeepSeek Harness 的界面中找到 Iris 控制开关。进入 Settings → Iris 进行配置和遥测设置。
默认的卡片预算参数如下(初始产品参数,非 Token 估算):
iris:
enabled: true
policy: auto
legacyInterface: false
cards:
maxCards: 8
descriptionChars: 200
totalChars: 1800
典型用法¶
在代码层面,可以通过调用 iris_activate 来直接激活特定能力。例如:
iris_activate({ capabilityId: "tool:text_word_count" })
这种方式会触发导入、应用、验证和揭示的过程,最终调用原生的 ToolRuntime 执行。
模式与边界¶
DSH 插件提供了四种自适应模式,不同模式下的行为如下:
- Minimal / Preserve:保留原生人物角色、工具和顺序;不启用 Iris 控制、卡片或自动激活。未知自定义模式默认为 Preserve。
- Standard:提供核心工具和预算卡片;对于隐藏或未挂载的能力,需要显式激活;长尾能力通过搜索获取。
- Code / PTC:使用原生
run_code和 DSH SDK。运行中的程序保持绑定;新激活的能力等待后续的主机步骤。 - Cordis / creation:保留原生人物角色、创建限制和创建条目(包括
cordis_mount/cordis_unmount)。搜索失败不会授权插件创建。
在权限和运行时边界方面,需要注意以下几点:
- 元数据读取安全:元数据读取从不导入 Providers,加载 Skill 主体,连接 MCP 服务器或执行业务工具。
- 描述无权限:描述文本不授予任何权限。
- 无额外运行时:Iris 不安装社区插件,也不创建第二个 Skill/MCP 运行时。
- 本地能力激活:配置的本地能力需要显式激活和策略检查。
- 原生描述归属:原生 Skill 描述保留其原生所有者,以避免生成重复卡片。
MCP 工具的运行时身份使用完整注册名称(如 mcp__github__create_issue),而非简短显示名。
总结¶
rangeking/dsh-iris 通过渐进式能力路由,帮助开发者更精细地控制智能体在 DeepSeek Harness 中的工具暴露与调用。它在不依赖额外模型的情况下,通过 iris_search 和 iris_activate 实现了能力的按需加载。
更多技术细节和源码,请访问 GitHub 仓库。