日期: 2026-03-07 执行人: Atlas🐻 任务状态: in_progress(主体工作已完成,待Coco确认可标记completed)
按Sage架构文档(multi-tenant-arch-v1.md)附录B扫描清单,完成了6个文件的7处路径硬编码清理。所有修改文件均通过Python AST静态语法验证。
路径: 09-虚拟办公区系统/config_paths.py
新增内容(在 TENANT_DATA_DIR 定义之后):
LIGHTRAG_STORE_DIR = CHAT_DATA_DIR / "lightrag_store"
LIGHTRAG_GRAPHML = LIGHTRAG_STORE_DIR / "graph_chunk_entity_relation.graphml"
LIGHTRAG_PYTHON = Path(os.environ.get(
"LIGHTRAG_PYTHON",
str(Path.home() / ".local" / "venvs" / "lightrag-venv" / "bin" / "python")
))
AUDIT_LOG_DIR = BASE_DIR / "03-Coco首席助理" / "审计日志"
设计说明:
- LIGHTRAG_STORE_DIR 基于 CHAT_DATA_DIR(_APP_DIR / "chat_data"),子体容器内 bind mount 自动隔离
- LIGHTRAG_PYTHON 支持通过环境变量 LIGHTRAG_PYTHON 覆盖,子体容器内 venv 路径不同
- AUDIT_LOG_DIR 基于 BASE_DIR,子体容器内通过 AIOS_WORKSPACE_DIR 环境变量指向租户专属目录
路径: 09-虚拟办公区系统/data_firewall.py
| 代码 | |
|---|---|
| Before | PROJECT_ROOT = Path(__file__).parent.parent.parent.parent |
AUDIT_LOG_DIR = PROJECT_ROOT / "日记" / "数字员工团队" / "03-Coco首席助理" / "审计日志" |
|
| After | from config_paths import AUDIT_LOG_DIR |
路径: 09-虚拟办公区系统/memory_router.py
3a. 路径配置块(行32-37)
Before:
SCRIPT_DIR = Path(__file__).resolve().parent
...
LIGHTRAG_VENV = Path.home() / ".local" / "venvs" / "lightrag-venv" / "bin" / "python"
LIGHTRAG_SCRIPT = SCRIPT_DIR / "lightrag_memory.py"
After:
from config_paths import APP_DIR, BASE_DIR, LIGHTRAG_PYTHON, LIGHTRAG_GRAPHML
SCRIPT_DIR = Path(__file__).resolve().parent
...
LIGHTRAG_VENV = LIGHTRAG_PYTHON
LIGHTRAG_SCRIPT = APP_DIR / "lightrag_memory.py"
3b. GRAPHML_PATH(行69)
Before: GRAPHML_PATH = SCRIPT_DIR / "chat_data" / "lightrag_store" / "graph_chunk_entity_relation.graphml"
After: GRAPHML_PATH = LIGHTRAG_GRAPHML
路径: 09-虚拟办公区系统/rebuild_graphml.py
Before:
STORE_DIR = os.path.join(os.path.dirname(__file__), "chat_data", "lightrag_store")
After:
from config_paths import LIGHTRAG_STORE_DIR
STORE_DIR = str(LIGHTRAG_STORE_DIR)
路径: 09-虚拟办公区系统/lightrag_memory.py
Before:
from config_paths import BASE_DIR
WORKING_DIR = str(Path(__file__).parent / "chat_data" / "lightrag_store")
PYTHON_BIN = str(Path.home() / ".local" / "venvs" / "lightrag-venv" / "bin" / "python3")
After:
from config_paths import BASE_DIR, LIGHTRAG_STORE_DIR, LIGHTRAG_PYTHON
WORKING_DIR = str(LIGHTRAG_STORE_DIR)
PYTHON_BIN = str(LIGHTRAG_PYTHON)
路径: 09-虚拟办公区系统/system_health_checker.py
6a. CRITICAL_FILES字典(行88)
Before: "graphml": SYS_DIR / "chat_data" / "lightrag_store" / "graph_chunk_entity_relation.graphml"
After: "graphml": LIGHTRAG_GRAPHML
6b. GRAPHML_PATH常量(行120)
Before: GRAPHML_PATH = SYS_DIR / "chat_data" / "lightrag_store" / "graph_chunk_entity_relation.graphml"
After: GRAPHML_PATH = LIGHTRAG_GRAPHML
新增import:from config_paths import LIGHTRAG_GRAPHML
config_paths.py: OK
data_firewall.py: OK
memory_router.py: OK
rebuild_graphml.py: OK
lightrag_memory.py: OK
system_health_checker.py: OK
所有6个文件通过 python3 -c "import ast; ast.parse(open(f).read())" 静态语法验证。
按任务规范,以下类型的 Path(__file__).parent 保持不变,不在本次清理范围:
本次清理覆盖了Sage架构文档附录B扫描清单中全部7处(6个文件,其中memory_router.py含3处)。
所有修改均保持向后兼容:
- 母体模式下,LIGHTRAG_STORE_DIR = _APP_DIR / "chat_data" / "lightrag_store",与原有硬编码路径完全相同
- LIGHTRAG_PYTHON 母体默认值 = 原有 Path.home() / ".local/venvs/lightrag-venv/bin/python",与原有路径完全相同
- 仅当子体容器设置了 AIOS_WORKSPACE_DIR / LIGHTRAG_PYTHON 环境变量时,路径才会改变
Atlas🐻 | 2026-03-07