ForcePilot/docs/develop-guides/roadmap.md
supreme0597 44d1b20383 feat(skills): 优化远程 Skill 批量安装,单次克隆完成多 skill 安装
新增 install_remote_skills_batch() 函数,利用 npx skills add 原生多 --skill 支持,
将安装 N 个 skill 的仓库克隆次数从 2N 降至 1。

后端:
- remote_skill_install_service.py 新增批处理 + _find_skill_dir()
- skill_router.py 新增 POST /remote/install-batch 端点 (admin 权限)
- 非法 skill 名不阻塞其他合法 skill,结果按请求顺序返回
- CLI 部分失败时仍导入已安装的 skill
- import 失败后 rollback session,不影响后续导入

前端:
- skill_api.js 新增 installRemoteSkillsBatch()
- SkillCardList.vue 改为单次批处理调用

测试:
- 4 个单元测试覆盖正常安装/缺失跳过/部分失败/非法名场景

文档:
- docs/develop-guides/roadmap.md 更新开发记录
- docs/vibe/2026-05-14-remote-skill-batch-install-plan.md 方案文档(含设计决策)
2026-05-14 17:15:38 +08:00

8.7 KiB
Raw Blame History

开发路线图

路线图可能会经常变更,如果有强烈的建议,可以在 issue 中提。

日志添加规范For Agent:

  • 同一版本的多次功能更新时,应以功能为单位进行更新,比如之前添加了 A 功能的更新,在后续的更新中修复了因 A 功能引入的 bug那么这个修复说明应该和 A 功能描述放在一起,而不是新增一条修复记录,功能更新同理。

看板

  • Langfuse 增加 self-host 模式支持,补齐私有化部署与配置说明(已支持 cloud待调试
  • 检索测试中,添加问答
  • 集成 Memory基于 deepagents 的文件后端实现,需要考虑定位
  • Yuxi-cli 相关的功能,放在后续版本中实现(不是类似于编程助手,而是管理平台的工,等各个 router 接口优化之后)
  • 完善测试基准自动生成功能,目前的实现过于简单,无法覆盖实际需求
  • 完善 Skills 的环境变量注入
  • 拓宽检索的知识源统一多知识源channel目前已知知识库/知识图谱/网页,可拓展:个人知识库、数据库、历史对话等
    • 前置任务,多知识库并行检索(扩展 query_kb
    • 新增 query_keywords 工具,专门用于基于关键词命中的排序,也结合词频(和 BM25 的区别?)
  • 调研将当前知识库映射为虚拟文件系统工具的可行性,先明确文件树映射、权限边界、内容读取与 Agent 工具调用形态,再决定是否实现
  • 参考 AgenticRAG 方案扩展当前 Search 工具:等待虚拟文件系统构建完成后,改进 Search 返回递增文件序列 ID新增 Find 与 Open 能力Summary 暂缓
  • 评估,基于 Agent 的评估,这里应该是结合 Langfuse 实现

Bugs

  • 目前的知识库的图片存在公开访问风险

BREAKING CHANGE不兼容变更0.7 版本再实现)

  • 将自定义provider 的实现逻辑,从文件移动到数据库中,并将相关处理代码,移出 config 文件,放到 provider 模块中
  • 已补充方案文档:docs/vibe/2026-04-18-custom-provider-db-refactor-plan.md明确采用“provider 一行、models 放 JSON、移除 provider 默认模型”的落地方案
  • 优化知识库的 API 接口设计,使用 /{db_id}/xxx 的形式,整合 mindmap / eval 接口
  • 移除 v1 版本的 provider 统一接口,改为 v2 版本的 provider 模块接口

版本记录

0.6.2 开发记录

  • 下放扩展管理权限:普通管理员现在可进入扩展管理并完整管理 Tools、MCP、SubAgent、Skills同步放开 Skill 管理接口权限并补充权限测试。
  • 调整 Agent 知识库默认选择:未显式配置知识库时默认启用当前用户可访问的全部知识库,显式保存空列表仍表示不启用知识库。
  • 优化评估基准自动生成:仅支持 commonrag/Milvus 知识库,默认参考 chunks 数量改为 1多 chunk 场景复用知识库向量检索选择相似 chunks不再对全量 chunks 重新计算 embedding并移除前端 Embedding 模型选择。
  • 修复知识库文档入库状态回退:当已解析文件缺失 markdown_file 解析产物时,索引流程会将文件状态恢复为未解析,便于重新解析而不是停留在索引失败。
  • 优化 Agent 输入框文件 mention用户级 workspace 文件候选改为从独立 workspace API 递归加载,不再依赖 active thread插入时仍转换为 /home/gem/user-data/workspace/ 沙盒虚拟路径,并修复附件上传后未立即刷新 mention 候选的问题。
  • 调整知识库思维导图后端结构:将思维导图路由文件重命名为知识库语义更明确的 router并把文件列表整理、提示词构建、AI JSON 解析等纯逻辑下沉到知识库 utils。
  • 收敛知识库评估后端结构:将评估指标、单题评估、答案生成提示词和自动基准生成算法下沉到 knowledge/evalEvaluationService 保留任务、文件和持久化编排职责。
  • 新增个人工作区预览与管理:提供独立于对话 thread 的用户级 workspace API并增加“工作区”页面用于浏览个人 workspace 文件、预览 Markdown/文本/代码/图片/PDF支持新建文件夹、上传文件、下载文件、删除文件/文件夹和多选删除;工作区预览支持 Markdown/TXT 在右侧预览框内切换编辑并保存,其他格式和非工作区预览默认只读;知识库与团队空间入口先展示到占位层级;默认创建 agents/AGENTS.md,并在 Agent 执行时将其内容追加到系统提示词。
  • 加固 JWT 鉴权安全:移除历史默认密钥回退,初始化脚本支持生成并持久化 JWT_SECRET_KEYYUXI_INSTANCE_ID,签发和验证令牌时校验 iss/aud,并在鉴权阶段拒绝已删除或登录锁定用户继续使用旧令牌访问系统。
  • 扩展管理界面交互逻辑重构:将 MCP / Subagents / Skills 三个标签页从「左侧边栏 + 右侧详情面板」布局重构为「卡片式网格布局 + 路由跳转二级页面」布局,工具标签页改为卡片网格布局 + 弹窗详情(保持弹窗内容不变)。新增共享组件 ExtensionCardExtensionCardGridExtensionToolbarExtensionDetailLayout,详情页(McpDetailViewSubagentDetailViewSkillDetailView)使用居中宽度限制,路由规划为 /extensions/mcp/:name/extensions/subagent/:name/extensions/skill/:slug
  • 统一卡片样式:ExtensionCard 新增 tags prop 支持传入 [{label, color}] 数组,内部使用 <a-tag bordered=false size=small> 渲染,与知识库卡片标签风格统一;知识库列表页 DataBaseView 改用 ExtensionCard + ExtensionCardGrid 替代原有自定义卡片,移除冗余 card 样式。
  • 调整应用主导航:AppLayout 从默认窄栏升级为默认展开的侧边栏,保留折叠态图标导航;侧边栏样式收敛为 14px 文本 + 18px 图标的标准紧凑密度并统一导航项、任务中心、GitHub、用户信息的图标与文字对齐。折叠态改为仅通过显式按钮展开避免空白区域误触发。
  • 合并智能体对话导航:移除 AgentChatComponent 内部聊天侧边栏,将新建对话入口和对话历史移动到 AppLayout 主侧边栏,并通过共享线程 store 统一管理历史列表、当前线程、重命名、删除、置顶和分页加载。
  • 新增独立模型配置模块:增加 model_providers 表、独立管理接口和”模型配置”页面,支持 provider 基础信息、可配置模型列表端点、远端候选模型、enabled_models 的早期配置验证;启动时会补齐内置 provider 模板,provider_type 暂统一默认为 openai,该模块暂不接入现有运行时模型选择逻辑。远端模型加载默认使用 /models 获取 chat/通用模型provider 声明 embedding 能力时使用 /embeddings/models 获取 embedding 候选rerank 模型列表端点按供应商文档显式配置后加载;修复路由请求模型未接收 embedding_base_url/rerank_base_url 导致前端已填写仍被后端校验拦截的问题。补充手动添加模型能力:enabled_models[i] 新增可选 source: "manual"|"remote" 字段(默认 remote),管理员可通过”+ 手动添加”入口录入远端清单未覆盖的模型(典型:自部署 embedding/rerank手动模型在前端跳过”远端不存在”的 stale 警告并显示「手动」标签type 选项受 provider.capabilities 约束,后端在 _normalize_payloadupdate_provider_config 双层一致性校验中拦截越权写入。
  • 统一前端 Markdown 预览渲染:新增共享 MarkdownPreview 组件与 markdown_preview 渲染工具,替换 Agent 消息、文件预览、知识库 chunk、任务工具结果、聊天导出等场景中的旧 md-editor-v3/marked 预览;支持 KaTeX、任务列表、frontmatter 卡片、Shiki 代码高亮、DOMPurify 清洗和浅层渲染缓存,并抽取 HTML 转义与代码语言归一化工具。Skill 详情页复用 AgentFilePreview,统一文件预览、编辑、保存和全屏交互。
  • 优化远程 Skill 批量安装:remote_skill_install_service.py 新增 install_remote_skills_batch(),利用 npx skills add --skill A --skill B --skill C 原生多 skill 支持,将安装 N 个 skill 的仓库克隆次数从 2N 降至 1配套新增路由 POST /remote/install-batch、前端 installRemoteSkillsBatch() API 方法和批处理 UI 逻辑

历史版本发布记录已迁移到 版本变更记录

维护说明:

  • roadmap 仅保留未来规划(看板/Bugs/里程碑方向)。
  • 具体版本发布内容统一维护在 changelog。