fix: replace hardcoded ~/.desirecore paths with ${DESIRECORE_ROOT} variable (#16)

## Summary

- 将所有技能文件中的硬编码 `~/.desirecore/` 和 `$HOME/.desirecore/` 路径替换为
`${DESIRECORE_ROOT}/` 变量
- 递增 manifest.json version 至 1.2.1

## Why

dev 模式下 `DESIRECORE_HOME=~/.desirecore-dev`,硬编码路径导致技能读取错误的端口文件和目录。主仓库的
`variable-substitutor.ts` 会在运行时将 `${DESIRECORE_ROOT}` 替换为实际根目录。

## Test plan

- [ ] `npm run dev` 启动后触发任意技能,确认端口路径解析为
`~/.desirecore-dev/agent-service.port`
- [ ] prod 模式确认路径为 `~/.desirecore/agent-service.port`

🤖 Generated with [Claude Code](https://claude.com/claude-code)
This commit is contained in:
2026-05-29 15:36:19 +08:00
committed by GitHub
parent 3015a3ffb8
commit 4f7037a6b6
52 changed files with 192 additions and 192 deletions

View File

@@ -6,8 +6,8 @@ Usage:
init_skill.py <skill-name> --path <path> [--format basic|desirecore]
Examples:
init_skill.py my-new-skill --path ~/.desirecore/skills
init_skill.py my-api-helper --path ~/.desirecore/skills --format basic
init_skill.py my-new-skill --path ${DESIRECORE_ROOT}/skills
init_skill.py my-api-helper --path ${DESIRECORE_ROOT}/skills --format basic
"""
import sys
@@ -230,8 +230,8 @@ def main():
parser = argparse.ArgumentParser(
description='Initialize a new skill from template',
epilog='Examples:\n'
' init_skill.py my-new-skill --path ~/.desirecore/skills\n'
' init_skill.py my-api-helper --path ~/.desirecore/skills --format basic',
' init_skill.py my-new-skill --path ${DESIRECORE_ROOT}/skills\n'
' init_skill.py my-api-helper --path ${DESIRECORE_ROOT}/skills --format basic',
formatter_class=argparse.RawDescriptionHelpFormatter,
)
parser.add_argument('skill_name', help='Skill name (kebab-case, max 64 chars)')

View File

@@ -127,9 +127,9 @@ def install_skill(skill_path, scope='global', agent_id=None):
print("❌ Error: Agent Service not running (port file not found)")
print("\nFallback — install via file system:")
if scope == 'agent' and agent_id:
print(f" cp -r {skill_path} ~/.desirecore/agents/{agent_id}/skills/")
print(f" cp -r {skill_path} ${DESIRECORE_ROOT}/agents/{agent_id}/skills/")
else:
print(f" cp -r {skill_path} ~/.desirecore/skills/")
print(f" cp -r {skill_path} ${DESIRECORE_ROOT}/skills/")
return None
content = skill_md.read_text()