Repository navigation
Releases
Releases · NekoDD-wow/dsh-creator-plus
dsh-creator-plus v0.1.6
dsh-creator-plus v0.1.6
小版本:clone 首次打开时的弹窗会被自动点掉,截图/检查结果更干净。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
改动
- 首启弹窗自动点掉:无头检查在 settle 窗口内反复识别弹窗:
- 「预览版说明」→ 点「继续」;
- 未登录时的「开始使用 / 添加 API Key」引导 → 只点右上角关闭(不会点登录/添加)。
命中记录写入page.dismissed和 note;keepAlive 打开viewUrl时也不会再看到这两个弹窗。
- 附带收益:点掉后检查可提前结束 settle,clean 实测整次约 9.2s(无头检查 2.8s)。
- 测试:假 dsh 增加
welcome-notice场景,e2e 覆盖自动关闭;fake-dsh响应补上 UTF-8 charset。
校验
- 发布包含 16 个文件,与 tag
v0.1.6逐字节一致(可复现打包,重跑 sha256 不变)。 npm test:36/36 通过(单元 + Host 接线 + 端到端,假 dsh + 真实 Chromium)。- CI:ubuntu / windows × node 22/24 见 GitHub Actions。
- SHA-256:
2e0d4e36986934f0ecbfd4a7ce9fa33a3f9a8bc9c2eb20109dc356f56e6d8791
dsh-creator-plus v0.1.5
dsh-creator-plus v0.1.5
小版本:clone 启动提速(低风险改动,不改变检查语义)。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
提速
- 默认
settleSeconds从 5 降到 2:页面 load 后少等 3 秒(慢机器可在配置里调回)。
这是本版最主要的速度收益。 - 无头浏览器与 profile 准备 / web 启动并行:浏览器冷启动实测只有 214–243ms,
收益不大但无副作用;cleanup()会等待启动中的浏览器落地,避免失败路径残留进程。 clone_check工具描述里的耗时改为「Usually about 10–20 s」。
实测(Windows,DSH 0.2.2-rc.1,settle 2s):
| 模式 | 步骤拆解 | 总计 |
|---|---|---|
| clean | 建 profile 0.27s + 装插件 1.1s + 启动 web 6.6s + 无头检查 3.4s | ≈ 11.3s |
| copy(跳过重装) | 复制 3.2s + 启动 web 7.0s + 无头检查 4.2s | ≈ 14.5s |
相对旧版默认配置(settle 5s)约省 3.2s;同一版本内,settleSeconds 可按机器调整。
校验
- 发布包含 16 个文件,与 tag
v0.1.5逐字节一致(可复现打包,重跑 sha256 不变)。 npm test:35/35 通过(单元 + Host 接线 + 端到端,假 dsh + 真实 Chromium)。- CI:ubuntu / windows × node 22/24 见 GitHub Actions。
- SHA-256:
ba4907c89fadcbb41053efa2d9592fb1827fc22ba998e73f67977b7fe478b08e
dsh-creator-plus v0.1.4
dsh-creator-plus v0.1.4
补丁版本:修复 clone_check 的 mode: "copy" 在跨盘环境下「装入待测插件」失败的问题。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
修复
copy 模式的「装入待测插件」跨盘失败
- 现象:
clone_check { "mode": "copy", "packageDir": ... }的复制步骤已通过(2476 文件 / 252 目录 /
3 junction),但「装入待测插件」dsh plugin add退出码 1。pnpm 报
ERR_PNPM_UNEXPECTED_STORE(.modules.yaml记录的 storeDir 在本体盘),接着
ERR_PNPM_UNEXPECTED_VIRTUAL_STORE(virtualStoreDir 指向本体 node_modules/.pnpm)。 - 根因:clone 的临时 home 在
%TEMP%(C:),profile 物理在 D: 盘;pnpm 的 store 按项目所在盘解析,
跨盘必然对不上;.modules.yaml实际是 JSON,记录着本体盘的绝对路径。 - 修复:
- 跳过重装:待测包已在复制的 profile 里(
link:指向同一个目录且在 bundles 中)时,
不再dsh plugin add,直接测 profile 里链接的那份源码; - 跨盘安装:从
.modules.yaml解析storeDir→ 写进 clone 的pnpm-workspace.yaml
(pnpm 11 只认这里,.npmrc的store-dir与npm_config_store_dir不生效)→ 删除
node_modules让 pnpm 按 lockfile 从暖 store 重建;仍失败则清一次再重试。
- 跳过重装:待测包已在复制的 profile 里(
- 真机验证(Windows,web profile,跨 C:/D: 盘):
- A 跳过路径:
@local/dsh-prefillcopy 模式 PASS(13.4s,无「装入待测插件」步骤,
note 注明跳过原因)。 - B 安装路径:全新对照包 copy 模式 PASS(安装 2.96s、整次 17.2s,一次通过);
修复前同一场景在装入步骤失败。
- A 跳过路径:
校验
- 发布包含 16 个文件,与 tag
v0.1.4逐字节一致(可复现打包,重跑 sha256 不变)。 npm test:34/34 通过(单元 + Host 接线 + 端到端,假 dsh + 真实 Chromium)。- CI:ubuntu / windows × node 22/24 见 GitHub Actions。
- SHA-256:
be89f03658d6d44be6dd998ee2b9d3e23dc4393de1e864cde3206e1111fe5d35
dsh-creator-plus v0.1.3
dsh-creator-plus v0.1.3
补丁版本:修复 clone_check 的 mode: "copy" 在真实宿主进程里拿不到当前 profile 的问题。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
修复
copy 模式在真实宿主进程里拿不到当前 profile
- 现象:
clone_check { "mode": "copy" }在「复制当前 profile」一步 0ms 失败:
复制模式需要当前 profile 目录(DSH_PROFILE_DIR),本体不是以 profile 启动的,无法复制。 - 根因:
DSH_PROFILE_DIR只由shell-env注入给工具 shell;宿主进程本身(例如
直接dsh web启动)的process.env里没有这个变量。旧实现只读 env,因此在真实
客户端里 copy 模式完全不可用(E2E 脚本因为跑在带注入变量的 shell 里才没暴露)。 - 修复:新增
resolveCloneSource(),优先从profileContext服务取当前 profile 的
dir/home(shell-env也从这里取),DSH_PROFILE_DIR/DSH_HOME仅作兜底;
两者都不可用时错误信息会写明。 - 验证:真机 Windows + DSH 0.2.2-rc.1,web profile 的 copy 模式 PASS
(复制 2476 文件 / 252 目录 / 3 junction,复制 2.7s,整次 13s);模拟「宿主 env
没有 DSH_PROFILE_DIR」时旧路径按预期 FAIL、新路径 PASS。
校验
- 发布包含 16 个文件,与 tag
v0.1.3逐字节一致(可复现打包,重跑 sha256 不变)。 npm test:31/31 通过(单元 + Host 接线 + 端到端,假 dsh + 真实 Chromium)。- CI:ubuntu / windows × node 22/24 见 GitHub Actions。
- SHA-256:
a2d2309e1fd639a72c890217b0fcd3b48a14d0714c5ac0de526002921b68a56b
dsh-creator-plus v0.1.2
dsh-creator-plus v0.1.2
创造模式增强:在临时纯净 profile 里启动 DSH 分身,用无头浏览器确认前端能正常启动,再装进本体。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
本版改动
修复
- 激活失败漏判(P0):DSH 0.2.2 对
apply()抛错的可选插件只打
dsh: warning: N entry did not activate并照常提供页面;旧实现看到dsh web:行就判 PASS。
现在解析 stderr 的告警块并在页面检查后复查,命中即判 FAIL,告警与栈带回
activationWarnings/serverLog。 - Windows copy 模式 EPERM(P0):
fs.cp({ verbatimSymlinks: true })重建 pnpm junction 时因缺少
符号链接权限失败。Windows 改为自写遍历复制:目录链接按原目标重建 junction(不需要权限),
文件链接解引用,失效链接跳过并记 note;POSIX 保持fs.cp。
新增
- 斜杠指令(不进模型上下文、不烧 token):
/clone-check <dir> [clean|copy] [keep]、
/clone-close(关闭所有保留中的分身)。 /clone-grant//clone-revoke:给非创造模式(标准模式等)的会话临时注入
clone_check/clone_close与提醒;人类触发、会话级授权、下一步生效,切回目标预设时自动去重。scripts/verify-preset.mjs(源码仓库内):真机回归——copy 模式 clone 当前 profile →
切创造模式 → 发一条消息 → 从会话日志确认 REMINDER 与工具列表里有clone_check/clone_close。- README 增加「兼容性(DSH 0.2.2-rc.1)」与斜杠指令说明。
加固
packageDir含 Windows shell 元字符(& | < > ^ % ! ")或控制字符时直接拒绝
(dsh走 PATH 回退时 spawn 经过 cmd.exe,宁拒绝不拼命令)。
兼容性(DSH 0.2.2-rc.1)
真机验证(Windows 11 + Edge,2026-11-07):
- 对照插件(
apply()抛错):clone 判 FAIL,activationWarnings带did not activate与完整栈。 - clean 基线与真插件:PASS,无激活告警。
- Windows copy 模式:2476 文件 / 252 目录 / 重建 3 个 junction,3.5s 复制,整次 PASS。
- 创造模式工具注册:会话日志里
agent-preset/selected=cordis、系统提示含 REMINDER、
request/header工具列表含clone_check/clone_close。 - 标准模式
/clone-grant:请求头工具 54 → 56,含两个工具,系统提示带 REMINDER。
校验
- 发布包含 16 个文件(新增
CHANGELOG.md),与 tagv0.1.2逐字节一致。 npm test:30/30 通过(单元 + Host 接线 + 端到端,假 dsh + 真实 Chromium)。- CI:ubuntu / windows × node 22/24 见 GitHub Actions。
- SHA-256:
082b390ddb2ce3e4aec3013d335ee68f40680abd232fdbb89768503c336fb6ab
v0.1.1
dsh-creator-plus v0.1.1
创造模式增强:在临时纯净 profile 里启动 DSH 分身,用无头浏览器确认前端能正常启动,再装进本体。
安装
解压后:
- Web/CLI:
dsh plugin --profile web add <解压目录> - 桌面版:先完全退出应用,
dsh plugin --profile desktop add <解压目录>,再打开 - 或在创造模式里让 AI 用
plugin_manager install_bundle安装该目录
本版改动
- 修复:桌面版启动分身时,内置 CLI 路径改为按目标平台拼接(
posix/win32)。原实现用宿主path.join,在 Windows 上解析 darwin 路径会得到反斜杠;运行时行为不变,只让跨平台单测不再误报。 - 增强:
runClone新增browserTimeoutMs选项(默认仍 30000),用于冷启动更慢的 CI 机器。 - 文档:README 头部版本号由 v0.1.0 改为 v0.1.1,与
package.json一致。 - 仓库新增:
scripts/build-zip.py(可复现打包,固定条目顺序与时间戳)与 GitHub Actions CI(ubuntu/windows × node 22/24)。
校验
- 发布包内含 15 个文件,与仓库
main(7befd7d)逐字节一致。 npm test:22/22 通过,四组 CI(ubuntu × windows,node 22/24)全绿,端到端用例实跑真实 Chromium。- SHA-256:
ac4bc771776a96ec078f3e3b187116149ea7bb30054ddc0a3bb450a1a1476a7d