Skip to content

feat(workspace): unify file tools and add directory-bound projects - #2

Merged
Yuang-Deng merged 4 commits into
YuZou-coding:feature/newWorkZonefrom
Yuang-Deng:dya/workspace-filesystem-tools
Sep 15, 2026
Merged

Yuang-Deng merged 4 commits into
YuZou-coding:feature/newWorkZonefrom
Yuang-Deng:dya/workspace-filesystem-tools

Conversation

@Yuang-Deng

@Yuang-Deng Yuang-Deng commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

功能

将工作区文件操作统一到 LazyLLM 的 FileSystemToolkit,并为本机目录增加独立项目归属。用户选择目录后,可在首条消息发送时原子创建或复用项目、创建会话并绑定目录;取消草稿不产生空项目。侧栏统一展示「对话组和项目」,分别使用对话气泡和文件夹图标。

  • 移除 local_fs 和重复 IO 包装,统一权限策略、未绑定工作区时的审批上下文、子任务传递与前端审批入口。工具名称统一为 shell,移除旧 download_file,同步提示词、展示模板和子模块版本。
  • 取消独立的 conversation_metadata 模型配置;标题与整理摘要统一使用默认对话模型,忽略历史废弃配置并拒绝继续保存或共享。补齐知识库读取、邮件草稿展示模板。
  • 项目可手动创建、重命名、置顶和排序。通过现有本机目录选择及授权流程取得目录,后端再次验证。同用户同规范化路径复用项目,子目录独立,项目可同名,名称最多 255 字符,目录不可更换。
  • 项目不参与自动整理、收录范围、快照或锁定。项目成员不可更换归属或转为自由会话;分叉、旁路会话继承项目与目录。已有历史会话不迁移。
  • 删除项目时,其会话(含归档成员)一起进入回收站,保留本机文件和授权。恢复会话同时恢复原项目入口;重选已删除项目目录复用原身份,不自动恢复旧会话。
  • 补充 PostgreSQL/SQLite 增量及聚合迁移,同步 OpenAPI、客户端类型、错误码和中英文文案。

目标分支为 feature/newWorkZone,供 LazyAGI#710 集成。依赖子模块 PR: YuZou-coding/LazyLLM#1 ,建议先合入子模块。

已合并目标分支 40cfa727 并解决文件工具、侧栏和生成文件冲突,合并提交为 b30553ad。

验证

本次剩余本地修改提交:主仓库 e68294ed,子模块 621e507a。

  • Core go test ./chat ./modelconfig ./modelprovider 通过。
  • 子模块 Agent、内置工具、宿主文件生命周期:39 passed。
  • 主仓库旁路工具策略、工具展示、工具注册表:851 passed;此前记录的模板及展示覆盖失败现已通过对应回归。
  • 两个模型设置前端测试文件:5 passed,相关 ESLint 和本机模式生产构建通过。

以下为项目功能及目标分支合并验证:

均在现有开发容器中运行:

  • Core go test ./conversationgroup ./chat ./common 通过,合并目标分支后再次通过。
  • 项目主流程与并发目录复用测试在 SQLite 和 PostgreSQL 上通过;手动创建和重命名在整理运行中成功。
  • go test ./migrate -count=1 配合 PostgreSQL 测试服务通过,覆盖两种数据库升级、回退、数据保留和聚合路径。
  • 前端相关测试合并前 81 项通过;合并目标分支后的相关回归及项目拖动隔离测试合计 101 项通过。相关 ESLint、本机模式生产构建、OpenAPI 测试通过。
  • 目标分支合并涉及的浏览器工具轮数与上下文压缩 Python 回归:47 passed。
  • 8090 浏览器验收:目录草稿不创建项目、首条消息创建并正常聊天、自定义名称、完整目录详情、不可更换归属、项目新对话继承目录、重命名、删除数量提示与进入回收站。验收项目及测试会话已移入回收站。

验证边界与保留事项

  • 全量 TypeScript 检查仍未通过,不能将局部回归或生产构建等同于全量类型检查通过。
  • 已启动原生目录选择器,但最终点选未完成自动化验收;浏览器主流程使用已有授权目录,真实目录及文件拒绝由后端测试覆盖。
  • 本轮按修改范围运行上述回归,未执行整个仓库的完整测试套件。
  • 保持草稿状态。已提交剩余本地代码、测试和子模块修改;个人 runtime_models.inner.yaml 按仓库规则保留在本地。

@Yuang-Deng Yuang-Deng changed the title refactor(workspace): unify file tools and unbound approval policy feat(workspace): unify file tools and add directory-bound projects Sep 15, 2026
@Yuang-Deng
Yuang-Deng marked this pull request as ready for review September 15, 2026 08:02
@Yuang-Deng
Yuang-Deng merged commit f9486c7 into YuZou-coding:feature/newWorkZone Sep 15, 2026
@Yuang-Deng
Yuang-Deng deleted the dya/workspace-filesystem-tools branch September 24, 2026 03:39
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