refactor(aibox): 抽离ConversationHistory至subsystems(Wave2阶段1)

- 新增 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),无回归
This commit is contained in:
qing committed 2026-08-13 16:54:32 +08:00
1 parent 8cb822b511
commit 85133868f3
4 files changed
+782 -324

No files matched your search

+4
View File
@@ -7,6 +7,8 @@ subsystems - aibox 子系统模块(包)
- prompt_manager.py : PromptManager(单例)
- db.py : MemoryDatabase + MemoDatabase
- skill_manager.py : SkillManager
Wave 2:
- conversation_history.py : ConversationHistory(对话历史管理)
依赖方向:common <- subsystems <- aibox
不反向依赖 aibox 任何符号。
@@ -19,6 +21,7 @@ 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",
@@ -27,4 +30,5 @@ __all__ = [
"MemoryDatabase",
"MemoDatabase",
"SkillManager",
"ConversationHistory",
]