Skip to content

dsh-cursor-dev 0.12.4

Choose a tag to compare

@Dclef Dclef released this 24 Oct 10:13
· 17 commits to main since this release

0.12.4

子代理深度

  • maxChildDepth 默认值从 1 改为 2。Cursor 是叶节点——CLI 里没有 DSH 工具,它不可能再往下派,所以 2 就是实际上限,更大的值和 2 完全等价。旧的默认值 1 只是把「子智能体派 Cursor」这件事拒掉了。
  • 这个上限改为每次调用现读,不再在插件加载时缓存。否则会出现工具放行、镜像却拒绝记录的不一致。
  • 面板新增「子代理深度」选择器:0 · 禁止 / 1 · 仅顶层代理可用 / 2 · 顶层与子代理都可用(默认)。面板的选择优先于配置,改完下一次调用生效,不需要重载插件。
  • 越界的值(例如手改成 9)不会被截断成 2,而是当作「没设」回落到配置——面板不该宣称一个没人选过的上限。

Cursor 署名

  • Cursor 会给子智能体做的 commit 追加 Co-authored-by: Cursor,并在它开的 PR 上署名。这些提交进的是别人的仓库。
  • 这个开关没有 CLI 参数,也没有环境变量,只存在于 Cursor 自己的 cli-config.json 的 attribution 块,所以插件替你写那个文件:
    • 只改 attributeCommitsToAgent / attributePRsToAgent 两项,其余键原样保留;
    • 写入走临时文件 + 改名;
    • 解析不了的文件绝不覆盖——那是 Cursor 该报的错,不该由插件掩盖。
  • 文件位置按 Cursor 自己的顺序解析:CURSOR_CONFIG_DIR → XDG_CONFIG_HOME/cursor → ~/.cursor。
  • 面板三选:不加署名(默认) / 保留署名 / 跟随 Cursor 自己的配置(插件不写文件)。第三项是给「我自己在 Cursor 里管」的人留的退出口。
  • 保存后立即写入,并在每次启动 CLI 前再确认一次——因为 CLI 只在进程启动时读一次配置,已经在跑的会话要等新会话才生效。
  • 选择器下面那行「Cursor 当前:…」显示的是配置文件的实际状态,不是你的选择:用了「跟随」或写入失败时,两者会不一样。
  • 团队管理员在服务端禁用署名(attributionControls)时,本地怎么写都不会恢复署名。

面板

  • 模型选择器和保存按钮挪到卡片最上面:先给选择,再解释。
  • 代理输入框挪到它所解释的那条状态行下方——代理错是模型列表变短的最常见原因。
  • 删掉「来源与出口」折叠,并入「模型目录、搜索与来源」。两件事其实是同一个问题:「我眼前这个列表是真的吗」。

升级

dsh plugin remove dsh-cursor-dev
dsh plugin add dsh-cursor-dev

后台代码有更新,安装后需要重启 DSH 再刷新页面。

兼容性

  • DSH 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.1、0.2.1-rc.2 或 >=0.2.1 <0.3.0 的稳定版本(已在 0.2.1-rc.2 上验证)
  • Node.js ^22.19.0 || >=24.0.0
  • 需要已登录的 Cursor CLI

测试

  • 离线套件:256 项,249 通过,0 失败,7 跳过(macOS Keychain 等环境相关用例在 Windows 上跳过)。
  • 新增 test/attribution.test.mjs:覆盖配置查找顺序、两 key 写入、未知键保留、已一致时 no-op、损坏文件不动。测试把 CURSOR_CONFIG_DIR 指向临时目录——因为启动插件真的会写配置,测试不能动本机的 Cursor 配置。