Skip to content

Dev#1647

Merged
SengokuCola merged 39 commits intomainfrom
dev
May 6, 2026
Merged

Dev#1647
SengokuCola merged 39 commits intomainfrom
dev

Conversation

@SengokuCola
Copy link
Copy Markdown
Collaborator

@SengokuCola SengokuCola commented May 6, 2026

  • ✅ 接受:与main直接相关的Bug修复:提交到dev分支
  • 新增功能类pr需要经过issue提前讨论,否则不会被合并
  • 🌐 i18n 提醒:除 bootstrap 或紧急修复外,请不要把非 zh-CN 目标翻译作为常规 GitHub 编辑面;常规翻译以 Crowdin -> l10n_* PR 回流为准,详见 docs/i18n.md

请填写以下内容

(删除掉中括号内的空格,并替换为小写的x

    • main 分支 禁止修改,请确认本次提交的分支 不是 main 分支
    • 我确认我阅读了贡献指南
    • 本次更新类型为:BUG修复
    • 本次更新类型为:功能新增
    • 本次更新是否经过测试
    • 如果本次修改涉及 src/A_memorix,我确认已阅读 src/A_memorix/MODIFICATION_POLICY.md,不涉及则无需勾选
  1. 请填写破坏性更新的具体内容(如有):
  2. 请简要说明本次更新的内容和目的:

其他信息

  • 关联 Issue:Close #
  • 截图/GIF
  • 附加信息:

Summary by CodeRabbit

发布说明

  • 新功能

    • 新增记忆事件管理、人物画像管理和维护管理功能,提供完整的记忆数据查看、编辑和维护界面。
    • 新增表达方式和学习配置支持,丰富聊天交互能力。
    • 新增 MCP SSE 传输协议支持。
  • 改进

    • 优化界面布局,调整侧边栏宽度。
    • 增强多语言本地化支持,完善中文用户体验。
    • 已认证用户跳过反爬虫检测,改善系统性能。
  • 其他

    • 版本更新至 1.0.6。

A-Dawn and others added 30 commits April 27, 2026 17:01
- _evaluate_expression 将审核结果写入 Expression 数据库字段
- _select_expressions 筛选改用 expr.checked 数据库字段
- check_expression_suitability 返回错误时 early-return,不写数据库
- 移除 expression_review_store 内存缓存依赖
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 内存缓存依赖
@SengokuCola SengokuCola merged commit 16b560e into main May 6, 2026
1 of 4 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: dd2d86e8-17f9-43b9-a783-56b860d3b92a

📥 Commits

Reviewing files that changed from the base of the PR and between 55deb36 and 1bb6f51.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (85)
  • .gitignore
  • README.md
  • dashboard/package.json
  • dashboard/src/components/dynamic-form/DynamicConfigForm.tsx
  • dashboard/src/components/dynamic-form/DynamicField.tsx
  • dashboard/src/components/layout/Layout.tsx
  • dashboard/src/components/layout/Sidebar.tsx
  • dashboard/src/components/layout/constants.ts
  • dashboard/src/components/memory/MemoryEpisodeManager.tsx
  • dashboard/src/components/memory/MemoryMaintenanceManager.tsx
  • dashboard/src/components/memory/MemoryProfileManager.tsx
  • dashboard/src/components/search-dialog.tsx
  • dashboard/src/components/tour/tours/model-assignment-tour.ts
  • dashboard/src/components/ui/button.tsx
  • dashboard/src/components/ui/checkbox.tsx
  • dashboard/src/components/ui/command.tsx
  • dashboard/src/components/ui/select.tsx
  • dashboard/src/components/ui/tabs.tsx
  • dashboard/src/i18n/locales/zh.json
  • dashboard/src/index.css
  • dashboard/src/lib/config-label.ts
  • dashboard/src/lib/field-hooks.ts
  • dashboard/src/lib/memory-api.ts
  • dashboard/src/lib/theme/tokens.ts
  • dashboard/src/lib/version.ts
  • dashboard/src/routes/config/bot.tsx
  • dashboard/src/routes/config/bot/hooks/JsonFieldHookFactory.tsx
  • dashboard/src/routes/config/bot/hooks/ListItemEditorHookFactory.tsx
  • dashboard/src/routes/config/bot/hooks/complexFieldHooks.tsx
  • dashboard/src/routes/config/bot/hooks/index.ts
  • dashboard/src/routes/config/bot/sections/FeaturesSection.tsx
  • dashboard/src/routes/config/bot/sections/index.ts
  • dashboard/src/routes/config/bot/types.ts
  • dashboard/src/routes/config/model.tsx
  • dashboard/src/routes/config/model/components/ModelCardList.tsx
  • dashboard/src/routes/config/model/components/ModelTable.tsx
  • dashboard/src/routes/config/model/components/TaskConfigCard.tsx
  • dashboard/src/routes/config/model/hooks/useModelFetcher.ts
  • dashboard/src/routes/config/model/hooks/useModelTour.ts
  • dashboard/src/routes/config/modelProvider/index.tsx
  • dashboard/src/routes/monitor/index.tsx
  • dashboard/src/routes/resource/knowledge-base.tsx
  • dashboard/src/routes/resource/knowledge-base/tabs/FeedbackTab.tsx
  • dashboard/src/routes/settings/AppearanceTab.tsx
  • dashboard/src/types/config-schema.ts
  • pyproject.toml
  • pytests/webui/test_memory_routes.py
  • requirements.txt
  • src/A_memorix/core/embedding/api_adapter.py
  • src/A_memorix/core/retrieval/dual_path.py
  • src/A_memorix/core/retrieval/pagerank.py
  • src/A_memorix/core/retrieval/sparse_bm25.py
  • src/A_memorix/core/retrieval/threshold.py
  • src/A_memorix/core/runtime/lifecycle_orchestrator.py
  • src/A_memorix/core/runtime/sdk_memory_kernel.py
  • src/A_memorix/core/runtime/search_runtime_initializer.py
  • src/A_memorix/core/storage/graph_store.py
  • src/A_memorix/core/storage/metadata_store.py
  • src/A_memorix/core/storage/vector_store.py
  • src/A_memorix/core/utils/episode_service.py
  • src/A_memorix/core/utils/person_profile_service.py
  • src/A_memorix/host_service.py
  • src/chat/utils/statistic.py
  • src/config/config.py
  • src/config/legacy_migration.py
  • src/config/official_configs.py
  • src/learners/expression_auto_check_task.py
  • src/main.py
  • src/maisaka/builtin_tool/__init__.py
  • src/maisaka/builtin_tool/query_memory.py
  • src/maisaka/builtin_tool/reply.py
  • src/maisaka/builtin_tool/send_emoji.py
  • src/maisaka/chat_loop_service.py
  • src/maisaka/runtime.py
  • src/mcp_module/config.py
  • src/mcp_module/connection.py
  • src/mcp_module/manager.py
  • src/plugin_runtime/host/supervisor.py
  • src/services/memory_flow_service.py
  • src/webui/app.py
  • src/webui/config_schema.py
  • src/webui/middleware/anti_crawler.py
  • src/webui/routers/config.py
  • src/webui/routers/expression.py
  • src/webui/routers/memory.py

代码审查总结

概览

本 PR 进行了大规模的内存管理系统重构,将内存配置从独立的 memory 字段迁移至 a_memorix.integration,新增记忆片段和人物画像管理的仪表板 UI 组件,扩展了 API 端点支持平台用户 ID 解析,并对日志、存储和表单渲染进行了优化。总计修改约 50+ 文件,新增 3 个完整的内存管理 React 组件,重构动态表单系统,完善 MCP 协议支持,以及全面迁移内存配置路径。

变更

内存管理系统架构迁移与 API 扩展

层级 / 文件(s) 摘要
配置架构重构
src/config/config.py, src/config/legacy_migration.py, src/config/official_configs.py
memory 配置迁移至 a_memorix.integration 嵌套结构;新增 AMemorixConfig 及其 17 个子配置类(存储、嵌入、检索、阈值、过滤、记忆演化等);引入多语言标签元数据;CONFIG_VERSION 升级至 8.10.9
后端内存 API 和数据模型
dashboard/src/lib/memory-api.ts
新增记忆片段相关接口(MemoryEpisodeItemPayloadMemoryEpisodeListPayload 等)和人物画像接口;实现带重试和本地回退的多 URL 请求机制;新增 getMemoryEpisodes() 端点及多个管理操作。
全栈配置路径迁移
src/A_memorix/core/runtime/sdk_memory_kernel.py, src/A_memorix/core/utils/episode_service.py, src/A_memorix/core/utils/person_profile_service.py, src/maisaka/builtin_tool/query_memory.py, src/services/memory_flow_service.py
将 15+ 个内存功能配置访问器从 global_config.memory 指向 global_config.a_memorix.integration;更新写回、查询和收集功能以使用新配置路径。
WebUI 路由与数据端点
src/webui/routers/config.py, src/webui/routers/memory.py, pytests/webui/test_memory_routes.py
新增 a_memorix 配置别名;扩展 /memory/episodes/memory/profiles/* 端点接受 platformuser_id 参数;实现 _enrich_episode_person_name 辅助函数进行人名解析;新增 2 个集成测试验证平台用户 ID 解析逻辑。

仪表板内存管理 UI 组件与集成

层级 / 文件(s) 摘要
新增内存管理器组件
dashboard/src/components/memory/MemoryEpisodeManager.tsx, dashboard/src/components/memory/MemoryProfileManager.tsx, dashboard/src/components/memory/MemoryMaintenanceManager.tsx
新增三个完整的 React 组件(共 1325 行),分别提供记忆片段查询、人物画像管理和维护操作(强化、冻结、保护、还原)UI;包括搜索、筛选、详情展示、批量操作和状态管理。
知识库 UI 扩展与标签集成
dashboard/src/routes/resource/knowledge-base.tsx
在知识库页面新增三个内存标签页(情景记忆、人物画像、维护),集成三个新管理器组件,实现延迟加载与访问追踪。

仪表板动态表单与字段钩子增强

层级 / 文件(s) 摘要
配置模式类型扩展
dashboard/src/types/config-schema.ts
引入 LocalizedTextDescriptionDisplayMode 类型;将 FieldSchema.labelstring 改为 LocalizedText;新增 x-description-display 字段支持描述显示模式。
字段标签本地化工具
dashboard/src/lib/config-label.ts
新增 resolveLocalizedText()getAllLocalizedText()resolveFieldLabel() 函数,支持多语言字段标签解析与语言别名映射。
字段钩子系统扩展
dashboard/src/lib/field-hooks.ts, dashboard/src/routes/config/bot/hooks/complexFieldHooks.tsx, dashboard/src/routes/config/bot/hooks/index.ts
新增 'hidden' 钩子类型;新增 onParentChange 回调支持父表单状态更新;实现 HiddenFieldHook(无 UI)和 BotPlatformAccountsHook(平台账号编辑器)。
核心表单渲染逻辑重构
dashboard/src/components/dynamic-form/DynamicConfigForm.tsx
新增 sectionColumns 布局选项(支持 1 或 2 列);引入每字段嵌套模式感知和内联字段渲染模式;新增 shouldRenderFieldInline() 辅助函数;重构嵌套表单和行渲染逻辑。
字段渲染国际化与描述显示
dashboard/src/components/dynamic-form/DynamicField.tsx, dashboard/src/routes/config/bot/hooks/JsonFieldHookFactory.tsx, dashboard/src/routes/config/bot/hooks/ListItemEditorHookFactory.tsx
集成 useTranslation()resolveFieldLabel();新增描述显示控制与工具提示渲染;支持内联-右布局;更新选择框使用本地化标签。

Bot 配置路由与功能调整

层级 / 文件(s) 摘要
Bot 配置类型重构
dashboard/src/routes/config/bot/types.ts
移除 MemoryConfigToolConfig 接口;从 AllBotConfigs 中移除 memoryConfigtoolConfig 属性;新增 EmojiConfig.content_filtration 布尔字段。
FeaturesSection 移除
dashboard/src/routes/config/bot/sections/FeaturesSection.tsx, dashboard/src/routes/config/bot/sections/index.ts
完全删除 FeaturesSection 组件(319 行)及其导出,包括工具、内存和表情包配置 UI。
Bot 配置页面重构
dashboard/src/routes/config/bot.tsx
使用 BotPlatformAccountsHook 替换 BotPlatformsHook;新增 HiddenFieldHook 用于 QQ 账号和平台字段;移除 memoryConfig 状态和序列化;启用 sectionColumns={2} 实现二列布局;页面标题更新为"麦麦设置"。

模型配置路由与提供商管理大幅重构

层级 / 文件(s) 摘要
模型配置页面架构改造
dashboard/src/routes/config/model.tsx
重构为标签式 UI(提供商/模型/任务);新增提供商 CRUD 流程、批量操作、测试连接、自动保存计时器;引入模型选择器组件和温度/最大令牌配置;集成提供商对话框和删除确认。
模型卡片与表格 UI 简化
dashboard/src/routes/config/model/components/ModelCardList.tsx, dashboard/src/routes/config/model/components/ModelTable.tsx, dashboard/src/routes/config/model/components/TaskConfigCard.tsx
将徽章状态指示器替换为彩色圆点;扩展温度范围从 0-1 至 0-2,默认值从 0.3 改为 0.7;调整表头列宽与布局。
模型获取与导览钩子增强
dashboard/src/routes/config/model/hooks/useModelFetcher.ts, dashboard/src/routes/config/model/hooks/useModelTour.ts
fetchModelsForProvider 中新增 base_url 验证;更新错误消息引用"厂商设置";扩展 useModelTour 以处理提供商对话框和标签页切换。

UI 组件通用改进

层级 / 文件(s) 摘要
光标样式一致性
dashboard/src/components/ui/button.tsx, dashboard/src/components/ui/checkbox.tsx, dashboard/src/components/ui/command.tsx, dashboard/src/components/ui/select.tsx, dashboard/src/components/ui/tabs.tsx
统一添加 cursor-pointer 类至可交互组件的基础样式。
布局与主题令牌调整
dashboard/src/components/layout/Layout.tsx, dashboard/src/components/layout/Sidebar.tsx, dashboard/src/index.css, dashboard/src/lib/theme/tokens.ts, dashboard/src/routes/settings/AppearanceTab.tsx
侧边栏宽度从 16rem 缩减至 13rem;新增 tokenToCSSVarName() 工具函数;更新外观选项卡中的默认值与滑块绑定。
菜单与搜索对话框更新
dashboard/src/components/layout/constants.ts, dashboard/src/components/search-dialog.tsx
botConfig 移除 aiModelProvider 项;将 /plugins 改为 /Plugins;扩展搜索对话框以支持基于配置模式的动态搜索项(异步加载、关键词匹配)。

导览与本地化更新

层级 / 文件(s) 摘要
模型分配导览重构
dashboard/src/components/tour/tours/model-assignment-tour.ts
使用新的数据驱动步骤序列替换整个导览定义;引入 CLICK_TO_CONTINUE_STEPS 导出;重构 STEP_ROUTE_MAP 为动态计算;更新导览文本为中文并调整行为标志。
中文本地化
dashboard/src/i18n/locales/zh.json, README.md
更新侧边栏菜单标签("麦麦主程序配置" → "麦麦设置","AI模型厂商配置" → "模型厂商设置");更新监控标签("MaiSaka 聊天流监控" → "麦麦观察");在搜索和菜单中同步更新;新增中文贡献指南句子。
页面标题更新
dashboard/src/routes/config/modelProvider/index.tsx, dashboard/src/routes/monitor/index.tsx, dashboard/src/routes/resource/knowledge-base/tabs/FeedbackTab.tsx
更新页面标题和描述文本以反映新的命名约定和简化表述。

后端存储与运行时优化

层级 / 文件(s) 摘要
存储层日志与线程安全
src/A_memorix/core/storage/vector_store.py, src/A_memorix/core/storage/graph_store.py, src/A_memorix/core/storage/metadata_store.py
引入异步锁实现线程安全;将初始化和加载日志级别从 info 降低至 debug;更新日志消息为中文并调整格式。
检索组件日志调整
src/A_memorix/core/retrieval/dual_path.py, src/A_memorix/core/retrieval/pagerank.py, src/A_memorix/core/retrieval/sparse_bm25.py, src/A_memorix/core/retrieval/threshold.py
统一将初始化和数据加载日志从 info 改为 debug;在 PageRank 中新增 AC 自动机缓存。
运行时初始化重构
src/A_memorix/core/runtime/lifecycle_orchestrator.py, src/A_memorix/core/runtime/search_runtime_initializer.py, src/A_memorix/core/embedding/api_adapter.py
调整嵌入维度检测逻辑和日志;将大部分初始化日志从 info 改为 debug;引入缓存命中路径;更新日志消息为中文。

统计与学习任务重构

层级 / 文件(s) 摘要
统计输出任务扩展
src/chat/utils/statistic.py
新增 all_time_start_time 计算逻辑;实现 _refresh_all_time_duration_stats() 计算按类型/用户/模型/模块的平均和标准差;新增 _drop_cached_time_cost_lists() 清理原始数据;扩展图表和指标生成。
表达式自动检查持久化
src/learners/expression_auto_check_task.py
从使用外部 review_state 存储改为直接更新 Expression ORM 对象;新增 ModifiedBy.AI 标记;引入 checkedrejected 字段持久化;简化日志输出。

Maisaka 和插件系统调整

层级 / 文件(s) 摘要
子代理 API 简化
src/maisaka/runtime.py, src/maisaka/chat_loop_service.py, src/maisaka/builtin_tool/reply.py, src/maisaka/builtin_tool/send_emoji.py
移除 run_sub_agent()max_tokens 参数;将 MaisakaChatLoopService 构造函数中的 max_tokens 替换为 context_message_limit;清除所有相关调用点。
内存查询工具配置路径迁移
src/maisaka/builtin_tool/__init__.py
更新查询内存工具的启用标志源从 global_config.memoryglobal_config.a_memorix.integration
插件主管理器调整
src/plugin_runtime/host/supervisor.py
移除 ENV_GLOBAL_CONFIG_SNAPSHOT 环境变量;新增 ENV_BLOCKED_PLUGIN_REASONSENV_EXTERNAL_PLUGIN_IDS;简化导入仅保留 global_config

MCP 协议与连接支持

层级 / 文件(s) 摘要
MCP 运输层扩展
src/mcp_module/config.py, src/mcp_module/connection.py
MCPServerItemConfig.transport 中新增 "sse" 选项;实现 _connect_sse() 方法支持服务端发送事件传输;扩展 _build_http_client() 支持灵活的头部和认证配置;新增 SSE 可用性检查。
MCP 工具规范处理
src/mcp_module/manager.py
ToolSpec 构建中添加守卫以处理 tool.metaNone 的情况,使用字典并集操作符提供默认值。

配置与主机服务清理

层级 / 文件(s) 摘要
内部字段清理
src/A_memorix/host_service.py
新增 _INTERNAL_CONFIG_FIELDS 常量标记内部字段;实现 _strip_internal_config_fields() 递归移除内部字段;扩展 _config_model_to_runtime_dict() 以清理字段;在 _runtime_dict_to_bot_config_dict() 中规范化 web.import_config
WebUI 配置架构与中间件
src/webui/config_schema.py, src/webui/middleware/anti_crawler.py, src/webui/app.py
新增 _build_label() 静态方法生成本地化标签;新增 _has_valid_auth() 方法检查认证 Cookie 并跳过爬虫检测;在 SPA 路由中添加 API 路径守卫防止静态文件服务。

版本与依赖更新

层级 / 文件(s) 摘要
项目版本统一提升
dashboard/package.json, dashboard/src/lib/version.ts, pyproject.toml, requirements.txt
仪表板版本从 1.0.5 升级至 1.0.6;对应更新 Python 依赖。
配置版本与主要版本标记
src/config/config.py
CONFIG_VERSION 从 "8.10.7" 升级至 "8.10.9",标记配置架构的重大变更。

序列图

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: 显示人物画像详情
Loading
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: 渲染片段卡片与操作
Loading
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)
Loading

预期代码审查工作量

🎯 5 (关键) | ⏱️ ~120 分钟

可能相关的 PR

  • Mai-with-u/MaiBot#1644:主 PR 与此 PR 直接相关——均新增了 MemoryEpisodeManager/MemoryProfileManager 组件,引入相同的内存 API 有效载荷和请求重试/规范化逻辑,扩展知识库标签页,修改 WebUI 内存路由端点和测试以接受 platform/user_id。

  • Mai-with-u/MaiBot#1613:两个 PR 在多个文件层面存在重叠变更——包括仪表板组件(DynamicConfigForm、DynamicField)、内存 UI 模块、内存 API/类型和版本升级——表明代码级别上存在直接关联。

  • Mai-with-u/MaiBot#1564:主 PR 与此 PR 均实现了同一 A_Memorix 内存系统(替换遗留 LPMM)并修改重叠的代码路径(内存插件、WebUI 内存路由、配置、运行时和相关 API),存在直接关联。

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants