Files
blackbird/aibox/subsystems/__init__.py
T
qing 7f21b65428 fix(aibox): FTS5 中文检索 + Token 压缩阈值生效——Compressor 抽离解耦
- db.py: FTS5 改用 trigram 分词(中文可检索),旧 unicode61 表自动迁移回灌;search_memories 增加 LIKE 兜底(%/_ 转义、MATCH 异常防护)
- conversation_compressor.py: should_compress 补齐 Token 阈值判断(原为死配置),Token 触发时按比例压缩早期消息
- ConversationCompressor 抽离至 subsystems,注入 llm_client 打破与 DeepSeekChat 循环引用;aibox.py 3517→3018 行
- 新增 21 项测试(中文检索/旧表迁移/LIKE 转义/token 估算/压缩流程/失败回退),全量 232 项通过
2026-08-15 09:51:59 +08:00

38 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
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(对话历史管理)
- conversation_compressor.py : ConversationCompressor(对话压缩,注入 llm_client)
依赖方向: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
from .conversation_compressor import ConversationCompressor
__all__ = [
"CommandExecutor",
"SubprocessCommandExecutor",
"PromptManager",
"MemoryDatabase",
"MemoDatabase",
"SkillManager",
"ConversationHistory",
"ConversationCompressor",
]