Skip to content

Dev#1605

Merged
SengokuCola merged 24 commits intomainfrom
dev
Apr 27, 2026
Merged

Dev#1605
SengokuCola merged 24 commits intomainfrom
dev

Conversation

@SengokuCola
Copy link
Copy Markdown
Collaborator

@SengokuCola SengokuCola commented Apr 27, 2026

新增功能
新增按顺序选择相关能力。
支持模型请求缓存,并补充相关配置。
支持通过 msg_id 获取消息能力。
新增可开启的原生 @ 功能。
Emoji 响应模型新增 format 和 usage_count 字段。
WebUI / Dashboard 侧新增或重构聊天组件、人格与表情配置表单、知识库相关界面。

优化改进
优化长期记忆控制台体验。
进一步优化模型缓存命中率。
精简表达选择逻辑,优化 replyer 表现。
优化部分导入,加快启动速度。
CodeEditor 重构为懒加载实现,拆分 CodeEditorImpl,优化导入路径。
API 响应模型与文档有所重构。
日志系统新增上限和配置,避免日志膨胀。

修复
修复 timing gate 场景下意外启用 tool 的问题。
修复 OpenRouter 和 Groq 的 reasoning 字段支持问题。
修复部分模型请求问题,包括 v4l 相关问题。
修复回复格式问题。
修复部分显示问题和模型问题。

Summary by CodeRabbit

发行说明

  • 新功能

    • 新增聊天工作区界面,支持对话管理、身份切换和消息交互
    • 支持@提及功能,增强消息表达能力
    • 工作区切换器,可在设置和聊天模式间快速切换
    • 改进的消息格式处理和媒体渲染
  • 配置调整

    • 个性化设置重构:新增多回复风格和概率控制
    • 表情配置调整:新增表情发送数量控制
    • 日志保留策略可配置化
  • 性能优化

    • 优化编辑器加载性能
    • 增强消息处理稳定性

SengokuCola and others added 24 commits April 22, 2026 11:26
- Updated response model functions in emoji, expression, jargon, and person routers to include detailed docstrings.
- Enhanced the clarity of function signatures by specifying return types.
- Removed redundant comments and improved code readability.
- Added error handling and logging improvements in various endpoints.
- Deleted outdated code documentation file.
- Updated PersonalityForm to handle multiple reply styles and probabilities.
- Removed unused fields from PersonalityConfig and adjusted default values.
- Refactored loadPersonalityConfig and loadEmojiConfig to align with new structure.
- Introduced ChatComposer, ChatHeaderBar, ChatWorkspaceSidebar, and MessageList components for improved chat interface.
- Enhanced user experience with dynamic message rendering and connection status indicators.
- Cleaned up API calls for saving configurations, focusing on essential fields.

Co-authored-by: Copilot <[email protected]>
feat: 优化长期记忆控制台体验
fix(llm): support reasoning field for OpenRouter and Groq
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 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: e3e4ac1a-1ea2-47ea-a7b4-ffc23da60d4e

📥 Commits

Reviewing files that changed from the base of the PR and between 475c8da and d32be47.

📒 Files selected for processing (96)
  • Plan.md
  • bot.py
  • dashboard/eslint.config.js
  • dashboard/package.json
  • dashboard/src/components/CodeEditor.tsx
  • dashboard/src/components/CodeEditorImpl.tsx
  • dashboard/src/components/expression-reviewer.tsx
  • dashboard/src/components/layout/Header.tsx
  • dashboard/src/components/layout/Layout.tsx
  • dashboard/src/components/layout/constants.ts
  • dashboard/src/components/layout/types.ts
  • dashboard/src/components/memory/MemoryConfigEditor.tsx
  • dashboard/src/i18n/locales/en.json
  • dashboard/src/i18n/locales/ja.json
  • dashboard/src/i18n/locales/ko.json
  • dashboard/src/i18n/locales/zh.json
  • dashboard/src/router.tsx
  • dashboard/src/routes/chat/ChatComposer.tsx
  • dashboard/src/routes/chat/ChatHeaderBar.tsx
  • dashboard/src/routes/chat/ChatTabBar.tsx
  • dashboard/src/routes/chat/ChatWorkspaceSidebar.tsx
  • dashboard/src/routes/chat/MessageList.tsx
  • dashboard/src/routes/chat/MessageRenderer.tsx
  • dashboard/src/routes/chat/VirtualIdentityDialog.tsx
  • dashboard/src/routes/chat/index.tsx
  • dashboard/src/routes/config/bot.tsx
  • dashboard/src/routes/plugin-config.tsx
  • dashboard/src/routes/plugin-detail.tsx
  • dashboard/src/routes/resource/knowledge-base.tsx
  • dashboard/src/routes/resource/knowledge-graph/GraphDialogs.tsx
  • dashboard/src/routes/setup/StepForms.tsx
  • dashboard/src/routes/setup/api.ts
  • dashboard/src/routes/setup/index.tsx
  • dashboard/src/routes/setup/types.ts
  • prompts/en-US/maisaka_replyer.prompt
  • prompts/ja-JP/maisaka_replyer.prompt
  • prompts/zh-CN/maisaka_replyer.prompt
  • pytests/test_context_message_fallback.py
  • pytests/test_maisaka_builtin_at.py
  • pytests/test_maisaka_builtin_context.py
  • pytests/test_maisaka_monitor_protocol.py
  • pytests/test_maisaka_timing_gate.py
  • pytests/test_openai_client_toolless_request.py
  • pytests/test_plugin_runtime.py
  • pytests/test_tool_availability.py
  • src/A_memorix/core/runtime/sdk_memory_kernel.py
  • src/A_memorix/host_service.py
  • src/chat/message_receive/message.py
  • src/chat/replyer/maisaka_expression_selector.py
  • src/chat/replyer/maisaka_generator_base.py
  • src/common/data_models/llm_service_data_models.py
  • src/common/data_models/message_component_data_model.py
  • src/common/logger.py
  • src/common/logger_color_and_mapping.py
  • src/common/remote.py
  • src/config/config.py
  • src/config/model_configs.py
  • src/config/official_configs.py
  • src/learners/expression_learner.py
  • src/learners/jargon_miner.py
  • src/llm_models/model_client/adapter_base.py
  • src/llm_models/model_client/base_client.py
  • src/llm_models/model_client/openai_client.py
  • src/llm_models/request_snapshot.py
  • src/llm_models/utils.py
  • src/llm_models/utils_model.py
  • src/main.py
  • src/maisaka/builtin_tool/__init__.py
  • src/maisaka/builtin_tool/at.py
  • src/maisaka/builtin_tool/context.py
  • src/maisaka/builtin_tool/reply.py
  • src/maisaka/chat_history_visual_refresher.py
  • src/maisaka/chat_loop_service.py
  • src/maisaka/context_messages.py
  • src/maisaka/display/prompt_preview_logger.py
  • src/maisaka/history_post_processor.py
  • src/maisaka/history_utils.py
  • src/maisaka/message_adapter.py
  • src/maisaka/monitor_events.py
  • src/maisaka/planner_message_utils.py
  • src/maisaka/reasoning_engine.py
  • src/maisaka/reply_effect/storage.py
  • src/maisaka/runtime.py
  • src/person_info/person_info.py
  • src/plugin_runtime/capabilities/data.py
  • src/plugin_runtime/capabilities/registry.py
  • src/plugin_runtime/host/supervisor.py
  • src/services/message_service.py
  • src/services/send_service.py
  • src/webui/routers/emoji/routes.py
  • src/webui/routers/emoji/schemas.py
  • src/webui/routers/expression.py
  • src/webui/routers/jargon.py
  • src/webui/routers/person.py
  • src/webui/schemas/emoji.py
  • 代码备忘.md

Walkthrough

该PR实现了聊天工作区UI功能、优化异步内存初始化和提示缓存支持、将@提及工具从独立工具转换为内联消息处理机制、更新多语言翻译和配置架构、优化表情管理,并删除了过时的LLM依赖功能。

Changes

Cohort / File(s) Summary
计划与文档清理
Plan.md, 代码备忘.md
删除过时的计划文档和开发备忘录。
启动与日志配置
bot.py, src/common/logger.py, src/common/logger_color_and_mapping.py, src/config/config.py, src/config/official_configs.py
优化启动日志顺序,增加可配置日志文件大小/保留策略,新增LogConfig配置类和log字段,更新配置版本号,为聊天日志添加颜色映射。
Dashboard前端:代码编辑器重构
dashboard/src/components/CodeEditor.tsx, dashboard/src/components/CodeEditorImpl.tsx, dashboard/src/routes/config/bot.tsx, dashboard/src/routes/plugin-config.tsx, dashboard/src/routes/plugin-detail.tsx
将CodeEditor转换为Suspense包装的懒加载组件,提取CodeMirror实现到独立的CodeEditorImpl模块,更新相关导入路径。
Dashboard前端:聊天工作区UI
dashboard/src/components/layout/Header.tsx, dashboard/src/components/layout/Layout.tsx, dashboard/src/components/layout/types.ts, dashboard/src/components/layout/constants.ts, dashboard/src/routes/chat/ChatComposer.tsx, dashboard/src/routes/chat/ChatHeaderBar.tsx, dashboard/src/routes/chat/ChatTabBar.tsx, dashboard/src/routes/chat/ChatWorkspaceSidebar.tsx, dashboard/src/routes/chat/MessageList.tsx, dashboard/src/routes/chat/MessageRenderer.tsx, dashboard/src/routes/chat/VirtualIdentityDialog.tsx, dashboard/src/routes/chat/index.tsx
实现完整聊天工作区功能,包括工作空间模式切换、聊天标签栏、消息列表、消息编辑器、虚拟身份对话、头部状态栏、侧边栏管理,支持消息类型渲染和国际化。
Dashboard前端:路由与依赖
dashboard/src/router.tsx, dashboard/eslint.config.js, dashboard/package.json, dashboard/src/components/expression-reviewer.tsx, dashboard/src/components/memory/MemoryConfigEditor.tsx
转换路由为动态/懒加载模式,更新ESLint配置和Tailwind相关依赖,新增@react-spring/web@use-gesture/reactmotion库支持动画。
Dashboard前端:国际化
dashboard/src/i18n/locales/en.json, dashboard/src/i18n/locales/ja.json, dashboard/src/i18n/locales/ko.json, dashboard/src/i18n/locales/zh.json
扩展国际化文本支持工作区切换、聊天UI、HTTP安全警告、虚拟身份;调整个性化配置字段从interest/planStyle/privatePlanStyle改为multipleReplyStyle/multipleProbability;更新表情配置从emojiChance改为emojiSendNum
Dashboard前端:设置表单
dashboard/src/routes/setup/StepForms.tsx, dashboard/src/routes/setup/api.ts, dashboard/src/routes/setup/index.tsx, dashboard/src/routes/setup/types.ts
重构个性化、表情、其他设置表单字段,移除interest/enable_tool选项,新增多个回复风格和概率配置,更新API映射和类型定义。
Dashboard前端:知识库反馈
dashboard/src/routes/resource/knowledge-base.tsx
增强反馈UI呈现,添加修正预览、影响摘要徽章、动作日志时间线、数据详情折叠面板等功能。
Dashboard前端:知识图谱对话
dashboard/src/routes/resource/knowledge-graph/GraphDialogs.tsx
调整删除选项UI标记,用div/span替换label,添加aria-label无障碍支持。
后端:内存与向量存储
src/A_memorix/core/runtime/sdk_memory_kernel.py, src/A_memorix/host_service.py
实现异步嵌入维度检测与向量存储并行初始化,支持维度不匹配自动重建,增强错误处理。
后端:消息处理与组件
src/chat/message_receive/message.py, src/common/data_models/message_component_data_model.py, src/services/message_service.py, src/services/send_service.py, src/plugin_runtime/capabilities/data.py, src/plugin_runtime/capabilities/registry.py
规范化组件内容空白符处理,新增消息按ID查询API、消息序列化和能力处理。
后端:@提及从工具转为消息处理
src/maisaka/builtin_tool/at.py, src/maisaka/builtin_tool/__init__.py, src/maisaka/builtin_tool/context.py, src/maisaka/builtin_tool/reply.py
删除独立的@提及工具实现,新增post_process_reply_message_sequencesat[msg_id]文本标记转换为AtComponent结构化消息,支持配置开关控制。
后端:表情与反馈管理
src/webui/routers/emoji/routes.py, src/webui/routers/emoji/schemas.py, src/webui/schemas/emoji.py, src/maisaka/reply_effect/storage.py
优化表情API,新增格式和使用计数字段,支持配置反馈存储容量上限。
后端:表达式管理
src/webui/routers/expression.py, src/chat/replyer/maisaka_expression_selector.py
移除高级表达式选择(基于子代理的多轮选择),改为直接选择,简化API逻辑和类型注解。
后端:LLM与缓存
src/llm_models/model_client/base_client.py, src/llm_models/model_client/adapter_base.py, src/llm_models/model_client/openai_client.py, src/common/data_models/llm_service_data_models.py, src/llm_models/utils.py, src/llm_models/utils_model.py
扩展使用量追踪支持提示缓存命中/未命中令牌计数,实现供应商特定的原生推理字段提取,增加顺序模型选择策略。
后端:聊天循环与历史
src/maisaka/chat_loop_service.py, src/maisaka/chat_history_visual_refresher.py, src/maisaka/context_messages.py, src/maisaka/history_post_processor.py, src/maisaka/history_utils.py, src/maisaka/message_adapter.py, src/maisaka/planner_message_utils.py, src/maisaka/runtime.py
新增缓存使用日志、工具结果重排序规范化、回复组件过滤选项、提示缓存命中/未命中日志、脱引用工具的消息历史同步。
后端:提示与生成
src/chat/replyer/maisaka_generator_base.py, src/maisaka/display/prompt_preview_logger.py, src/maisaka/reasoning_engine.py, prompts/en-US/maisaka_replyer.prompt, prompts/ja-JP/maisaka_replyer.prompt, prompts/zh-CN/maisaka_replyer.prompt
新增@提及块和缓存使用指标日志、优化提示结构、增加无效工具提示处理、支持动态提示预览限制。
后端:配置与工具
src/config/model_configs.py, src/learners/expression_learner.py, src/learners/jargon_miner.py, src/person_info/person_info.py, src/maisaka/monitor_events.py, src/common/remote.py, src/main.py, src/llm_models/request_snapshot.py, src/plugin_runtime/host/supervisor.py, src/webui/routers/jargon.py, src/webui/routers/person.py
新增模型级缓存计费配置、删除LLM依赖的关系构建和分类、懒加载SSL上下文、支持请求快照容量限制、改进日志输出和API类型注解。
测试:聊天与推理
pytests/test_maisaka_builtin_context.py, pytests/test_maisaka_timing_gate.py, pytests/test_maisaka_monitor_protocol.py, pytests/test_context_message_fallback.py
新增@提及渲染、无效工具处理、计时门推理流程、消息回复组件可见性测试。
测试:已删除与扩展
pytests/test_maisaka_builtin_at.py, pytests/test_tool_availability.py, pytests/test_openai_client_toolless_request.py, pytests/test_plugin_runtime.py
删除独立@提及工具测试,扩展工具可用性、OpenAI推理字段、插件运行时日志测试。

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

✨ 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

@SengokuCola SengokuCola merged commit 026f737 into main Apr 27, 2026
2 of 5 checks passed
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