mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-06-06 08:10:48 +08:00
feat: 拆分 environment-setup 为 Python/Node.js 运行时双核心 + 父级路由
新增双核心 skill(深度集成 DesireCore Hatch/Volta + HTTP API + Socket.IO): - python-runtime v1.0.1:Python 运行时管理 · 四级降级:HTTP API → Hatch CLI 绝对路径 → 系统包管理器 → pyenv · references:hatch-desirecore / pyenv-fallback / virtualenv / troubleshooting · scripts/probe-python.sh:输出 JSON 快照供 Claude 解析决策 - nodejs-runtime v1.0.1:Node.js 运行时管理 · 四级降级:HTTP API → Volta CLI → 系统包管理器/NodeSource → nvm/fnm · references:volta-desirecore / nvm-fallback / package-managers / troubleshooting · scripts/probe-node.sh:输出 JSON 快照(含 volta_tools / package_json_volta 等) environment-setup → dev-environment-setup v2.0.1(重命名 + 重写为 router): - 从 1380 行手册瘦身为 ~150 行索引 - 仅负责容器(Docker/Podman)/ WSL2 / 办公依赖速查 / 系统工具 - references/desirecore-runtime.md 沉淀 Hatch/Volta 路径表 + HTTP API 速查 + Socket.IO 事件契约,作为两个核心 skill 的共享底座 - references/decision-tree.md 定义四级降级决策树 - scripts/probe.sh + probe.ps1 系统级 JSON 探测 三个 SKILL.md 的 L0 改为场景驱动结构(何时使用 / 何时不要用 / 怎么做), 让 AI 凭名字与 L0 即可判断匹配场景。 注册更新: - builtin-skills.json:新增 python-runtime / nodejs-runtime / dev-environment-setup (原 environment-setup 移除),按字母序,共 21 个 skill - manifest.json:totalSkills 19→21,lastUpdated 2026-05-02 下游同步: - docx / pdf / xlsx / pptx 中的环境引用从 environment-setup 拆分为 python-runtime / nodejs-runtime / dev-environment-setup 三向指引 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
224
skills/dev-environment-setup/references/system-tools.md
Normal file
224
skills/dev-environment-setup/references/system-tools.md
Normal file
@@ -0,0 +1,224 @@
|
||||
# 系统工具安装
|
||||
|
||||
办公技能、PDF/OCR、文档转换会用到的系统级二进制工具。
|
||||
|
||||
## LibreOffice(文档转换 / 公式重算)
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install --cask libreoffice
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install libreoffice
|
||||
|
||||
# Fedora / RHEL
|
||||
sudo dnf install libreoffice
|
||||
|
||||
# Arch
|
||||
sudo pacman -S libreoffice-fresh
|
||||
|
||||
# Windows
|
||||
winget install TheDocumentFoundation.LibreOffice
|
||||
```
|
||||
|
||||
无头转换(CLI):
|
||||
```bash
|
||||
soffice --headless --convert-to pdf input.docx
|
||||
soffice --headless --calc --convert-to xlsx input.csv
|
||||
```
|
||||
|
||||
## Poppler(PDF 工具集)
|
||||
|
||||
提供 `pdftotext` / `pdftoppm` / `pdfimages` / `pdftohtml` 等。
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install poppler
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install poppler-utils
|
||||
|
||||
# Fedora / RHEL
|
||||
sudo dnf install poppler-utils
|
||||
|
||||
# Arch
|
||||
sudo pacman -S poppler
|
||||
|
||||
# Windows(通过 conda 或手动)
|
||||
conda install -c conda-forge poppler
|
||||
# 或下载 https://github.com/oschwartz10612/poppler-windows/releases,将 bin/ 加入 PATH
|
||||
```
|
||||
|
||||
常用:
|
||||
```bash
|
||||
pdftotext input.pdf output.txt
|
||||
pdftoppm -png input.pdf prefix # 每页一张 PNG
|
||||
pdfimages -png input.pdf prefix # 提取嵌入图片
|
||||
```
|
||||
|
||||
## qpdf(PDF 操作)
|
||||
|
||||
合并 / 拆分 / 解密 / 加密。
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install qpdf
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install qpdf
|
||||
|
||||
# Fedora / RHEL
|
||||
sudo dnf install qpdf
|
||||
|
||||
# Windows
|
||||
winget install QPDF.QPDF
|
||||
```
|
||||
|
||||
常用:
|
||||
```bash
|
||||
qpdf --decrypt --password=secret input.pdf output.pdf
|
||||
qpdf --split-pages input.pdf output-%d.pdf
|
||||
qpdf --empty --pages a.pdf b.pdf -- merged.pdf
|
||||
```
|
||||
|
||||
## Pandoc(文档格式互转)
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install pandoc
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install pandoc
|
||||
|
||||
# Fedora / RHEL
|
||||
sudo dnf install pandoc
|
||||
|
||||
# Arch
|
||||
sudo pacman -S pandoc
|
||||
|
||||
# Windows
|
||||
winget install JohnMacFarlane.Pandoc
|
||||
```
|
||||
|
||||
常用:
|
||||
```bash
|
||||
pandoc input.docx -o output.md
|
||||
pandoc input.md -o output.pdf --pdf-engine=xelatex
|
||||
pandoc input.html -o output.docx
|
||||
```
|
||||
|
||||
## Tesseract(OCR 引擎)
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install tesseract
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install tesseract-ocr
|
||||
|
||||
# Fedora / RHEL
|
||||
sudo dnf install tesseract
|
||||
|
||||
# Arch
|
||||
sudo pacman -S tesseract
|
||||
|
||||
# Windows
|
||||
winget install UB-Mannheim.TesseractOCR
|
||||
```
|
||||
|
||||
### 中文语言包
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install tesseract-lang
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install tesseract-ocr-chi-sim tesseract-ocr-chi-tra
|
||||
|
||||
# Fedora
|
||||
sudo dnf install tesseract-langpack-chi_sim tesseract-langpack-chi_tra
|
||||
```
|
||||
|
||||
使用:
|
||||
```bash
|
||||
tesseract image.png output -l chi_sim # 简体
|
||||
tesseract image.png output -l chi_sim+eng # 中英混合
|
||||
```
|
||||
|
||||
## ImageMagick(图像处理,可选)
|
||||
|
||||
```bash
|
||||
brew install imagemagick # macOS
|
||||
sudo apt install imagemagick # Ubuntu / Debian
|
||||
sudo dnf install ImageMagick # Fedora
|
||||
winget install ImageMagick.ImageMagick # Windows
|
||||
```
|
||||
|
||||
## Ghostscript(PDF / PostScript 渲染)
|
||||
|
||||
```bash
|
||||
brew install ghostscript # macOS
|
||||
sudo apt install ghostscript # Ubuntu / Debian
|
||||
sudo dnf install ghostscript # Fedora
|
||||
winget install ArtifexSoftware.GhostScript # Windows
|
||||
```
|
||||
|
||||
## Git(版本控制,必备)
|
||||
|
||||
```bash
|
||||
brew install git # macOS
|
||||
sudo apt install git # Ubuntu / Debian
|
||||
sudo dnf install git # Fedora
|
||||
sudo pacman -S git # Arch
|
||||
winget install Git.Git # Windows
|
||||
```
|
||||
|
||||
macOS 上 `xcode-select --install` 也会带 git。
|
||||
|
||||
## 跨平台一键检查脚本
|
||||
|
||||
```bash
|
||||
for cmd in soffice pandoc pdftoppm pdftotext pdfimages qpdf tesseract magick gs git; do
|
||||
command -v "$cmd" >/dev/null 2>&1 \
|
||||
&& echo " OK: $cmd ($(command -v "$cmd"))" \
|
||||
|| echo " MISSING: $cmd"
|
||||
done
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
### macOS: "soffice: command not found"
|
||||
|
||||
`/Applications/LibreOffice.app/Contents/MacOS/soffice` 是真实路径。建立软链:
|
||||
```bash
|
||||
ln -s /Applications/LibreOffice.app/Contents/MacOS/soffice /usr/local/bin/soffice
|
||||
```
|
||||
|
||||
### Tesseract 找不到中文语言包
|
||||
|
||||
```bash
|
||||
tesseract --list-langs # 检查已安装语言
|
||||
# 找到语言数据目录
|
||||
tesseract --print-parameters | grep tessdata
|
||||
# macOS Apple Silicon: /opt/homebrew/share/tessdata
|
||||
# 把缺失的 chi_sim.traineddata 放进去
|
||||
```
|
||||
|
||||
下载链接:https://github.com/tesseract-ocr/tessdata_fast
|
||||
|
||||
### Windows 工具未在 PATH
|
||||
|
||||
winget 安装后通常自动加入 PATH,重启终端即生效。手动安装的(如 poppler-windows)需要把 `<安装目录>\bin` 加入系统 PATH:
|
||||
|
||||
```powershell
|
||||
[Environment]::SetEnvironmentVariable(
|
||||
"Path",
|
||||
$env:Path + ";C:\poppler\bin",
|
||||
[EnvironmentVariableTarget]::User
|
||||
)
|
||||
```
|
||||
|
||||
重启终端验证:
|
||||
```powershell
|
||||
pdftotext --version
|
||||
```
|
||||
Reference in New Issue
Block a user