Add OpenClaw skills, platform kit, and template docs

Made-with: Cursor
This commit is contained in:
2026-04-04 10:35:02 +08:00
parent e37b03c00f
commit 35f4758da2
83 changed files with 8971 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
"""路径与环境:与 account-manager 一致的数据根目录。"""
from __future__ import annotations
import os
import sys
from typing import Optional
SKILL_SLUG = "content-manager"
def get_skill_root() -> str:
# content_manager/config.py -> 技能根 content-manager/
return os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def get_openclaw_root() -> str:
return os.path.dirname(get_skill_root())
def get_data_root() -> str:
env = (os.getenv("JIANGCHANG_DATA_ROOT") or "").strip()
if env:
return env
if sys.platform == "win32":
return r"D:\jiangchang-data"
return os.path.join(os.path.expanduser("~"), ".jiangchang-data")
def get_user_id() -> str:
return (os.getenv("JIANGCHANG_USER_ID") or "").strip() or "_anon"
def get_skill_data_dir() -> str:
path = os.path.join(get_data_root(), get_user_id(), SKILL_SLUG)
os.makedirs(path, exist_ok=True)
return path
def get_db_path() -> str:
return os.path.join(get_skill_data_dir(), "content-manager.db")
def resolve_stored_path(relative_file_path: str) -> str:
"""库内相对路径 -> 绝对路径。"""
rel = (relative_file_path or "").strip().replace("\\", "/").lstrip("/")
return os.path.normpath(os.path.join(get_skill_data_dir(), rel))