Skip to content

[WIP] Update roadmap for version 0.1 development#1532

Closed
Copilot wants to merge 1 commit into
mainfrom
copilot/roadmap-v01-development
Closed

[WIP] Update roadmap for version 0.1 development#1532
Copilot wants to merge 1 commit into
mainfrom
copilot/roadmap-v01-development

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 2, 2026

  • Analyze the Roadmap v0.1 issue and compare with r-dev branch code
  • Create src/chat/utils/common_utils.py with TempMethodsHFC class
  • Remove methods _parse_stream_config_to_chat_id, _now_minutes, _parse_range, _in_range, get_talk_value from ChatConfig in official_configs.py
  • Update heartFC_chat.py to use TempMethodsHFC.get_talk_value()
  • Update frequency_api.py to use TempMethodsHFC.get_talk_value()
Original prompt

This section details on the original issue you should resolve

<issue_title>Roadmap v0.1</issue_title>
<issue_description>> Note: All development work mentioned in this roadmap is being actively worked on in the r-dev branch.

What have we done previously?

MaiBot has evolved from a simple bot extension to a full-featured AI agent. Here's the version history:

  • v0.12.x (2025-12 ~ 2026-01) - Thinking intensity mechanism, dream functionality, MCP plugin, WebUI enhancements
  • v0.11.x (2025-10 ~ 2025-12) - First official WebUI, memory system (Hippocampus Agent), jargon learning
  • v0.10.x (2025-08 ~ 2025-09) - Major refactoring: tool system merged into plugins, LLM request refactoring
  • v0.9.x (2025-07) - Plugin system overhaul, Normal/Focus mode unification
  • v0.8.x (2025-06 ~ 2025-07) - Plugin system launch, character impression system
  • v0.7.x (2025-06) - MongoDB → SQLite migration, expression learning
  • v0.6.x (2025-04 ~ 2025-05) - MaiCore refactor, thinking flow system, LPMM knowledge base

v0.1 Features & Roadmap

🚀 Top Priorities (Mai NEXT)

🏗️ Architecture Refactoring

  • Configuration System Overhaul

    • TOML configuration format
    • Pydantic-based config classes with atomic types only
    • Migrate methods to temporary classes
      • TempMethodsExpression (migrated from ExpressionConfig)
      • TempMethodsLLMUtils (migrated from ModelConfig)
      • TempMethodsHFC (from ChatConfig) — class not yet created; _parse_range / get_talk_value still on HeartFChatting
    • BotConfig simplification (Nickname & Alias Name only)
    • Configuration hot-reload system
      • File watcher (watchfiles)
      • Callback registration with error isolation
      • Lock mechanism for safe reloading (asyncio.Lock)
  • Database Model Unification

    • Auto-increment primary key id for all tables
    • SQLModel as base class
    • JSON storage for complex types
    • Unified timestamp field naming — currently 8+ patterns (timestamp, record_time, create_time, created_timestamp, first_known_time, etc.)
    • Soft delete mechanism for images/emojis (is_deleted field)
    • Unified naming: stream_id/chat_idsession_id — SQLModel tables mostly migrated; legacy data models still use old names
    • Hash algorithm upgrade to SHA-256 — partially done (images, emoji, knowledge graph use SHA-256; session ID, person info, message utils still use MD5)
  • Message System

    • Detailed message construction documentation
      • Mixed type documentation
      • Forward type documentation
      • Command type documentation
    • Message chain construction (AstrBot-style)
    • Accept Format validation before sending

🧠 Core Systems

  • LLM Interface Unification

    • Unified LLM response format — APIResponse and LLMGenerationDataModel both exist; needs consolidation into a single model
    • Remove LLM Client initialization from __init__ — now uses ClientRegistry pattern
    • get_llm_client() method for all LLM access — currently uses client_registry.get_client_class_instance()
    • LLM Client Manager (ClientRegistry partially implements this)
      • Singleton/multi-instance management
      • Cache management & lifecycle
      • Hot-reload on config change
  • Memory System Enhancement

    • Time-aware memory system
      • Query/delete by timestamp
    • Memory layering
      • Instant memory
      • Short-term memory
      • Long-term memory
    • Integration with LPMM knowledge graph
  • Prompt Management

    • User-defined Prompt system
    • Prompt construction & file interaction
    • Official Prompts independence

🔌 Plugin System

  • Plugin Manager Overhaul

    • Rewrite plugin loading logic
    • Subclass-based loading (drop @register_plugin)
    • Plugin hot-reload system
      • Config file hot-reload
      • Code hot-reload (with rollback support)
    • allow_hot_reload: bool flag for plugins
  • Component Manager

    • Better component management code
    • Global/local control parity
    • Component property modification API
    • Component system unloading
  • Dependency Management

    • requirements.txt analysis
    • python_dependencies auto-install
    • plugin_dependencies with topological sort
  • MCP Integration — MCP Bridge Plugin already exists (plugins/MaiBot_MCPBridgePlugin/) with tool chain, circuit breaker, and WebUI support; items below are for core-level adapter design

    • MCP adapter class design
      • MCP call prompt construction
      • Content passing
      • Result handling
  • Tool Result Caching

    • put_cache() method
    • get_cache() method
    • need_cache flag
  • **Events Dependency Me...


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

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.

Roadmap v1.0

2 participants