agent-reader 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/README.md +127 -172
- package/SKILL.md +190 -28
- package/bin/agent-reader.js +1 -1
- package/openclaw-skill/SKILL.md +190 -28
- package/package.json +1 -1
- package/src/mcp/server.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.1.
|
|
3
|
+
## 1.1.5 - 2026-03-15
|
|
4
|
+
|
|
5
|
+
- Restructured README: OpenClaw/Agent integration first, manual CLI second.
|
|
6
|
+
- Rewrote SKILL.md with detailed OpenClaw integration guide, usage examples, error handling.
|
|
7
|
+
- Added GitHub Actions CI (Node 18/20/22).
|
|
8
|
+
- Fixed CI test timeout for server tests.
|
|
9
|
+
- Updated banner image.
|
|
10
|
+
|
|
11
|
+
## 1.1.4 - 2026-03-14
|
|
4
12
|
|
|
5
13
|
- Fixed slideshow landscape PDF crash by removing unstable in-page canvas recompression.
|
|
6
14
|
- Improved custom theme error message (`theme not found`) for better novice UX.
|
package/README.md
CHANGED
|
@@ -2,183 +2,117 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/agent-reader"><img src="https://img.shields.io/npm/v/agent-reader.svg?style=flat-square&color=cb3837" alt="npm version"></a>
|
|
7
|
+
<a href="https://github.com/ebbfijsf/agent-reader/actions"><img src="https://img.shields.io/github/actions/workflow/status/ebbfijsf/agent-reader/ci.yml?style=flat-square&label=CI" alt="CI"></a>
|
|
8
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="License: MIT"></a>
|
|
9
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node.js-18%2B-339933?style=flat-square&logo=node.js&logoColor=white" alt="Node.js"></a>
|
|
10
|
+
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-8A2BE2?style=flat-square" alt="MCP"></a>
|
|
11
|
+
</p>
|
|
9
12
|
|
|
10
13
|
AI Agent 擅长生成内容,但输出的 Markdown 对普通人不友好。Agent Reader 一键把 Markdown 变成漂亮网页、Word、PDF,还能把图片做成全屏幻灯片。
|
|
11
14
|
|
|
12
|
-
**专为 AI Agent 时代打造的格式化引擎 —
|
|
13
|
-
|
|
14
|
-
## 为什么需要它
|
|
15
|
-
|
|
16
|
-
- AI Agent 输出的 `.md` 文件,非技术用户看不懂
|
|
17
|
-
- 手动复制到 Word 排版,格式全乱
|
|
18
|
-
- 图片散落在文件夹里,没法像 PPT 一样展示
|
|
19
|
-
|
|
20
|
-
Agent Reader 解决这三个问题:**一条命令,输出即交付**。
|
|
15
|
+
**专为 AI Agent 时代打造的格式化引擎 — Agent 调用一次,输出即交付。**
|
|
21
16
|
|
|
22
17
|
## 核心能力
|
|
23
18
|
|
|
24
19
|
| 能力 | 说明 |
|
|
25
20
|
|------|------|
|
|
26
|
-
| Markdown → 网页 | 带侧边目录导航、代码高亮、表格美化,可一键导出 Word/PDF |
|
|
27
|
-
| Markdown → Word | 智能表格列宽、标题层级、引用块样式,打印友好 |
|
|
28
|
-
| Markdown → PDF | 浏览器引擎打印,和网页视觉一致 |
|
|
29
|
-
| 图片 → 幻灯片 | 全屏播放、键盘翻页、自动轮播、缩略图导航 |
|
|
30
|
-
| 幻灯片 → PDF | 每张图片一页,适合存档分享 |
|
|
31
|
-
|
|
32
|
-
## 幻灯片快速上手
|
|
33
|
-
|
|
34
|
-
如果你有一组图片要现场展示,直接用这一条命令:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
agent-reader slides ./my-images/
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
常用选项:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
agent-reader slides ./my-images/ --auto 5
|
|
44
|
-
agent-reader slides ./my-images/ --format pdf
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
支持格式:`png`、`jpg`、`jpeg`、`gif`、`svg`、`webp`。
|
|
48
|
-
图片按自然顺序排序(例如 `1`、`2`、`10`,不是 `1`、`10`、`2`)。
|
|
21
|
+
| 📄 Markdown → 网页 | 带侧边目录导航、代码高亮、表格美化,可一键导出 Word/PDF |
|
|
22
|
+
| 📝 Markdown → Word | 智能表格列宽、标题层级、引用块样式,打印友好 |
|
|
23
|
+
| 📑 Markdown → PDF | 浏览器引擎打印,和网页视觉一致 |
|
|
24
|
+
| 🎞️ 图片 → 幻灯片 | 全屏播放、键盘翻页、自动轮播、缩略图导航 |
|
|
25
|
+
| 📦 幻灯片 → PDF | 每张图片一页,适合存档分享 |
|
|
49
26
|
|
|
50
|
-
|
|
27
|
+
---
|
|
51
28
|
|
|
52
|
-
|
|
53
|
-
**MCP Server** — AI Agent(Claude / OpenClaw 等)通过 MCP 协议直接调用
|
|
29
|
+
## 💡 适用场景
|
|
54
30
|
|
|
55
|
-
|
|
31
|
+
- 🏢 AI Agent 生成报告/方案 → 一键变成可以直接发给客户的 PDF 或 Word
|
|
32
|
+
- 📄 Claude / GPT 输出的长文档 → 不用手动复制到 Word 调格式,自动排版
|
|
33
|
+
- 🎨 AI 生图工具批量出图 → 一键做成全屏幻灯片,现场演示或存档分享
|
|
34
|
+
- ⚙️ 团队内部 AI 工作流 → MCP 接入后 Agent 自动输出专业文档,零人工干预
|
|
56
35
|
|
|
57
|
-
|
|
36
|
+
---
|
|
58
37
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
### 安装步骤
|
|
38
|
+
## 📦 安装
|
|
62
39
|
|
|
63
40
|
```bash
|
|
64
41
|
npm install -g agent-reader
|
|
65
42
|
```
|
|
66
43
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
> 开发模式:clone 仓库后 `npm install && npm link`
|
|
70
|
-
|
|
71
|
-
## 小白模式(推荐)
|
|
72
|
-
|
|
73
|
-
只需记住一个命令:
|
|
44
|
+
不想全局安装?用 npx 直接跑:
|
|
74
45
|
|
|
75
46
|
```bash
|
|
76
|
-
agent-reader
|
|
47
|
+
npx agent-reader render 你的文件.md
|
|
77
48
|
```
|
|
78
49
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# 默认用网页打开(推荐)
|
|
83
|
-
agent-reader setup --default-open web
|
|
84
|
-
|
|
85
|
-
# 或者默认生成 Word
|
|
86
|
-
agent-reader setup --default-open word
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
可选值:`web`、`word`、`pdf`、`ppt`。
|
|
90
|
-
|
|
91
|
-
临时指定格式:
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
agent-reader open 报告.md --as word
|
|
95
|
-
agent-reader open 报告.md --as pdf
|
|
96
|
-
agent-reader open ./图片文件夹/ --as ppt --auto 5
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## 日常使用
|
|
100
|
-
|
|
101
|
-
### 预览 Markdown(自动打开浏览器)
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
agent-reader render 你的文件.md
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
打开后左侧有可点击目录,右上角有"导出 Word"和"导出 PDF"按钮,直接点击即可下载。
|
|
108
|
-
|
|
109
|
-
### 换主题
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
agent-reader render 你的文件.md --theme light # 亮色(默认)
|
|
113
|
-
agent-reader render 你的文件.md --theme dark # 暗色
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### 导出 Word
|
|
50
|
+
验证:`agent-reader doctor`,全是 ✓ 就装好了。
|
|
117
51
|
|
|
118
|
-
|
|
119
|
-
agent-reader export 你的文件.md --format docx
|
|
120
|
-
```
|
|
52
|
+
需要 Node.js 18+,终端输入 `node -v` 检查,没有去 https://nodejs.org 下载。
|
|
121
53
|
|
|
122
|
-
|
|
54
|
+
> 开发模式:clone 仓库后 `npm install && npm link`
|
|
123
55
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
```
|
|
56
|
+
<details>
|
|
57
|
+
<summary>⚠️ Mac 遇到权限错误?</summary>
|
|
127
58
|
|
|
128
|
-
|
|
59
|
+
如果 `npm install -g` 报 `EACCES` 权限错误,有两种解法:
|
|
129
60
|
|
|
130
61
|
```bash
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
支持键盘左右键、全屏、缩略图导航、目录跳转。
|
|
62
|
+
# 方法 1:加 sudo(简单粗暴)
|
|
63
|
+
sudo npm install -g agent-reader
|
|
136
64
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
65
|
+
# 方法 2:改 npm 全局目录(推荐,一劳永逸)
|
|
66
|
+
mkdir -p ~/.npm-global
|
|
67
|
+
npm config set prefix '~/.npm-global'
|
|
68
|
+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
|
|
69
|
+
source ~/.zshrc
|
|
70
|
+
npm install -g agent-reader
|
|
141
71
|
```
|
|
142
72
|
|
|
143
|
-
|
|
73
|
+
</details>
|
|
144
74
|
|
|
145
|
-
|
|
75
|
+
---
|
|
146
76
|
|
|
147
|
-
|
|
148
|
-
agent-reader render 你的文件.md --out-dir ~/Desktop
|
|
149
|
-
```
|
|
77
|
+
## 🦞 OpenClaw 快速接入
|
|
150
78
|
|
|
151
|
-
|
|
79
|
+
> OpenClaw 用户?30 秒接入,立刻获得文档美化能力。
|
|
152
80
|
|
|
153
|
-
|
|
154
|
-
agent-reader clean
|
|
155
|
-
```
|
|
81
|
+
### 一步接入(MCP 直连)
|
|
156
82
|
|
|
157
|
-
|
|
83
|
+
在你的 MCP 配置中添加:
|
|
158
84
|
|
|
159
|
-
```
|
|
160
|
-
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"agent-reader": {
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["-y", "agent-reader", "mcp"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
161
94
|
```
|
|
162
95
|
|
|
163
|
-
|
|
96
|
+
接入后你可以直接对 OpenClaw 说:
|
|
164
97
|
|
|
165
|
-
|
|
98
|
+
| 你说 | OpenClaw 调用 | 结果 |
|
|
99
|
+
|------|--------------|------|
|
|
100
|
+
| "帮我把这个 Markdown 做成 PDF" | `export_document` | 生成 PDF 文件 |
|
|
101
|
+
| "整理成 Word 发给客户" | `export_document` | 生成 DOCX 文件 |
|
|
102
|
+
| "做成网页给我看看" | `render_markdown` | 生成带目录的网页 |
|
|
103
|
+
| "把这些图片做成幻灯片" | `create_slideshow` | 生成全屏幻灯片 |
|
|
104
|
+
| "幻灯片导出 PDF" | `export_slideshow` | 每张图一页 PDF |
|
|
105
|
+
| "打开这个文件" | `open_file` | 按偏好自动处理 |
|
|
166
106
|
|
|
167
|
-
|
|
107
|
+
完整工具参数、输入输出示例、错误处理说明见 [`SKILL.md`](./SKILL.md),OpenClaw 专用 schema 见 [`openclaw-skill/`](./openclaw-skill/)。
|
|
168
108
|
|
|
169
|
-
|
|
170
|
-
agent-reader render report.md --profile agent
|
|
171
|
-
# {"path":"...","format":"html","size":12345,"warnings":[]}
|
|
109
|
+
---
|
|
172
110
|
|
|
173
|
-
|
|
174
|
-
# {"path":"...","format":"docx","size":8765,"warnings":[]}
|
|
175
|
-
```
|
|
111
|
+
## 🤖 给其他 AI Agent 用
|
|
176
112
|
|
|
177
113
|
### MCP Server
|
|
178
114
|
|
|
179
|
-
兼容 Claude Desktop、
|
|
180
|
-
|
|
181
|
-
启动:`npm run mcp`
|
|
115
|
+
兼容 Claude Desktop、Cline 等所有支持 MCP 协议的 AI Agent 框架。
|
|
182
116
|
|
|
183
117
|
Claude Desktop 配置(`claude_desktop_config.json`):
|
|
184
118
|
|
|
@@ -193,7 +127,7 @@ Claude Desktop 配置(`claude_desktop_config.json`):
|
|
|
193
127
|
}
|
|
194
128
|
```
|
|
195
129
|
|
|
196
|
-
提供 7
|
|
130
|
+
提供 7 个 MCP 工具:
|
|
197
131
|
|
|
198
132
|
| 工具 | 功能 |
|
|
199
133
|
|------|------|
|
|
@@ -207,72 +141,93 @@ Claude Desktop 配置(`claude_desktop_config.json`):
|
|
|
207
141
|
|
|
208
142
|
所有工具支持 `return_content` 参数,可直接返回文件内容(适合沙箱/Docker 环境)。
|
|
209
143
|
|
|
210
|
-
|
|
144
|
+
### CLI Agent 模式
|
|
211
145
|
|
|
212
|
-
|
|
213
|
-
- Claude / GPT 输出的长文档 → 不用手动复制到 Word 调格式
|
|
214
|
-
- AI 生图工具(Nano Banana 等)批量出图 → 一键做成幻灯片展示
|
|
215
|
-
- 团队内部 AI 工作流 → MCP 接入后 Agent 自动输出专业文档
|
|
146
|
+
加 `--profile agent`,输出纯 JSON:
|
|
216
147
|
|
|
217
|
-
|
|
148
|
+
```bash
|
|
149
|
+
agent-reader render report.md --profile agent
|
|
150
|
+
# {"path":"...","format":"html","size":12345,"warnings":[]}
|
|
218
151
|
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
- **零配置可用**:Pandoc 缺失自动降级、端口冲突自动递增、临时文件自动隔离
|
|
223
|
-
- **双模式输出**:human 模式自动打开 + 本地服务;agent 模式纯 JSON 输出
|
|
152
|
+
agent-reader export report.md --format docx --profile agent
|
|
153
|
+
# {"path":"...","format":"docx","size":8765,"warnings":[]}
|
|
154
|
+
```
|
|
224
155
|
|
|
225
|
-
|
|
156
|
+
---
|
|
226
157
|
|
|
227
|
-
|
|
228
|
-
|------|--------|------|
|
|
229
|
-
| Node.js 18+ | 是 | 运行环境 |
|
|
230
|
-
| Puppeteer | 否(按需) | PDF 导出(可选依赖;未安装时仅影响 PDF) |
|
|
231
|
-
| Pandoc | 否 | Word 导出更好看(没有会自动降级为纯 JS 方案) |
|
|
158
|
+
## 🛠️ 手动使用(可选)
|
|
232
159
|
|
|
233
|
-
|
|
160
|
+
> 以下是人工操作 CLI 的方式。大多数情况下 Agent 会自动调用,你不需要手动敲命令。
|
|
234
161
|
|
|
235
|
-
|
|
236
|
-
在部分非标准云环境里,`auto` 模式首次失败时也会自动重试一次 `no-sandbox`,减少手动排障。
|
|
162
|
+
### 🐣 小白模式
|
|
237
163
|
|
|
238
|
-
|
|
164
|
+
只需记住一个命令:`agent-reader open 文件路径`
|
|
239
165
|
|
|
240
166
|
```bash
|
|
241
|
-
|
|
242
|
-
|
|
167
|
+
agent-reader setup --default-open web # 设置默认网页打开
|
|
168
|
+
agent-reader open 报告.md # 按偏好自动处理
|
|
169
|
+
agent-reader open 报告.md --as word # 临时指定 Word
|
|
170
|
+
agent-reader open ./图片文件夹/ --as ppt --auto 5
|
|
243
171
|
```
|
|
244
172
|
|
|
245
|
-
|
|
173
|
+
### 常用命令
|
|
246
174
|
|
|
247
175
|
```bash
|
|
248
|
-
|
|
176
|
+
agent-reader render 你的文件.md # 预览网页
|
|
177
|
+
agent-reader render 你的文件.md --theme dark # 暗色主题
|
|
178
|
+
agent-reader export 你的文件.md --format docx # 导出 Word
|
|
179
|
+
agent-reader export 你的文件.md --format pdf # 导出 PDF
|
|
180
|
+
agent-reader slides ./图片文件夹/ # 幻灯片
|
|
181
|
+
agent-reader slides ./图片文件夹/ --auto 5 # 自动轮播
|
|
182
|
+
agent-reader slides ./图片文件夹/ --format pdf # 幻灯片导出 PDF
|
|
183
|
+
agent-reader clean # 清理临时文件
|
|
184
|
+
agent-reader doctor # 检查环境
|
|
249
185
|
```
|
|
250
186
|
|
|
251
|
-
|
|
187
|
+
---
|
|
252
188
|
|
|
253
|
-
|
|
254
|
-
- 装 Pandoc 后,代码块和复杂表格的效果更稳定
|
|
189
|
+
## ✨ 技术亮点
|
|
255
190
|
|
|
256
|
-
|
|
191
|
+
- 🎯 **统一视觉源**:HTML 是 PDF 的视觉基线(Puppeteer 打印),DOCX 保证结构一致
|
|
192
|
+
- 📊 **智能表格列宽**:根据内容长度自动计算比例,中文不会被挤压断行
|
|
193
|
+
- 🔒 **安全默认**:HTML sanitize 防 XSS、CSP 策略、SSRF 防护(禁止内网 IP)
|
|
194
|
+
- 🚀 **零配置可用**:Pandoc 缺失自动降级、端口冲突自动递增、临时文件自动隔离
|
|
195
|
+
- 🔄 **双模式输出**:human 模式自动打开 + 本地服务;agent 模式纯 JSON 输出
|
|
196
|
+
|
|
197
|
+
## 📋 依赖说明
|
|
198
|
+
|
|
199
|
+
| 依赖 | 必需? | 用途 |
|
|
200
|
+
|------|--------|------|
|
|
201
|
+
| Node.js 18+ | 是 | 运行环境 |
|
|
202
|
+
| Puppeteer | 否(按需) | PDF 导出(可选依赖;未安装时仅影响 PDF) |
|
|
203
|
+
| Pandoc | 否 | Word 导出更好看(没有会自动降级为纯 JS 方案) |
|
|
204
|
+
|
|
205
|
+
## ☁️ 云环境部署
|
|
206
|
+
|
|
207
|
+
在 Docker/CI 中,Agent Reader 会自动检测环境并在需要时为 Puppeteer 关闭沙盒参数。`auto` 模式首次失败时也会自动重试 `no-sandbox`。
|
|
257
208
|
|
|
258
209
|
```bash
|
|
259
|
-
#
|
|
260
|
-
|
|
210
|
+
# 手动覆盖:auto | on | off
|
|
211
|
+
AGENT_READER_SANDBOX=off agent-reader export report.md --format pdf
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## ❓ FAQ
|
|
261
215
|
|
|
262
|
-
|
|
263
|
-
apt-get install pandoc
|
|
216
|
+
### 没有 Pandoc 怎么办?
|
|
264
217
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
218
|
+
不装也能导出 DOCX,只是排版简单一些。装了效果更好:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
brew install pandoc # macOS
|
|
222
|
+
apt-get install pandoc # Linux
|
|
223
|
+
winget install pandoc # Windows
|
|
269
224
|
```
|
|
270
225
|
|
|
271
|
-
|
|
226
|
+
### Puppeteer 太重?
|
|
272
227
|
|
|
273
|
-
|
|
228
|
+
可以跳过 Chromium 下载,用系统浏览器:
|
|
274
229
|
|
|
275
230
|
```bash
|
|
276
231
|
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install -g agent-reader
|
|
277
232
|
PUPPETEER_EXECUTABLE_PATH=/path/to/chrome agent-reader export report.md --format pdf
|
|
278
|
-
```
|
|
233
|
+
```
|
package/SKILL.md
CHANGED
|
@@ -5,45 +5,207 @@ description: 把 Markdown 渲染成漂亮网页、导出 Word/PDF、图片做幻
|
|
|
5
5
|
|
|
6
6
|
# Agent Reader Skill
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## 你是什么
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
- 导出 PDF / DOCX 文档
|
|
12
|
-
- 图片目录生成幻灯片并支持直接导出 PDF
|
|
10
|
+
Agent Reader 是一个文档美化引擎。你(AI Agent)生成的 Markdown 内容,通过它可以一键变成:漂亮网页、Word 文档、PDF 文件、全屏幻灯片。
|
|
13
11
|
|
|
14
|
-
##
|
|
12
|
+
## 能力清单
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
| 能力 | 工具 | 说明 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| Markdown → 网页 | `render_markdown` | 带目录导航、代码高亮、表格美化 |
|
|
17
|
+
| Markdown → PDF | `export_document` | 浏览器引擎打印,视觉一致 |
|
|
18
|
+
| Markdown → Word | `export_document` | 智能表格列宽,打印友好 |
|
|
19
|
+
| 图片 → 幻灯片 | `create_slideshow` | 全屏播放、键盘翻页、自动轮播 |
|
|
20
|
+
| 图片 → 幻灯片 PDF/HTML | `export_slideshow` | 每张图一页,适合存档分享 |
|
|
21
|
+
| 智能打开 | `open_file` | 按用户偏好自动选格式 |
|
|
19
22
|
|
|
20
|
-
##
|
|
23
|
+
## 什么时候该调用我
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
- 用户说"帮我把这个整理成文档" → `export_document`
|
|
26
|
+
- 用户说"做成网页给我看看" → `render_markdown`
|
|
27
|
+
- 用户说"导出 Word / PDF" → `export_document`
|
|
28
|
+
- 用户说"把这些图片做成幻灯片" → `create_slideshow` 或 `export_slideshow`
|
|
29
|
+
- 用户说"打开这个文件" → `open_file`
|
|
30
|
+
- 用户没指定格式 → `open_file`(自动按偏好处理)
|
|
31
|
+
|
|
32
|
+
## OpenClaw 接入方式
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
### 方式 1:MCP 直连(推荐)
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
- `export_document`
|
|
33
|
-
- `create_slideshow`
|
|
34
|
-
- `export_slideshow`
|
|
35
|
-
- `open_file`
|
|
36
|
+
在 MCP 配置中添加:
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"agent-reader": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "agent-reader", "mcp"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
38
48
|
|
|
39
|
-
|
|
40
|
-
- `export_document`: `content`(必填), `format`=`pdf|docx`(必填), `source_path`, `return_content`
|
|
41
|
-
- `create_slideshow`: `image_dir`(必填), `auto_play`, `return_content`
|
|
42
|
-
- `export_slideshow`: `image_dir`(必填), `format`=`pdf|html`, `auto_play`, `return_content`
|
|
43
|
-
- `open_file`: `file_path`(必填), `open_as`=`auto|web|word|pdf|ppt`, `theme`, `auto_play`, `return_content`
|
|
49
|
+
接入后你可以直接调用下面的 MCP 工具,无需 CLI。
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
### 方式 2:CLI 调用
|
|
46
52
|
|
|
47
53
|
```bash
|
|
54
|
+
# 先确保已安装
|
|
48
55
|
npm install -g agent-reader
|
|
56
|
+
|
|
57
|
+
# Agent 模式输出纯 JSON
|
|
58
|
+
agent-reader render report.md --profile agent --json
|
|
59
|
+
agent-reader export report.md --format pdf --profile agent --json
|
|
60
|
+
agent-reader export report.md --format docx --profile agent --json
|
|
61
|
+
agent-reader slides ./images --profile agent --json
|
|
62
|
+
agent-reader open report.md --profile agent --json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## MCP 工具详细说明
|
|
66
|
+
|
|
67
|
+
### render_markdown — 渲染网页
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"content": "# 标题\n\n正文内容...",
|
|
72
|
+
"theme": "light",
|
|
73
|
+
"source_path": "/path/to/original.md",
|
|
74
|
+
"return_content": false
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
返回示例:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"html_path": "/tmp/agent-reader/render-markdown-xxx/rendered.html",
|
|
83
|
+
"format": "html",
|
|
84
|
+
"size": 12345,
|
|
85
|
+
"warnings": []
|
|
86
|
+
}
|
|
49
87
|
```
|
|
88
|
+
|
|
89
|
+
- `theme`:可选 `light`(默认)或 `dark`
|
|
90
|
+
- `source_path`:如果 Markdown 里有相对路径图片,传原始文件路径
|
|
91
|
+
- `return_content: true`:直接返回 HTML 字符串(适合沙箱/Docker 环境)
|
|
92
|
+
|
|
93
|
+
### export_document — 导出 PDF / Word
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"content": "# 报告标题\n\n报告内容...",
|
|
98
|
+
"format": "pdf",
|
|
99
|
+
"source_path": "/path/to/original.md",
|
|
100
|
+
"return_content": false
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
返回示例:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"file_path": "/tmp/agent-reader/export-document-xxx/export.pdf",
|
|
109
|
+
"format": "pdf",
|
|
110
|
+
"size": 54321,
|
|
111
|
+
"warnings": []
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- `format`:必填,`pdf` 或 `docx`
|
|
116
|
+
- `return_content: true`:返回 base64 编码的文件内容
|
|
117
|
+
|
|
118
|
+
### create_slideshow — 生成幻灯片网页
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"image_dir": "/path/to/images",
|
|
123
|
+
"auto_play": 5,
|
|
124
|
+
"return_content": false
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
返回示例:
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"html_path": "/tmp/agent-reader/create-slideshow-xxx/slideshow.html",
|
|
133
|
+
"format": "html",
|
|
134
|
+
"size": 98765,
|
|
135
|
+
"warnings": [],
|
|
136
|
+
"image_count": 12
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### export_slideshow — 导出幻灯片为 PDF 或 HTML
|
|
141
|
+
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"image_dir": "/path/to/images",
|
|
145
|
+
"format": "pdf",
|
|
146
|
+
"auto_play": 5,
|
|
147
|
+
"return_content": false
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
返回示例:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"file_path": "/tmp/agent-reader/export-slideshow-xxx/images.pdf",
|
|
156
|
+
"format": "pdf",
|
|
157
|
+
"size": 234567,
|
|
158
|
+
"warnings": [],
|
|
159
|
+
"image_count": 12
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- `format`:`pdf`(默认)或 `html`
|
|
164
|
+
|
|
165
|
+
### open_file — 智能打开文件
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"file_path": "/path/to/report.md",
|
|
170
|
+
"open_as": "auto",
|
|
171
|
+
"theme": "light"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
返回示例:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"path": "/tmp/agent-reader/open-xxx/report.html",
|
|
180
|
+
"format": "html",
|
|
181
|
+
"size": 12345,
|
|
182
|
+
"warnings": [],
|
|
183
|
+
"resolved_mode": "web"
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
- `open_as`:`auto`(按用户偏好)、`web`、`word`、`pdf`、`ppt`
|
|
188
|
+
|
|
189
|
+
## 错误处理
|
|
190
|
+
|
|
191
|
+
所有工具在出错时返回统一格式:
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"error": "具体错误信息",
|
|
196
|
+
"code": "render_failed"
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
常见错误码:
|
|
201
|
+
- `render_failed` — 渲染失败(检查 Markdown 内容)
|
|
202
|
+
- `export_failed` — 导出失败(PDF 需要 Puppeteer,Word 需要 Pandoc 或自动降级)
|
|
203
|
+
- `slideshow_failed` — 幻灯片生成失败(检查图片目录是否存在)
|
|
204
|
+
- `open_failed` — 打开失败(检查文件路径)
|
|
205
|
+
|
|
206
|
+
## 注意事项
|
|
207
|
+
|
|
208
|
+
1. PDF 导出需要 Puppeteer(可选依赖),未安装时会报错
|
|
209
|
+
2. Word 导出没有 Pandoc 也能用,只是排版会简单一些
|
|
210
|
+
3. `return_content: true` 适合沙箱环境,但大文件会自动降级为文件路径
|
|
211
|
+
4. 图片路径支持 png、jpg、jpeg、gif、svg、webp
|
package/bin/agent-reader.js
CHANGED
package/openclaw-skill/SKILL.md
CHANGED
|
@@ -5,45 +5,207 @@ description: 把 Markdown 渲染成漂亮网页、导出 Word/PDF、图片做幻
|
|
|
5
5
|
|
|
6
6
|
# Agent Reader Skill
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## 你是什么
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
- 导出 PDF / DOCX 文档
|
|
12
|
-
- 图片目录生成幻灯片并支持直接导出 PDF
|
|
10
|
+
Agent Reader 是一个文档美化引擎。你(AI Agent)生成的 Markdown 内容,通过它可以一键变成:漂亮网页、Word 文档、PDF 文件、全屏幻灯片。
|
|
13
11
|
|
|
14
|
-
##
|
|
12
|
+
## 能力清单
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
| 能力 | 工具 | 说明 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| Markdown → 网页 | `render_markdown` | 带目录导航、代码高亮、表格美化 |
|
|
17
|
+
| Markdown → PDF | `export_document` | 浏览器引擎打印,视觉一致 |
|
|
18
|
+
| Markdown → Word | `export_document` | 智能表格列宽,打印友好 |
|
|
19
|
+
| 图片 → 幻灯片 | `create_slideshow` | 全屏播放、键盘翻页、自动轮播 |
|
|
20
|
+
| 图片 → 幻灯片 PDF/HTML | `export_slideshow` | 每张图一页,适合存档分享 |
|
|
21
|
+
| 智能打开 | `open_file` | 按用户偏好自动选格式 |
|
|
19
22
|
|
|
20
|
-
##
|
|
23
|
+
## 什么时候该调用我
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
- 用户说"帮我把这个整理成文档" → `export_document`
|
|
26
|
+
- 用户说"做成网页给我看看" → `render_markdown`
|
|
27
|
+
- 用户说"导出 Word / PDF" → `export_document`
|
|
28
|
+
- 用户说"把这些图片做成幻灯片" → `create_slideshow` 或 `export_slideshow`
|
|
29
|
+
- 用户说"打开这个文件" → `open_file`
|
|
30
|
+
- 用户没指定格式 → `open_file`(自动按偏好处理)
|
|
31
|
+
|
|
32
|
+
## OpenClaw 接入方式
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
### 方式 1:MCP 直连(推荐)
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
- `export_document`
|
|
33
|
-
- `create_slideshow`
|
|
34
|
-
- `export_slideshow`
|
|
35
|
-
- `open_file`
|
|
36
|
+
在 MCP 配置中添加:
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"agent-reader": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "agent-reader", "mcp"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
38
48
|
|
|
39
|
-
|
|
40
|
-
- `export_document`: `content`(必填), `format`=`pdf|docx`(必填), `source_path`, `return_content`
|
|
41
|
-
- `create_slideshow`: `image_dir`(必填), `auto_play`, `return_content`
|
|
42
|
-
- `export_slideshow`: `image_dir`(必填), `format`=`pdf|html`, `auto_play`, `return_content`
|
|
43
|
-
- `open_file`: `file_path`(必填), `open_as`=`auto|web|word|pdf|ppt`, `theme`, `auto_play`, `return_content`
|
|
49
|
+
接入后你可以直接调用下面的 MCP 工具,无需 CLI。
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
### 方式 2:CLI 调用
|
|
46
52
|
|
|
47
53
|
```bash
|
|
54
|
+
# 先确保已安装
|
|
48
55
|
npm install -g agent-reader
|
|
56
|
+
|
|
57
|
+
# Agent 模式输出纯 JSON
|
|
58
|
+
agent-reader render report.md --profile agent --json
|
|
59
|
+
agent-reader export report.md --format pdf --profile agent --json
|
|
60
|
+
agent-reader export report.md --format docx --profile agent --json
|
|
61
|
+
agent-reader slides ./images --profile agent --json
|
|
62
|
+
agent-reader open report.md --profile agent --json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## MCP 工具详细说明
|
|
66
|
+
|
|
67
|
+
### render_markdown — 渲染网页
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"content": "# 标题\n\n正文内容...",
|
|
72
|
+
"theme": "light",
|
|
73
|
+
"source_path": "/path/to/original.md",
|
|
74
|
+
"return_content": false
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
返回示例:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"html_path": "/tmp/agent-reader/render-markdown-xxx/rendered.html",
|
|
83
|
+
"format": "html",
|
|
84
|
+
"size": 12345,
|
|
85
|
+
"warnings": []
|
|
86
|
+
}
|
|
49
87
|
```
|
|
88
|
+
|
|
89
|
+
- `theme`:可选 `light`(默认)或 `dark`
|
|
90
|
+
- `source_path`:如果 Markdown 里有相对路径图片,传原始文件路径
|
|
91
|
+
- `return_content: true`:直接返回 HTML 字符串(适合沙箱/Docker 环境)
|
|
92
|
+
|
|
93
|
+
### export_document — 导出 PDF / Word
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"content": "# 报告标题\n\n报告内容...",
|
|
98
|
+
"format": "pdf",
|
|
99
|
+
"source_path": "/path/to/original.md",
|
|
100
|
+
"return_content": false
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
返回示例:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"file_path": "/tmp/agent-reader/export-document-xxx/export.pdf",
|
|
109
|
+
"format": "pdf",
|
|
110
|
+
"size": 54321,
|
|
111
|
+
"warnings": []
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- `format`:必填,`pdf` 或 `docx`
|
|
116
|
+
- `return_content: true`:返回 base64 编码的文件内容
|
|
117
|
+
|
|
118
|
+
### create_slideshow — 生成幻灯片网页
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"image_dir": "/path/to/images",
|
|
123
|
+
"auto_play": 5,
|
|
124
|
+
"return_content": false
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
返回示例:
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"html_path": "/tmp/agent-reader/create-slideshow-xxx/slideshow.html",
|
|
133
|
+
"format": "html",
|
|
134
|
+
"size": 98765,
|
|
135
|
+
"warnings": [],
|
|
136
|
+
"image_count": 12
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### export_slideshow — 导出幻灯片为 PDF 或 HTML
|
|
141
|
+
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"image_dir": "/path/to/images",
|
|
145
|
+
"format": "pdf",
|
|
146
|
+
"auto_play": 5,
|
|
147
|
+
"return_content": false
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
返回示例:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"file_path": "/tmp/agent-reader/export-slideshow-xxx/images.pdf",
|
|
156
|
+
"format": "pdf",
|
|
157
|
+
"size": 234567,
|
|
158
|
+
"warnings": [],
|
|
159
|
+
"image_count": 12
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- `format`:`pdf`(默认)或 `html`
|
|
164
|
+
|
|
165
|
+
### open_file — 智能打开文件
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"file_path": "/path/to/report.md",
|
|
170
|
+
"open_as": "auto",
|
|
171
|
+
"theme": "light"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
返回示例:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"path": "/tmp/agent-reader/open-xxx/report.html",
|
|
180
|
+
"format": "html",
|
|
181
|
+
"size": 12345,
|
|
182
|
+
"warnings": [],
|
|
183
|
+
"resolved_mode": "web"
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
- `open_as`:`auto`(按用户偏好)、`web`、`word`、`pdf`、`ppt`
|
|
188
|
+
|
|
189
|
+
## 错误处理
|
|
190
|
+
|
|
191
|
+
所有工具在出错时返回统一格式:
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"error": "具体错误信息",
|
|
196
|
+
"code": "render_failed"
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
常见错误码:
|
|
201
|
+
- `render_failed` — 渲染失败(检查 Markdown 内容)
|
|
202
|
+
- `export_failed` — 导出失败(PDF 需要 Puppeteer,Word 需要 Pandoc 或自动降级)
|
|
203
|
+
- `slideshow_failed` — 幻灯片生成失败(检查图片目录是否存在)
|
|
204
|
+
- `open_failed` — 打开失败(检查文件路径)
|
|
205
|
+
|
|
206
|
+
## 注意事项
|
|
207
|
+
|
|
208
|
+
1. PDF 导出需要 Puppeteer(可选依赖),未安装时会报错
|
|
209
|
+
2. Word 导出没有 Pandoc 也能用,只是排版会简单一些
|
|
210
|
+
3. `return_content: true` 适合沙箱环境,但大文件会自动降级为文件路径
|
|
211
|
+
4. 图片路径支持 png、jpg、jpeg、gif、svg、webp
|
package/package.json
CHANGED