
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-compact-activity
Advanced tools
Codex-style one-line disclosures for DeepSeek Harness reasoning and tool activity
简体中文 | English
让 DeepSeek Harness 的思考、工具调用和图片输出更容易浏览。
插件把连续的思考和工具调用收进一个默认折叠的总过程项。展开后仍使用 DSH 官方组件,模型正文保持可见。
状态、计数和图片文案跟随 DSH 的语言设置,支持 中文 和 English。切换语言后,已显示的总过程项和图片标记会同步更新。
从系统托盘打开 DSH Terminal,针对当前 profile 运行:
dsh plugin add dsh-compact-activity@latest
dsh --dump-config
pnpm list dsh-compact-activity --depth 0
配置输出应包含 id: ui-compact-activity 和 name: dsh-compact-activity。验证后重启 DSH Desktop。
Desktop 已内置 Node.js、pnpm 和 DSH。无需为本插件全局安装这些工具,也不要使用 npm 代替 pnpm。DSH Terminal 中的命令默认操作 Desktop 当前 profile,不要添加 --profile web。
Desktop 对刚发布的 npm 包默认应用 24 小时最短发布时间策略。安装时应优先使用 @latest,然后比较 npm 的最新版本和 profile 实际安装版本:
$latest = pnpm view dsh-compact-activity dist-tags.latest
pnpm list dsh-compact-activity --depth 0
如果实际版本不是 $latest,再显式安装查询到的版本以确认用户选择:
dsh plugin add "dsh-compact-activity@$latest"
dsh plugin update dsh-compact-activity --latest 也可能因安全窗口继续保留旧版本并显示 Already up to date,因此必须核对实际版本,不能只看命令是否成功。
Desktop 的每个 profile 有独立的插件清单和构建配置。托盘从 desktop 切换到 web 后,之前安装在 desktop 的插件不会自动出现在 web;必须切换到目标 profile 后,在该 profile 的 DSH Terminal 中再次执行上面的安装、更新和验证命令。切回其他 profile 时同理。
适用于终端中已有 dsh 和 pnpm 的 Linux、macOS 和 Windows 环境。只有 Node.js 和 npm 无法安装 DSH 插件;请先按 DSH 官方方式配置 pnpm 和 DSH。
dsh plugin --profile web add dsh-compact-activity@latest
dsh --profile web --dump-config
配置输出应包含 id: ui-compact-activity 和 name: dsh-compact-activity。验证后运行 dsh --profile web。插件默认启用。
如果你的 Agent 可以使用终端,把下面这段话直接发给它:
请安装并验证最新版 dsh-compact-activity。
1. 如果目标是 DSH Desktop(稳定版 2.0.12 或 Beta 2.0.12-beta.1),直接定位并使用 Desktop 提供的 DSH Terminal 程序或启动入口。不要用普通 PowerShell、CMD 或其他终端代替。找不到 DSH Terminal 时停止并报告,不要猜测路径。
2. 在 DSH Terminal 中优先运行 `dsh plugin add dsh-compact-activity@latest`、`dsh --dump-config` 和 `pnpm list dsh-compact-activity --depth 0`。这些命令操作 Desktop 当前 profile,不要添加 `--profile web`。
3. 用 `pnpm view dsh-compact-activity dist-tags.latest` 查询 npm 最新版本。如果实际安装版本不一致,再运行 `dsh plugin add "dsh-compact-activity@<查询到的版本>"`,不要预先写死版本号。
4. 只有目标明确是普通 DSH CLI/Web 时,才使用带 `--profile web` 的插件命令。此路径需要 `dsh` 和 `pnpm`;npm 不能代替 pnpm。
5. 配置输出必须包含 `id: ui-compact-activity` 和 `name: dsh-compact-activity`。读取已安装包的 `package.json` 并报告 npm 最新版本、实际版本、安装路径和验证结果。
6. 如果定位或启动终端、执行命令、联网下载或读取验证结果需要当前没有的权限,立即向用户说明受阻操作、所需权限和用途,并请求授权。得到授权前不要继续,不要自行提权或绕过限制。
7. 不要安装全局工具,不要检查 app.asar 内部路径,也不要编辑 profile 清单、修改 Desktop 应用文件或手动复制插件。
插件没有独立的设置页面。安装后重启 DSH Web 或 Desktop 即可生效;语言由 DSH 的 Language 设置控制:
| 场景 | 显示行为 |
|---|---|
| 连续或单条过程消息 | 合并为一个默认收起的总折叠项 |
| 正在思考 | 显示 进行中...、计数和 正在思考 |
| 正在调用工具 | 显示最后一个官方工具的类型和摘要 |
| 正常完成 | 显示 已完成 和计数;历史失败保留在失败计数中 |
| 最后过程项失败或中断 | 显示 执行错误;后续正文不会覆盖该状态 |
| 同一 step 同时有思考和正文 | 只折叠 Think,正文继续显示 |
| 展开总过程 | 继续使用官方 Think 和工具组件,并显示成员状态 |
| 切换 DSH 语言 | 总过程和图片标记同步切换中文或英文 |
过长的实时摘要会自动截断,不会挤压页面布局。
在 DSH Desktop 的 DSH Terminal 中更新或卸载:
dsh plugin update dsh-compact-activity --latest
dsh plugin remove dsh-compact-activity
更新后运行 pnpm view dsh-compact-activity dist-tags.latest 和 pnpm list dsh-compact-activity --depth 0 对比版本。若版本不一致,再使用查询到的明确版本执行 dsh plugin add "dsh-compact-activity@<version>"。
普通 CLI/Web 更新或卸载:
dsh plugin --profile web update dsh-compact-activity --latest
dsh plugin --profile web remove dsh-compact-activity
操作后请重启 DSH Desktop 或 DSH Web。
按以下顺序排查:
从托盘切换到需要使用插件的目标 profile。
从该 profile 打开 DSH Terminal,运行:
dsh plugin add dsh-compact-activity@latest
dsh --dump-config
$latest = pnpm view dsh-compact-activity dist-tags.latest
pnpm list dsh-compact-activity --depth 0
确认输出同时包含 id: ui-compact-activity、name: dsh-compact-activity,并比较 npm 最新版本和实际安装版本。
如果版本不一致,运行 dsh plugin add "dsh-compact-activity@$latest",然后重新检查实际版本和配置。
重启 DSH Desktop,再检查总过程折叠。
pnpm peers check 对旧版插件可能报告缺少 React、DSH Client 或 Locale peer dependencies。这些模块由 DSH 宿主提供,不应手动安装到 profile;当前版本已将它们标记为 optional peer。若目标 profile 已包含上述配置但仍无效果,记录 DSH/Desktop 版本、启动方式、npm 最新版本、实际插件版本、安装路径和浏览器控制台错误。不要编辑 profile 清单、复制插件文件或检查 app.asar;这些操作会绕过 Desktop 的正常插件加载流程。
项目使用严格模式 TypeScript。需要 Node.js 22.19+ 或 24+:
pnpm install
npm run check
dsh plugin --profile web add .
dsh --profile web --dump-config
dsh --profile web
当前 DSH alpha 的 client 包尚未发布到 npm;本分支的开发依赖通过
../clone/deepseek-harness 链接到本地 alpha checkout。若两个仓库目录不同,
请相应调整 package.json 中的 link: 开发依赖。
如果使用 Harness 源码版,请在 Harness 源码根目录执行 pnpm dsh ...,并把 . 换成本插件目录的绝对路径。
npm pack
dsh plugin --profile web add ./dsh-compact-activity-<version>.tgz
请将 <version> 替换为 npm pack 输出中的实际版本。tarball 已包含预构建的 lib/,安装时不需要再次构建。
npm run typecheck
npm test
npm run build
npm pack --dry-run
npm run check 会依次执行严格类型检查、测试和生产构建。lib/ 是本地生成且不纳入 Git 的构建产物;prepack 会在发布或打包前重新生成它,并将其包含在 npm 包中。
测试使用开发依赖 jsdom、react-dom 和 tsx,用于验证核心分组逻辑及浏览器控制器行为。这些依赖不会进入 npm tarball;npm test 会自动发现 test/*.test.ts。
scripts/
└── clean.ts # 使用 Node 原生 TypeScript 清理构建目录
src/
├── index.ts # Host 入口,让 Loader 发现浏览器插件
└── client/
├── index.ts # 注册控制器并管理样式生命周期
├── activity-group.ts # 过程分组、边界、状态和计数
├── locales.ts # DSH Locale namespace 的中英文词典
├── styles.ts # 总折叠行及隐藏状态样式
└── components/
└── CompactActivityController.tsx # 控制官方过程行的总折叠状态
tsconfig.json 开启 strict、noUncheckedIndexedAccess 和 exactOptionalPropertyTypes,并检查源码、测试、构建配置及脚本。
兼容性状态:
截至 2026-09-19,以下结果基于本地源码和 Desktop 内置运行时包;尚未启动真实 Electron/Desktop 窗口做人工回归。
| 运行环境 | 版本 | 结果 |
|---|---|---|
| DeepSeek Harness 官方 Web | 0.1.6-alpha.2(commit ddefc45f) | 插件开发依赖直接链接本地源码;npm run typecheck、npm test 和 npm run build 通过。真实 Web 窗口未做人工回归。 |
| 社区 DSH Desktop 稳定版 | 2.0.12,内置 DSH 0.1.5-rc.2 | vendor/dsh-runtime/0.1.5-rc.2 的 Client bundle 仍保留 Chat Flow、Think、Tool 和 Turn-process 标记;未发现源码契约冲突,但真实 Desktop 启动和 profile 组合未回归。 |
| 社区 DSH Desktop Beta | 2.0.12-beta.1,内置 DSH 0.1.6-alpha.2 | 与当前官方 Web 源码使用同一 Client 契约;Beta 的内置运行时版本与本地源码一致。真实 Desktop 启动和 profile 组合未回归。 |
Linux 和 macOS 用户也可通过官方 CLI/Web 使用插件。
插件依赖以下 DSH Web 扩展点和稳定标记:
conversation.session.header.actions@deepseek-ai/dsh-client-locale 的 locale service 与 slot t 翻译 seatdata-chat-flow 与 data-chat-flow-keydata-variant="think"、data-tool、data-state 和 data-disclosure-rowassistant-step 与 tool-call Chat Node 数据语言词典注册到插件自有的 compact-activity namespace,状态和计数通过 DSH 注入的 t 翻译函数呈现;其余标记由 DSH 提供,不属于本插件控制的公共 API。升级 DSH 后,建议人工检查总过程折叠、官方子项交互、语言切换和工具实时摘要。
非用户输入的图片默认收起,范围包括:
user / steering Chat Flow 行中的图片展示。用户输入和 steering 消息中的图片保持原样。插件使用自己的独立标记:data-dca-image-group、data-dca-image-target 和 data-dca-image-hidden,只插入原生 <details>/<summary> 标记并隐藏原图片目标,不移动或替换 DSH 的图片 DOM 子树。
图片折叠支持淡入淡出过渡,并遵循 prefers-reduced-motion。检测复用 DSH 的图片按钮、Markdown 图片属性和失败回退结构;同一 Markdown 图片引用只生成一个标记,展开后显示图片名称和路径。Windows Desktop 中的本地 Markdown 路径会根据当前 Session 工作目录补全盘符,并通过已鉴权的 /api/file 路由重新挂载;无法解析或文件不存在时保留 DSH 的回退文本。升级 DSH 后,建议检查 Assistant 图片、工具图片、多图画廊、失败回退、用户图片和 lightbox 展开。
本插件是跨环境 Web UI 插件,不执行 profile 切换、插件安装/更新/卸载或依赖修复,因此不使用 Desktop 专用的 desktopProfiles、desktopPnpm、desktopRuntime 或 Electron IPC。Desktop 仍通过普通 DSH Web Client 模块加载本插件;不要为本插件添加 Desktop Host 服务作为必需注入,也不要访问 app.asar 或其他 Desktop 私有路径。
Desktop 真实环境验证应使用 Desktop 提供的 DSH Terminal,并确认当前 profile 的配置包含 id: ui-compact-activity 和 name: dsh-compact-activity。仓库中的 jsdom 测试不能替代真实 Desktop/Web 宿主回归检查。
遇到兼容性问题时,请在 GitHub Issues 提交:
请勿在 issue 中提交模型上下文、令牌或其他敏感信息。
MIT © 2026 wallpap
FAQs
Codex-style one-line disclosures for DeepSeek Harness reasoning and tool activity
The npm package dsh-compact-activity receives a total of 17 weekly downloads. As such, dsh-compact-activity popularity was classified as not popular.
We found that dsh-compact-activity demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.