← 返回列表
⚠ 装前注意
Sudo 访问:第四种权限模式。Agent 可以请求它;只有全新的人类密码认证才能授予临时 root 访问权限。
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/10 · 已提供中文文档
为 DeepSeek Harness 提供有范围、短期的管理员访问权限,且无需存储 sudo 密码
综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zjlww/dsh-admin-bridge未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 0 天前真实安装成功
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 15 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-admin-bridge(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 00:05:05
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-tools@deepseek-ai/dsh-scope@deepseek-ai/dsh-user-approval@deepseek-ai/dsh-commands@deepseek-ai/dsh-permission-presets@deepseek-ai/dsh-sandbox-policy@deepseek-ai/dsh-session@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-client-connection用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成DSH 管理桥接
Sudo 访问:第四种权限模式。Agent 可以请求它;只有全新的人类密码认证才能授予临时 root 访问权限。
一个公开的、仅限 Linux 的 DeepSeek Harness 插件,面向 DSH 0.1.2-rc.1。版本 0.3.0-alpha.2 在网络中断导致后台 Sudo 状态检查无法进行时,会保持非活动的原生模式安静;0.3.0-alpha.1 为第四模式流程添加了任意 root 命令和 agent 请求的 GUI 认证。
实验性且危险。 默认情况下,认证会授权所有 root Bash 命令,而不仅仅是已配置的操作。这不是沙箱,也不是经过审计的权限边界。请阅读 SECURITY.md。用户拥有的辅助程序要求账户已被允许通过 sudo 运行它;切勿为了启用它而授予免密码 root Python 权限。
四种模式,一个选择器
现有的 composer 权限选择器保留其三个选项和图标:
1. 只读
2. 工作区写入
3. 完全访问
4. Sudo 访问 —— 一个独特的带钥匙盾牌图标
选择 Sudo 访问会打开一个密码对话框,显示命令范围和持续时间。Agent 也可以调用 admin_request({}) 来打开该对话框。请求不等于许可: 在人类完成全新密码认证之前,先前的模式仍然有效。成功进入后,会在完全访问之上添加一个临时的、会话范围的 root 能力。选择器会显示 Sudo 访问 · 剩余时间。
离开该模式、过期、处置或 worker 失败都会撤销该能力并恢复先前的原生模式。选择另一个原生模式会保留该新选择。人类重新选择 Sudo 访问需要全新认证,而不是租约续期。admin_request({}) 在活动或待处理期间是幂等的:它不会替换待处理的请求、续期租约或对活动的请求重新认证。失败的尝试会受到速率限制,并且绝不会自动重试密码。
没有单独的启用审批步骤,也没有 admin_unlock 工具。正常模式和 DSH 的普通审批策略保持不变。仅原生完全访问、保存的偏好、重启或 fork 都不会授予 root 访问权限。委派的子 agent 不能请求、进入或继承 Sudo 访问。
范围与要求
- Linux、Node.js 22+、位于 /usr/bin/python3 的 Python 3.10+、位于 /usr/bin/sudo 的 sudo。
- DSH 0.1.2-rc.1、Web 配置文件、其原生权限/命令服务,以及下面的显式兼容性扩展。
- 受信任的单用户主机/浏览器和普通的基于密码的 sudo/PAM。此模式不支持 MFA、requiretty 和免密码 NOPASSWD 认证。
- allowAllCommands 默认为 true:任意 Bash 命令在已认证的、不可变的 manifest 范围内以 root 身份运行。将其设置为 false 可仅执行旧版已配置操作。
- 不进行透明的 bash 拦截、不保存密码、不维持 sudo 时间戳保活、不修改 sudoers、不设置持久 root 守护进程。普通 bash 工具无法获得此能力。
- 已配置的操作默认为空列表。当 allowAllCommands: true 时,这不会禁用任意 root 执行。
root 辅助程序保留的是授权,而非你的密码。密码仅从专用的非受控输入,经由经过认证的同源 HTTP 和私有 sudo 管道传递——不经过聊天、模型工具、argv、环境变量或持久化存储。代理必须请求 GUI 对话框,绝不能在聊天中索要密码。瞬时内存副本无法保证被擦除。
从 GitHub 安装
此包未发布到 npm。请通过 DSH 的管理器安装一个经过审查的提交:
dsh plugin --profile web add 'github:zjlww/dsh-admin-bridge#' --ignore-scripts
将以下行合并到所选 Web 配置文件的 cordis.patch.yml 中;不要覆盖其他条目:
- id: admin-bridge
config:
maxTtlSeconds: 60
DANGER: authentication allows arbitrary root Bash commands.
Set false to permit only the configured operations below.
allowAllCommands: true
operations:
- id: whoami-root
label: Show effective user ID
executable: /usr/bin/id
args: ['-u']
timeoutSeconds: 5
对于同一主机上的受信任 HTTPS 反向代理,在同一配置下添加确切的浏览器源:
allowedOrigins:
- https://harness.example.com
在添加任何已配置的操作之前,请审查整个 argv 及其间接输入。可执行文件路径必须是规范路径、由 root 拥有、非符号链接且不可被组/其他用户写入。这些检查并非对任意 root Bash 命令的隔离限制。
必需的 rc.1 选择器扩展
此 DSH 预发布版硬编码了 composer 选择器。该插件提供了一个小型、显式、带版本保护的兼容性重建,它添加了一个可替换的权限控制槽位,并以未改动的原生选择器作为回退。它不会替换渲染器、原生权限服务或其三个预设。
从已安装的插件或经过审查的检出目录中,将 /path/to/dsh/runtime 替换为实际的 npm 运行时目录:
node compat/permission-slot.mjs --check --runtime /path/to/dsh/runtime
node compat/permission-slot.mjs --apply --runtime /path/to/dsh/runtime
没有安装生命周期脚本;此步骤是刻意为之,并会备份原始受影响的产物。参见兼容性详情。在安全的回合边界重启现有的 DSH Web 进程,然后刷新其现有 URL。切勿启动替代服务器来更新当前 GUI。参见安装、迁移与回滚。
使用
当需要 root 权限操作时,agent 应调用 admin_request({})。或者,在编辑器中选中 Sudo access。查看显示的范围,并仅在 GUI 对话框中输入密码。认证后,例如:
admin_run({command: 'id -u', workdir: '/', timeoutSeconds: 5})
// 或向后兼容的已配置操作:
admin_run({operationId: 'whoami-root'})
两个示例都应报告 0。命令已在 root Bash 中运行;无需 sudo 前缀。
| 工具 | 用途 |
|---|---|
| admin_status | 读取模式状态、命令范围和已配置操作;无认证 nonce。 |
| admin_request | 使用 {} 时,请求 GUI 密码对话框;调用本身不授予任何权限。在待处理或激活期间幂等。 |
| admin_run | 如果活动清单允许,运行任意 command,或运行一个已配置的 operationId。 |
| admin_lock | 离开 Sudo access 或取消其待处理对话框,并恢复之前的模式。 |
admin_run 接受恰好一种执行形式:
- command:Bash 字符串,最大 16 KiB,可选绝对 workdir(默认 /),可选整数 timeoutSeconds 1–120(默认 120)。
- operationId:旧的已配置操作形式,不能覆盖 command、workdir 或 timeoutSeconds。
原生 /permission sudo-access 命令也可以准备密码对话框。rc.1 斜杠命令弹出菜单仍列出原生预设;编辑器选择器是四模式控件。Sudo access 有意不作为未来会话的默认值。
撤销不是回滚: 文件系统和其他命令效果仍然存在。服务、作业和分离进程可能比租约存活更久。任意 root 命令可能危及整个主机,包括此插件;超时和清单都不是沙箱。命令文本和输出对模型可见,并可能保留在记录中:切勿包含或打印机密信息。
开发与状态
npm ci --ignore-scripts
npm test
npm run check
npm pack --dry-run --ignore-scripts
自动化测试使用合成凭据、伪造的 sudo 进程和非特权 Python 辅助程序。它们从不请求真实密码或执行 sudo。真实冒烟测试需要 INSTALL.md 中记录的人工操作流程。
- 架构与协议
- 安全假设与报告
- 验证与开发副作用
不支持:命令内的交互式密码对话、密码保险库/密钥环存储、不受信任的多用户主机、Windows/macOS、polkit、MFA,或独立安全保护的 root 所有代理。仍需要进行独立安全审计以及更广泛的发行/浏览器测试。
许可证
MIT — LICENSE。