Skip to content

feat(buddy): 支持把无空间任务移入空间 - #400

Merged
shanyuhai123 merged 3 commits into
useLexora:masterfrom
QAyong:codex/move-task-to-space
Oct 22, 2026
Merged

shanyuhai123 merged 3 commits into
useLexora:masterfrom
QAyong:codex/move-task-to-space

Conversation

@QAyong

@QAyong QAyong commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

背景与关联 / Context and related issue

  • 问题或目标:侧栏“任务”分组里的任务不属于任何空间,之后发现它属于某个项目时,只能在空间里重新建任务,原来的对话带不过去。本 PR 让这类任务可以并入空间,并从下一个回合起按空间运行(工作目录、技能、附加目录都用空间的)。
  • 关联 Issue:N/A

主要改动 / Changes

  • 服务端:新增 conversations.moveToSpace。只在“任务无空间、未删除、没有排队或运行中的回合、目标空间未撤销”时,对 conversations.space_id 做条件更新;随后释放该任务已打开的智能体会话,并发布 space 类会话元数据变更。不新增迁移,只更新已有列。
  • 旧产物:ComposerResourceService 校验产物授权时,按产物记录的授权 ID 定位任务自己的工作区,所以移入空间前生成的产物仍可作为引用加入输入框;预览和外部打开本来就按产物记录的路径,不受影响。旧工作区文件不复制,留在原处。
  • 渲染层:移动当前打开的任务后,当前会话的空间随会话变更通知更新(避免之后发送回合时空间对不上)。
  • 侧栏:任务菜单新增“移动到空间”二级菜单,空间名限宽并以省略号显示;任务行、空间行点右键弹出与“更多”相同的菜单,位置单独保存,关闭时在原位消失;可把“任务”分组里的任务拖到空间行上松手移入。任务运行中或没有可用空间时菜单项置灰;置顶区的任务只能用菜单移动。

验证 / Verification

  • 自动检查:新增 ConversationMetadataService.spec.ts 两个用例(成功移入一次并发布变更、释放会话;空间已撤销或有运行中回合时拒绝且不改数据),该文件 10 项全部通过。以上在移植前的本地分支上运行;基于上游 master 的这个分支未在本地重跑,交给 CI。
  • 手动验证:在 Windows 开发预览里验证了菜单和右键菜单弹出、关闭位置、二级菜单省略样式和任务拖到空间行;实际执行移动和移动后继续对话由作者在开发预览中验收通过。
  • 未执行:本分支上的类型检查、lint 和全量测试(按流程交给 CI);macOS / Linux 手动验证;未新增前端组件测试和 E2E。

兼容与风险 / Compatibility and risks

  • 移动是一次性的:已属于空间的任务不能换空间或移出,移入后任务级授权目录不再生效(记录保留)。
  • 移动前任务自己的工作区文件留在原处,智能体在新回合不再默认访问它们;已有产物仍可预览和引用。
  • 运行中不允许移动(会话打开时会校验任务空间与蓝图一致);这类情况服务端返回通用的校验失败,前端已在菜单里置灰。
  • 希望审阅者重点看 ConversationMetadataService.moveToSpace() 的条件,以及 ComposerResourceService 里产物授权的兼容。

界面变更 / UI changes

  • 任务菜单新增“移动到空间”二级菜单、任务行/空间行右键菜单、拖拽到空间行时的高亮。未附截图。

🤖 Generated with Claude Code

新增 conversations.moveToSpace:条件更新任务的 space_id(任务无空间、未删除、没有运行中的回合、目标空间可用),释放该任务已打开的智能体会话并发布 space 类元数据变更。移入前生成的产物按其记录的授权目录继续可作为引用。
侧栏在任务菜单中增加“移动到空间”(任务行和空间行也可右键弹出菜单),并支持把“任务”分组里的任务拖到空间行上;二级菜单里的空间名限宽并省略。

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@shanyuhai123

Copy link
Copy Markdown
Contributor

这部分我将移除拖动,支持更为麻烦的选择交互。拖动还是容易出问题,且不可还原,尤其是当前支持拖动到工作区的效果也容易导致其他问题。

@shanyuhai123
shanyuhai123 force-pushed the codex/move-task-to-space branch from 5a0ef03 to 0d10025 Compare October 22, 2026 05:51
@shanyuhai123
shanyuhai123 merged commit e7a310f into useLexora:master Oct 22, 2026
8 checks passed
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.

2 participants