
beancookie/dsh-plugin-anydoc
50Last commit Aug 14, 2026
dsh-plugin-anydoc DSH plugin
This plugin registers the `anydoc` tool from @firecrawl/anydoc into the DSH Agent, enabling document-to-Markdown conversion without external processes. It runs on libuv thread pool, ensuring non-blocking operation. Supports Word, PowerPoint, Excel, PDF, EPUB, and more.
How to install the dsh-plugin-anydoc DSH plugin
dsh plugin --profile web add github:beancookie/dsh-plugin-anydocCopying does not run this command. Review the repository and version before installing the dsh-plugin-anydoc DSH plugin.
dsh-plugin-anydoc DSH plugin data source
dsh-plugin-anydoc DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-plugin-anydoc DSH plugin can do
- Converts .doc, .docx, .docm, .ppt, .pptx, .xls, .xlsx, .pdf, .epub, .csv, .rtf, .odt, .ods, .odp to GitHub-Flavored Markdown
- Auto-detects file format based on content; optionally specify format explicitly
- Optionally writes converted result to a file and returns a summary instead of full Markdown
- Runs in libuv thread pool, does not block the event loop
- No external processes or Python environment required; uses Rust native bindings via napi-rs
Where the dsh-plugin-anydoc DSH plugin fits
- Convert a .docx report to Markdown for further analysis in a DSH conversation
- Extract data from a .pdf document and present it as Markdown tables
- Batch process multiple .xlsx files and write results to separate Markdown files
- Integrate document conversion into an automated workflow within DSH Agent
Who the dsh-plugin-anydoc DSH plugin is for
- DSH users who frequently need to include document content (Word, PDF, etc.) in their conversations
- Developers and technical writers who want to transform documents into Markdown for documentation or processing
dsh-plugin-anydoc DSH plugin limitations
- Does not support HTML, JSON, XML, images, or audio files
- Only works with local file paths; files must be accessible by the DSH agent
- Conversion quality depends on the underlying @firecrawl/anydoc library; complex layouts may not be fully preserved
dsh-plugin-anydoc DSH plugin: from the repository README
Quoted from the beancookie/dsh-plugin-anydoc README, the upstream source of the dsh-plugin-anydoc DSH plugin. Copyright remains with the original authors.
一个 DeepSeek Harness (DSH) 插件,将 `@firecrawl/anydoc` 作为 `anydoc` 工具注册给 Agent,把多种文档格式转换为 GitHub-Flavored Markdown。 基于 [@firecrawl/anydoc](https://github.com/firecrawl/anydoc)(Rust 原生绑定,napi-rs),在 libuv 线程池中执行,不阻塞事件循环,无需任何外部进程或 Python 环境。 ## 支持的格式 | 类别 | 扩展名 | | --- | --- | | Word | `.doc` `.docx` `.docm` | | PowerPoint | `.ppt` `.pps` `.pot` `.pptx` `.pptm` `.ppsx` `.ppsm` | | Excel | `.xls` `.xlsx` `.xlsm` `.xlsb` | | OpenDocument | `.odt` `.ods` `.odp` | | Rich Text | `.rtf` | | EPUB | `.epub` | | CSV | `.csv` | | PDF | `.pdf` | > 不支持 HTML、JSON、XML、图片与音频。 ## 安装 ```sh dsh plugin --profile web add github:beancookie/dsh-plugin-anydoc ``` 安装完成后直接启动: ```sh dsh web ``` ### 卸载 ```sh dsh plugin --profile web remove dsh-plugin-anydoc ``` ## 使用 启动 DSH Web 后,向 Agent 发送类似指令: ``` 请将 /path/to/report.docx 转换为 Markdown ``` Agent 会调用 `anydoc` 工具,返回转换后的 Markdown 内容。 ## 工具参数 | 参数 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `filePath` | string | 是 | 要转换文件的绝对或相对路径 | | `format` | string | 否 | 显式指定格式(如 `csv`);缺省时根据文件内容自动检测 | | `outputFilePath` | string | 否 | 将结果写入该文件并返回摘要,而非返回完整 Markdown | ## 开发 ```sh # 安装依赖 pnpm install # 编译 TypeScript 到 lib/ pnpm build ``` 本地加载(--patch 开发模式): ```sh
Read the full READMEThe repository declares no license. Check with the authors before using it.
dsh-plugin-anydoc DSH plugin questions
How do I install dsh-plugin-anydoc?
Run `dsh plugin --profile web add github:beancookie/dsh-plugin-anydoc` in your terminal. Then start DSH with `dsh web`. The plugin will be automatically loaded.
Which document formats are supported?
The plugin supports Word (.doc, .docx, .docm), PowerPoint (.ppt, .pps, .pot, .pptx, .pptm, .ppsx, .ppsm), Excel (.xls, .xlsx, .xlsm, .xlsb), OpenDocument (.odt, .ods, .odp), Rich Text (.rtf), EPUB (.epub), CSV (.csv), and PDF (.pdf). It does not support HTML, JSON, XML, images, or audio.
Can I convert a file without specifying the format?
Yes, the plugin auto-detects the format based on the file content. If you want to override the detection, you can pass the `format` parameter (e.g., `csv`).
How can I save the converted Markdown to a file instead of getting it in the response?
Use the `outputFilePath` parameter when calling the `anydoc` tool. The plugin will write the converted Markdown to that file and return a summary message.
Does the plugin require any external dependencies like Pandoc or Python?
No. The plugin uses Rust native bindings via napi-rs, so it runs entirely inside Node.js without any external processes or Python environment. It is self-contained.