Skip to content

Releases: 1Lany2a/dsh-domain-role

v0.1.2 — 文档与安全收口(含 dsh-domain-bridge 0.6.4)

Choose a tag to compare

@1Lany2a 1Lany2a released this 18 Oct 14:13

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 https://github.com/1Lany2a/dsh-domain-role.git
cd dsh-domain-role/plugins/dsh-domain-bridge

v0.1.1 — 安全修复:凭据不进 URL、默认最小权限、去掉本机路径

Choose a tag to compare

@1Lany2a 1Lany2a released this 18 Oct 06:42

安全修复版:工具入参、回执形状、判定逻辑都没有变,改的是凭据处理、默认权限和本机路径。

修了什么

  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.0 — 域身份体系首个公开快照

Choose a tag to compare

@1Lany2a 1Lany2a released this 18 Oct 06:32

首个公开版本:把「域身份」这套工作系统的机制、插件与角色模板整理成可读、可跑、可搬走的形态。

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 许可,欢迎看、欢迎拆、欢迎照着自己的场景改。