新增了插件相关的完整领域模型、应用服务、基础设施实现,包括: 1. 插件状态、注册模式、来源等基础枚举和数据结构 2. 插件清单解析、发现、加载工具类 3. 插件注册表领域服务和内存存储实现 4. 插件相关的命令、查询、事件定义 5. 插件REST API接口和DTO映射 6. 集成了原有通道适配器到插件系统 7. 新增内置插件注册和自动发现能力
78 lines
4.7 KiB
Markdown
78 lines
4.7 KiB
Markdown
# 开发路线图
|
||
|
||
路线图可能会经常变更,如果有强烈的建议,可以在 [issue](https://github.com/xerrors/Yuxi/issues) 中提。
|
||
|
||
日志添加规范(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 检查
|
||
|
||
---
|
||
|
||
历史版本发布记录已迁移到 [版本变更记录](./changelog.md)。
|
||
|
||
维护说明:
|
||
- roadmap 仅保留未来规划(看板/Bugs/里程碑方向)。
|
||
- 具体版本发布内容统一维护在 changelog。
|