Dev#1647
Conversation
- _evaluate_expression 将审核结果写入 Expression 数据库字段 - _select_expressions 筛选改用 expr.checked 数据库字段 - check_expression_suitability 返回错误时 early-return,不写数据库 - 移除 expression_review_store 内存缓存依赖
新增MCP的SSE支持
fix: 表达方式自动审核结果持久化到数据库
新增平台和用户账号维度的筛选能力,并对记忆/画像功能进行交互体验优化 前端:MemoryEpisodeManager 与 MemoryProfileManager 组件增加了平台和用户 ID 输入项,人员 ID 调整为可折叠的“高级”入口,新增原始 JSON 切换、人员名称展示,优化了标签文案和列表模式;搜索触发逻辑现已支持基于账号的查询和画像搜索结果的展示。 API客户端:统一记忆 API 的基础路径,请求携带凭证,增加 HTML 回退页面的检测和本地备用地址的重试机制,优化了错误提示信息。 服务端:记忆路由在返回片段和画像时,补充了来自数据库的人员名称字段,新增 /profiles/search 及兼容性接口,并在片段/画像列表接口中支持传入 platform 和 user_id 参数 其他优化:防止 SPA 路由劫持 /api 路径,入口脚本改用 venv 中的 Python,Dockerfile 中将 venv 加入 PATH 并调整了 uv sync 相关参数。
- _evaluate_expression 将审核结果写入 Expression 数据库字段 - _select_expressions 筛选改用 expr.checked 数据库字段 - check_expression_suitability 返回错误时 early-return,不写数据库 - 移除 expression_review_store 内存缓存依赖
为记忆系统补全情节记忆/人物画像/纠错功能,并修复docker的依赖安装问题
防爬虫检查跳过认证用户
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (85)
代码审查总结概览本 PR 进行了大规模的内存管理系统重构,将内存配置从独立的 变更内存管理系统架构迁移与 API 扩展
仪表板内存管理 UI 组件与集成
仪表板动态表单与字段钩子增强
Bot 配置路由与功能调整
模型配置路由与提供商管理大幅重构
UI 组件通用改进
导览与本地化更新
后端存储与运行时优化
统计与学习任务重构
Maisaka 和插件系统调整
MCP 协议与连接支持
配置与主机服务清理
版本与依赖更新
序列图sequenceDiagram
participant User as 用户
participant Dashboard as 仪表板<br/>(MemoryProfileManager)
participant API as WebUI 路由<br/>(/memory/profiles/query)
participant Backend as 后端内存服务<br/>(profile_admin)
participant DB as 数据库<br/>(PersonInfo/人物画像)
User ->> Dashboard: 输入 platform 与 user_id
Dashboard ->> API: 发送查询请求<br/>(platform, user_id)
API ->> API: resolve_person_id_for_memory<br/>(platform, user_id)
Note over API: 若提供 person_id 则跳过,<br/>否则进行平台用户解析
API ->> Backend: 调用 profile_admin.query<br/>(resolved_person_id)
Backend ->> DB: 查询人物画像数据
DB -->> Backend: 返回画像记录
Backend -->> API: 返回查询结果
API -->> Dashboard: 返回画像数据
Dashboard -->> User: 显示人物画像详情
sequenceDiagram
participant User as 用户
participant Dashboard as 仪表板<br/>(MemoryEpisodeManager)
participant API as WebUI 路由<br/>(/memory/episodes)
participant MemoryAPI as 内存 API<br/>(getMemoryEpisodes)
participant Backend as 后端<br/>(episode_admin)
User ->> Dashboard: 触发加载记忆片段<br/>带过滤条件
Dashboard ->> API: 发送片段列表请求
API ->> API: resolve_person_id_for_memory<br/>(platform, user_id)
API ->> MemoryAPI: 调用 getMemoryEpisodes<br/>(resolved_person_id, filters)
MemoryAPI ->> MemoryAPI: 构建请求 URL<br/>及本地回退基地址
MemoryAPI ->> Backend: 尝试获取片段数据
Backend -->> MemoryAPI: 返回 JSON 响应
MemoryAPI -->> API: 返回 MemoryEpisodeListPayload
API ->> API: _enrich_episode_person_name<br/>(enriching person names)
API -->> Dashboard: 返回丰富的片段列表
Dashboard -->> User: 渲染片段卡片与操作
sequenceDiagram
participant User as 用户
participant Bot as 机器人配置表单<br/>(DynamicConfigForm)
participant FormComponent as 表单组件<br/>(sectionColumns)
participant FieldHook as 字段钩子<br/>(BotPlatformAccountsHook)
participant Parent as 父表单状态<br/>(onParentChange)
participant ConfigStore as 配置存储<br/>(buildFullConfig)
User ->> Bot: 打开机器人配置页面
Bot ->> FormComponent: 传递 sectionColumns={2}<br/>启用二列布局
Note over FormComponent: 计算 inlineFields<br/>& shouldRenderFieldInline
User ->> FieldHook: 编辑 platforms/qq_account<br/>通过 BotPlatformAccountsHook
FieldHook ->> FieldHook: 派生初始值<br/>从 value & parentValues
User ->> FieldHook: 添加/更新平台账号
FieldHook ->> Parent: 触发 onParentChange<br/>('platforms', newValue)
Parent ->> Bot: 更新本地表单状态
Bot ->> FormComponent: 重新渲染表单<br/>使用新平台数据
User ->> Bot: 点击保存配置
Bot ->> ConfigStore: buildFullConfig()<br/>聚合所有字段
ConfigStore -->> Bot: 返回完整配置
Bot -->> User: 配置已保存<br/>(不包含 memory)
预期代码审查工作量🎯 5 (关键) | ⏱️ ~120 分钟 可能相关的 PR
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
zh-CN目标翻译作为常规 GitHub 编辑面;常规翻译以 Crowdin ->l10n_*PR 回流为准,详见docs/i18n.md请填写以下内容
(删除掉中括号内的空格,并替换为小写的x)
main分支 禁止修改,请确认本次提交的分支 不是main分支src/A_memorix,我确认已阅读src/A_memorix/MODIFICATION_POLICY.md,不涉及则无需勾选其他信息
Summary by CodeRabbit
发布说明
新功能
改进
其他