dsh-plugin-operation-log

DSH PLUGIN开发与运行时

仓库 uio-o/dsh-plugin-operation-log

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DeepSeek Harness 会话面板插件,按轮次与步骤摊开 Skill、MCP 调用和文件读写,标出失败详情与已删除文件。

一句话选型结论

按资料字段整理

dsh-plugin-operation-log 是开发与运行时类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-07 创建于 2026-10-07
README 9.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:uio-o/dsh-plugin-operation-log#v0.1.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-plugin-operation-log:DeepSeek Harness 的会话操作日志侧边栏

  • 逐轮统计 Skill/MCP/工具调用
  • 失败行展开错误详情
  • 按来源筛选与聚合统计
  • 文件读写聚合与删除标注
  • 会话变化与 Git 变化查看

适用场景

文件读写

上游标签

cordisdeepseek-harnessdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-plugin-operation-log当前 L5 · 运行验证通过 低风险 0 0.2.0-rc.2 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方uio-o仓库 dsh-plugin-operation-log · 默认分支 main
分类开发与运行时developer
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-07 · 2026-10-07最后推送 2026-10-07
本站收录2026-10-08首次进入本站目录的时间

README 全文

9.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-operation-log

一个 DeepSeek Harness(DSH)会话面板插件:把一次会话里发生过的操作按「轮次 → 步骤」摊开给你看——调用了哪些 Skill、哪些 MCP 工具、读了写了哪些文件、哪一步失败、为什么失败。

它接管右侧边栏的一个标签页(sidebar.right.pane.tab),不做主面板、不替代任何宿主界面。

设计目标只有一条:诚实的局部视图。面板只回答它确实知道的(源自宿主只追加的会话日志),答不了的直接说「未知 / 未记录」,绝不猜。


安装

在你的 profile 目录(~/.dsh/profiles//)的 package.json 里加一行依赖、一行 bundle:

"dependencies": { "dsh-plugin-operation-log": "github:uio-o/dsh-plugin-operation-log" },
"dsh": { "profile": { "bundles": [ "dsh-plugin-operation-log" ] } }

跑 pnpm install,重启 DSH。会话头部右侧出现「操作日志」按钮,点击即在右侧边栏打开面板。

锁定版本(不跟 main 滚动,装到即固定):

"dependencies": { "dsh-plugin-operation-log": "github:uio-o/dsh-plugin-operation-log#v0.1.0" }

>
> 本地开发:用 link: 指向源码目录
>
> json > "dependencies": { "dsh-plugin-operation-log": "link:D:/path/to/dsh-plugin-operation-log" } >
>

前置条件

  • DSH 0.2.0-rc 或更高(投影注册表、sidebarRightTabs、ctx.locale.register)。
  • 依赖三个可选服务,缺失时对应子分区自动降级而非报错:connection(文件存在性、Git)、shell(Git 状态与 diff)、fs(文件存在性)。

⚠️ 头等重要的机制:Host 半改代码必须重启

DSH 的 Host 插件模块只在应用进程启动时载入一次。改完 index.js 后:

改动 如何生效
client.js(界面) 刷新浏览器页面即可
index.js(数据/投影/路由) 必须重启 DSH

插件管理器的「关掉再开」只重新注册,不会重新导入 JS 模块——这是实测结论,别靠它验证 Host 侧改动。


设计

面板从上到下六个分区,全部可折叠(除筛选结果常开):

分区 内容 收起状态
概览 总会话数、出错总数;全部 / Skill / MCP / 其他工具 / 出错 五个可点芯片 默认展开
筛选结果 点任一芯片后出现,按主体聚合的统计表 有筛选时常开
任务 当前生效的任务清单(状态点 + 文本) 默认展开
活动日志 逐轮卡片:轮次头(各类计数芯片)+ 调用行 默认展开
文件 按文件聚合的读写次数、最近轮次、是否已删除 默认收起
会话变化 逐轮由 workspace/changes 公告的文件变更行数 默认收起
Git 变化 git status 未提交项 + 点开看 diff 默认收起

每次调用一行:图标块(按类型着色)+ 工具名 + 目标(文件名或技能名)+ 耗时 + 状态。失败行可点开看错误详情。

配色全部走宿主主题 token(--dsw-alias-*),明暗主题与第三方主题(bloom-theme 等)下都不会跑偏;柔和底色由 color-mix() 叠 token 得到,不硬编码色值。


功能分节

1. 逐轮操作统计

每个轮次卡片头部给出该轮的 Skill / MCP / 其他工具 / 出错计数。超过 12 行的轮次折叠为「展开其余 N 条」;轮次列表默认显示最近 10 轮,更早的用「显示更早的 N 轮」翻页。

PTC(run_code)容器之内的子调用会正确归属到它所在轮次与步骤:外壳 run_code 本身不计入统计,但其内嵌的 Skill、MCP 调用计入。

2. 调用明细:到底调用了什么

每个调用都带主体——不只是工具名:

  • 文件工具(read / read_image / write / edit)→ 显示文件名,悬停看完整路径
  • skill → 显示具体加载了哪个技能(取自参数 name)
  • MCP 调用 → 工具栏里显示服务名与方法名,筛选面板里按方法聚合

3. 失败详情:不止一个红叉

点失败行即在该行下方展开错误详情:

  • 宿主附带的 error.name / error.code / error.reason
  • 报错正文摘录(截断存储,附「已截断」标注)
  • 一键复制整段错误

报错正文在投影状态里有体积上限(每条 ≤ 2048 字符、全文最多保留 300 条),超出后较早的正文会被释放,仅保留错误码——面板会明说「较早的报错正文已释放」,不会假装它还在。

4. 按来源筛选与统计

点概览里的芯片即筛选,面板顶部出现「筛选结果」分区:按主体聚合的统计表(次数 + 涉及轮次),再点某一行可继续收窄到「某个工具的某次具体调用」。

Skill 筛选给出每个技能被加载几次、分布在哪些轮次;MCP 筛选给出每个方法被调用几次。

5. 文件读写与「已删除」标注

「文件」分区把会话里所有文件操作按路径聚合:读多少次、写多少次、最后一次出现在第几轮。

每个文件旁有存在性探测结果(由 Host fs.stat 返回,三态):

状态 表现
存在 正常显示
已删除 文件名加删除线 + 「已删除」
未知 不加线、不标注(探测没跑完或沙箱拒绝)

探测结果附「存在性检测于 HH:MM」时间戳——它是探测那一刻的状态,不是实时状态。会话里为完成工作创建的临时文件被删掉后,这里会如实划掉。

6. 任务对应

「任务」分区显示当前生效的任务清单。任务清单本身不编号(宿主的任务栏也不编号),所以本插件按任务文本对应——而宿主工具保证同一清单内文本唯一,这个键是可靠的。

每轮卡片上若该轮改写过任务清单,会标一个「本轮更新」灰字。

7. 会话变化 / Git 变化

  • 会话变化:读宿主 workspace/changes 公告,逐轮列出变更文件及增删行数。二进制文件、过大文件分别标注,不渲染 diff。
  • Git 变化:读 git status --porcelain 列出未提交项,点开看 git diff。工作目录不是 Git 仓库时明说「当前工作目录不是 Git 仓库」,不会显示成「无变化」。

槽位 / 接口

客户端注册

槽位 key 作用
sidebar.right.pane.tab dsh-plugin-operation-log/tab 标签页主体
sidebar.right.pane.tab.title dsh-plugin-operation-log/tab 标签页标题
conversation.session.header.utilities operation-log-open(order 15) 会话头部入口按钮

标签页类型通过 ctx.sidebarRightTabs.register 注册,kind 为 operationLogTab,priority 为默认档 extension。

数据来源:会话投影

Host 半注册一个 operationLog 投影单元,纯函数折叠既有会话事件(不追加任何新事件类型):

事件 用途
turn/start 跟踪当前轮次
todo/write 记录该轮生效的任务清单
tool/call 记录调用:名称、轮次、步骤、起始时间、目标
tool/result 配对 toolCallId(回退 message.source.callId),标记成败、耗时、错误详情
tool/ptc-dispatch-start / tool/ptc-dispatch 记录 PTC 子调用,经 rootCallId 归属轮次
workspace/changes 记录该轮的变更序号,供「会话变化」按需取详情

投影状态版本为 stateVersion: 2,旧检查点会自动失效重算。

HTTP 路由(均带认证栅栏,均注册为可释放 effect)

路由 方法 作用
/api/operation-log.git-status GET git status --porcelain=v1 -z
/api/operation-log.git-diff GET git diff -- ""(路径含 shell 元字符则拒绝)
/api/operation-log.files-exist POST 批量 fs.stat,最多 200 路径,返回 present / missing / unknown 三态

三条路由各自只在自己依赖的服务存在时注册;缺 shell 或 fs 的配置下,对应分区显示诚实降级文案,投影半不受影响。


测试

仓库外置了三套一次性验证脚本(不入库,目的是不污染交付物)。

Host 半(投影折叠、分类表、畸形事件、错误正文截断、解析器返回值):

node <你保存的路径>\dsh-oplog-verify.mjs

路由半(Git 三个分支、文件存在性三态、路径元字符拦截、POST 体校验):

node <你保存的路径>\dsh-oplog-verify-routes.mjs

Client 半(注册项核对、locale 键集中英一致、槽位 key):

node <你保存的路径>\dsh-oplog-verify-client.mjs

三套全绿的预期输出分别是 ALL HOST CHECKS PASSED / ALL ROUTE CHECKS PASSED / ALL CLIENT CHECKS PASSED。


出处与许可

MIT,见 LICENSE。

本项目基于 AI 开发

本项目的全部代码(Host 半 index.js 与 Client 半 client.js)由 AI 编写,全程 Vibe Coding 完成,没有人工手写源码。 插件架构、界面设计、宿主契约的核实与多轮调试均由 AI 完成。

写作语言为 Claude Code(Opus 4.6)。

本插件是衍生作品:视觉结构借鉴了 Abu(PM-Shawn/Abu-Cowork)的设计语言——暖中性表面分层、发丝分隔线、柔和着色芯片、圆角图标块、「图标 + 标题 + 灰字计数 + 折叠箭头」的分区头、grid-template-rows 的展开收起过渡。

实现上未使用 Abu 的任何代码:其样式变量基于 Tailwind/shadcn 自己的设计 token,而本插件全部改用 DSH 的主题 token(--dsw-alias-*)与 color-mix() 重新表达。若原作者认为署名方式不妥,请开 issue,我会调整。

MIT 的唯一义务是保留版权声明,LICENSE 顶部已列两份版权行。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-operation-log 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:uio-o/dsh-plugin-operation-log#v0.1.0` 即可。

dsh-plugin-operation-log 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-plugin-operation-log 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-plugin-operation-log 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-plugin-operation-log 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2。

dsh-plugin-operation-log 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-plugin-operation-log 有哪些功能?

逐轮统计 Skill/MCP/工具调用、失败行展开错误详情、按来源筛选与聚合统计、文件读写聚合与删除标注、会话变化与 Git 变化查看。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

uio-o 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。