dsh-domain-role

DSH PLUGIN安全与权限

仓库 1Lany2a/dsh-domain-role

安全与权限 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

Domain-identity framework for long-running AI agents: one domain, one long-lived identity, one accountable owner, one audit trail. 域身份体系 —— 域桥插件 dsh-domain-bridge v0.6.4(npm 可装 / 11 个工具 / 282 用例契约测试)+ 协作框架文档 + 角色模板。

一句话选型结论

按资料字段整理

dsh-domain-role 是安全与权限类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类安全与权限 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 11 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-24 创建于 未标注
README 10.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:1Lany2a/dsh-domain-role#v0.1.7
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

安全与权限
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

智能体编排

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在安全与权限场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-domain-role当前 L4 · 沙盒安装通过 低风险 11 未标注 有
dsh-infinite-gen-4 未做沙盒验证 未标注 1,611 未标注 无
cc-safety-net 未做沙盒验证 未标注 1,591 未标注 无
dsh-wallpaper-engine L5 · 运行验证通过 低风险 1,018 0.2.0-rc.2 等 10 个 有
api-relay-audit L5 · 运行验证通过 低风险 875 0.2.0-rc.2 等 10 个 有
hol-guard L4 · 沙盒安装通过 不在扫描口径 828 未标注 有

仓库档案

安全与权限
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方1Lany2a仓库 dsh-domain-role · 默认分支 未标注
分类安全与权限security
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue11 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-24最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

10.6 KB
作者原文,中文版优先;只做安全转义,不改内容

域身份会话框架 · dsh-domain-role

> 把「会话」当成人来管:有身份、有岗位、有在任与离任。消息是请求,不是命令。
> 身份放在「域」上,会话只是载体——窗口会关、会换届,域不会。

> English summary: A cross-session governance framework for DeepSeek Harness (dsh). Instead of treating chat windows as disposable workers, it gives every area of responsibility a durable domain identity, an explicit duty declaration ("who owns this domain right now"), a mailbox with pause/queue semantics, and role task books that let a new session start working in one message. It is deliberately not another agent-team runtime: the unit of identity is the domain, not the session.

> ⚠️ 状态:实验性 / 半成品(插件 v0.8.16)。这份代码是作者本人在用的工作系统,接口与目录结构仍会变。别把它当稳定版依赖。


它想解决什么

AI 编程的日常里,有三件事反复伤人:

  1. 长会话越用越贵、越用越脏——上下文越长,单步成本越高、越容易被污染;可换个新窗口,又等于把"为什么这么做"全丢了。
  2. 多项目 / 多域并行时,没人知道谁负责哪块——靠"猜"和"我记得上次是谁"必然出错;并行两条会话改同一批文档则是事故。
  3. 现成的 agent team 以会话为本——Leader 一换届,整张协作网归零;而真正需要跨窗口存续的是"这块业务归谁",不是"哪个窗口"。

这个框架的答案是把身份和载体拆开:域是身份,会话是载体。

三个核心概念

概念 是什么 不是什么
域(domain) 一块长期职责(如 gui/backend/docs),跨窗口存续 不是工作区,也不是目录
会话(session) 承载域的窗口/Agent,可换届、可交接、可离线 不是身份本身
在任声明(duty declaration) 一行显式记录:「这个域现在归谁」 不是任务清单,也不存历史

配套两条不变量:

  • 一个域只有一个负责人。同域多在线是违规状态,不是容错——发现就报警,不"挑一个投"。
  • 域的负责人必须是顶层会话。子代理随父会话结束就消失,顶不了这个位置。

架构

五层,从上到下:人(最高权限:开关任何窗口/否决立域与交接/可直接下指令)→ 体系层(体系主会话,统筹多项目,按需)→ 项目层(项目 + 项目主会话)→ 域层(域 + 域会话=负责人)→ 子代理(临时工,不代表域)。
底部是一条必需的机制与工具带(索引/交接包/域名册/域桥/待办真值/文档渲染器),再下面是宿主(会话生命周期、权限、面板、模型路由——归 dsh,本框架不重造)。

两条身份链:

  • 两层同构:项目 : 主会话 = 域 : 域会话
  • 生命周期:在线(有负责人且在岗)→ 离线(载体没了、域还在)→ 终结(该域以后不做了,留墓碑)

同一套关系画成插画版:用户与项目之下挂着三个域(GUI / BACKEND / DOCS,每个域一名负责人在任),域之间靠消息队列往来,右侧是会话生命周期(上班 → 工作中 → 交接 → 下班;同一域换个会话接着干),底部那条就是上面说的机制与工具带。

一次跨域消息怎么走

解析目标(声明优先、索引兜底)→ 判在线 → 四级 OR 暂停闸(域/主/项目/全局,任一级按下即停)→ 投递或被暂停时落盘入队(可撤回,不许静默换人)→ 必要时叫醒(取不到"接线"就不拉活)。
恢复暂停不是"一股脑全投",而是逐条重评 OR:只重投"现在不再被任何一级压着"的消息。

主要组件

组件 作用 位置
角色任务书 每个会话角色一份机读任务书(ROLE/SLOTS 头 + 角色/开场/规则三段),渲染成纯文本首条消息 templates/roles/
派发口径 三级会话怎么分工、任务怎么派、编号怎么编、达成报告五段字段 templates/dispatch-template.md
索引 从会话存档、使命库与域名册生成「谁在动哪个文件、有没有冲突」 tools/session-registry.mjs
交接包 给接手方生成开局材料(默认 JSON,要人读时现渲一页 MD) tools/session-registry.mjs --handoff
域桥插件 dsh 宿主插件,12 个工具:投递/建会话/认领/释放/暂停/撤回/列在任/列会话/列模型/改模型/改默认模型;外加六条斜杠命令(/register /initialize /handoff /retire /pause /pause-all,v0.8 起带弹窗菜单,不用背参数) plugins/dsh-domain-bridge/
文档渲染器 结构化数据 → 单文件 HTML(数据是唯一可编辑处,页面是产物) tools/render-doc.mjs

⚠️ 安全与风险(用之前先读)

这套东西的风险不是"仓库里有漏洞",而是"你把会话的管理权交给了模型"。下面是已知且刻意没修的几处——不是待办清单,是设计取舍,请按这个前提使用:

风险 具体是什么 建议
特权动作没有独立授权校验 force:true(越过暂停 / 强制交接域负责人)、set_default_model(改全局默认模型)、permissionPreset(改新会话权限档)只靠模型遵守工具描述。会话被内容注入诱导时,它可能做出你没授权的跨会话操作 只在可信工作区开这些工具;高风险动作人看着做;别把不可信网页/文件内容直接喂给开着这些工具的会话
项目级暂停是政策门,不是中断器 它拦新的投递与会话创建,但不会中断已经开始跑的回合 要立刻停手,得人去打断那条会话,别指望暂停
未读的 inject 队列不持久 dsh 重启时可能被整体取消,你会以为"发过了",其实没发出去 要保证对方真的处理,用 followup / steer,别用 inject 投关键指令
配置里的路径按可信输入处理 stateDir / domainsFile / ownerCli 来自部署配置,未做符号链接与路径穿越校验 别把来源不可信的配置塞进来
新会话的默认权限档是 workspace-write 不是"最小",也不是"全权";danger-full-access(全盘写 + 免审批)必须自己显式开 想收紧就写 read-only;想放开时清楚自己在放开什么

范围说明:这是个本地插件 + 本地脚本,没有服务端、不联网、不收集遥测。但它对这台机器有真实写权限,模型在会话里做的每一步都会被这些工具放大。

要报问题、或想看完整的威胁模型与自查命令,见 SECURITY.md。

快速开始(设计目标,与当前代码的差距见 docs/06-limitations.md)

# 1. 装宿主插件(dsh 需要重启才会加载)
#    把 plugins/dsh-domain-bridge 挂进 profile 的 dependencies(link:)与 bundles
# 2. 为一个项目建骨架:在该项目的会话里跑 /initialize(只补缺失、绝不覆盖;先 /register 注册身份也可以)
# 3. 开局读两样东西
node tools/session-registry.mjs --handoff        # 交接包(机器读 JSON)
node tools/session-registry.mjs --handoff-md     # 需要人读时现渲一页

目录

README.md                    本文件
LICENSE                      MIT
docs/                        技术文档(概念 / 机制 / 插件 / 取舍 / 角色 / 边界 / 路径)
img/                       架构与链路图(SVG)
framework/                   体系侧:机制正本 + 模板 + 工具
SYSTEM-OVERVIEW.md         机制正本
会话协作框架.md              概念模型
templates/                 派发口径、角色任务书、提案、体检、初始化脚本…
tools/                     只读诊断脚本(索引、交接包、渲染器、使命登记、域名册 CLI)
plugins/
dsh-domain-bridge/         dsh 宿主插件(含 smoke 测试)
publish.ps1                  首次推 GitHub 的一次性脚本(凭证只读环境变量)

> {体系根} 指的就是 framework/:安装到本机后,它就是你放这套体系的那个目录。文档里的 {体系根}/templates/… 在当前仓库里读作 framework/templates/…。
> 本文件与 docs/ 只描述机制,不复制会变的数字。

设计取舍(摘要)

  • 不用现成的 agent team:官方团队的成员是独立会话没错,但它的 roster 与任务板真值进 Lead 的会话日志、身份绑在 Lead 的 Session 上(TeamId = Lead 的 SessionId)⇒ Lead 一换届就等于换了一个 Team;且只支持单进程单工作区。本框架要的是「域身份跨窗口存续」,所以只补"够得着别的会话"这一段。
  • 一切派生视图不手写:索引、交接包、页面都从真值现场生成。判据只有一条:删掉重跑能变回原样。
  • 占位符而不是本机路径:正文里的路径一律写 {体系根},换机只替换一个前缀(见 docs/paths.md)。
  • 宁可如实报不可达,也不假装成功:离线不排队、暂停落盘入队、叫醒取不到接线就不拉——失败要说清原因,不许静默降级。

详见 docs/04-design-decisions.md。

文档

文档 内容
docs/01-concepts.md 概念模型:域/会话/负责人/生命周期/拓扑
docs/02-mechanisms.md 机制:在任声明、四级暂停、投递与队列、交接、编号、唯一写者、审计闸
docs/03-plugin.md 域桥插件:12 个工具、配置、状态目录、重启口径
docs/04-design-decisions.md 为什么这么选(含与 agent team 的对照与更正)
docs/05-roles.md 角色任务书格式与 8 个角色
docs/06-limitations.md 已知边界与未验项(诚实清单)
docs/paths.md 路径占位符约定

许可

MIT(见 LICENSE)。

致谢与出处

体系由作者在日常使用中长出来:先有派发模板与交接包,再有索引与在任声明,最后才把跨会话投递做成插件。演进记录在 docs/ 与仓库提交历史里。

常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
dsh-domain-role 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:1Lany2a/dsh-domain-role#v0.1.7` 即可。

dsh-domain-role 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-domain-role 安全吗?

低风险。

dsh-domain-role 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-domain-role 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

安全与权限
按星标排序,可作替代方案

dsh-infinite-gen-4

dsh-infinite-gen-4

DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投

未标注验证等级 1,611 星

cc-safety-net

cc-safety-net

为 DeepSeek Harness 等编码 CLI 提供执行前防护,在工具调用前拦截破坏性 Git 与文件系统命令,并阻止读取 SSH 密

未标注验证等级 1,591 星

dsh-wallpaper-engine

dsh-wallpaper-engine

DSH plugin 将本机 Wallpaper Engine 壁纸变为网页界面背景,支持视频、网页、场景壁纸渲染,并配以 iOS 液态玻璃

L5 · 运行验证通过 1,018 星

api-relay-audit

api-relay-audit

DSH plugin 本地安全审计工具,检测 AI API 中继与 LLM 代理的提示注入、模型替换、工具调用改写、SSE 异常及 Web3

L5 · 运行验证通过 875 星

hol-guard

hol-guard

L4 · 沙盒安装通过 828 星

sandbase-harness

sandbase-harness

SandBase Harness 是本地优先的 AI Agent 运行时,提供沙箱会话、MCP 工具、记忆、凭据管理与审计回放,并内置控制台

L4 · 沙盒安装通过 708 星

1Lany2a 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。