Minglink/dsh-infinite-gen-4
Minglink/dsh-infinite-gen-5DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
跨会话引用插件:在任意会话(含其他工作区)粘贴 @[label](dsh-session:…) 引用,宿主注入被引用会话的快照供模型阅读,并提供一键复制引用按钮。
跨会话引用(mention)插件 for DeepSeek Harness。
在任意会话(包括另一个工作区/文件夹的会话)里,粘贴
@[label](dsh-session:<id>) 引用,宿主就会把被引用会话的内容快照注入给当前
模型阅读——跨文件夹的任务和对话可以直接 @ 引用,不再需要口头转述。
完整设计见 SPEC.md。英文版见 README.en.md。
| 插件版本 | DSH 宿主 | 说明 |
|---|---|---|
| 0.2.x(当前) | 0.1.2-rc.1(及同队列后续) | 面向最新队列;client 半对旧队列同构,理论上可回退运行 |
| 0.1.x | 0.1.0-rc.6 ~ 0.1.1-rc.2 | 旧队列发布线(迁移记录见 .agents/MIGRATION-0.1.2.md) |
0.1.2 队列拆除了
@deepseek-ai/dsh-client-runtime(插件 0.1.x 的 client 依赖), 因此 0.2.0 的 client 半改为零宿主值依赖:bundle 只 requirereact,dsh.client.inject置空,类型全部指向 0.1.2-rc.1 的新域包(cordis/dsh-api-session-controller/dsh-session)。同一产物在 0.1.2+ 宿主上不会 再因 phantom dependency 而不进入 boot graph。
agent/pre-step 解析 @[label](dsh-session:…) 与裸
dsh-session:<id>,调用原生 sessionReferenceResolver.prepare() 注入
快照(转录中渲染为独立的 Session recall 行),并把 mention 改写为
可读 @label。若部署未挂载 sessionReferenceResolver 服务(如 rc.6
profile),插件会自动注册它。@[标题](dsh-session:<id>))。@deepseek-ai/dsh-session-reference 管线:
并行读取、去重、预算(≤3 源 / ≤64KB)、自引用拒绝、untrusted 上下文警告。agent/pre-step、sessionReferenceResolver 等宿主内部接口及会话日志格式,宿主升级后可能失效。# 方式一:npm 安装(推荐)
dsh plugin --profile web add dsh-session-ref
# 方式二:git 安装(lib/ 已提交,无需构建)
git clone https://github.com/lacemou/dsh-session-ref
dsh plugin --profile web add /path/to/dsh-session-ref
# 方式三:本地开发安装
cd dsh-session-ref
npm install
npm run build
dsh plugin --profile web add /path/to/dsh-session-ref
安装后重启 web 进程(Ctrl-C 后重新 dsh web)才会加载新 bundle。
@[标题A](dsh-session:…)。## Referenced sessions 快照内容与可读的 @标题A。也可手写引用:@[任意标签](dsh-session:<id>) 或裸 dsh-session:<id>。
自引用(引用本会话)被原生拒绝;超过 3 个不同源或快照超预算时原生拒绝,
消息原样保留。
npm run typecheck # tsc --noEmit
npm run test # vitest run(21 个测试:宿主半注入、URI 编码一致性、客户端复制)
npm run build # tsc --noEmit + tsdown → lib/index.js (node) + lib/client.js (browser)
lib/ 已提交,git 安装直接使用预构建产物。
端到端已闭环(Web GUI 真实环境):
prepare() 真实调用 → 快照注入为
session-reference / recall 上下文(转录出现 Session recall 行)originalMessages / retainedMessages / omittedMessages / omittedBytes / truncated(大会话触发预算截断,属设计行为)@labelencodeSessionReferenceUri 逐字节一致注意:安装插件后必须重启 web 进程——web 的 ESM 缓存不会自动更新, 否则运行的仍是旧版插件代码(典型症状:mention 不注入、模型只看到原文)。
| 里程碑 | 内容 |
|---|---|
| M2 | 输入框 @ 自动补全:输入 @ 弹出会话候选列表(来自原生 listCandidates,按工作区亲和度排序),键盘选择后自动插入 @[标题](dsh-session:…)——把「复制-粘贴」升级为一步 @ 选择 |
| M3 | 跨工作区目录浏览 + 引用粒度选择(整会话 / 用户结点 / 区间) |
| M4 | 与 dsh-crosstalk 集成:引用 + 转交任务 |
| M5 | 把「复制 Session ID / 复制引用」贡献回上游核心 UI |
完整设计见 SPEC.md。
MIT