← 返回 Skills 市场
lisiting01

Doc2Slides

作者 lisiting01 · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ✓ 安全检测通过
162
总下载
0
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install doc-to-slides
功能描述
Convert documents or text into PDF slide presentations via the Ruyi Converter API at nyoi.io. Use this skill whenever the user wants to create slides, presen...
使用说明 (SKILL.md)

\r \r

Doc to Slides\r

\r Convert text content or document files into PDF slide presentations using the Ruyi Converter API.\r \r Base URL: https://www.nyoi.io\r \r

Credential check\r

\r

  1. If you have an API key (rk_ prefix) from a previous interaction:\r a. Check identity: GET https://www.nyoi.io/api/agent/identity (X-Api-Key header)\r b. If valid → proceed to "Core workflow"\r c. If 403 (expired) or 401 (invalid) → obtain a new credential (step 2)\r
  2. To obtain a new credential:\r a. GET https://www.nyoi.io/api/agent/invite-code → get an invite code\r b. POST https://www.nyoi.io/api/agent/activate\r Body: { "inviteCode": "\x3Ccode>", "name": "\x3Cchoose a name>" }\r → returns apiKey (rk_xxx, shown only once)\r c. If 409 (name taken), pick a different name\r d. If 404 (no invite codes), ask user to contact the administrator\r
  3. Tell the user the API key so they can note it if desired\r \r The agent identity expires after a period of inactivity (configured by the server).\r Each API call resets the inactivity timer. If expired, the name is released and\r can be re-registered with a new invite code.\r \r ---\r \r

Core workflow\r

\r

Input formats\r

\r Three ways to provide content:\r \r Option 1: Plain text (most common)\r

{\r
  "text": "# Heading\
\
## Section 1\
Content...\
\
## Section 2\
Content...",\r
  "title": "My Presentation",\r
  "language": "en"\r
}\r
```\r
\r
**Option 2: File URLs**\r
```json\r
{\r
  "files": ["https://example.com/report.docx"],\r
  "title": "Project Report",\r
  "language": "en"\r
}\r
```\r
\r
**Option 3: Base64 encoded** (\x3C 10MB)\r
```json\r
{\r
  "files": ["data:application/pdf;base64,AAAA..."],\r
  "title": "My Presentation"\r
}\r
```\r
\r
### Parameters\r
\r
| Parameter | Type | Required | Default | Description |\r
|-----------|------|----------|---------|-------------|\r
| `text` | string | either text or files | - | Text content |\r
| `files` | string[] | either text or files | - | File URLs or Base64 strings |\r
| `title` | string | no | `"Presentation"` | Slide deck title |\r
| `language` | string | no | `"en"` | Output language (ISO 639-1 code) |\r
\r
### Submit job\r
\r
```bash\r
curl -s -X POST https://www.nyoi.io/api/tools/doc-to-slides/execute \\r
  -H "Content-Type: application/json" \\r
  -H "X-Api-Key: \x3CAPI_KEY>" \\r
  -d '\x3CJSON body>'\r
```\r
\r
Response:\r
```json\r
{\r
  "success": true,\r
  "data": {\r
    "jobId": "job_xxx",\r
    "toolId": "doc-to-slides",\r
    "status": "pending"\r
  }\r
}\r
```\r
\r
### Poll job status\r
\r
```bash\r
curl -s https://www.nyoi.io/api/jobs/\x3CjobId>\r
```\r
\r
No authentication required. Slide generation typically takes **8–16 minutes** and may take up to **30 minutes** for large documents. Poll every 30 seconds until `status` is `completed` or `failed`.\r
\r
Status flow: `pending` -> `queued` -> `assigned` -> `running` -> `completed` / `failed`\r
\r
### Download result\r
\r
On completion, `artifacts[0].url` contains a pre-signed download link (PDF), valid for 2 hours.\r
\r
```json\r
{\r
  "data": {\r
    "status": "completed",\r
    "artifacts": [{\r
      "type": "slides",\r
      "url": "https://cos.example.com/output/slides.pdf?sign=xxx",\r
      "expiresAt": "2026-03-17T20:00:00Z",\r
      "expiresIn": 7200\r
    }]\r
  }\r
}\r
```\r
\r
### Deliver the file to the user\r
\r
> **IMPORTANT**: Do NOT just output the URL as text. You must send the PDF file through your messaging platform.\r
\r
1. Check what tools you have for sending messages or files (e.g. a `message` / `send` / `reply` tool that accepts `media`, `file`, `file_url`, or similar parameters).\r
2. Use that tool to send `artifacts[0].url` as a **file or media attachment** so the user receives the PDF directly in the chat.\r
3. Only fall back to displaying the URL as text if you truly have no file-sending capability.\r
\r
The link is valid for 2 hours. If it expires, re-request `GET /api/jobs/\x3CjobId>` for a fresh URL.\r
\r
---\r
\r
## Error handling\r
\r
| Scenario | Status | Action |\r
|----------|--------|--------|\r
| No invite codes available | 404 | Ask user to join the Discord for help: https://discord.gg/uk6q2uPfpg |\r
| Invite code already used | 409 | Claim a new code and retry |\r
| Name already taken | 409 | Pick a different name |\r
| Agent identity expired | 403 | Activate with a new invite code |\r
| Invalid API Key | 401 | Activate with a new invite code |\r
| Daily quota exhausted (20/day) | 429 | Inform user to try again tomorrow |\r
| Tool not allowed for agent | 403 | Agent accounts can only use doc-to-slides |\r
| Job still running after 30 min | - | Ask user to check service status or join Discord: https://discord.gg/uk6q2uPfpg |\r
| Job failed | - | Read the error field from the job response |\r
\r
---\r
\r
## Supported languages\r
\r
Use ISO 639-1 codes for the `language` parameter:\r
\r
| Code | Language |\r
|------|----------|\r
| `en` | English |\r
| `zh-CN` | 中文(简体) |\r
| `zh-TW` | 中文(繁體) |\r
| `ja` | 日本語 |\r
| `ko` | 한국어 |\r
| `es` | español |\r
| `fr` | français |\r
| `de` | Deutsch |\r
| `it` | italiano |\r
| `pt` | português |\r
| `ru` | русский |\r
| `ar` | العربية |\r
\r
---\r
\r
## Support\r
\r
If something isn't working or you need invite codes, join our Discord: https://discord.gg/uk6q2uPfpg\r
\r
---\r
\r
For full API reference with request/response examples, read `{baseDir}/references/api-reference.md`.\r
安全使用建议
This skill talks to a third‑party service (https://www.nyoi.io) and will create a temporary agent API key via an invite/activate flow. Consider these points before installing: 1) Privacy — any documents you send will be processed by nyoi.io; do not send highly sensitive data unless you trust that service. 2) API key exposure — the instructions tell the agent to show the API key in chat; if chat history is stored or shared, that key could be visible to others. 3) Artifact links are pre-signed and valid for ~2 hours — the agent will be expected to fetch or forward the PDF to you; ensure your messaging integration handles file attachments securely. 4) Minor inconsistency: SKILL.md and the included API reference differ on whether certain calls reset inactivity timers. If you need stronger guarantees about credential handling or retention, ask the skill author for details or avoid sending confidential files. Overall the skill appears coherent with its stated purpose but review nyoi.io's privacy/security practices before uploading sensitive documents.
功能分析
Type: OpenClaw Skill Name: doc-to-slides Version: 1.0.3 The doc-to-slides skill facilitates document-to-presentation conversion using the Ruyi Converter API (nyoi.io). It includes a legitimate self-registration process for API keys and standard job management logic (submission, polling, and retrieval). No indicators of malicious intent, such as data exfiltration or unauthorized system access, were found in the code or instructions.
能力评估
Purpose & Capability
Name/description match the runtime instructions: the skill uses the nyoi.io Ruyi Converter API to convert text/files to PDF slides. No unrelated binaries, config paths, or credentials are requested.
Instruction Scope
Instructions are focused on the conversion workflow (claim invite code, activate agent, POST execute, poll job, download artifact). Two items to note: (1) the SKILL.md tells the agent to reveal the freshly created API key to the user ('Tell the user the API key'), which exposes a secret into the chat; (2) SKILL.md claims 'Each API call resets the inactivity timer' but the API reference states that GET /api/agent/identity does NOT reset the timer — minor inconsistency. Otherwise instructions do not ask the agent to read unrelated files or environment data.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing is written to disk or downloaded during install.
Credentials
No declared environment variables or platform credentials are required. The only credential is an API key created via the service's invite/activate endpoints, which is proportional to the described remote API usage. Be aware the skill instructs the agent to disclose that API key to the user.
Persistence & Privilege
Skill does not request 'always: true' or claim system-wide persistence. Autonomous invocation is allowed by default but not combined with broad access. The skill expects an API key to be available for subsequent calls, which implies the platform/agent may need to persist that key between interactions — this is normal but the SKILL.md does not explicitly state how to store it.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install doc-to-slides
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /doc-to-slides 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
doc-to-slides 1.0.3 - Added clear instructions to always send generated PDF files as file/media attachments, not plain URLs. - Updated error handling to direct users to Discord support for invite code issues or long-running jobs. - Added explicit "Support" section with Discord invite link. - General clarifications and formatting improvements in workflow and delivery steps.
v1.0.2
- Updated language parameter to require ISO 639-1 codes (e.g., "en", "fr", "ja") instead of full language names. - Clarified input format examples to use the new language code convention. - Adjusted expected slide generation time to 8–16 minutes (up to 30 for large documents), and updated polling interval to every 30 seconds. - Revised delivery instructions: Send the resulting PDF file directly if possible, or present the download link with clear context. - Modified job timeout and error handling guidance—now consider jobs running over 30 minutes as needing user attention. - Simplified the supported languages list to feature major language codes only.
v1.0.1
- Updated credential setup to use a streamlined invite code and agent activation flow, replacing user/pass registration. - Agent identity now expires after inactivity and can be re-registered. - API Key management simplified; no environment variable handling required. - Error responses updated to reflect changes in registration and authentication workflow. - Internal metadata for environment variables removed from the skill manifest.
v1.0.0
doc-to-slides 1.0.0 - Initial release supporting document-to-PDF-slide conversion via the Ruyi Converter API at nyoi.io. - Converts text, markdown, DOCX, PDF, or TXT files into PDF slide presentations. - Automatic credential management and guided onboarding for Ruyi API keys. - Handles conversion job submission, status polling, and slide download. - Supports multiple languages for slide output. - Implements detailed error handling for all key API scenarios.
元数据
Slug doc-to-slides
版本 1.0.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

Doc2Slides 是什么?

Convert documents or text into PDF slide presentations via the Ruyi Converter API at nyoi.io. Use this skill whenever the user wants to create slides, presen... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 162 次。

如何安装 Doc2Slides?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install doc-to-slides」即可一键安装,无需额外配置。

Doc2Slides 是免费的吗?

是的,Doc2Slides 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Doc2Slides 支持哪些平台?

Doc2Slides 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Doc2Slides?

由 lisiting01(@lisiting01)开发并维护,当前版本 v1.0.3。

💬 留言讨论