- 新增 subsystems/conversation_history.py: 迁移对话历史管理器(318行),MemoryDatabase用TYPE_CHECKING注解避免循环导入 - subsystems/__init__.py: 导出ConversationHistory,更新docstring含Wave2 - aibox.py: 移除ConversationHistory类定义(3706->3388行),仅保留import与类型注解 - 新增 tests/test_conversation_history.py: 41项单测,覆盖构造/当前对话/归档/历史加载/memory_db集成 - 测试基线: 171->212项全过(12.13s),无回归
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""
|
||
subsystems - aibox 子系统模块(包)
|
||
|
||
抽离自 aibox.py 的基础设施子系统,按职责分文件。
|
||
当前包含(Wave 1):
|
||
- executors.py : CommandExecutor + SubprocessCommandExecutor
|
||
- prompt_manager.py : PromptManager(单例)
|
||
- db.py : MemoryDatabase + MemoDatabase
|
||
- skill_manager.py : SkillManager
|
||
Wave 2:
|
||
- conversation_history.py : ConversationHistory(对话历史管理)
|
||
|
||
依赖方向:common <- subsystems <- aibox
|
||
不反向依赖 aibox 任何符号。
|
||
|
||
采用"重导出"策略:外部统一用 `from subsystems import MemoryDatabase`,
|
||
调用点无需关心具体子模块所在文件。
|
||
"""
|
||
|
||
from .executors import CommandExecutor, SubprocessCommandExecutor
|
||
from .prompt_manager import PromptManager
|
||
from .db import MemoryDatabase, MemoDatabase
|
||
from .skill_manager import SkillManager
|
||
from .conversation_history import ConversationHistory
|
||
|
||
__all__ = [
|
||
"CommandExecutor",
|
||
"SubprocessCommandExecutor",
|
||
"PromptManager",
|
||
"MemoryDatabase",
|
||
"MemoDatabase",
|
||
"SkillManager",
|
||
"ConversationHistory",
|
||
]
|