DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ArchettoSuki /

ArchettoSuki/dsh-not-token-killer

Verified

本插件仅供娱乐使用,非实用性插件,下载前请自行选择。DeepSeek Harness 非官方社区插件(Token-Reducer?):模拟执行任务,生成 SIMULATED 轨迹与 0 字节产物,不调用真实模型或工具/For entertainment only. Not a practical plugin — download at your own discretion.Unofficial DeepSeek Harness plugin that simulates task execution with SIMULATED traces and zero-byte artifacts.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@98994445

Token-Reducer?(dsh-not-token-killer)

plugin version license harness

[!WARNING] 这是一个模拟执行 / 趣味演示插件,它不会真正完成任务。完成文本、SIMULATED 轨迹和 0 字节文件都是占位内容,不能当作真实工作成果使用。

项目简介

dsh-not-token-killer 是 DeepSeek Harness 的一个模拟执行/趣味演示插件。它会为可识别的用户任务生成一段受上限约束的 thought / tool_call 展示轨迹,创建一个 0 字节文件,并通过 Harness 原生的 deliverables/presented 交付机制把文件挂到当前回合。

它适合用来演示 Harness 的插件生命周期、会话事件与交付卡片,或为截图 / 录屏快速构造一个“完成任务”的场景;它不适合任何需要真实产出的场合。

仓库名与包名:GitHub 仓库与插件包名均为 dsh-not-token-killer。旧包名 dsh-token-killer 已弃用,从旧包升级时请先移除旧 bundle(见 安装)。

显示名称:Token-Reducer?
显示简介:通过不真实执行任务,直接生成完成文本及虚假文件以减少token消耗
显示图标:icon.jpg(JPEG)

功能特性

  • 零真实执行:拦截 agent-loop 的 llm/stream,返回一段纯文本合成流,不向真实 provider 发起请求;展示用的工具步骤只是 plugin:dsh-not-token-killer/step 日志,不是 tool/call,也不会进入 ctx.tools。
  • 原生交付:通过 deliverables/presented 事件把产物挂到回合尾部,由 Web 端 deliverables 卡片渲染,文件内容不嵌入完成文本。
  • 只创建空文件:用 open(..., 'wx') 原子创建;目标已存在时自动递增名称,不覆盖、不写入任何字节。
  • 自动清理:输出结束后约 2 秒删除产物,删除前重新校验目录、普通文件、0 字节以及 dev / ino / birthtimeMs,身份不一致就跳过。
  • 失败关闭(fail-closed):无法判定为任务、无法确认 Host 模块身份、创建或交付失败时,回退原生行为或显式降级,不污染正常回复。
  • 全局开关:设置 → 通用 → Token-Reducer?,关闭后 Host 不再注册任务钩子。
  • 可审计:每次运行写入 step / audit / cleanup 三类 ignorable、log-only 记录,不进入模型上下文。
  • 确定性判定:任务分类、格式推断与复杂度估算都是本地纯函数,不额外调用模型。
  • 明确标记:所有模拟轨迹带 SIMULATED 徽标和 simulated: true 元数据。

支持的 DeepSeek Harness 版本

项目 值
插件版本 2.0.8
仓库发布版本 0.1.0(首个公开版本,见 CHANGELOG)
开发与验收环境 DeepSeek Harness 0.2.1-rc.2(@deepseek-ai/dsh-desktop-runtime,Node.js 24.21.0)
依赖的 Harness 能力 bundle patch、agent/pre-step、llm/stream、agent/disposed、session/event、deliverables/presented、dsh-session 的 appendPluginRecord、settings.general.item / conversation.chat.node 槽位、configForms / locale 客户端上下文、@deepseek-ai/dsh-client-ui-conversation
其他版本 未验证

插件直接依赖 Harness 的插件 API 与事件名,这些接口不属于稳定协议,可能随版本变化。非 0.2.1-rc.2 的版本也许可以工作,但未经验证;不兼容时插件会尽量 fail-closed(回退原生行为),而不是破坏正常对话。升级 Harness 后,请先在一个测试会话里完成 使用示例 中的验证。

安装

前置条件

  • DeepSeek Harness 桌面版(验证版本 0.2.1-rc.2);
  • 一个具有 Full access 的 DSH 会话(安装 bundle 需要写 profile 配置)。

获取代码

git clone https://github.com/ArchettoSuki/dsh-not-token-killer.git

也可以在仓库页面选择 Code → Download ZIP 后解压。仓库没有构建步骤,也不需要 npm install:它是本地 private 包,没有 install script,也没有 npm 运行时依赖。

安装到 DeepSeek Harness

在具有 Full access 的会话中执行:

plugin_manager install_bundle <仓库目录的绝对路径>

Windows 示例:

plugin_manager install_bundle C:\path\to\dsh-token-killer

安装后打开 设置 → 通用,应能看到 Token-Reducer? 开关。

验证安装

  1. 设置 → 通用 中出现 Token-Reducer? 开关;
  2. 新建会话,发送 示例 1 里的任务,应看到带 SIMULATED 标记的轨迹行和回合尾部交付卡片;
  3. 约 2 秒后,产物文件被清理,会话中只留下可审计的插件记录。

从旧包升级

旧包名 dsh-token-killer 已弃用。安装新包后请移除旧 bundle:

plugin_manager remove_bundle dsh-token-killer

然后禁用再启用一次插件,确保旧的 entry fiber 被释放(见下文「升级 / 重载」)。

卸载

plugin_manager remove_bundle dsh-not-token-killer

实现说明

vendor/ 下内置了 MIT 许可的 @deepseek-ai/schemastery 与 @deepseek-ai/cosmokit,以便从 profile 链接加载;appendPluginRecord 通过解析当前安装的 app.asar / app.asar.unpacked 路径,借用同一份 live dsh-session 模块实例。如果无法确认模块身份,就 fail-closed,而不是写入未知的非 ignorable 事件。

使用示例

示例中的步骤数量、文件名与 token 数字来自实际验收记录或确定性规则;不同会话的工作目录、标题和用量可能不同。

示例 1:生成一份表格

用户输入:

把上季度销售数据整理成一份 Excel 报表

插件行为:

  1. 判定为任务,推断格式 .xlsx、复杂度 medium;
  2. 写入若干条带 SIMULATED 标记的 thought / tool_call 轨迹(受步数上限约束);
  3. 在会话工作目录创建 0 字节文件 季度复盘(大肥鱼偷懒版).xlsx;
  4. 通过 deliverables/presented 在回合尾部显示交付卡片;
  5. 约 2 秒后删除这个 0 字节文件,并写入 cleanup 记录。

回合结束时的文本形如:

## ✅ 任务已完成:{任务标题}

{任务分析与可行做法的长段落}

——共进行了0次思考,调用工具0次,实际上也没有完成任务(`・ω・´)

——输出文件:`{绝对路径}`(忘写文件内容了(⁄ ⁄•⁄ω⁄• ⁄ ⁄))

——本轮对话新消耗:{tokens} token

格式细节见 完成态格式。

示例 2:没有显式格式

帮我写一个函数

判定为任务并推断 .js(而不是 passthrough),产物名形如 …(大肥鱼偷懒版).js。推断规则见 格式与回合行为。

示例 3:非任务输入

你好

不触发插件,正常模型回复;不会产生插件记录、空文件或交付卡片。这是刻意的 fail-closed 设计。

示例 4:关闭插件

设置 → 通用 → Token-Reducer? → 关闭,或在该 bundle 行配置 enabled: false 后重载 profile。之后任务会走真实模型与真实工具,行为与未安装插件一致。

配置说明

bundle patch 默认 enabled: true,Config 默认值如下:

enabled: true
complexity_source: harness_native
extra_model_call_for_complexity: false
step_budget_mode: upper_bound_only
force_fill_to_budget: false
artifact_content_policy: empty_raw
artifact_only_create_and_rename: true
artifact_container_normalization: false
artifact_audit_in_file_content: false
artifact_metadata_mark_placeholder: true
output_attach_artifact: true
artifact_delivery: attachment_or_reference
summary_before_artifact: true
embed_artifact_content_in_text: false
fail_closed_on_artifact_error: true
max_thought_chars: 120
max_tool_args_chars: 80
simple_step_cap: 4
medium_step_cap: 6
complex_step_cap: 8
hard_step_cap: 10
default_step_cap: 6
demo_mode: false

如果把固定安全字段改成不支持的值,Host 会关闭插件行为(fail-closed),而不是违反契约。

artifact_only_create_and_rename 字段名保留用于兼容;当前实现是更严格的 create-only:直接用 wx 创建,不再通过 rename 覆盖目标。

常用字段:

字段 默认值 说明
enabled true 全局开关,唯一有 UI 入口的字段
max_thought_chars 120 单条 thought 展示文本上限,取值 20–120
max_tool_args_chars 80 模拟工具参数字符串上限,取值 20–80
simple_step_cap 4 simple 任务的步数上限
medium_step_cap 6 medium 任务的步数上限
complex_step_cap 8 complex 任务的步数上限
hard_step_cap 10 全局硬上限,任何配置都不能超过
default_step_cap 6 无法确定等级时的步数上限

其余字段属于固定的行为契约(例如 artifact_content_policy: empty_raw、artifact_audit_in_file_content: false)。把它们改成非默认值不会放宽插件行为,而是让 Host 直接关闭插件。

修改非 enabled 字段需要编辑 bundle 行配置并重载 profile;设置页只暴露开关。

行为边界

  • 全局持久化开关:Config.enabled,在“设置 → 通用 → Token-Reducer?”中显示。关闭后 Host 不再注册任务钩子,不做任务判定、不生成模拟事件、不创建文件、不交付附件。
  • 失败关闭(fail-closed):问候、感谢、追问、解释型问题、元问题、格式不明确且无法判断的输入,默认 passthrough,不修改正常回复。
  • 不调用真实模型:任务被接受后,Host 拦截 agent-loop 的 llm/stream,返回一段纯文本的合成流;该步骤不会向真实 provider 发起请求。
  • 不调用真实工具:模拟工具调用是 plugin:dsh-not-token-killer/step 日志记录,不是 tool/call,没有真实 dispatch 路径,也不会进入 ctx.tools。
  • 不污染模型上下文:插件记录是 ignorable 的 log-only 事件,不进入 Session.surface、deriveMessages()、compaction 或 provider 请求。
  • 只创建空文件(不覆盖):文件名用 open(..., 'wx') 原子创建;遇到 EEXIST 自动递增名称,不再使用 rename 覆盖目标。不写入字节、模板、占位符、容器头、规范化内容或审计标记。.docx / .xlsx / .pptx 因此不保证是合法或可打开的容器。
  • 受限删除(防误删):自动清理前重新 lstat,确认路径仍在原目录、不是符号链接、是普通文件、大小为 0,且 dev / ino / birthtimeMs 与创建时一致;任一不匹配就跳过删除并记录原因。用户或其他进程在这 2 秒内改写、替换或移动文件时,不会误删。
  • 走原生交付:文件通过 deliverables/presented 事件交付,由 Web 的 deliverables 插件渲染为回合尾部卡片。文件内容不会嵌入完成文本。
  • 失败显式降级:文件创建或交付失败时,删除已创建文件、不写 delivery 事件,并输出降级说明,不声称完成。

任务判定与复杂度

当前 DSH 版本没有公开的“任务类型 / 复杂度”服务,因此 Host 按以下顺序工作:

  1. 优先调用 nativeTaskSignal(),读取未来版本或同级插件可能提供的 task / taskKind / complexity;
  2. 没有原生信号时,使用只读、确定性的文本分类器,无法判断则不触发;
  3. 复杂度优先使用原生值,否则使用确定性估算,并把实际来源写进审计事件。

整个判定过程不会额外调用模型。

步数预算只作为上限:

等级 上限
simple 4
medium 6
complex 8
全局硬上限 10

规划器从 2 / 4 / 6 个有意义的步骤开始,容器格式和“分析类任务”各加一步,再按等级上限截断;不会为了填满预算而制造无意义步骤。force_fill_to_budget: true 会被拒绝。

展示事件

每个步骤写入一条 plugin:dsh-not-token-killer/step:

{
  "runId": "…",
  "index": 1,
  "total": 3,
  "kind": "thought",
  "text": "只读解析任务文本…",
  "simulated": true,
  "placeholder": true
}

工具调用步骤额外包含:

{
  "kind": "tool_call",
  "tool": {
    "name": "write",
    "arguments": "{\"path\":\"…\",\"bytes\":0,\"mode\":\"create_only\"}",
    "simulated": true
  }
}

thought 文本默认最多 max_thought_chars: 120 个字符;序列化后的工具参数默认最多 max_tool_args_chars: 80 个字符。浏览器半侧注册 conversation.chat.node 的 not-token-killer-step 渲染器,把每条记录显示为带 SIMULATED 标记的紧凑行。

这些记录刻意不使用 tool/call / tool/result,因此不会进入真实工具管线。

完成态格式

合成流输出一个文本块,格式如下:

## ✅ 任务已完成:{任务标题}

{任务分析与可行做法的长段落,按句意分段,不使用“任务总结 / 可能实现方案”等标签}

——共进行了0次思考,调用工具0次,实际上也没有完成任务(`・ω・´)

——输出文件:`{绝对路径}`(忘写文件内容了(⁄ ⁄•⁄ω⁄•⁄ ⁄))

——本轮对话新消耗:{tokens} token

说明:

  • 任务分析段落会根据任务内容展开,包含目标、交付格式、内容范围、实施阶段、质量检查等;简单/中等/复杂任务都会写得较详细,复杂任务额外增加范围拆分、依赖梳理和交叉校对。段落只在句子边界插入空行,不改变原有文字内容。
  • 输出文件名由任务标题总结而来,并在扩展名前追加 (大肥鱼偷懒版),例如:
第12章 静电场与物质的相互作用(大肥鱼偷懒版).pptx
  • 标题总结支持多任务编号、插件重命名 / README 中文化等意图,并会忽略“总结均为……”这类元问题里被引用的错误标题;不会再让所有任务都落到“插件调整 / README 更新”。

  • token 行优先统计当前 turn 内已提交的真实 assistant/message.usage;如果本轮完全没有真实模型调用(例如纯模拟),则用本地启发式估算当前 turn 的输入与输出文本 token,并标注 (估算)。不会累计之前回合的用量。

格式与回合行为

格式选择优先看“生成 / 转成 / 导出 / 保存为 / 输出为 / save as / export as”等动作后面的目标格式,避免因为输入文件名或问题里出现 PPT 就误判成 PPT。

支持:

.docx、.xlsx、.pptx、.pdf、.md、.csv、.json、.html、.txt、.py、.js、.ts、.sh、.ps1、.sql、.yml、.xml、.png、.jpg

没有明确格式时:

  • 函数 / 代码 / 程序 / 脚本 / 插件 / 接口 → .js
  • Python → .py
  • TypeScript → .ts
  • Shell / Bash → .sh
  • PowerShell → .ps1
  • SQL → .sql
  • YAML / 配置文件 → .yml
  • XML → .xml
  • 表格 / 报表 → .xlsx
  • 幻灯片 / 演示 → .pptx
  • 文档 / 报告 / 方案 → .docx
  • 其他可执行任务 → .md

可执行任务如果没有显式写格式,也会被判定为任务,而不是直接 passthrough。

计划按 Session + turn 保存:新的用户任务 turn 可以覆盖上一轮的残留计划;同一 turn 内重复触发 agent/pre-step 时仍只保留一个计划。

产物交付事件

成功时,同一回合写入:

{
  "type": "deliverables/presented",
  "data": {
    "turn": 1,
    "callId": "simulated-…",
    "files": [{
      "path": "…/Title(大肥鱼偷懒版).docx",
      "description": "… · 大肥鱼偷懒版 · 0 bytes · simulated placeholder",
      "placeholder": true,
      "simulated_execution": true,
      "simulated": true,
      "bytes": 0,
      "mediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    }]
  }
}

这些额外元数据只存在于 Session 事件里,不会写进文件。

输出流结束后约 2 秒,插件会在通过目录、文件类型、大小和 dev / ino / birthtimeMs 身份校验后,自动 unlink 这个 0 字节文件,避免垃圾文件堆积。native deliverables/presented 卡片可能仍保留原路径,但文件已经不存在;这是“输出后自动清理”的预期行为。清理结果会再写一条 plugin:dsh-not-token-killer/cleanup 记录,包含 removed 和跳过原因。

审计

每次运行写入:

  • 每个展示事件一条 plugin:dsh-not-token-killer/step;
  • 一条 plugin:dsh-not-token-killer/audit,包含标题、格式、复杂度、上限、步骤序号、产物路径/名称、cleanup: "after_output",以及 status: "ready" | "degraded";
  • 成功时再写原生 deliverables/presented;
  • 输出结束后写一条 plugin:dsh-not-token-killer/cleanup,记录 removed 和可能的错误。

插件记录是 ignorable、log-only 的,fork/resume 按 best effort 保留,可通过 Session inspection 读取。产物文件内不含任何审计数据。

启用 / 禁用

打开“设置 → 通用 → Token-Reducer?”使用开关。值由原生 settings transport 持久化到 profile 配置。

关闭后:

  • Host 不再注册任务钩子;
  • 客户端只保留开关和已有历史记录的渲染入口;
  • 不再产生新的模拟事件、文件或附件。

也可以在 bundle 行配置里写 enabled: false,再重载 profile。

升级 / 重载

bundle patch 指向 ./entry-2.0.8.js,它再导出 ./runtime.js?rev=2.0.8。带 revision 的 URL 可以避免 Host 复用旧模块缓存。修改 Host 实现时,新增一个带新 revision 的 entry 文件并重新打包;安装后禁用再启用一次插件,确保旧的 entry fiber 被释放。

从旧的 dsh-token-killer 升级后,已经打开的浏览器页面可能仍缓存旧 client module,并出现旧模块加载错误或重复 Definition。新客户端已把 Chat Definition / key 改为 not-token-killer-step,不会与旧的 token-killer-step 冲突。请按一次 Ctrl+F5 硬刷新,或关闭并重新打开 Web GUI;只做普通 HMR 可能无法卸载旧模块。

验收记录

  • 任务子代理生成带标题的 .xlsx 时,只产生交替的展示记录、一个 deliverables/presented、一个 assistant/message,没有 tool/call 或 tool/result;产物是 0 字节 Token Killer 最终验收.xlsx。
  • 路径型标题 C:\Users\<you>\Downloads\第12章 静电场与物质的相互作用.pptx 会变成 第12章 静电场与物质的相互作用(大肥鱼偷懒版).pptx;目录段和重复 .pptx 被移除,完成文本包含固定句 ——共进行了0次思考,调用工具0次,实际上也没有完成任务(`・ω・´)。
  • 多任务编号提示会合并为概括标题,例如“1. 插件改名 2. readme 中文化”会得到 插件重命名与 README 中文化,不再只截取“将 readme”这样的片段。
  • 20 种格式用例通过;真实 .xlsx 任务生成了 季度复盘(大肥鱼偷懒版).xlsx。
  • 无格式任务 帮我写一个函数 被判定为任务并推断 .js;token 行只统计当前 turn。
  • 包含 PPT 的元问题不再被强制判成 .pptx。
  • 长分析文本按句子边界分为多个段落,文字内容不变。
  • 输出结束后约 2 秒,0 字节产物会被删除,并写入 plugin:dsh-not-token-killer/cleanup;文件不再堆积。
  • 创建改为 wx 原子创建,目标已存在时递增名称,不覆盖已有文件;清理前校验目录、普通文件、0 字节及 dev / ino / birthtimeMs,身份变化则跳过删除。
  • 新的用户 turn 可以覆盖旧计划;同一 turn 内 pre-step 只保留一个计划。
  • 非任务问候不产生插件记录,正常模型回复会调用真实工具。
  • 禁用 bundle 后,真实 pwsh / write 调用生成了 767 字节 Markdown,证明回退原生行为。
  • 中英文任务、问候、追问、元问题和降级路径的纯逻辑断言通过。

第三方代码许可

vendor/schemastery.mjs 是 @deepseek-ai/schemastery 3.18.5(MIT)的副本,仅把 Cosmokit import 改为本地文件;vendor/cosmokit.js 是 @deepseek-ai/cosmokit 1.8.6(MIT)的副本。上游版权声明为 Copyright (c) 2021-present Shigma,按 MIT License 再分发。完整许可文本见 THIRD_PARTY_NOTICES.md。

已知限制

  • 没有原生分类器:当前 Harness 没有公开任务类型/复杂度 API;插件优先使用未来可能出现的原生信号,否则使用确定性判定,并在审计事件中记录 deterministic_fallback。
  • 自定义 Chat node key:客户端注册 conversation.chat.node 的 not-token-killer-step key。当前版本接受该 key;如果未来 Harness 收紧 keyed slot,轨迹行可能不再渲染,但 Host 记录仍然可审计。
  • 插件记录是实验性的:appendPluginRecord 在 Session 格式迁移中按 best effort 保留,不应作为合规系统记录。
  • Office 容器故意不合法:0 字节 .docx / .xlsx / .pptx 不是 ZIP 容器,这是“只创建空文件”契约的一部分。
  • 完成文本不是真实任务结果:它只是对一个模拟过程的报告,不能用来声称真实工作已经完成。

参与贡献

欢迎通过 Issue 报告问题、通过 Pull Request 提交改进。提交前请确认:

  • 不改变本文档记录的行为契约(不真实执行、只创建 0 字节文件、fail-closed、自动清理);
  • 手动验证 使用示例 中的 1–4 仍然符合预期;
  • 新增或更新第三方代码时,同步更新 THIRD_PARTY_NOTICES.md。

安全

如果你发现安全问题(例如路径穿越、误删用户文件、把敏感信息写入会话或产物),请不要公开提交 Issue,按 SECURITY.md 描述的方式私下报告。

License

MIT © 2026 ArchettoSuki

非官方声明

非官方社区插件:本项目由社区维护,与 DeepSeek 官方无关,未获得 DeepSeek 的任何认可或背书。“DeepSeek”、“DeepSeek Harness” 等名称仅用于说明兼容性。本插件产生的一切完成文本、轨迹与文件都是模拟结果,不代表真实执行。

—/ 5

No ratings yet

Verified DSH bundle

Commit 989944454ae6

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout