🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

wayne998998/dsh-rakazo

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
需源码安装

给 AI 智能体一台属于它自己的计算机。

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/22 · 已提供中文文档

给 DeepSeek Harness 智能体分配一台属于它自己的、用后即弃的 Rakazo 计算机,并在共享机器上为每位队友提供独立屏幕

综合分
29.9
GitHub 分
29.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add wayne998998/dsh-rakazo
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 3 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-rakazo-bridge(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 08:34:07

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-rakazo

给 AI 智能体一台属于它自己的计算机。

这将 Rakazo 的机器管理连接到
DeepSeek Harness,使一个智能体会话获得一台
一次性的 Linux 桌面:运行命令、读写文件、查看屏幕、驱动浏览器——
并在会话结束时被销毁。同一个 Team 的多个智能体可以共享一台计算机,
同时各自保留自己的屏幕。

它真正解决的问题是归属与授权,而不是“又一个 exec 包装器”:

- 身份是推导出来的,而不是被记住的。 botId = "dsh-" + scope,其中 scope 是会话 id
——或者在共享时是 Team 根。重启后的 harness 会自行重新认领同一台计算机:没有
状态文件、没有租约、没有心跳、没有清扫器。这些机制被移除,是因为它们正是那种
会自行出故障的部分,而其中之一确实出了问题:一台租约悄悄停止续期的计算机
在其会话仍然存活时被回收了。
- 边界是用凭据划定的。 三个令牌,刻意不可互换:harness
进程只持有 BRIDGE_TOKEN;Rakazo 的服务令牌留在无状态代理进程中;
沙箱监督者令牌从不外发。原因很直白——智能体可以读取自己的
环境,所以 bash 可以读取 /proc//environ。每台计算机的授权是一种能力:
由代理铸造,仅以哈希形式存储,保存在插件的内存中。知道另一个会话的
计算机 id 对你毫无用处。
- 共享是一种明说的权衡,分三步。 默认每个对话一台计算机。使用
share: true 时,一个 Team 的智能体使用同一台计算机,同时各自获得自己的屏幕(Rakazo
按屏幕身份为每个屏幕分配一个显示;三个观察者确实会产生三个 Xvfb 实例)。使用
account:  时,每个对话共享一台长期存活的机器,这正是复现一台
持久团队计算机的方式:跨对话相同的文件、相同的浏览器登录。每一步都以隔离换取
连续性,而最后一步完全放弃了跨对话隔离——所以
文档直白地说:不要把另一个对话不得使用的凭据放在共享计算机上。
共享计算机不是安全边界。

这个项目比功能更在意的两件事:

复杂性属于理解它的人。 机器生命周期、工作区检查点和
空闲挂起是 Rakazo 的职责。这一层只负责归属与授权,别的什么都不做。

主张需要可证伪的证据。 每一项检查都针对真实的 Rakazo 和真实的容器运行,并且
每一条承重断言都通过故意破坏该行为来验证——让 destroy
在不删除的情况下报告成功、移除屏幕命名、恢复有缺陷的共享模式防护——以
确认检查确实会失败。这种纪律也抓住了作者自己的两个测试,它们可能
从未失败,其中一次还支撑了一个错误的“已修复”结论。

快速开始

QUICKSTART.md —— 大约十五分钟即可跑通一个集成,其中包括人们最常弄错的两个步骤:Rakazo 需要两个补丁,它们不在上游;并且 pnpm --filter @rakazo/db generate 不是可选的。

如需完整演练、所有配置选项和操作指南,请使用 docs/deployment.md。

各部分如何协同

- Rakazo 负责机器:它配置 Docker 容器、维护持久工作区、暂停空闲计算机,并为其自身 UI 之外的程序暴露服务账户 API。
- DeepSeek Harness (DSH) 负责代理:会话、工具、子代理和 Agent Teams。

该集成由三部分组成,按信任顺序排列:

DSH agent session
│  native tools (bash/read/write/edit)  ──────────────┐
│  or rakazo_* tools                                   │
▼                                                      ▼
DSH plugin                                         fs/shell providers
(plugin/index.js)                                  (providers/.js)
│                                                      │
│  one bearer token: BRIDGE_TOKEN                       │
▼                                                      ▼
bridge (src/.mjs)  ── holds the Rakazo service token, keeps no state
│
│  one bearer token: EXTERNAL_COMPUTER_TOKEN
▼
Rakazo API  ──►  Docker container (browser, filesystem, terminal, displays)

为什么需要桥接

Rakazo 的服务令牌绝不能到达 harness 进程:代理可以运行 bash 并读取 /proc//environ。因此 Rakazo 凭据保留在桥接中,而 harness 只持有一个单独的 BRIDGE_TOKEN。桥接是一个无状态的凭据代理——它不保留数据库、不保留租约,也不在磁盘上保留状态。

每台计算机的授权是一种能力,由桥接在创建计算机时铸造,仅保存在插件的内存中,并通过哈希进行比较。调用方只能访问其持有能力的计算机,因此指定另一个会话的计算机名会失败。

代理能做什么

七个工具,由 plugin/index.js 注册:

| 工具 | 用途 |
| --- | --- |
| rakazo_computer_create | 创建或重新采用本会话的计算机 |
| rakazo_computers | 列出本会话的计算机,或用 computerId 报告某台计算机的状态 |
| rakazo_computer_exec | 运行一个 argv 命令(bash -lc 由你自己拼写) |
| rakazo_file | 读取或写入一个工作区相对路径的文本文件(op: read \| write) |
| rakazo_computer_observe | 截取桌面屏幕截图,以图像形式返回 |
| rakazo_computer_browser | 驱动浏览器:navigate、snapshot、act |
| rakazo_computer_destroy | 停止并删除一台计算机(幂等) |

providers/ 还会将 harness 的原生工具路由到计算机中,因此模型可以使用
纯 bash、read、write 和 edit,而不是包装器。关于这两条路径有何不同以及各自何时适用,参见
docs/architecture.md。

快速开始

前提条件:一个正在运行的 Rakazo,且已启用外部计算机接口;Docker、Node,以及一个
已构建的 DSH 检出。完整演练参见 docs/deployment.md。

1. 桥接凭据(仅所有者可读的文件,切勿提交)
cd /path/to/dsh-rakazo-bridge
cp .env.example .env
填写 BRIDGE_TOKEN(openssl rand -hex 32)和 RAKAZO_EXTERNAL_TOKEN
chmod 600 .env

2. 启动桥接
npm start                       # 监听 127.0.0.1:7400
curl -s http://127.0.0.1:7400/health

3. 将插件安装到 DSH profile
cd /path/to/dsh-rakazo-bridge
dsh plugin --profile web add ./dist/dsh-rakazo-computer-use/dsh-rakazo-computer-use-0.1.3.tgz
dsh --profile web --dump-config | grep -A6 rakazo-computer-use

需要一个已启用外部计算机接口的 Rakazo 部署——这是 Rakazo 侧的配置更改,详见
docs/deployment.md。

测试

三个测试套件,全部针对一个实时桥接、Rakazo 和真实容器运行。没有任何模拟,且每个
套件创建的每台计算机都会在结束前被销毁。

RAKAZO_ENV_FILE=/path/to/rakazo/.env npm run test:bridge   # 27 项检查 — 控制平面
RAKAZO_ENV_FILE=/path/to/rakazo/.env npm run test:screens  # 19 项检查 — 每屏一个显示器
DSH_HARNESS=/path/to/deepseek-harness npm run test:plugin  # 18 项检查 — 插件契约

test:bridge 和 test:screens 需要 Node、本仓库的 .env,以及指向
Rakazo 部署的 .env 的 RAKAZO_ENV_FILE。test:plugin 额外需要一个 Harness 检出,因为
harness 包只能在其自身的模块图下解析。每个套件都会销毁它创建的每台计算机,并断言没有
遗留任何东西。参见 docs/testing.md。

仓库布局

src/                 桥接:HTTP 控制平面,无状态
server.mjs         路由和请求日志
computers.mjs      所有权、能力、每台计算机的串行化
api-client.mjs     Rakazo API 客户端(持有服务令牌)
config.mjs         环境变量和仅所有者可读文件的加载
plugin/              DSH 插件:七个工具、身份、销毁
providers/           原生工具路由(fs + shell),基于同一桥接
test/                三个套件
patches/             必需的上游 Rakazo 更改 — 请先应用这些
dist/               用于 dsh plugin add 的打包 bundle
docs/                架构、部署、测试、安全

文档

| 文档 | 阅读目的 |
| --- | --- |
| QUICKSTART.md | 通往可用安装的最短路径,以及两个常见陷阱 |
| architecture.md | 三个组成部分、所有权模型、身份、屏幕 |
| deployment.md | 从零开始搭建并运行它 |
| testing.md | 每个测试套件证明了什么,以及如何扩展它们 |
| security.md | 信任边界、隔离保证了什么、没有保证什么 |
| contributing.md | 约定、需要保持的不变量、已知缺口 |
| patches/README.md | 所需的上游 Rakazo 变更 |

已知限制

这些限制是有意为之并记录在案的,而非偶然;完整列表见
contributing.md。

- keep: true 没有自动回收机制。 设置它后,会话消失的计算机永远不会被插件销毁;它会等待被重新接管,否则依赖 Rakazo 自身的空闲策略。默认情况下(未设置 keep)会在处置时销毁,这保证了关闭的对话不会留下任何容器。
- prune 需要会话存储。 插件会回收其所属会话已不存在的计算机,但仅在暴露了会话存储的组合中才能做到;没有它时,插件会记录一次跳过,而不是猜测,从而不碰这些计算机。
- 不支持后台命令执行。 Rakazo 的 exec 路由仅支持前台执行,因此 shell 提供者的 start() 会抛出一个描述性错误,而不是伪造一个进程句柄。
- 一台计算机就是一个安全边界。 共享一台计算机的队友可以读取彼此的文件和浏览器会话。这正是共享的意义,而非缺陷——见
security.md。

许可证

见 LICENSE。桥接器和插件是原创作品;Rakazo 和 DeepSeek Harness 仍受其各自许可证的约束。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群