## 背景 / Background #16 (4f7037a) 将 16 个 SKILL.md 的 `~/.desirecore` 路径批量替换为 `${DESIRECORE_ROOT}`,但只升了 `manifest.json`,**未升任何 per-skill version**。 客户端按 SKILL.md frontmatter 的 per-skill `version` 做 semver 同步:version 不变即判定「无更新」而永久跳过,导致已升级用户的全局技能正文停留在替换前的旧内容(与线上不同步)。 #16 (4f7037a) bulk-replaced `~/.desirecore` with `${DESIRECORE_ROOT}` in 16 SKILL.md files but only bumped `manifest.json`, leaving every per-skill `version` untouched. Clients sync by per-skill semver, so an unchanged version is treated as "no update" and skipped forever — upgraded users' global skills stay frozen on pre-replacement content. ## 改动 / Changes - 对 #16 触及且至今仍未升号的 **14 个在册技能** 各 patch +1 - `manifest.json` 1.2.2 → 1.2.3(沿用 #16「内容改动同步升 manifest」的约定) - 退役技能 `minimax-image-gen` / `minimax-tts`(不在 builtin-skills.json,不下发)跳过 - diff 为纯 version 行,未触动正文 Bumps the 14 in-manifest skills changed by #16 that were never version-bumped; manifest 1.2.2 → 1.2.3; retired skills skipped. Version-line-only diff.
9.7 KiB
name, description, version, type, risk_level, status, disable-model-invocation, tags, metadata, market
| name | description | version | type | risk_level | status | disable-model-invocation | tags | metadata | market | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dev-environment-setup | Use this skill as a router/index when the user faces a development environment question that spans multiple domains: containers (Docker/Podman), WSL2 on Windows, office-skill dependencies (DOCX/PDF/XLSX/ PPTX), or system tools (LibreOffice/Poppler/Pandoc/Tesseract). For pure Python issues use python-runtime skill; for pure Node.js issues use nodejs-runtime skill. Triggers include: "setup environment", "PATH", "WSL", "WSL2", "docker not found", "podman", "container", "office dependency", "LibreOffice", "poppler", "pandoc", "tesseract", or any cross-cutting environment question. 使用场景:用户提到 环境配置、PATH、 容器、Docker、Podman、WSL、WSL2、办公依赖、系统工具,或不确定属于 Python / Node.js 时的入口指引。 | 2.0.3 | procedural | low | enabled | true |
|
|
|
dev-environment-setup Skill (v2.0.0 router)
L0: One-line Summary
When to use: The user needs to
- Install / troubleshoot Docker or Podman containers ("docker not found", daemon startup, registry mirror, etc.)
- Configure WSL2 (Linux Subsystem) on Windows
- One-shot install of office skill dependencies (Python packages + npm packages + system tools required by DOCX / PDF / XLSX / PPTX)
- Install system tools: LibreOffice / Poppler / Pandoc / Tesseract / qpdf / ImageMagick / Ghostscript / Git
- Uncertain whether the issue belongs to Python or Node.js, and a comprehensive diagnosis is needed first
When not to use: Use python-runtime for pure Python issues, and nodejs-runtime for pure Node.js issues.
How to do it: First run scripts/probe.sh (use probe.ps1 on Windows) to obtain a system snapshot JSON,
and route to the corresponding references or sub-skill based on the result; this skill is also the source of truth
for DesireCore's built-in Hatch / Volta / HTTP API / Socket.IO integration (references/desirecore-runtime.md).
L1: Routing Rules
Route directly to the corresponding skill or document by the keywords in the user's question:
| Keyword / Scenario | Path |
|---|---|
| python / pip / venv / pyenv / hatch / virtualenv / PEP 668 | python-runtime skill |
| node / npm / pnpm / yarn / volta / nvm / fnm / EACCES | nodejs-runtime skill |
| docker / podman / container / container daemon | references/container.md |
| WSL / WSL2 / Windows Linux Subsystem | references/wsl.md |
| DOCX / PDF / XLSX / PPTX dependencies / office skill dependencies | references/office-deps.md |
| LibreOffice / poppler / pandoc / tesseract / qpdf | references/system-tools.md |
| Unsure of category, want a quick diagnosis | First run scripts/probe.sh and inspect the JSON |
| DesireCore Hatch / Volta / HTTP API / Socket.IO | references/desirecore-runtime.md |
| Four-tier fallback decision (API → CLI → package manager → community solution) | references/decision-tree.md |
L2: Detailed Specification
Step 1: Quick Diagnosis
bash skills/dev-environment-setup/scripts/probe.sh > /tmp/env-probe.json
cat /tmp/env-probe.json | jq .
For the meaning of output fields, see references/probe-snapshot.md. On Windows use scripts/probe.ps1.
Step 2: Route by Result
desirecore_apinon-empty → take the HTTP API path (references/desirecore-runtime.md)tools.python3.available = falseortools.node.available = false→ enter the corresponding sub-skilltools.docker.available = falseand the user needs containers →references/container.mdwsl.installed = falseand Windows user →references/wsl.md
Step 3: Execute the Sub-skill Decision Tree
Both python-runtime and nodejs-runtime have their own four-tier fallback (L1 API → L2 built-in CLI → L3 system package manager → L4 community solution), defined in the shared references/decision-tree.md.
Step 4: Office Skill Dependencies
Quick lookup for the office quartet (DOCX / PDF / XLSX / PPTX) dependencies: references/office-deps.md. Includes one-shot install commands for Python packages, npm packages, and system tools.
Step 5: System Tools
Installation and troubleshooting for LibreOffice / Poppler / Pandoc / Tesseract / qpdf / ImageMagick / Ghostscript: references/system-tools.md.
DesireCore Built-in Environment Management Base
DesireCore embeds Hatch (Python) and Volta (Node.js), providing complete environment management via HTTP API + Socket.IO. This skill and the sub-skills (python/nodejs) all rely on:
| Document | Content |
|---|---|
references/desirecore-runtime.md |
Binary path table, HTTP API quick-reference, Socket.IO event contracts, EnvironmentSnapshot data structure |
references/decision-tree.md |
Four-tier fallback flowchart, concrete signals for failure detection, switch prompts |
references/probe-snapshot.md |
Probe script JSON output protocol |
Important Constraints
- Do not write strong keywords like python / node / pip / npm into this skill's description—those belong to their respective sub-skills, to avoid trigger conflicts.
- API first:
scripts/probe.shfirst checks${DESIRECORE_ROOT}/agent-service.port; if it exists, recommend the HTTP API path. - Cache coherence: after any install/uninstall completes, call
POST /api/runtime/environment/refreshto invalidate the cache before issuing subsequent GETs. - Cross-platform: every command template provides both macOS / Linux and Windows (PowerShell) versions.
Sub-skill and Document Manifest
skills/
├── python-runtime/ # Python environment (Hatch first)
├── nodejs-runtime/ # Node.js environment (Volta first)
└── dev-environment-setup/ # This skill (composite entry)
├── references/
│ ├── desirecore-runtime.md
│ ├── decision-tree.md
│ ├── probe-snapshot.md
│ ├── container.md
│ ├── wsl.md
│ ├── office-deps.md
│ └── system-tools.md
└── scripts/
├── probe.sh
└── probe.ps1
Upgrade Notes (v1.x → v2.0.0)
- v1.x was a 1380-line all-in-one manual, now split.
- Python-related →
python-runtime - Node.js-related →
nodejs-runtime - Docker / WSL / office dependencies / system tools → this skill's
references/ - DesireCore Hatch / Volta upgraded from "optional community solution" to mandatory L1/L2 primary path
Downstream skills (docx / pdf / xlsx / pptx) should rewrite "for Python environment issues, see dev-environment-setup" to "for Python environment issues, see python-runtime / for Node.js environment issues, see nodejs-runtime".