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

TRAE 双向桥接 asakumizy/dsh-trae-bridge

DeepSeek Harness
asakumizy77 天前有提交已提供中文文档扫描:含敏感能力

让 DSH 与 TRAE 互相委派任务并取回结果

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 26 处,展示前 24 条)
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:64
    writeFileSync(tmp, data, "utf8");
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:66
    renameSync(tmp, path);
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:71
    writeFileSync(path, data, "utf8");
  • 删除本地文件
    dsh-subagent-trae/lib/index.js:73
    try { unlinkSync(tmp); } catch { }
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:79
    if (!existsSync(path)) return void 0;
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:81
    return JSON.parse(readFileSync(path, "utf8"));
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:372
    mkdirSync(queueDir, { recursive: true });
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:373
    mkdirSync(resultsDir, { recursive: true });
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:421
    if (existsSync(resultPath)) return;
  • 删除本地文件
    dsh-subagent-trae/lib/index.js:457
    try { unlinkSync(resultPath); } catch { }
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:533
    try { entries = readdirSync(queueDir); } catch { return reclaimed; }
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:566
    try { return Date.now() - statSync(path).mtimeMs; } catch { return Infinity; }
  • 读取本地文件
    dsh-subagent-trae/lib/index.js:576
    try { entries = readdirSync(dir); } catch { continue; }
  • 删除本地文件
    dsh-subagent-trae/lib/index.js:589
    try { unlinkSync(path); cleaned += 1; } catch { }
  • 写入本地文件
    dsh-subagent-trae/lib/index.js:615
    mkdirSync(queueDir, { recursive: true });
  • 发起网络请求
    graph-monitor/lib/client.js:243
    return fetch(path, init).then(function (r) {
  • 读取本地文件
    graph-monitor/lib/index.js:694
    entries = await readdir(dir, { withFileTypes: true, encoding: "utf8" });
  • 读取本地文件
    graph-monitor/lib/index.js:702
    const raw = await readFile(join(dir, entry.name), "utf8");
  • 写入本地文件
    graph-monitor/lib/index.js:718
    await mkdir(dir, { recursive: true });
  • 写入本地文件
    graph-monitor/lib/index.js:719
    await writeFile(join(dir, `${workflow.id}.json`), JSON.stringify(workflow, null, 2), "utf8");
  • 删除本地文件
    graph-monitor/lib/index.js:724
    await rm(join(this.workflowsDir(), `${id}.json`), { force: true });
  • 读取密钥环境变量
    graph-monitor/lib/index.js:1121
    const fromEnv = process.env.AMAP_KEY;
  • 读取本地文件
    graph-monitor/lib/index.js:1124
    const raw = await readFile(amapKeyFile(), "utf8");
  • 发起网络请求
    graph-monitor/lib/index.js:1135
    const res = await fetch(url, { headers: { accept: "application/json" } });
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 互相委派任务
  • 取回任务结果

README

由 DeepSeek 最新模型翻译生成
DSH ⇄ TRAE 互为 Subagent 桥接 让 DSH (DeepSeek Harness) 与 TRAE (IDE agent) 可以互相委派任务。 - TRAE → DSH:TRAE 说「让 DSH 执行…」→ 调用 bin/dsh-ask.cmd 无头跑 DSH,拿回最终回答 - DSH → TRAE:DSH 的模型用 subagent_trae 工具 → 写文件队列 → TRAE 侧 /dsh skill 认领执行 → 写回结果 TRAE ──(dsh-ask.cmd 无头调用)──► DSH 交付物 1 DSH ──(subagent_trae 工具→文件队列桥)──► TRAE 交付物 2 目录结构 dsh-trae-bridge/
展开完整文档(README 剩余 1 节)
DSH ⇄ TRAE 互为 Subagent 桥接

让 DSH (DeepSeek Harness) 与 TRAE (IDE agent) 可以互相委派任务。

- TRAE → DSH:TRAE 说「让 DSH 执行…」→ 调用 bin/dsh-ask.cmd 无头跑 DSH,拿回最终回答
- DSH → TRAE:DSH 的模型用 subagent_trae 工具 → 写文件队列 → TRAE 侧 /dsh skill 认领执行 → 写回结果

TRAE ──(dsh-ask.cmd 无头调用)──► DSH 交付物 1 DSH ──(subagent_trae 工具→文件队列桥)──► TRAE 交付物 2

目录结构

dsh-trae-bridge/
├── dsh-subagent-trae/ # DSH 侧桥接插件(subagent provider: trae) │ └── lib/index.js ├── graph-monitor/ # DSH 侧 GRAPH 工作流可视化插件(文档见其 README.md) │ ├── lib/index.js # 宿主:GRAPH 引擎 + HTTP API /graph-monitor/* │ ├── lib/client.js # 客户端:Graph Monitor 页签 + 聊天内嵌卡片 + 设置编辑器 │ └── test/ # 引擎测试 19 项 + 客户端冒烟 + CDP UI 验证 ├── bin/dsh-ask.cmd # TRAE→DSH 无头 CLI 包装(自动探测 DSH 安装路径) ├── trae-skills/dsh/SKILL.md # TRAE 侧 skill:处理 DSH 投递的任务(/dsh 触发) ├── trae-agents/dsh.md # TRAE 侧 agent:把任务委派给 DSH(让 DSH 执行…)
├── profiles/ # cordis.patch.yml 示例(desktop / headless) ├── test/ # 4 套测试,45+ 项 ├── OPTIMIZATION-NOTES.md # 可靠性/压缩/安全设计记录 └── README.md

graph-monitor 插件的完整文档(功能 / GRAPH 词汇表 / 部署 / 验证 / 配置)单独写在 graph-monitor/README.md。

快速开始

0. 准备

- DSH Desktop 已安装(本插件依赖 desktop-cli.js / headless profile)
- TRAE 已安装,且可安装自定义 skill 与 agent(~/.trae-cn/skills、~/.trae-cn/agents)

1. 决定桥目录

桥目录默认 ~/.dsh-trae/bridge(即 %USERPROFILE%\.dsh-trae\bridge),也可用环境变量覆盖:

可选:自定义桥目录 setx DSH_TRAE_BRIDGE_DIR "D:/path/to/your/bridge"

2. 安装 DSH 侧插件

把 dsh-subagent-trae/ 目录放进 DSH 的 profile 依赖。desktop profile 手动布放:

$dst = "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-subagent-trae"
New-Item -ItemType Directory -Path "$dst\lib" -Force | Out-Null
Copy-Item "\dsh-subagent-trae\package.json" "$dst\"
Copy-Item "\dsh-subagent-trae\lib\index.js" "$dst\lib\"

用示例配置替换 cordis.patch.yml(先按下面第 3 步填好 ) Copy-Item "\profiles\desktop-cordis.patch.yml" "$env:USERPROFILE\.dsh\profiles\desktop\cordis.patch.yml" -Force

3. 配置 cordis.patch.yml

参考 profiles/desktop-cordis.patch.yml,把 换成你的桥目录:

- insert:
- id: subagent-trae
name: dsh-subagent-trae
config:
providerName: trae
bridgeDir: "C:/Users//.dsh-trae/bridge" # 或留空走默认/环境变量 timeoutMs: 900000 pollIntervalMs: 2000 可选优化项: maxConcurrent: 1 retryCount: 0
allowedCwdPrefixes: ["C:/Users/"]
maxFileAgeDays: 7
sharedSecret: ""
maxPromptChars: 20000
maxResultChars: 20000

- id: tool-subagent-trae
name: "@deepseek-ai/dsh-tool-subagent"
config:
provider: trae
toolName: subagent_trae
enableRunInBackground: false
maxDepth: provider-managed

必须重启 DSH Desktop 并新建会话,subagent_trae 工具才会出现。

4. 安装 TRAE 侧 skill 与 agent skill:处理 DSH 投递的任务 Copy-Item -Recurse "\trae-skills\dsh" "$env:USERPROFILE\.trae-cn\skills\dsh"

agent:把任务委派给 DSH Copy-Item "\trae-agents\dsh.md" "$env:USERPROFILE\.trae-cn\agents\dsh.md"

把 trae-skills/dsh/SKILL.md 里的 也换成你的桥目录。

5. 使用

DSH → TRAE(在 DSH 对话里):

用 subagent_trae 工具问 TRAE:

然后在 TRAE 里输入 /dsh(或说「处理DSH任务」)触发 skill 认领任务。

TRAE → DSH(在 TRAE 对话里):

让 DSH 执行:

TRAE 的 dsh agent 会调用 bin/dsh-ask.cmd 无头执行 DSH。

配置项一览

| 配置键 | 默认值 | 说明 |
| providerName | trae | provider 名 |
| bridgeDir | ~/.dsh-trae/bridge(或 DSH_TRAE_BRIDGE_DIR) | 桥目录 |
| timeoutMs | 900000 | 单次超时;重试总预算 = timeoutMs×(retryCount+1) |
| pollIntervalMs | 2000 | 轮询间隔上限(指数退避上限) |
| pollBackoffMs | 200 | 轮询初始间隔 |
| maxConcurrent | 1 | DSH 侧并发轮询上限 |
| retryCount | 0 | error 后自动重投递次数 |
| allowedCwdPrefixes | [] | cwd 白名单(空=不限制) |
| maxFileAgeDays | 7 | 过期文件清理天数 |
| sharedSecret | "" | 非空则写 HMAC 签名(防伪造) |
| maxPromptChars | 20000 | DSH→TRAE prompt 压缩上限 |
| maxResultChars | 20000 | TRAE→DSH 结果截断上限 |

上下文防爆炸

桥两端只传任务指令文本,不传对方完整会话。DSH→TRAE 超限时走滑动窗口压缩(窗口 5/step 1/min 1,最多 3 个语义窗口),关键行按权重标记(路径 +10、指令词 +5/个)全部前置且永不丢失。TRAE→DSH 方向 dsh-ask.cmd 拒绝超 15000 字符的指令。详见 OPTIMIZATION-NOTES.md。

测试

node test/optimize-check.mjs # 20 项
node test/review-fixes-check.mjs # 6 项
node test/context-guard-check.mjs # 7 项
node test/sliding-window-check.mjs # 12 项

测试从 %USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-subagent-trae 导入插件(按 README 布放后即可运行)。

已知限制

- 队列桥需 TRAE 侧触发(/dsh),非全自动
- TRAE 执行任务消耗 TRAE 积分;retryCount>0 会成倍消耗
- 桥目录明文可见;sharedSecret 只防伪造不防窥
- DSH 侧插件改动需重启 DSH Desktop 生效

故障排查速查

| 现象 | 排查 |
| queue 有 pending 但 results 永不出现 | TRAE 是否运行?是否输入 /dsh?cwd 是否被白名单丢弃? |
| DSH 报 error | 看 results/*.json 的 stopReason;带 lastFailure 则是重试仍失败 |
| 任务 failed + orphaned | 上次进程 claimed 后崩溃,启动自愈(正常) |
| 队列文件半截 JSON | 撕裂写;双方重试,日志出现一次 corrupt 告警后恢复 |
| 结果缺尾 | truncated: true 被压缩——向对端索取缺失上下文 |
预览分享卡片长什么样 ↓asakumizy/dsh-trae-bridge
分享 · DeepSeek Harness Hub
asakumizy/dsh-trae-bridge

让 DSH 与 TRAE 互相委派任务并取回结果

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