DeepSeek Harness Hub
← 返回列表

会话代码收集器bycall/dsh-code-collector

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

汇总会话代码块,按语言分组并一键复制下载

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/10 · 已提供中文文档

DeepSeek Harness 的会话代码收集器:收集模型在当前会话中产生的每一个代码块,按语言分组,并支持复制 / 全部下载 / 跳转到对应轮次。

综合分
29.3
GitHub 分
29.3
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add bycall/dsh-code-collector
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-code-collector

DeepSeek Harness(dsh)会话代码收集器插件:把当前会话里模型产出的全部代码块汇总到一个面板——按语言或按文件分组、同一文件的多次迭代合并为版本历史、实时搜索过滤、一键复制/全部复制/下载合并 Markdown,点击任意条目直接跳转到产出该代码的回合。

背景:dsh 长会话(尤其让 AI 改代码的场景)会散落大量代码块,想回头找某段代码、对比某个文件的修改版本,只能手动翻聊天记录。本插件把“会话内所有代码”变成可检索、可分组、可复制的资源清单。

功能

| 能力 | 说明 |
| --- | --- |
| 收集按钮 | 输入框右侧(conversation.input.right 插槽)常驻按钮,实时显示当前会话代码块总数徽标;Alt+Shift+C 快捷开关面板(避开生态内 Ctrl+Alt+C 占用)。 |
| 双视图 | 按语言(色点 + 语言名 + 条数/总行数)与按文件(同名文件聚合,AI 迭代修改同一文件时自动形成版本历史,显示最新版,可展开查看/复制/跳转任意历史版本);视图偏好按浏览器记忆(localStorage)。 |
| 实时搜索 | 面板内搜索框,按文件名 / 语言 / 代码内容实时过滤,大小写不敏感;无匹配时明确提示。 |
| 代码提取 | 遍历会话快照全部 assistant 节点:显式 code 块(language/filename 多字段防御)+ text 块内 | 批量操作 | 单条复制、复制全部(带文件名头注释)、下载全部为单个 Markdown(session-code.md,按 --- 分隔)。 |
| 点击跳转 | 点击条目/版本 → 平滑滚动到该回合第一条消息并高亮(复用 data-chat-anchor-key 语义锚点机制)。 |
| i18n | 中英双语词典(跟随 dsh 语言环境)。 |

安装
bash
npm 源(推荐,市场内一键安装体验一致)
dsh plugin --profile web add dsh-code-collector

或本地目录源
dsh plugin --profile web add file:/Users/bycall/Documents/GitHub/dsh-code-collector

然后在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 数组中加入 "dsh-code-collector",重启 DSH.app(或硬刷新浏览器窗口)生效。

卸载
bash
dsh plugin --profile web remove dsh-code-collector

工作原理

- 插槽注册(客户端):通过 ctx.slots 注册会话级插槽 conversation.input.right(id code-collector-btn)。
- 数据来源:插槽组件拿到会话快照,读取 snapshot.chat.order / snapshot.chat.nodes(assistant 节点的 data.blocks:code 块直接取 language/filename/code;text 块用围栏正则  - 文件版本历史:同名文件的代码块按回合升序排列,最新版默认展示,展开后可见全部历史版本(回合号 + 行数 + 最新标记),任意版本可复制或跳转。
- 搜索:文件名 / 语言标签 / 代码内容三路包含匹配。
- 跳转机制:每条消息行 DOM 带 data-chat-anchor-key="",跳转 = 找到该行 → scrollIntoView + 高亮。

目录结构

dsh-code-collector/
├── package.json          # dsh.bundle.patch + dsh.client + exports["./client"]
├── cordis.patch.yml      # bundle 挂载声明
├── lib/
│   ├── index.js          # 服务端挂载入口(UI-only,空实现)
│   └── client.js         # 全部功能(client bundle,单文件自包含)
├── test/
│   └── smoke.cjs         # 冒烟测试(factory/slot/提取/分组/搜索断言)
├── release/
│   └── dshmarket-submission.yml
├── README.md
└── LICENSE               # MIT

验证
bash
npm run verify            # node --check(client/index)+ 冒烟测试
等价于:node test/smoke.cjs   # ALL CHECKS PASSED
npm pack --dry-run         # 检查发布到 npm 的文件清单

CI 在每次 push / PR 时于 Node 18/20/22 上自动跑 npm run verify。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(bycall)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群