Repository navigation
Releases: 1Lany2a/dsh-domain-role
Releases · 1Lany2a/dsh-domain-role
Release list
v0.1.2 — 文档与安全收口(含 dsh-domain-bridge 0.6.4)
v0.1.2 — 文档与安全收口(含 dsh-domain-bridge 0.6.4)
中文
- 插件同步到
dsh-domain-bridge0.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-bridge0.6.4;npm packreports 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
injectmessages are dropped on restart, and configured paths are treated as trusted input. SECURITY.mdnow defaults toworkspace-write; full access must be opted into explicitly.
Install / 安装
dsh plugin --profile web add dsh-domain-bridgeor from source / 或从源码:
git clone https://github.com/1Lany2a/dsh-domain-role.git
cd dsh-domain-role/plugins/dsh-domain-bridgev0.1.1 — 安全修复:凭据不进 URL、默认最小权限、去掉本机路径
安全修复版:工具入参、回执形状、判定逻辑都没有变,改的是凭据处理、默认权限和本机路径。
修了什么
- 发布脚本不再把 token 放进 remote URL ——
publish.ps1改用临时GIT_ASKPASS脚本把凭据交给 git,推完删除;GITHUB_REPO里带凭据直接拒绝运行(不再"悄悄抹掉再推");每个 git 命令都查退出码;推完用ls-remote核对远端分支确实指向本地 HEAD——推失败不会再打印"已推送"。同时加了发布前两道闸:暂存区路径白名单核对(防git add -A误收临时文件 / 私钥)、暂存内容凭据形状扫描。 - 默认权限收窄 —— 插件
domainSessionPreset的缺省值由danger-full-access改为workspace-write(插件同时升到 0.6.4)。要「全盘写 + 免审批」必须自己显式配置,或单次调用传permissionPreset。 - 去掉本机绝对路径 ——
framework/tools/*.mjs与模板不再硬编码本机盘符路径:工具按自身位置推体系根(可用DSH_SYSTEM_ROOT/DSH_DATA_ROOT覆盖),生成物里显示的路径也按当前机器算。 .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.0 — 域身份体系首个公开快照
首个公开版本:把「域身份」这套工作系统的机制、插件与角色模板整理成可读、可跑、可搬走的形态。
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 编程三个反复伤人的点:
- 长会话越用越贵、越用越脏 —— 上下文越长,单步成本越高、越容易被污染;换个新窗口,又得把"为什么这么做"全部重新交代。
- 多项目并行时没人知道谁负责哪块 —— 靠记性和"我上次好像说过"必然出错;两条会话同时改同一批文档就是事故。
- 现成的 agent team 以会话为本 —— leader 一换世,整张协作网归零;而真正需要跨窗口存续的是"这块业务归谁"。
答案是把身份和载体拆开:域是身份,会话是载体。域跨窗口存续,会话可换世、可交接、可离线。
包含什么
plugins/dsh-domain-bridgev0.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 许可,欢迎看、欢迎拆、欢迎照着自己的场景改。