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

域身份框架 1Lany2a/dsh-domain-role

DeepSeek Harnessv0.6.4
1Lany2a10 天前有提交已提供中文文档扫描:未发现敏感能力

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

35.4/100
综合分
8
GitHub 星标
54
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-domain-bridge
npm 源 · dsh-domain-bridge 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过

安装清单取自 plugins/dsh-domain-bridge/package.json

展开查看检查明细 ↓

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

✓npm 包dsh-domain-bridge @ 0.6.4
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 04:54:30

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

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

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

界面预览

1 张 · 点击查看大图

长期运行的智能体需要域身份体系:一个域、一个长期身份、一个可问责的负责人、一条审计轨迹。域桥插件 dsh-domain-bridge v0.6.3(11 个工具,282 个用例的契约测试)、协作框架文档和角色模板。

v0.1.22026-10-18
· v0.1.2 — 文档与安全收口(含 dsh-domain-bridge 0.6.4) · 中文 · 插件同步到 dsh-domain-bridge 0.6.4:预构建安装包可发布(npm pack 实测 127.8 kB / 10 文件)。 · README 加横幅与架构图:仓库首页现在有一张插画版架构图与中英双语入口。 · 安全与风险前置:两个 README 顶部都写明「用之前先读」的四条风险(特权参数无独立授权、暂停不中断回合、inject 队列重启丢失、配置路径未做穿越校验)。 · SECURITY.md 增补:默认权限从 danger-full-access 收窄为 workspace-write,需要全权时显式开。 · English · Synced the bundled plugin to dsh-domain-bridge 0.6.4; npm pack reports a 127.8 kB / 10-file tarball. · Added a banner and an illustrated architecture view to the repo README. · Security and risk notes now lead both READMEs: privileged parameters are not independently authorized, pausing does not interrupt a running turn, queued inject messages are dropped on restart, and configured paths are treated as trusted input. · SECURITY.md now defaults to workspace-write; full access must be opted into explicitly. Install / 安装 dsh plugin --profile web add dsh-domain-bridge or from source / 或从源码: git clone cd dsh-domain-role/plugins/dsh-domain-bridge
v0.1.12026-10-18
安全修复版:工具入参、回执形状、判定逻辑都没有变,改的是凭据处理、默认权限和本机路径。 · 修了什么 1. 发布脚本不再把 token 放进 remote URL —— publish.ps1 改用临时 GIT_ASKPASS 脚本把凭据交给 git,推完删除;GITHUB_REPO 里带凭据直接拒绝运行(不再"悄悄抹掉再推");每个 git 命令都查退出码;推完用 ls-remote 核对远端分支确实指向本地 HEAD——推失败不会再打印"已推送"。同时加了发布前两道闸:暂存区路径白名单核对(防 git add -A 误收临时文件 / 私钥)、暂存内容凭据形状扫描。 2. 默认权限收窄 —— 插件 domainSessionPreset 的缺省值由 danger-full-access 改为 workspace-write(插件同时升到 0.6.4)。要「全盘写 + 免审批」必须自己显式配置,或单次调用传 permissionPreset。 3. 去掉本机绝对路径 —— framework/tools/*.mjs 与模板不再硬编码本机盘符路径:工具按自身位置推体系根(可用 DSH_SYSTEM_ROOT / DSH_DATA_ROOT 覆盖),生成物里显示的路径也按当前机器算。 4. .gitignore 补密文模式(*.env / .pem / .key / .pfx / secrets. 等),新增 SECURITY.md:威胁模型、本仓库刻意选择的默认值、已知且暂不修的项。 · 验证 · 插件契约测试:282 用例 / 54,624 断言 / 15,242 扫描节点全过(v0.6.4)。 · 全仓盘符路径复扫 0 命中(逐个跟踪文件真读,不是抽样)。 · 暂存内容凭据形状扫描 0 命中;remote URL 全程不含凭据。 · 推完 git ls-remote 核对:远端 refs/heads/main = 本地 HEAD。 · 还没修(如实写在 SECURITY.md 里) · force=true、全局默认模型这类特权动作仍只靠模型遵守工具描述,没有独立授权校验。 · 项目级暂停是政策门,不会中断已经在跑的回合。 · 入队的 inject 消息在 dsh 重启时可能被整体取消(未读队列不持久)。 · stateDir / domainsFile 等路径来自配置,按可信输入处理,未做符号链接与路径穿越校验。 范围说明:这是个本地工具集,没有服务端、不联网、不收集遥测;上面的风险面主要影响"在这台机器上跑它的会话"。
v0.1.02026-10-18预发布
首个公开版本:把「域身份」这套工作系统的机制、插件与角色模板整理成可读、可跑、可搬走的形态。 This is the first public snapshot of a working system, not a finished product. Interfaces and directory layout will keep moving — do not depend on it as a stable release. · 它解决什么 AI 编程三个反复伤人的点: 1. 长会话越用越贵、越用越脏 —— 上下文越长,单步成本越高、越容易被污染;换个新窗口,又得把"为什么这么做"全部重新交代。 2. 多项目并行时没人知道谁负责哪块 —— 靠记性和"我上次好像说过"必然出错;两条会话同时改同一批文档就是事故。 3. 现成的 agent team 以会话为本 —— leader 一换世,整张协作网归零;而真正需要跨窗口存续的是"这块业务归谁"。 答案是把身份和载体拆开:域是身份,会话是载体。域跨窗口存续,会话可换世、可交接、可离线。 · 包含什么 · plugins/dsh-domain-bridge v0.6.3 —— 11 个工具的 dsh 插件:在任声明、域间消息(暂停/排队/撤回)、会话创建与模型分派、四级暂停(域/会话/项目/全局)、只读体检类工具。运行期状态全部外置在插件目录之外,插件本体可整体搬走。 · docs/ —— 概念、机制、插件参考、设计取舍(含每条决定里被否掉的那一半)、角色契约、已知限制、路径约定,以及裁剪说明 WHAT-IS-EXCLUDED.md(说明哪些内部文件有意没进仓、会断哪个链接)。含 4 张手写 SVG 架构图。 · framework/ —— 体系总览、协作框架、14 份任务/方案模板、9 份角色任务书、5 支工具脚本。 · 验证 契约测试在仓库内可直接跑通(只用 Node 内置能力,无第三方依赖): cd plugins/dsh-domain-bridge node test/smoke.mjs · [smoke] v0.6.3 | 工具 11/11 全注册 | 分支用例 282 | 深度扫描节点 15242 · | 无损往返断言 282/282 | 分支断言 54624 | 全部通过 这套测试是契约测试:它锁的是"工具的输入输出形状与无损往返",不是行为正确性的全部证明。 · 不包含什么 各项目本体(GB 级工作区)、会话存档、内部变更史、任务卡类内部文档、本机诊断脚本、知识库 —— 理由与清单见 docs/WHAT-IS-EXCLUDED.md。 · 状态 实验性、半成品。作者在自己日常开发里用,能跑、有人在用,但接口与目录结构仍会变。MIT 许可,欢迎看、欢迎拆、欢迎照着自己的场景改。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
域身份会话框架 · dsh-domain-role 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
展开完整文档(README 剩余 1 节)
域身份会话框架 · dsh-domain-role

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/ 与仓库提交历史里。
预览分享卡片长什么样 ↓1Lany2a/dsh-domain-role
分享 · DeepSeek Harness Hub
1Lany2a/dsh-domain-role

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

回到顶部