新增了插件相关的完整领域模型、应用服务、基础设施实现,包括: 1. 插件状态、注册模式、来源等基础枚举和数据结构 2. 插件清单解析、发现、加载工具类 3. 插件注册表领域服务和内存存储实现 4. 插件相关的命令、查询、事件定义 5. 插件REST API接口和DTO映射 6. 集成了原有通道适配器到插件系统 7. 新增内置插件注册和自动发现能力
4.7 KiB
4.7 KiB
开发路线图
路线图可能会经常变更,如果有强烈的建议,可以在 issue 中提。
日志添加规范(For Agent):
- 同一版本的多次功能更新时,应以功能为单位进行更新,比如之前添加了 A 功能的更新,在后续的更新中修复了因 A 功能引入的 bug,那么这个修复说明应该和 A 功能描述放在一起,而不是新增一条修复记录,功能更新同理。
看板
- Langfuse 增加 self-host 模式支持,补齐私有化部署与配置说明(已支持 cloud,待调试)
- 检索测试中,添加问答
- 集成 Memory,基于 deepagents 的文件后端实现,需要考虑定位
- Yuxi-cli 相关的功能,放在后续版本中实现(不是类似于编程助手,而是管理平台的工,等各个 router 接口优化之后)
- 完善测试基准自动生成功能,目前的实现过于简单,无法覆盖实际需求
- 完善 Skills 的环境变量注入
- 拓宽检索的知识源,统一多知识源(channel),目前已知知识库/知识图谱/网页,可拓展:个人知识库、数据库、历史对话等
- 前置任务,多知识库并行检索(扩展 query_kb)
- 新增 query_keywords 工具,专门用于基于关键词命中的排序,也结合词频(和 BM25 的区别?)
- 参考 AgenticRAG 方案扩展当前 Search 工具:基于知识库工具返回的 resource_id/file_id 改进 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.3 开发记录
- 多渠道网关 Router 渠道适配器优化(DDD 重构)
- C04: Container 添加 Registry 引用、快照方法、require() 方法,显式化容器字段
- C04-B: DeliveryService/OutboxRetryWorker/WsConnectionManager 迁移到 Registry 读取适配器
- C04-C: 路由层移除直接操作 adapters,统一通过 PluginRegistryAppService 访问
- R01: Metrics 端点添加认证
- R02: 公共方法 resolve_config() 替代私有属性访问
- R03: 新增 ActiveSessionExistsException,deactivate 时检查活跃会话
- R04: 重复绑定校验(DuplicateBindingException + IntegrityError 捕获)
- R05: 正向缓存写入(create_binding 后写缓存而非删缓存)
- R06: ConfigService 注入 AuthService,配置热更新时同步 auth_password 凭证
- R09: SSE ticket 机制(POST /channel/sse/ticket 获取一次性 ticket,GET /channel/sse 用 ticket 兑换)
- R10: 修正 can_activate 逻辑,新增 can_deactivate/can_reload 状态检查
- R11: Channel Status 补全 active_sessions/ws_connected 字段
- R12: Channel Status 并发检查(asyncio.gather 并行 is_healthy + count_sessions)
- R13: Readyz 使用 pg_manager.is_initialized 公共属性
- R14: Readyz 并发检查各组件
- R15: Readyz 支持 degraded 状态(200 返回)
- R16: Bindings PATCH 端点(部分更新 agent_config_id/is_enabled)
- R19: 插件列表 status 参数使用 Literal 类型校验
- R20: Binding 创建时外键校验(AgentConfigLookupPort)
- R21: 通用异常固定错误消息(InvalidPluginStateException/ActiveSessionExistsException)
- R22: SSE 单 session 连接数限制(MAX_CONNECTIONS_PER_SESSION=5)
- R23: SSE JSON 转义(json.dumps 替代 f-string)
- R24: Event publish 失败日志级别降为 warning
- R25/R30: 容器字段显式化(plugin_registry_impl/plugin_app_service)
- R26: 插件 manifest/config-schema 端点添加 response_model
- R28: healthz timeline 通过环境变量控制
- R29: 审计追踪(channel_auth_operator_depends 返回操作者标识)
- R31: activate/deactivate/reload 路由调用 can_* 方法前置校验
- C02: 新增 ErrorResponse 统一错误响应模型
- C03: Container.require() 统一 None 检查
历史版本发布记录已迁移到 版本变更记录。
维护说明:
- roadmap 仅保留未来规划(看板/Bugs/里程碑方向)。
- 具体版本发布内容统一维护在 changelog。