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

PTC 差异卡片 GrounzerLiu/dsh-ptc-diff-card

DeepSeek Harness
GrounzerLiu9 天前有提交已提供中文文档扫描:未发现敏感能力

让 PTC 程序里的编辑调用展开标准 diff 卡片

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 9 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-util-values
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH Web 插件:PTC 模式(run_code 内的嵌套调用)里的 edit/write 显示标准 diff 卡片

README

由 DeepSeek 最新模型翻译生成
dsh-ptc-diff-card 简体中文 · English DSH Web GUI 插件:让 PTC 模式下的 edit/write 显示和标准模式一样的 diff 卡片。 解决什么问题 PTC(Programmatic Tool Calling)模式下,智能体在 run_code 程序里调用 edit/write。 这些调用被记录成嵌套的 tool/ptc-dispatch 事件,在 run_code 卡片下面渲染成通用行:展开只有结果文本 The file ... has been updated successfully,没有 diff 卡片。 官方 Tool 层的 diff 推导在 packages/client/ui-tool 的 diffCardModel 里,第一行就把嵌套调用排除了: if (block.parentCallId !== undefined) return null 而卡片需要的数据其实都在——嵌套块上有调用参数(file_path/old_string/new_string/content)和落盘的 meta.diffs(已应用 hunks)。
展开完整文档(README 剩余 1 节)
dsh-ptc-diff-card

简体中文 · English

DSH Web GUI 插件:让 PTC 模式下的 edit/write 显示和标准模式一样的 diff 卡片。

解决什么问题

PTC(Programmatic Tool Calling)模式下,智能体在 run_code 程序里调用 edit/write。
这些调用被记录成嵌套的 tool/ptc-dispatch 事件,在 run_code 卡片下面渲染成通用行:展开只有结果文本 The file ... has been updated successfully,没有 diff 卡片。

官方 Tool 层的 diff 推导在 packages/client/ui-tool 的 diffCardModel 里,第一行就把嵌套调用排除了:

if (block.parentCallId !== undefined) return null

而卡片需要的数据其实都在——嵌套块上有调用参数(file_path/old_string/new_string/content)和落盘的 meta.diffs(已应用 hunks)。

效果

- 嵌套的 edit/write 行变成标准文件卡片:标题、工作区相对路径、输入大小、+新增 -删除;
- 展开就是官方 DiffBlock:语言标签、换行/复制、路径行、增删着色、⋯ 其余 N 行 折叠;
- 失败的调用不画 diff,标题显示错误首行、展开是原始输出(与官方一致);
- 根调用(标准模式)外观与官方逐字一致,因为整行是照官方实现的复刻。

原理

在 tool.call.toolview 这个 keyed slot 上注册自己的 edit/write 视图,priority: -1 覆盖官方行(低优先级渲染),插件卸载自动还原。行本身复刻官方文件行(同一套 DisclosureRow/DiffBlock 原语 + 一份 vendor 的官方样式表),diff 推导沿用官方逻辑,只去掉「根调用限定」:

| 调用状态 | diff 来源 |
| 成功 settle 且 meta.diffs 非空 | 记录的实际 hunks(路径回写成入参拼写) |
| write 新建 / 调用进行中 | 由入参推导的整文件 diff |
| 失败 / 中断 | 不画 diff |

安装

作为普通 DSH bundle 挂到某个配置档:

本地目录(开发)
dsh plugin --profile <name> add link:D:/dsh-plugins/dsh-ptc-diff-card

从 GitHub
dsh plugin --profile <name> add "github:GrounzerLiu/dsh-ptc-diff-card"

从 npm(已发布后)
dsh plugin --profile <name> add dsh-ptc-diff-card

然后把 dsh-ptc-diff-card 加进该配置档 package.json 的 dsh.profile.bundles,重启应用生效。

兼容性与边界

- 目标:DSH >= 0.2.1-rc.2(engines.dsh),Web GUI(platform: web)。
- 只接管 edit 和 write;str_replace_editor/apply_patch 等未覆盖。
- 行样式是从 ui-tool 0.2.1-rc.3 vendor 的一份拷贝,应用大改版后如需同步外观要重新 vendor。
- 与同样以 priority: -1 抢占 edit/write 的插件(如 dsh-diff-viewer)不能共存:同 key 同优先级会被 DSH 拒。本插件会捕获并打日志,让官方行继续接管,不会让整个插件加载失败。
- 不自动展开 diff,行为与标准模式一致。

开发

pnpm install
pnpm run check # typecheck + 纯逻辑断言 + 构建
pnpm run build # 只构建 lib/index.js 与 lib/client.js

source 结构:

src/index.ts 宿主半身:inert 的 Loader 入口(浏览器半身的挂载点) src/client/index.tsx slot 注册(edit/write,priority -1) src/client/row.tsx 行组件(preparing / dispatched-settled 两态) src/client/model.ts 行状态、路径、diff 推导 src/client/tool-row.module.css vendor 的官方行样式 scripts/model-check.ts 纯逻辑断言(Node 原生 type stripping,无额外依赖)

浏览器半身按 DSH 客户端插件格式打包:platform 模块表(react、@deepseek-ai/cordis、 ui-slots、ui-primitives…)保持 external,其余内联;CSS Modules 编译成哈希类名 + 一个 。

验收

见 VERIFY.md:怎么起测试配置档、在 PTC 会话里看哪一行、怎么对照标准模式与失败调用。

许可

MIT
预览分享卡片长什么样 ↓GrounzerLiu/dsh-ptc-diff-card
分享 · DeepSeek Harness Hub
GrounzerLiu/dsh-ptc-diff-card

让 PTC 程序里的编辑调用展开标准 diff 卡片

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部