Skip to content

ci: 集成工具权限、文件操作与聊天目录整理 - #95

Merged
3316891527 merged 10 commits into
devfrom
ci/chat-workspace-tools-integration
Oct 31, 2026
Merged

3316891527 merged 10 commits into
devfrom
ci/chat-workspace-tools-integration

Conversation

@3316891527

Copy link
Copy Markdown
Owner

变更说明 / Description

将工具与权限整理、工作区文件操作优化、聊天与工作区目录迁移合入同一候选分支,提供可安装的 Android 集成包,验证三份改动在聊天界面和工作区中的协作情况。集成分支从 dev 的 ffb78d30 创建,保留三份来源历史,PR 目标为 dev。

背景与动机 / Context and motivation

#92 调整了工具实现与权限入口的位置,#93 改进了工作区复制、移动和删除操作,#94 进一步迁移聊天与工作区包路径。部分调用方同时涉及工具入口和界面包名,需要在同一个构建中确认引用能够正确衔接,并由维护者验证实际聊天界面。

改动范围 / Changes

  • 合入 refactor(tools): 收拢三档权限并按清单整理工具目录 #92 的工具目录与三档权限整理,工具调用方使用 core.tools.runtime.AIToolHandler、core.tools.packTool.runtime.PackageManager 和 core.tools.system.terminal.Terminal 等新路径,保持该分支已有的权限路由与工具入口,避免其他来源带回旧引用。
  • 合入 fix(workspace): 优化文件操作内存并显示进度 #93 的工作区文件操作优化,保留流式复制、复制与移动进度、删除进度及相应提示资源,使工作区文件操作与目录迁移后的浏览器实现共同进入验证。
  • 合入 refactor(chat): 按职责整理聊天和工作区目录 #94 的目录整理:工作区由聊天子包迁至平级的 conversation.workspace;聊天按 foundation、modules、screens、viewmodel 归类;共享模型从 UI 文件原样提取并同步主源码、JVM 测试和 Android 测试的引用,页面继续通过原有声明组装。
  • 在附件选择、聊天 ViewModel、工作区浏览器、管理器与初始化入口的交叠导入处同时保留新的工具路径和新的聊天、工作区路径;文档索引保留各来源计划,并增加联合验证说明。合并冲突处理没有额外修改这些功能的执行规则。
集成来源与实现记录

按 #92 → #93 → #94 的顺序合入:

目录整理分支以 #93 为基线;合并时依据共同祖先处理,文件操作改动没有重复应用。三份来源提交均已验证为最终集成提交的祖先。

最终集成提交:3a823f14c2984d050f1a7bfef96107c0cad4cfe2。

联合验证说明

兼容性与风险 / Compatibility and risks

本 PR 增加的是联合验证分支,运行行为来自上述三个来源。目录整理同步了 Kotlin 包名、导入及已有全限定名称引用,共享声明保留原有字段、默认值与可见性。文件操作的流式传输与进度能力继续保留。

路径迁移和多分支合并后的编译、运行兼容性仍需 CI 与 Android 界面验证。已完成的静态核对不替代构建和设备测试。

关联 Issue / Related issue

关联 PR:#92、#93、#94。这是三份改动的集成验证 PR,无单独 Issue;各来源 PR 的后续处理由维护者决定。

验证方式 / Verification

检查或命令:来源提交祖先关系、工具名称与迁移清单、旧包引用及冲突标记扫描、20 个文件操作相关文件的声明体对照、git diff --check
环境与变体:本地 Git 与静态源码核对
结果:通过;工作树干净,三份来源均包含在最终提交中

检查或命令:Build 工作流,gradle_task=assembleDebug
环境与变体:GitHub Actions / Android Debug
结果:派发已受理(HTTP 204);构建结果待确认

检查或命令:Android Tests 工作流
环境与变体:GitHub Actions / 工作流定义的 Android 检查范围
结果:派发已受理(HTTP 204);测试结果待确认

未运行项:本地编译、构建及测试;按项目约定使用仓库工作流验证。Android 聊天界面和工作区的实机结果待维护者填写。
完整回归范围与填写入口

记录保留此前已有的全部用例,当前尚未填写的设备和 CI 结果继续保持待验证。

证据 / Evidence

  • Build 与 APK 产物入口:构建成功后,在对应运行的 Artifacts 下载 operit-android-<运行编号>
  • Android Tests 入口
  • 静态核对已确认 545 个工具名称映射、三份来源的祖先关系及 20 个文件操作相关文件的声明体一致性;源码扫描未发现旧聊天路径和未解决的合并标记

检查清单 / Checklist

  • 我已记录可复现验证和未运行项原因 / Reproducible verification and reasons for unrun checks are recorded
  • 日常开发 PR 的目标分支为 dev;如目标为 main,我已说明这是维护者发布同步 / The target branch is dev for regular work; if it is main, I explained why this is a maintainer-led release sync
  • 我已确认 Candidate checks 覆盖改动范围,并会处理技术失败项 / Candidate checks covers the change scope and technical failures will be addressed
  • 最终 diff 无无关、临时、生成、二进制或敏感内容 / Final diff has no unrelated, temporary, generated, binary, or secret content
  • 已提供对应的回归、UI、文档/字符串或兼容性证据 / Relevant regression, UI, docs/strings, or compatibility evidence is provided

# Conflicts:
#	app/src/main/java/com/ai/assistance/operit/ui/features/conversation/chat/webview/workspace/browser/WorkspaceBrowserOperations.kt
# Conflicts:
#	app/src/main/java/com/ai/assistance/operit/ui/features/conversation/chat/modules/attachments/AttachmentSelector.kt
#	app/src/main/java/com/ai/assistance/operit/ui/features/conversation/chat/viewmodel/ChatViewModel.kt
#	app/src/main/java/com/ai/assistance/operit/ui/features/conversation/workspace/WorkspaceManager.kt
#	app/src/main/java/com/ai/assistance/operit/ui/features/conversation/workspace/WorkspaceSetup.kt
#	docs/TODO/chore/README.md
@3316891527
3316891527 merged commit 6517f51 into dev Oct 31, 2026
7 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.

1 participant