- 将代码库中所有对 /mnt/user-data 的引用更改为 /home/yuxi/user-data。 - 更新测试用例以反映新的路径结构。 - 调整 Docker 配置以使用新路径。 - 修改文档以与新的路径约定保持一致。 - 增强沙盒配置器中文件读取操作的错误处理。 - 改进代理文件管理系统中的附件处理。
11 KiB
11 KiB
开发路线图
路线图可能会经常变更,如果有强烈的建议,可以在 issue 中提。
看板
- 集成 LangFuse (观望) 添加用户日志与用户反馈模块,可以在 AgentView 中查看信息
- 部分场景应该使用默认模型作为默认值而不是空值
- 检索测试中,添加问答
- 集成 Memory,基于 deepagents 的文件后端实现
- 添加自定义向量模型和 rerank 模型的配置,在网页上面
- 调研轻便的文件展示与编辑器
- 移除 TODO 的模块与设计,移除这个中间件。
Bugs
-
部分异常状态下,智能体的模型名称出现重叠#279
-
部分 local 的 mcp server 无法正常加载,但是建议在项目外部启动 mcp 服务器,然后通过 sse 的方式使用。【未复现】
-
DeepSeek 官方接口适配会出现问题
-
部分推理后端与 langchain 的适配有问题:
-
目前的知识库的图片存在公开访问风险
-
工具传递给模型的时候,使用英文,但部分模型不支持中文函数名(如gpt-4o-mini,deepseek 官方接口)
-
生成基准测试会把所有的向量都计算一遍不合理
-
RUNs API 导致的问题
-
双击导致的暂停问题
-
自定义embedding和rerank模型的配置问题
v0.6
- 统一沙盒虚拟路径前缀默认值为
/home/yuxi/user-data,修正生产环境仍使用旧版/mnt/user-data的不一致配置;同时收紧 sandbox provisioner 对 Docker host bind 路径的归一化逻辑,保留 Docker Desktop for Windows 兼容 - 修复沙盒文件读取错误提示不准确的问题:
read_file不再把所有读取异常都显示为file not found,改为区分无效路径、目录路径、权限不足、实际读取失败;同时对图片、PDF 等二进制文件返回明确提示,避免误报与乱码文本 - 新增 Agent runs 沙盒文件生成 E2E 脚本:通过管理员账号登录、创建 thread、调用 Agent 生成并执行冒泡排序脚本,然后仅通过线程文件 API 校验脚本文件与输出结果文件是否成功落盘
- 新增根目录
CONTRIBUTING.md,补充面向仓库入口的贡献说明,统一说明 Docker Compose 开发流程、PR 提交流程与前后端贡献要求,并链接到docs/develop-guides/contributing.md - 优化
docs/intro/project-overview.md的“核心能力”章节,按智能体开发、知识库与 RAG、知识图谱、平台落地能力重写内容,突出项目主线与差异化重点 - 调整文档归类:将沙盒文档迁移到
docs/agents/sandbox-architecture.md并归入“智能体开发”;将“上下文配置”并入docs/agents/agents-config.md,重点补充 Context 与AgentConfigSidebar的联动关系,以及 Context 在 Agent 运行周期中的传递链路 - 重构沙盒文档结构,重写
docs/agents/sandbox-architecture.md,按目标边界、架构分层、生命周期、文件系统模型、双视图接入、配置与限制重新组织内容 - 调整 Agent 路由为
/agent/{thread_id}:/agent进入未选中对话空态,不再在 URL 中展示agent_id;发送首条消息时基于当前selectedAgentId与配置创建新对话,并自动跳转到对应线程路由。 - 新增 API Key 管理功能,支持外部系统通过 API Key 调用 Agent 对话接口(
POST /api/chat/agent/{agent_id})。统一使用Authorization: Bearer <api_key>认证,API Key 以yxkey_开头。获取 API Key 即代表拥有绑定用户的所有接口访问权限。 - 将 后端代码 和 agents 解耦,agents 作为单独的 package 使用
- 添加 subagents 的支持,支持在 web 中添加 subagents
- 将内置 skills 的初始化从符号链接改为复制,以兼容沙盒绑定场景
v0.5
新增
- 优化 OCR 体验并新增对 Deepseek OCR 的支持
- 优化 RAG 检索,支持根据文件 pattern 来检索(Agentic Mode)
- 重构智能体对于“工具变更/模型变更”的处理逻辑,无需导入更复杂的中间件
- 重构知识库的 Agentic 配置逻辑,与 Tools 解耦
- 将工具与知识库解耦,在 context 中就完成解耦,虽然最终都是在 Agent 中的 get_tools 中获取
- 优化chunk逻辑,移除 QA 分割,集成到普通分块中,并优化可视化逻辑
- 重构知识库处理逻辑,分为 上传—解析—入库 三个阶段
- 重构 MCP 相关配置,使用数据库来控制 #469
- 使用 docling 解析 office 文件(docx/xlsx/pptx)
- 优化后端的依赖,减少镜像体积 #428
- 优化 liaghtrag 的知识库调用结果,提供 content/graph/both 多个选项
- 优化数据库查询工具,可通过设计环境变量添加描述,让模型更好的调用
- 优化任务组件,改用 postgresql 存储,并新增删除任务的接口
- 支持更多类型的文档源的导入功能(支持后端配置的白名单的 URL 导入)
修复
- 修复知识图谱上传的向量配置错误,并新增模型选择以及 batch size 选择
- 修复部分场景下获取工具列表报错 #470
- 修改方法备注信息 #478
- 修复多次 human-in-the-loop 的渲染解析问题 #453 #475
- 修复沙盒后端接入回归:补齐 composite backend 的
sandbox_backend参数、限制/api/sandbox/prepare仅允许访问当前用户线程、确保release()之后的destroy()会真正停止热池容器,并恢复 docker-compose 的完整模式默认值 - 重构沙盒为 deer-flow 风格的 AIO provider:切换为 thread-local sandbox、统一
/home/yuxi/user-data/{workspace,uploads,outputs}固定路径、移除公开/api/sandbox/*生命周期接口,并补充 lite 模式下的 provider 生命周期、filesystem API 与 sandbox 复用/隔离 E2E 验证 - 调整聊天附件存储链路:线程附件改为直接落盘到
saves/threads/<thread_id>/user-data/uploads,解析成功后额外生成uploads/attachments/*.md,不再依赖 MinIO 或显式上传到 sandbox
v0.4
新增
- 新增对于上传附件的智能体中间件,详见文档
- 新增多模态模型支持(当前仅支持图片),详见文档
- 新建 DeepAgents 智能体(深度分析智能体),支持 todo,files 等渲染,支持文件的下载。
- 新增基于知识库文件生成思维导图功能(#335)
- 新增基于知识库文件生成示例问题功能(#335)
- 新增知识库支持文件夹/压缩包上传的功能(#335)
- 新增自定义模型支持、新增 dashscope rerank/embeddings 模型的支持
- 新增文档解析的图片支持,已支持 MinerU Officical、Docs、Markdown Zip格式
- 新增暗色模式支持并调整整体 UI(#343)
- 新增知识库评估功能,支持导入评估基准或者自动构建评估基准(目前仅支持Milvus类型知识库)详见文档
- 新增同名文件处理逻辑:遇到同名文件则在上传区域提示,是否删除旧文件
- 新增生产环境部署脚本,固定 python 依赖版本,提升部署稳定性
- 优化图谱可视化方式,统一图谱数据结构,统一使用基于 G6 的可视化方式,同时支持上传带属性的图谱文件,详见文档
- 优化 DBManager / ConversationManager,支持异步操作
- 优化 知识库详情页面,更加简洁清晰,增强文件下载功能
修复
- 修复重排序模型实际未生效的问题
- 修复消息中断后消息消失的问题,并改善异常效果
- 修复当前版本如果调用结果为空的时候,工具调用状态会一直处于调用状态,尽管调用是成功的
- 修复检索配置实际未生效的问题
- 修复 sandbox 文件系统
ls在异常输出下触发KeyError: 'path'的问题,并将工具调用异常降级为错误消息,避免直接中断聊天 stream - 修复智能体状态面板中文件树仍依赖
agent_state.files的问题,改为通过真实/api/filesystem/*接口按层懒加载后端可见文件系统,并让输入框下方状态按钮常态化打开工作区视图 - 为工作台新增 viewer-oriented filesystem service 与
/api/viewer/filesystem/*接口,解耦 agent backend 语义,支持真实目录浏览、原始文件读取与下载 - 重写沙盒技术文档,明确 thread-local sandbox、viewer-oriented filesystem service、
/mnt命名空间、skills 可见性与当前实现边界,替换过时的/api/sandbox/*与 user-level 设计描述 - 收紧沙盒遗留代码:修复未注册
sandbox_router中残留的 user/thread 参数错位,改进宿主机挂载路径映射逻辑,并为 remote sandbox provisioner 增加基础 URL 校验与销毁失败日志
破坏性更新
- 移除 Chroma 的支持,当前版本标记为移除
- 移除模型配置预设的 TogetherAI
v0.3
Added
- 添加测试脚本,覆盖最常见的功能(已覆盖API)
- 新建 tasker 模块,用来管理所有的后台任务,UI 上使用侧边栏管理。Tasker 中获取历史任务的时候,仅获取 top100 个 task。
- 优化对文档信息的检索展示(检索结果页、详情页)
- 优化全局配置的管理模型,优化配置管理
- 支持 MinerU 2.5 的解析方法
- 修改现有的智能体Demo,并尽量将默认助手的特性兼容到 LangGraph 的
create_agent中 - 基于 create_agent 创建 SQL Viewer 智能体
- 优化 MCP 逻辑,支持 common + special 创建方式
- LightRAG 知识库应该可以支持修改 LLM
Fixed
- 修复本地知识库的 metadata 和 向量数据库中不一致的情况。
- v1 版本的 LangGraph 的工具渲染有问题
- upload 接口会阻塞主进程
- LightRAG 知识库查看不了解析后的文本,偶然出现,未复现
- 智能体的加载状态有问题:(1)智能体加载没有动画;(2)切换对话和加载中,使用同一个loading状态。
- 前端工具调用渲染出现问题
- 当前 ReAct 智能体有消息顺序错乱的 bug,且不会默认调用工具
- 修复文件管理:(1)文件选择的时候会跨数据库;(2)文件校验会算上失败的文件;