dsh-injection-list:在会话界面查看本轮上下文注入清单

前言

DeepSeek Harness(DSH)在跑智能体时,会把 live-docs、time-context、agent-instructions 等上下文注入进当前回合。自 0.2.1 起,会话 UI 不再渲染 context 行,客户端侧也拿不到对应会话事件,调试时很难回答「这一轮到底注入了哪些块、从哪来」。下面介绍客户端插件 dsh-injection-list(维护者 abluefan):在会话页把本轮注入清单补回来,只读记录,不改会话数据。

这是什么

dsh-injection-list 是 DSH 的 web 客户端插件,分类为客户端。它在会话界面展示「本轮上下文注入了什么」,每条只写来源名,可点击展开内容;用来补上 0.2.1 UI 把 context 行折叠掉之后的信息缺口。源码与说明见 GitHub,目录页见 SkillHub 插件页。

工作原理

0.2.1 的 UI 不渲染 context 行,client 也收不到相关会话事件。插件因此拆成 Host 与 Client 两半协作:

Host 挂在 agent/pre-step 链尾(在 next() 之后),检查 decision.messages 里 source.kind 不是 user 的消息,按 session 记下来,再通过 HTTP 提供给 client 半边。

只读、只记录,不改任何会话数据。 每个会话最多保留 200 条记录。

四种显示方式

四种展示各自独立开关,可按需关掉某一块 UI:

开关 默认 作用
hostRecord true 记录注入并暴露 /injection-list/api/*(关闭则下面三项都没有数据)
headerButton true 会话页头的「注入 N」按钮
turnTailList true 每回合尾部的注入行
chatNodes true 消息流里的上下文节点(复用官方 context 渲染器)

安装与启用

环境要求:DSH ≥ 0.2.1(package.json 中 engines.dsh 为 >=0.2.1-rc.2)。

通过插件市场(推荐)

在 awesome-dsh-plugin 目录中找到本插件,或在 dsh 的 插件 → 发现 里搜索 dsh-injection-list 并安装。

手动安装

任选一种方式,不要两种同时用。

A. 复制目录 + 手写 insert(适合本地开发)

  1. 把插件目录复制到 $DSH_HOME/profiles/web/node_modules/dsh-injection-list/。
  2. 在 $DSH_HOME/profiles/web/cordis.patch.yml 增加:
- insert:
    - id: injection-list
      name: 'dsh-injection-list'
  1. 重启 dsh,或让 Loader 重载配置。

B. 使用 dsh plugin add(需要包已发布到 npm)

dsh plugin --profile web add dsh-injection-list

用 B 之后,包名会进入 dsh.profile.bundles,bundles 层会读本包自带的 cordis.patch.yml;此时不要再做 A 的第 2 步,否则同一 id 会被插入两次,DSH 启动会直接失败。

调试日志

index.js 顶部的 DEBUG 常量默认为 false,只输出启动就绪与错误。改为 true 会额外打印 client 清单相关诊断信息。

适用场景与注意

适合需要在 DSH web 会话里对照注入来源、排查上下文是否按预期组装的开发者。插件以当前 dsh 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。社区目录(如 awesome-dsh-plugin、SkillHub)为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-injection-list 用 Host 侧 pre-step 记录非用户消息,经 HTTP 供客户端展示,在 0.2.1 折叠 context 行之后仍能看到本轮注入清单。需要时可从 目录页 或 GitHub 获取安装说明与源码。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜