This commit is contained in:
2026-09-09 10:29:02 +08:00
parent 2aa49b5263
commit ccb12dad7c
102 changed files with 7879 additions and 559 deletions

View File

@@ -1,10 +1,13 @@
"""数据根、技能目录、兄弟技能根路径与用户数据子目录解析。"""
"""技能数据目录与 DB 路径解析(简化版)。
真实模板用 ``jiangchang_skill_core.runtime_env``;本 demo 复用其 mock。
数据目录 = ``{data_root}/{user_id}/{slug}/``,DB 即 ``{slug}.db``。
"""
from __future__ import annotations
import os
from jiangchang_skill_core.runtime_env import get_data_root, get_sibling_skills_root, get_user_id
from jiangchang_skill_core.runtime_env import get_data_root, get_user_id
from util.constants import SKILL_SLUG
@@ -32,28 +35,22 @@ CONFIG_KEY_TEMP_DIR = "SKILL_TEMP_DIR"
def get_skill_root() -> str:
"""技能根目录(含 SKILL.md / scripts/ 的目录)。"""
return os.path.dirname(_SCRIPTS_DIR)
def get_openclaw_root() -> str:
return get_sibling_skills_root(_SCRIPTS_DIR)
def get_skills_root() -> str:
return get_sibling_skills_root(_SCRIPTS_DIR)
def get_skill_data_dir() -> str:
"""本技能数据目录:``{data_root}/{user_id}/{slug}/``。"""
path = os.path.join(get_data_root(), get_user_id(), SKILL_SLUG)
os.makedirs(path, exist_ok=True)
return path
def get_db_path(filename: str | None = None) -> str:
"""SQLite 文件路径,默认 ``{slug}.db``。"""
name = filename or f"{SKILL_SLUG}.db"
return os.path.join(get_skill_data_dir(), name)
def _normalize_subdir(value: str) -> str:
cleaned = value.strip().strip("/\\")
if not cleaned or cleaned.startswith(".."):
@@ -153,3 +150,4 @@ def list_resolved_data_paths() -> dict[str, str]:
"temp_dir": get_temp_dir(create=False),
"videos_dir": get_videos_dir(create=False),
}