deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Metadata-first runtime profiler for DeepSeek Harness agents.
GitHub: https://github.com/izz-BLUE/dsh-devtools · Issues: https://github.com/izz-BLUE/dsh-devtools/issues
一个社区(community)插件:把会话的持久化事件日志折叠成 Agent Runtime Profiler, 在 Web GUI 的会话视图里以 DevTools 标签页展示每次模型调用(Step)与回合(Turn)的 执行事实——模型归属、延迟、工具调用、重试与回合结局。只读、不拦截、不修改任何请求。
本插件不是 DeepSeek 官方发布的插件;它基于官方 NPM SDK (
@deepseek-ai/*)开发,通过 DSH 的 cordis patch + profile 机制挂载。
公开版 0.1 提供的能力(全部来自对持久化会话事件的只读折叠):
step/start 到首个持久化 block-start 的时间戳派生
(UI 简称 Avg First Activity,tooltip 说明与 TTFT 的关系,不冒充 Provider 官方上报值)assistantAt - startAt 的模型侧 Wall 时间;
tool/call -> tool/result 的工具 Wall 时间(tooltip 说明含调用与结果之间的全部等待)FS_NOT_FOUND、ABORTED)标记在单个工具上llm/retry 事件出现时,按 Step 归属展示 retry/maxRetries/delay/codecacheRead / (input + cacheRead)(内部派生指标,非 Provider 官方缓存命中率)completed / aborted / interrupted / error / max-tokens / blocked
等 turn/end.reason 的正确映射;Turn 级结局与 Step 状态、工具错误分开统计Trace complete(低调绿色圆点);
发生 ring 淘汰时升级为橙色 Partial trace · N earlier steps omitted,
不把截断后的页面伪装成完整历史hook/invoked|hook/result 事件存在时展示执行耗时与错误标记;
无 producer 时显示语义准确的空状态(不暗示"没有执行任何 Hook")以下能力不属于公开版 0.1,本版本不实现:mutation provenance、request diff、 prompt diff、context composition / context inspector、tool dispatch breakdown、 plugin token attribution。
Durable Session Event Log
|
v
Pure Fold
|
v
Runtime Trace Snapshot
|
v
/dsh-devtools RPC
|
v
conversation.view / DevTools
sessionQuery 从持久化日志重建并缓存(日志不再增长)metadata-first by design:默认不读取、不保存、不通过 RPC 返回——
RPC wire 只携带运行时 metadata:类型、时间戳、ID、名称、状态、usage 计数等必要字段。
有自动隐私测试(tests/fold.spec.ts 的 privacy 用例),并经过真实会话 E2E 的
RPC + DOM privacy audit(对 wire JSON 与渲染页面全量扫描 prompt / tool args /
tool result / API key 模式,无泄漏)。
DevTools 通过 conversation.view slot 注册,位于标签页环的最右侧:
Chat | Trajectory | Context | DevTools
DevTools 拥有独立宽布局(不受聊天阅读宽度限制,自适应桌面/窄窗,小窗口自动单列), 并在高细节背景皮肤上使用主题 token 的半透明遮罩 + blur 保证可读性。

一条命令安装(无需 clone 仓库、无需构建、无需手改 profile):
dsh plugin --profile web add dsh-devtools
其他 profile:
dsh plugin --profile <name> add dsh-devtools
启动:
dsh web
从本仓库以 file: 依赖安装(仅限开发调试):
# 1. 在仓库内构建
pnpm install
pnpm build
# 2. 加入 web profile(file: 依赖)
cd ~/.dsh/profiles/web
pnpm add "dsh-devtools@file:<本仓库绝对路径>"
# 并在 package.json 的 dsh.profile.bundles 追加 "dsh-devtools"
# 3. 重启 dsh web
pnpm install
pnpm typecheck
pnpm test
pnpm build
pnpm pack
hook/invoked | hook/result:当前验证环境没有 producer,真实 hook 数据路径
未做 E2E;fold 对缺失与未配对事件做了防御性处理并有自动测试droppedSteps ring truncation(默认保留最近 1000 个 Step)未做真实超长会话
E2E;自动测试覆盖裁剪与上报语义,UI 以 partial-trace 横幅如实展示step/start -> 首个持久化 block-start chunk 的时间差
(非 Provider 官方上报的 TTFT)tool/call -> tool/result 的 wall time,包含调用与结果之间
的全部等待;不拆分 queue / dispatch / execution(属未来版本)cacheRead / (input + cacheRead),
不是 Provider 官方缓存命中率Verified with DeepSeek Harness v0.1.0-rc.6(npm 版,web profile 挂载实测;
真实会话 E2E 通过)。其他版本未验证。
BSD-3-Clause(见 LICENSE)。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。