Skip to content

fix(workspace): /cd 后将会话归入目标工作区 - #25

Merged
haofeng0705 merged 1 commit into
mainfrom
codex/fix-14-workspace-membership
Oct 9, 2026
Merged

haofeng0705 merged 1 commit into
mainfrom
codex/fix-14-workspace-membership

Conversation

@haofeng0705

@haofeng0705 haofeng0705 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

/cd 已将新会话的 cwd 切到目标目录,但 WorkspaceLinker 和两个消息入口仍只按默认目录挂接。真实 DSH 会拒绝 cwd 不匹配的显式归属,因此会话留在 Web 的「未分组」。本修复将 Bridge 按会话作用域解析的 cwd 同时用于创建会话和选择工作区。

Fixes #14

  • 机器人与数字员工都传入当前作用域的 cwd;群成员隔离模式使用 scopeKey,避免其他成员或会话受 /cd 影响。
  • WorkspaceLinker 按目录解析/创建并缓存工作区,同目录并发注册去重;注册失败和服务暂不可用不永久缓存,可以重试。旧的 attach(sessionId) 仍使用默认目录。
  • 覆盖私聊/群聊、路径/序号切换、/cd reset、/new、/model use/reset、恢复、已加载补装、未注册目录、其他会话隔离和历史迁移。
  • 新增真实 DSH 0.2.0-rc.2 WorkspaceRegistry、JSON 存储及会话服务的隔离 smoke,并加入现有固定宿主 CI 矩阵。

复现与验证

基线:592f5dda6896b3d7d1aeacf5acf9cf58c55f707a(0.9.1)。本地 macOS,Node 26.4.0 / pnpm 11.7.0。

检查 结果
干净 main + 新公开入口回归 4/4 失败:机器人/数字员工的私聊/群聊均未归入目标工作区;修复版 4/4 通过
干净 main + 真实 DSH workspace smoke 失败:宿主拒绝把目标 cwd 的会话挂到默认目录,目标工作区未收录会话
corepack pnpm install --frozen-lockfile PASS
corepack pnpm run ci PASS:303/303,0 失败、0 跳过;敏感信息扫描、Prettier、类型检查、构建、scripts/check-pack.mjs 均通过;tarball 247 files / 1,119,578 bytes unpacked
Node 22.22.3 工作区回归 PASS:10/10,0 失败、0 跳过
修复版真实 DSH 0.2.0-rc.2 workspace smoke PASS:Node 22.22.3 / 26.4.0;cwd 和显式归属一致,覆盖切换、重开、恢复、已加载与 reset
GitHub CI CI #37880631365:最终提交 9f7149173d6735bf1ce2e416da3ccfa5423b0897 的第 2 次尝试全部 8 项检查成功;含真实工作区 smoke
真实钉钉消息、付费模型和 Web GUI 端到端 NOT RUN;隔离测试不启动 Channel,不调用模型
原报告 Windows + DSH 0.1.1-rc.2 NOT RUN;最新 main 的同根因已通过入口回归和公开宿主复现

真实宿主 smoke 的安装和运行命令见 CONTRIBUTING.md。原工作区未提交改动已保留,修复在独立工作区完成。风险集中在工作区解析和挂接,默认调用保留;可通过回退本 PR 恢复原行为。

首次 GitHub CI 的 macOS 完整套件为 302 通过、1 失败:既有 digital-employee-a2ui-fallback.test.mjs 的卡片审批用例期望 allowed-once,实际 unavailable,新增工作区用例全部通过。该既有用例在干净 main 和修复分支上各单独复跑 3 次均通过,未稳定复现,因此不将首次失败计作通过或直接归因于环境。本次未改该用例及其 A2UI 实现;同一提交的 macOS 完整任务重跑成功,首次失败记录保留。Ubuntu 完整套件 303/303、0 skip;Windows 266 通过、0 失败、34 项既有平台 skip(本次未新增 skip)。

发布验证

已合入 main:ada4d0ffcf6b7b94ce86805af59522de1f5d8c33,合并源码与已验证 PR 提交一致。main CI 全部成功。通过官方 OIDC workflow 发布 0.9.2;NPM latest、gitHead、repository、公开 CLI、tarball SHA-512 与导出入口、provenance 的产物摘要及仓库/工作流/提交来源均已独立读回验证。

发布任务 第 2 次尝试成功;首次读回在 NPM 包处理期间超时,记录为失败,包公开后重跑通过。真实钉钉/Web GUI 端到端尚未验收。

@haofeng0705
haofeng0705 marked this pull request as ready for review October 9, 2026 05:42
@haofeng0705
haofeng0705 merged commit ada4d0f into main Oct 9, 2026
15 of 16 checks passed
@haofeng0705
haofeng0705 deleted the codex/fix-14-workspace-membership branch October 9, 2026 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: /cd 切换工作区后,会话落在「未分组」而不是 DSH 指定的工作区

1 participant