🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Edge-Echo/dsh-driftwatch

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

dsh-toolkit 家族成员:dsh-mcp-bridge · dsh-win-toolkit ·…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/23 · 已提供中文文档

DeepSeek Harness 代理的行为漂移报告:比较两个会话日志,准确查看行为如何变化——工具序列、文件操作、推理量、时序、重试——零依赖,CI 就绪。

综合分
31.5
GitHub 分
31.5
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-driftwatch
npm 包 dsh-driftwatch 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 2 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 2 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/23
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-driftwatch @ 0.1.0
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 08:31:38

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-driftwatch

dsh-driftwatch

dsh-toolkit 家族成员:dsh-mcp-bridge · dsh-win-toolkit · dsh-netassist · dsh-driftwatch

DeepSeek Harness agent 的行为漂移报告工具。

你改了个提示词、插件或模型,感觉行为不太一样了。但到底哪里变了、变了多少?

DriftWatch 读两份 session log,精确告诉你 agent 行为的分歧:工具调用序列、工具构成、文件目标、推理量、重试、耗时。零依赖,可直接进 CI。

English docs: README.md.

解决什么问题

DSH 记录一切(模型可见即被记录),证据一直都在——但手工读一份 59 MB 的轨迹不是工作流。已有工具各自解决了相邻问题:

| 工具 | 回答的问题 |
|---|---|
| dsh-replay | 「把这个轨迹给我看」(调试) |
| dsh-eval-harness | 「这符合我写的预期吗?」(断言) |
| dsh-driftwatch | 「这次运行和上次有什么不同?」(对比) |

DriftWatch 刻意不做断言、不渲染轨迹。它产出一份漂移报告:结构化的、可评审的行为变化陈述,另附可选的 CI 阈值门禁。

快速开始

列出 $DSH_HOME/sessions 下的会话
npx dsh-driftwatch list

对比两次运行(支持 id、id 前缀、路径)
npx dsh-driftwatch compare session-b6c2dcf3 session-b130e75b

CI 门禁:漂移分 ≥35 时失败
npx dsh-driftwatch compare before after --fail-on-drift 35 --markdown drift.md

真实运行输出(两个实际会话):

Verdict: 🔴 significant drift — score 54/100

| | A (baseline) | B (candidate) |
|---|---|---|
| turns | 4 | 4 |
| records | 6577 | 2692 |
| tool calls | 163 | 82 |
| duration | 1117m 15s | 1079m 13s |

Tool usage changes
| tool | A | B | Δ |
|---|---:|---:|---:|
| write | 41 | 7 | -34 |
| edit | 43 | 29 | -14 |
| pwsh | 48 | 36 | -12 |
| todo_write | 0 | 4 | +4 |

测量什么

| 信号 | 细节 | 权重 |
|---|---|---|
| 工具序列 | LCS 对齐:保留 / 删除 / 新增 + 分歧率 | 40% |
| 工具构成 | 每个工具在两边的次数差 | 25% |
| 指标 | 记录数、轮次、步骤、消息、推理片段/字符、压缩、重试、工具错误、每轮最多工具数 | 20% |
| 文件目标 | 只出现在 A / 只出现在 B / 共有 的路径 | 15% |

加权合成 0–100 漂移分,三档:stable(<10)、moderate(10–34)、significant(≥35)。

DriftWatch 从不判断漂移是否可接受——那是你的判断。分数和阈值只是让变化可见。

CI 集成

.github/workflows/drift.yml
- name: Behavior drift check
run: |
npx dsh-driftwatch compare "$BASELINE_SESSION" "$CANDIDATE_SESSION" \
--fail-on-drift 35 --markdown drift-report.md
- uses: actions/upload-artifact@v4
if: always()
with:
name: drift-report
path: drift-report.md

--json 输出完整机器可读报告(分数、差量、文件集合),供看板或 PR 机器人消费。

作为 dsh 插件

装进 profile 后,agent 会获得两个工具:

dsh plugin --profile web add dsh-driftwatch

| 工具 | agent 能做什么 |
|---|---|
| drift_compare | 对比两个会话并把漂移报告直接呈现出来 |
| drift_list | 列出可选会话,挑一个基线 |

适用于「对比你这次和上次做同一个任务的过程」——让 agent 自己收集证据。

session log 是怎么读的

DSH 的 session log 是 append-only 的 .jsonl.zstd:每次追加写入一个独立的 zstd 帧,所以一份日志是多帧拼接。Node 的 zlib 只解第一帧,其流式 API 会拒绝后续帧;DSH 官方用的是私有 zstd 句柄 + koffi FFI 兜底。

DriftWatch 保持零依赖,用自愈式策略:扫描 zstd 帧魔数(28 B5 2F FD),从每个候选起点贪婪解码直到切片解码成功。实测 20 MB / 34 729 帧的日志:解出 59 MB,耗时约 1.4 秒。

局限

- 记录类型按防御式读取:未知类型忽略、缺失字段容忍。未来格式变化只会让报告降级,不会崩溃。
- 序列对齐在 400 万单元对内是精确 LCS;超出后退化为多重集重叠,并在报告中注明。
- DriftWatch 对比的是行为,不是正确性。稳定的运行也可能是错的,漂移的运行也可能更好。

License

MIT

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

💬 加入社群

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

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群