🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

运行观测日志 Cavan-Ou/dsh-observation-journal

DeepSeek Harness
Cavan-Ou81 天前有提交已提供中文文档扫描:含敏感能力

自动记录每次会话的任务、模型、工具与耗时

28.7/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Cavan-Ou/dsh-observation-journal
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · chat
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 15 处,展示前 15 条)
  • 写入本地文件
    lib/index.js:104
    mkdirSync(dirname(file), { recursive: true });
  • 写入本地文件
    lib/index.js:106
    writeFileSync(tmp, data);
  • 写入本地文件
    lib/index.js:107
    renameSync(tmp, file);
  • 读取本地文件
    lib/index.js:111
    for (const f of readdirSync(obsDir)) if (f.includes('.tmp-')) { try { unlinkSync(join(obsDir, f)); } catch {} }
  • 删除本地文件
    lib/index.js:111
    for (const f of readdirSync(obsDir)) if (f.includes('.tmp-')) { try { unlinkSync(join(obsDir, f)); } catch {} }
  • 删除本地文件
    lib/index.js:117
    unlinkSync(probe);
  • 读取本地文件
    lib/index.js:365
    const text = readFileSync(RAW_FILE, 'utf8');
  • 读取本地文件
    lib/index.js:417
    if (Date.now() - statSync(LOCK_FILE).mtimeMs > LOCK_STALE_MS) { try { unlinkSync(LOCK_FILE); } catch {} }
  • 删除本地文件
    lib/index.js:417
    if (Date.now() - statSync(LOCK_FILE).mtimeMs > LOCK_STALE_MS) { try { unlinkSync(LOCK_FILE); } catch {} }
  • 删除本地文件
    lib/index.js:422
    const releaseLock = () => { try { unlinkSync(LOCK_FILE); } catch {} };
  • 写入本地文件
    lib/index.js:425
    mkdirSync(dirname(RAW_FILE), { recursive: true });
  • 写入本地文件
    lib/index.js:426
    appendFileSync(RAW_FILE, line + '\n');
  • 读取本地文件
    lib/index.js:432
    try { text = readFileSync(OBS_FILE, 'utf8'); } catch {}
  • 读取本地文件
    lib/index.js:465
    try { text = readFileSync(OBS_FILE, 'utf8'); } catch {}
  • 读取本地文件
    lib/index.js:506
    const lines = readFileSync(replay, 'utf8').split('\n');
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 记录会话任务与模型
  • 记录工具调用与失败
  • 记录会话耗时

DeepSeek Harness 的零接触运行时遥测:每个会话都会把自己的成绩单(任务/模型/工具/失败/耗时)写进一份人类可读的日志。纯观察者运行事实遥测。

README

由 DeepSeek 最新模型翻译生成
dsh-observation-journal DeepSeek Harness 的零侵入运行事实遥测:每个会话自动写一张成绩单。 MIT DSH dsh-plugin 纯观察者插件(零工具注册、零 LLM 调用、零 agent 介入)。session 结束时自动把任务 / 模型档位 / 工具 / 失败 / 时长 / 状态写入人机共读的观测卡,附自动更新的统计区。 为什么需要它 失败有记录者(dsh-fail-logger),成功和运行事实没有。这是它的姊妹篇:记录发生了什么——不是"怎么解决"、不是"该记住什么"。无工具、无注入、无检索。harness 被动写,人/项目读。 它不是什么(边界说破): | 插件 | 记录 | 注入回 agent?
展开完整文档(README 剩余 1 节)
dsh-observation-journal

DeepSeek Harness 的零侵入运行事实遥测:每个会话自动写一张成绩单。

MIT
DSH
dsh-plugin

纯观察者插件(零工具注册、零 LLM 调用、零 agent 介入)。session 结束时自动把任务 / 模型档位 / 工具 / 失败 / 时长 / 状态写入人机共读的观测卡,附自动更新的统计区。

为什么需要它

失败有记录者(dsh-fail-logger),成功和运行事实没有。这是它的姊妹篇:记录发生了什么——不是"怎么解决"、不是"该记住什么"。无工具、无注入、无检索。harness 被动写,人/项目读。

它不是什么(边界说破):
| 插件 | 记录 | 注入回 agent? | 消费端 |
| 本插件 | 运行事实(遥测)| 永不 | 人/项目文件 |
| dsh-task-planner | 解决方案("怎么解决")| 是(recall)| agent 规划 |
| dsh-mneme / dsh-memento / dsh-memory | agent 记忆 | 是(检索)| agent 上下文 |
| dsh-fail-logger | 失败 | 经 skill | agent 技能加载 |

60 秒验证

dsh plugin --profile headless add # 或复制仓库作本地 bundle
dsh --profile headless "跑任意小任务"
cat ~/.dsh/observations.md # 出现一行记录 + 统计区

输出长什么样

观测卡就是 UI。机器维护区段(人工编辑不受影响)+ 自动统计块:

| time | sid | task | model | dur | turns | tools | calls | fail | status |
| 2026-08-14T21:42 | abe96e0f | 阅读 specs/s11-1.md 任务书 | deepseek-v4-pro(max) | 1242 | 1 | read:80,bash:12,edit:9,todo_write:4 | 106 | 0 | completed |
| 2026-08-15T03:04 | 9c1f3a | run any small task | deepseek-v4-flash(max) | 25 | 1 | bash:4,grep:2,glob:1 | 7 | 0 | completed |

- 会话总数: 2
- 失败率: 0.0%(0/113)
- top 工具: read:80,bash:12,edit:9,todo_write:4,grep:2
- 平均时长(秒) 按模型: deepseek-v4-flash(max): 25, deepseek-v4-pro(max): 1242

raw sidecar(obsFile + '.jsonl',追加写):全保真——todo 规划轨迹(≤5)、工具全量计数、失败工具、完整模型 id、任务描述全文、归一化 task_hash。v2 LLM 洞察的素材,与主卡 TTL 解耦。

配置(patch config: 字段,全可选)

| 键 | 默认 | 说明 |
| obsFile | $DSH_HOME/observations.md | 主卡路径(可指项目级观测卡)|
| maxRows | 200 | 主卡最多保留行数(raw 不受限)|
| marker | OBS-JOURNAL | 区段 marker id,[A-Za-z0-9-] |
| redact | [] | 额外脱敏正则(叠加内置密钥表)|
| flushMs | 300 | turn/end 尾随防抖 |

环境变量:OBS_FILE(覆盖 obsFile)、OBS_REPLAY=(回放测试模式)。

可靠性

- 一行一 session,不做有损合并
- 任务标题转义 \| 与换行;密钥脱敏(fail-logger 同款表)
- 跨进程写锁 + 陈旧锁回收;dispose 兜底落盘无 turn/end 的会话
- 真实会话日志实测:5 个真实 .zstd 样本(含 2000+ 事件的 Pro 长提炼会话)14/14 回放用例,逐字段与独立重算交叉核对;21 会话全量回放验证人工区字节级不变

开发

node --check lib/index.js
node --test tests/test.mjs # 需要 python3 + zstandard

License

MIT
预览分享卡片长什么样 ↓Cavan-Ou/dsh-observation-journal
分享 · DeepSeek Harness Hub
Cavan-Ou/dsh-observation-journal

自动记录每次会话的任务、模型、工具与耗时

这是你的仓库?认领条目

回到顶部