deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:beijingwahw/dsh-companion-dev
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
版本说明:本仓库为开发者版,包含 A–J 全部九大模块。 精简版(A–D 四大基础模块)请见 beijingwahw/dsh-companion。
DeepSeek Harness 官方伴侣插件 —— 基于 Cordis 框架与 Harness Plugin SDK 构建,为 DeepSeek Harness 平台提供对话智能导出、上下文交接摘要、API 成本优化、全局对话检索、执行轨迹分析、Prompt 工程工作台、多模型竞技场、任务编排与安全审计九大能力。
strict: true,ESM)https://api.deepseek.com)| 模块 | 能力 | 独立开关 |
|---|---|---|
| A · 对话智能导出 | Markdown / PDF / JSON / PNG 长图导出、时间戳开关、隐私脱敏(手机号/邮箱/身份证/银行卡自动打码)、多会话批量 ZIP 打包;含中文的 PDF 由客户端 canvas 光栅化为免打印多页 PDF(无 window.print() 对话框冻结) |
enableExport |
| B · 上下文交接摘要 | 一键生成 ≤500 字四段式交接摘要、可编辑、复制到剪贴板、保存为模板、导入摘要作为新对话的 system 首条消息实现上下文继承 | enableHandoff |
| C · API 成本优化(开发者模式) | API Key 加密托管、官方动态计价引擎(每小时抓取 DeepSeek 与国产厂商官方定价页,新模型/调价自动导入,抓取失败静默降级内置快照)、峰谷分时计价(高峰时段按高峰价计费)、峰谷自动调度(高峰窗口实时解析自官方定价页)、模型智能路由、日/月双档预算 80%/100% 预警并自动暂停非必要调用、缓存命中折扣计费、每日/每周 Token 消耗与费用报表 | enableCost |
| D · 全局对话检索 + 对话内搜索 | 关键词模糊搜索、时间范围筛选、自定义标签增删与按标签过滤、结果点击直达对话;对话内搜索(Ctrl+F 浮动查找栏,CSS Custom Highlight API 无侵入高亮,大小写/全词开关、查询历史、流式输出期间自动重同步) | enableSearch |
| E · 执行轨迹分析器(开发者) | Harness 原生轨迹解析为可交互时间轴(耗时/Token 拆分/模型/缓存命中)、一键定位最慢与最贵的 3 个步骤、异常自动标注(重试循环/Token 爆炸/缓存未命中/死循环)、两次轨迹 Diff 对比(HTML 报告导出)、日聚合趋势与历史基准线告警 | enableTrace |
| F · Prompt 工程工作台(开发者) | Prompt 版本管理(自动版本号/备注/标签/回滚)、A/B 测试面板(批量测试集、指标对比、人工评分胜率统计)、模板库(分类/变量插值/一键生成 Python·Node.js·curl 调用代码)、结构化输出 JSON Schema 批量校验与合规率统计 | enablePrompt |
| G · 多模型竞技场(开发者) | 同 Prompt 多模型并行对比(最多 5 个,输出/耗时/Token/费用并排)、批量评测排行榜(准确率/P50·P95·P99/成本/合规率综合得分,MD/HTML 报告)、模型推荐引擎(任务类型+预算+延迟+峰谷定价感知,附推荐理由)、外部厂商 Key 加密托管 | enableArena |
| H · 断点续跑与任务编排(开发者) | 可视化流水线(模型/Prompt/输入来源/条件分支/超时/重试/依赖,自动生成 YAML)、断点续跑(进度百分比、中间结果持久化、从最后成功步骤恢复)、批量任务队列(优先级/截止时间/失败策略/批量暂停恢复取消)、定时调度(Cron + 中文自然语言,峰谷空闲时段执行,历史归档) | enableOrchestrator |
| J · 安全与审计(企业开发者) | 多 API Key 管理(权限范围/轮换提醒/泄露检测)、操作审计日志(脱敏 Prompt 摘要/筛选/CSV·JSON 导出)、数据防泄漏 DLP(内置+自定义正则规则、严格模式拦截、发送前预检)、合规报表(调用/费用/模型占比/拦截/告警,HTML 导出可打印为 PDF) | enableSecurity |
九个模块均为独立 Cordis 子插件,可任意组合启停,互不影响。
>= 0.1.0^22.19 || >=24推荐用 dsh CLI 一键安装(--profile 指定目标 profile,如 web;构建产物 lib/ 已随仓库分发,安装零构建脚本):
dsh plugin add beijingwahw/dsh-companion-dev --profile web
dsh web
注:包名为
dsh-companion(manifest iddeepseek-companion),从本仓安装时仓库名带-dev后缀不影响。
也可以从源码安装:
git clone https://github.com/beijingwahw/dsh-companion-dev.git
cd dsh-companion-dev
pnpm install
pnpm run build
dsh web
插件面板将在 Harness Web UI 中自动加载。
在 Harness 命令面板执行 usage 命令,若返回本月用量文本报告,说明插件已正确挂载。
companion 存储域;/cost/state 仅返回 apiKeyConfigured 布尔)。/cost/test-call)。export。选择格式(Markdown / PDF / JSON / PNG 长图),勾选是否保留时间戳(默认开启)、是否隐私脱敏,确认后文件经浏览器下载到本地。export-batch),自动打包为 ZIP 下载(单次最多 100 个会话,自动去重)。window.print() 对话框——该路径在部分平台(尤其 Windows Chrome)会冻结整个浏览器;无光栅能力的环境(命令面板)退回打印视图由浏览器另存为 PDF。handoff),插件调用 DeepSeek API 按固定四段式 Prompt 生成摘要:核心结论 / 已解决的问题 / 关键背景信息 / 待办事项与未解决问题(≤500 字)。handoff-import)粘贴摘要。插件将其武装给下一个新对话,自动作为 system 角色第一条消息注入,实现跨对话上下文继承。deepseek-chat,代码生成、推理等复杂任务走 deepseek-coder;支持自定义路由规则覆盖默认策略。usage 可在面板内快速查看本月文本报告。search):tag 或结果页为会话增删自定义标签,支持按标签筛选。Ctrl/Cmd+F 打开浮动查找栏:Enter / Shift+Enter、F3 / Ctrl+G:下一个 / 上一个命中(环绕);Esc 关闭;↑ / ↓ 浏览查询历史;Aa / ab 开关:区分大小写 / 全词匹配;根配置(cordis.patch.yml 可覆盖任意字段):
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enableExport |
boolean | true |
启用模块 A |
enableHandoff |
boolean | true |
启用模块 B |
enableCost |
boolean | true |
启用模块 C |
enableSearch |
boolean | true |
启用模块 D |
enableTrace |
boolean | true |
启用模块 E |
enablePrompt |
boolean | true |
启用模块 F |
enableArena |
boolean | true |
启用模块 G |
enableOrchestrator |
boolean | true |
启用模块 H |
enableSecurity |
boolean | true |
启用模块 J |
apiBaseUrl |
string | https://api.deepseek.com |
DeepSeek API 基址(manifest 已放行该域名) |
apiTimeoutMs |
number | 60000 |
单次 API 调用超时(毫秒) |
停用单个模块:将对应开关置为 false(配置层),或在 manifest.json 的模块声明中关闭。模块之间零耦合,停用一个不影响其余模块。
| 层 | 方法 | 生效范围 |
|---|---|---|
| 运行配置 | 编辑 dsh 用户层 cordis.patch.yml(~/.dsh/profiles/<name>/ 或 ~/.dsh/),保存即生效 |
dsh 原生监视用户层,事务性重载该行(bundle 层默认值已全量列出,照抄整行覆盖即可) |
| 开发期代码 | npm run dev 起独立 cordis + HMR 进程 |
保存 src/ 下任意文件或 cordis.yml → 旧实例卸载(effect 回卷)→ 新代码挂载,无需重启 |
| 安装产物 | 改代码 → npm run build → 重新 dsh plugin add → 重启 dsh |
更新已安装的插件 |
npm run dev 的组成:仓库根 cordis.yml 依次挂 logger / timer / hmr / 宿主桩 / 本插件(直接加载 src/index.ts,config 与 cordis.patch.yml 逐键一致,开发行为 = 生产 bundle 行为);
dev/host-stubs.ts 提供 dsh 宿主 7 个服务的最小桩(webServer / storageDomain / credentials / sessionQuery / commands / settings / systemPrompt)——存储域为内存版且按名缓存,热重载后开发数据不丢。
注意:开发 HMR 需 Node ≥ 24.11(24.1.0 等早期 24.x 的 Node 内部接口与 cordis-plugin-loader 1.0.2 不兼容,表现为编辑文件不触发重载)。
src/
├── index.ts # 宿主入口:挂载核心服务 + 按配置挂载九个模块子插件
├── config.ts # 根配置 schema(schemastery 校验)
├── core/ # 核心基础设施
│ ├── service.ts # CompanionCore 根服务(ctx.companion,持有动态计价引擎)
│ ├── vault.ts # SecretVault:AES-256-GCM 加密保险库
│ ├── crypto.ts # AES-256-GCM 原语(Node crypto)
│ ├── deepseek.ts # DeepSeek Chat Completions 客户端
│ ├── usage.ts # 用量记账存储(日粒度,含缓存命中 tokens)
│ ├── pricing.ts # 计价桥接层(官方 usage → 计价引擎用量形状)
│ ├── price/ # 动态计价引擎(移植自 dsh-usage-ledger):
│ │ # types / catalog(多厂商刊例价目录)/ scrapers(官方定价页解析)/ service
│ ├── time.ts # 北京时间峰谷窗口计算
│ ├── transcript.ts # 对话转录格式化(MD/JSON)
│ ├── privacy.ts # 隐私脱敏(手机/邮箱/身份证/银行卡)
│ ├── pdf.ts / zip.ts # 零依赖 PDF 生成 / ZIP 打包
│ └── http.ts # 私有 HTTP 路由器(前缀 /companion)
├── modules/
│ ├── export/ # 模块 A:导出 + 批量 ZIP + 光栅载荷(PNG/免打印 PDF)
│ ├── handoff/ # 模块 B:摘要生成 / 模板 / 武装导入
│ ├── cost/ # 模块 C:网关 / 调度器 / 路由 / 日/月双档预算 / 设置
│ ├── search/ # 模块 D:检索 + 标签
│ ├── trace/ # 模块 E:轨迹派生 / 异常标注 / Diff / 日聚合统计
│ ├── prompt/ # 模块 F:版本管理 / A/B 测试 / 模板库 / Schema 校验
│ ├── arena/ # 模块 G:模型目录 / 并行对比 / 排行榜 / 推荐引擎
│ ├── orchestrator/ # 模块 H:流水线引擎 / 队列 / Cron 与自然语言调度
│ └── security/ # 模块 J:命名 Key / 审计日志 / DLP / 合规报表
├── client/ # 浏览器端 UI(slots 注入,官方组件库)
│ ├── index.tsx # 客户端入口:slot 注册 + 对话内搜索控制器生命周期
│ ├── raster.ts # 客户端光栅导出引擎(移植自 dsh-conv-export):
│ │ # PNG 长图 / 免打印多页 PDF(foreignObject → canvas → JPEG → PDF 组装)
│ ├── convsearch/ # 对话内搜索(移植自 dsh-conv-search):
│ │ # engine(Highlight API)/ controller(浮动栏+快捷键)/ styles
│ └── components/ # 导出弹窗 / 摘要弹窗 / 导入 dock / 检索视图 / 报表视图 /
│ # 轨迹分析 / Prompt 工作台 / 竞技场 / 任务编排 / 安全审计视图
└── types/ # Harness 子系统适配层类型声明
关键设计:
ctx.companion(核心服务)或 ctx.companionCost(成本网关)。/companion/*)复用同一套模块服务函数,无重复逻辑。conversation.session.header.actions、conversation.input.dock、conversation.view),组件取自官方 UI 原语库,颜色仅用语义令牌,无悬浮窗、无全局样式。完整的内部契约(服务签名、HTTP API、命令表、slot 清单)见 DESIGN.md。
| 要求 | 实现 |
|---|---|
| 数据本地化 | 对话内容、设置、API Key 仅写入 Harness 插件沙箱的 companion 存储域,不上传任何第三方服务器 |
| API Key 加密 | AES-256-GCM(12 字节随机 IV + 认证标签),自描述载荷 v1.<iv>.<tag>.<ciphertext>;密钥与密文分离存储 |
| 网络权限 | manifest.json 全量放行 DeepSeek 官方 API、全部国产与海外主流模型厂商端点、各厂商定价页及常见中转/聚合网关,供多模型竞技场直连与动态计价引擎实时抓取;存储域仅 companion;服务清单逐项列明 |
| 无追踪 | 无任何遥测 / 行为分析代码;manifest.json 显式声明 tracking: false, telemetry: false |
| Key 不外泄 | 任何响应、日志、事件中不出现 Key 明文;导出与摘要内容仅在浏览器本地生成 |
src/,TypeScript strict)manifest.json(权限与隐私声明)、package.json、cordis.patch.yml(bundle patch 层)、tsconfig.jsonREADME.md(本文件):功能介绍、安装指南、使用说明DESIGN.md:架构契约与开发规范本插件在原有四大模块基础上,吸收并整合了以下三个同系仓库的核心能力:
| 来源仓库 | 吸收的能力 | 落点 |
|---|---|---|
dsh-usage-ledger |
官方定价页动态计价引擎(实时抓取/解析/兜底快照)、峰谷分时计价、多厂商价格目录与专用解析器、缓存命中折扣、日/月双档预算 | src/core/price/、src/modules/cost/ |
dsh-conv-export |
PNG 长图光栅导出、免打印对话框多页 PDF(foreignObject → canvas → JPEG → 零依赖 PDF 组装)、图片 data-URL 内联 | src/client/raster.ts、src/modules/export/(kind:'raster' 载荷) |
dsh-conv-search |
对话内搜索引擎(CSS Custom Highlight API 无侵入高亮)、浮动查找栏(快捷键/查询历史/大小写与全词开关)、流式输出 MutationObserver 重同步与命中锚点保持 | src/client/convsearch/ |
移植时统一了命名空间(companion-*)、注释语言与错误处理纪律,并按本插件的 slots/双通道架构重新接线;全部改动通过 tsc --noEmit 严格类型检查与 39 项冒烟断言。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。