bruce-doc-converter · git:20260608.9f59278 · 2026-06-08 · sha256 723288a3e971b1b1
bruce-doc-converter git:20260608.9f59278A
Immutable. This exact content is served forever at /api/v1/blob/723288a3e971b1b1.
--- name: bruce-doc-converter description: 双向文档转换工具,将 Word (.docx)、Excel (.xlsx)、PowerPoint (.pptx) 和 PDF (.pdf) 转换为 AI 友好的 Markdown,或将 Markdown (.md) 转换为 Word (.docx)(支持 Mermaid 图表自动渲染为 PNG)。当用户请求文档转换、导出、读取、分析 Office/PDF/Markdown 文件,或上传这些格式并询问内容时使用。 --- # Bruce Doc Converter Agent-facing document converter CLI.. ## When to use Use this skill when the user asks to: - Convert `.docx`, `.xlsx`, `.pptx`, `.pdf`, or `.md` files. - Read, summarize, inspect, or analyze Office/PDF documents. - Export Markdown as Word. - Process uploaded document files whose content the agent cannot directly read. ## Setup and version check Run this first — it checks installation status and current version in one step: ```bash bdc --help-json ``` - **Command not found** → not installed. Install using one of the methods below, then re-run. - **Returns JSON with `cli_version`** → installed. Compare against the latest on PyPI: ```bash pip index versions bruce-doc-converter 2>/dev/null | head -1 ``` If the versions differ, upgrade (see Upgrade section), then re-run `bdc setup-node` if Markdown to Word was previously set up. ### Install (if not already installed) Try the following in order — stop at the first that succeeds: ```bash # 1. pipx (preferred — isolated, bdc lands in PATH) pipx install bruce-doc-converter # 2. uv (if available — fast, isolated, bdc lands in PATH) uv tool install bruce-doc-converter # 3. pip --user (most universally available, bdc lands in PATH) pip3 install --user bruce-doc-converter # macOS/Linux pip install --user bruce-doc-converter # Windows # or universally: python3 -m pip install --user bruce-doc-converter (use `python` on Windows) # 4. venv fallback (works everywhere, but bdc will NOT be in PATH) python3 -m venv .venv .venv/bin/pip install bruce-doc-converter # Windows: .venv\Scripts\pip install bruce-doc-converter ``` > **venv note:** If you used the venv fallback, replace every `bdc` command below with `.venv/bin/bdc` (macOS/Linux) or `.venv\Scripts\bdc` (Windows). > **Windows note:** Use `python` instead of `python3` if the former is not recognized. ## Command Run: ```bash bdc convert "<file>" ``` For Markdown files with Mermaid diagrams, PNG rendering defaults to scale `4`. Increase or decrease it when needed: ```bash bdc convert "<file.md>" --mermaid-scale 5 ``` For batch conversion: ```bash bdc batch "<directory>" bdc batch "<directory>" --mermaid-scale 5 ``` For Markdown to Word, initialize the Node.js dependencies explicitly before first use: ```bash bdc setup-node ``` If the Markdown contains **Mermaid diagrams** (` ```mermaid ` blocks), they will be automatically rendered as PNG images embedded in the Word document. The CLI automatically detects and uses the user's local Chrome / Edge / Chromium during conversion, launching it headlessly with a temporary browser profile, so do not install a bundled browser unless local browser detection fails. If no local browser is available, explicitly install Puppeteer's dedicated browser: ```bash bdc setup-node --install-browser ``` If your environment specifically requires npm lifecycle scripts, run: ```bash bdc setup-node --allow-scripts --install-browser ``` > **Linux note:** Mermaid rendering is disabled by default on Linux sandboxed environments. Set `BRUCE_DOC_CONVERTER_ALLOW_CHROMIUM_NO_SANDBOX=1` if your environment requires it and you understand the risk. The CLI prints JSON to stdout by default. Progress logs may appear on stderr. ## Output handling Parse stdout as JSON. On success: - `success` is `true`. - `output_path` points to the generated file. - Office/PDF inputs include `markdown_content` for direct analysis. - `.md` inputs produce a `.docx` file and may omit `markdown_content`. On failure: - `success` is `false`. - Use `error_code`, `retryable`, optional `next_command`, `error`, and optional `suggestion` to decide the next step. - Do not pre-check Python dependencies. Run the command first and react to JSON failure. - If Markdown to Word returns `DEPENDENCY_INSTALL_REQUIRED`, run `next_command` when present, otherwise run `bdc setup-node`, then retry. - `bdc setup-node` is idempotent and may return `already_installed: true` with `install_action: "skipped"`. ## Upgrade To upgrade to the latest version, use the same tool you used to install: ```bash pipx upgrade bruce-doc-converter # if installed via pipx uv tool upgrade bruce-doc-converter # if installed via uv pip install --user --upgrade bruce-doc-converter # if installed via pip --user .venv/bin/pip install --upgrade bruce-doc-converter # if installed in a venv (macOS/Linux) .venv\Scripts\pip install --upgrade bruce-doc-converter # venv on Windows ``` After upgrading, re-run `bdc setup-node` if you use Markdown to Word conversion, as Node.js dependencies may also have been updated. ## Troubleshooting installation | Error | Cause | Fix | | --------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | `SOCKS support` / proxy connection error | `all_proxy` or `http_proxy` env vars set | Run `unset all_proxy http_proxy https_proxy` (macOS/Linux) or `set all_proxy=` (Windows CMD), then retry | | `command not found: pipx` | pipx not installed | Try `uv tool install` or `pip install --user` instead | | `externally-managed-environment` | Python 3.11+ system Python forbids global pip | Use `pipx`, `uv tool install`, or the venv fallback | | Permission denied | No write access to install location | Add `--user` flag, or use venv fallback | | `bdc: command not found` after venv install | venv bin not in PATH | Use full path:`.venv/bin/bdc` (macOS/Linux) or `.venv\Scripts\bdc` (Windows) | ## Supported formats | Input | Output | | --------- | -------------- | | `.docx` | Markdown | | `.xlsx` | Markdown | | `.pptx` | Markdown | | `.pdf` | Markdown | | `.md` | Word `.docx` |