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

REA 工具开关 phoushen/dsh-rea-toggle

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

一键开关 REA 的 229 个工具,省下无关对话的上下文开销

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成

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

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

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

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    client.js:24
    const res = await fetch(`${PREFIX}/status`, { headers: { accept: 'application/json' } });
  • 发起网络请求
    client.js:47
    const res = await fetch(`${PREFIX}/set`, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 里给 REA MCP 服务器加了个图形开关,一键开关它那 229 个 mcp__rea__* 工具,无关聊天就不用再为它们的上下文开销买单。

README

由 DeepSeek 最新模型翻译生成
dsh-rea-toggle English · 简体中文 给 DeepSeek Harness 里的 REA MCP 服务器加一个图形开关。 做逆向时打开它的 ~229 个 mcp__rea__ 工具,不做的时候关掉 —— 不用改 YAML,也不用让无关对话替这些工具付上下文开销。 ● REA 已开 ← 注册 229 个工具,每个请求都带 schema ● REA 已关 ← 一个都不注册,无关对话零负担 REA 已开 —— 229 个 mcp__rea__ 工具已注册,每一轮请求都要带上 REA 已关 —— 一个都不注册,无关对话不再付这笔开销 问题 REA 会在宿主上注册 229 个工具(mcp__rea__*)。工具定义属于每次请求的系统提示,不管你调不调它。
展开完整文档(README 剩余 1 节)
dsh-rea-toggle

English · 简体中文

给 DeepSeek Harness 里的 REA MCP 服务器加一个图形开关。 做逆向时打开它的 ~229 个 mcp__rea__ 工具,不做的时候关掉 —— 不用改 YAML,也不用让无关对话替这些工具付上下文开销。

● REA 已开 ← 注册 229 个工具,每个请求都带 schema ● REA 已关 ← 一个都不注册,无关对话零负担

REA 已开 —— 229 个 mcp__rea__ 工具已注册,每一轮请求都要带上

REA 已关 —— 一个都不注册,无关对话不再付这笔开销

问题

REA 会在宿主上注册 229 个工具(mcp__rea__*)。工具定义属于每次请求的系统提示,不管你调不调它。

实测数据(rea-agents@6.8.0,取服务器自己 tools/list 的返回):

| 测量项 | 数值 |
| tools/list 返回的工具数 | 229 |
| 工具 name + description 总字符 | 139,502 |
| 粗略 token 估算(字符 ÷ 3.5) | ≈ 40,000 token |

这只是描述文本,完整 JSON Schema 还要更多 —— 其中一部分已经被 REA 自己的 REA_MCP_INPUT_SCHEMA_PROFILE=compact 压过了。不同 tokenizer、宿主版本、schema profile 会让数字浮动,量级不会变。

做逆向时,4 万 token 的工具面很划算。写个视频脚本时,这就是关不掉的死重。

为什么 REA 自己不提供这个开关

对着 rea-agents@6.8.0 实测:

$ rea mcp --help
rea mcp — Register as MCP server

Commands:
add Register as MCP server
doctor Validate MCP server startup and tool listing

只有 add 和 doctor。没有 remove、没有 disable、没有 enable、没有工具过滤。 rea mcp add --agent <claude-code|cursor|…> 干的事只是往某个客户端配置里写一行;REA 内部任何东西都无法在运行时注销自己的工具。

这是结构性的,不是疏漏:MCP 服务器无法注销自己。 工具之所以存在,是宿主启动了它并要了 tools/list。只有宿主能决定不要。

而宿主侧的 @deepseek-ai/dsh-mcp-client 也没有包含性过滤字段:

transport · serverName · command · args · env · cwd toolCallTimeoutMs · failOnStartupError · maxInstructionBytes · reconnect

所以开关只能放在 loader patch 里 —— 那是唯一能说「这一行别启动」的地方。本插件就只拥有那一个标志位。

它做什么

它翻的是一个键 —— disabled,作用在 profile patch 的一行上:

<DSH_HOME>/profiles/<profile>/cordis.patch.yml
- insert:
- id: rea-mcp
disabled: true # ← 只动这个 name: "@deepseek-ai/dsh-mcp-client"
config: { … }

- 除该文件外不读别的,写也只在那个标志位。
- 不碰 ~/.dsh/plugins/rea-agents,不卸载 REA,不改任何二进制。
- 再点一下即还原。

安装

环境要求

| 组件 | 实测版本 |
| DeepSeek Harness | 0.2.1-rc.3(桌面版) |
| REA(rea-agents) | 6.8.0 |
| Node.js | ≥ 20 |
| 一行能拉起 REA 的 mcp-client 行 | 例如 id: rea-mcp |

前提是 REA 已在 DSH 里跑通。 本插件不负责装 REA。

方式 A —— 从 GitHub 装

dsh plugin --profile "$env:DSH_PROFILE" add github:phoushen/dsh-rea-toggle

命令行里没有 dsh 就走方式 B。

方式 B —— 手动

$home_ = "$env:USERPROFILE\.dsh"
Copy-Item .\dsh-rea-toggle "$home_\plugins\dsh-rea-toggle" -Recurse
Copy-Item .\dsh-rea-toggle "$home_\profiles\desktop\node_modules\dsh-rea-toggle" -Recurse

然后改 profile 清单,两处都要:

// <DSH_HOME>/profiles/desktop/package.json
{
"dependencies": { "dsh-rea-toggle": "file:../../plugins/dsh-rea-toggle" },
"dsh": { "profile": { "bundles": [ "...", "dsh-rea-toggle" ] } }
}
完全退出 DeepSeek Harness(含托盘)再启动。

验证

输入框左边会出现小开关。点它,或者直接打端点:

Invoke-RestMethod http://127.0.0.1:<WEB_PORT>/rea-toggle/status
{"ok":true,"path":"…\\cordis.patch.yml","rowLine":75,"disabled":false,"enabled":true}

使用

| 动作 | 做法 |
| 关闭 | 点开关,或 POST /rea-toggle/set {"enabled":false} |
| 开启 | 点开关,或 POST /rea-toggle/set {"enabled":true} |
| 看状态 | 鼠标悬停,或 GET /rea-toggle/status |

标志位是立刻写盘的;工具集合在下次启动时才变。 重启才是那 4 万 token 真正消失的时刻。

不走 GUI 也行

1. 端点 Invoke-RestMethod http://127.0.0.1:<PORT>/rea-toggle/set -Method POST -ContentType 'application/json' -Body '{"enabled":false}'

2. 自己改那一行,效果一样
- id: rea-mcp
disabled: true

配置

可选,加在本插件自己那行上:

- insert:
- id: dsh-rea-toggle
name: dsh-rea-toggle
config:
targetId: rea-mcp # 要翻 disabled 的那一行的 id routePrefix: /rea-toggle # 端点前缀

REA 那行不叫 rea-mcp 就设 targetId。多服务器:一个目标一行插件,routePrefix 各自不同。

这个插件不是什么

- 不是 REA 的包装、分支或补丁。它从不读 REA 的代码或版本。
- 不是工具过滤器。dsh-mcp-client 没有包含性字段,所以「只留 20 个常用工具」在这里做不到 —— 要么 229 个,要么 0 个。
- 不是安装器。它不会去下 REA、Ghidra、JDK、adb 或 JADX。
- 不是安全绕过。它翻的是你自己本来就拥有的一个 YAML 键。
- 不是 token 计数器。≈4 万这个数字是从 REA 自己的 tools/list 估的,你在意就自己量。

安全

两个端点只接受 GET /status 和 POST /set,只监听宿主自己的回环 Web 端口,POST 的 Origin 主机与请求 Host 不一致直接 403,body 上限 64 KiB。不向网络暴露任何东西。

插件只写一个路径 —— <DSH_HOME>/profiles/<profile>/cordis.patch.yml —— 且只写目标行里的 disabled 那一行。

排错

| 现象 | 原因 | 处理 |
| 输入框旁没有开关 | client 半在启动时没被扫描到 | 完全退出宿主(含托盘)再开 |
| 显示 REA ? | 端点不通或找不到目标行 | 悬停看提示;查 /rea-toggle/status |
| row "rea-mcp" not found | 你的 REA 行 id 不同 | 设 config.targetId |
| 关了之后工具还在 | 工具注册发生在启动时 | 重启宿主 |
| 改 disabled 没反应 | 这个 profile 里没有拉起 REA 的 mcp-client 行 | 那不是开关的问题,先查 REA 安装 |

视频

这是一段用中文讲的演示,覆盖安装、开关效果和排错:

直链:<https://www.bilibili.com/video/BV1cqxu6FEh1?t=0.8>

许可

MIT,见 LICENSE。

REA 本身是 MIT,仓库在 <https://github.com/morluto/rea>。DeepSeek Harness 是独立产品;本插件非官方,与上述两个项目均无隶属关系。
预览分享卡片长什么样 ↓phoushen/dsh-rea-toggle
分享 · DeepSeek Harness Hub
phoushen/dsh-rea-toggle

一键开关 REA 的 229 个工具,省下无关对话的上下文开销

这是你的仓库?认领条目

回到顶部