← 返回 Skills 市场
🔌

GoAI PPT Gen

作者 GoAI · GitHub ↗ · v1.0.1 · MIT-0
darwinlinuxwin32 ⚠ suspicious
118
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install goai-ppt-gen
功能描述
Generate PowerPoint presentations via GoAI API. Use when the user asks to create, generate, make, or build PPT, slides, presentations, including Chinese requ...
使用说明 (SKILL.md)

When To Use

Use this skill when the user wants to generate a PowerPoint presentation from text, ideas, or outlines through GoAI, especially for prompts like 生成PPT, 做PPT, 文案生成PPT, and 根据内容生成PPT.

Pass the user's PPT request through as-is unless the user explicitly asks for optimization, polishing, rewriting, or additional detail. Do not silently embellish short prompts.

Default Behavior

This package targets the production PPT service at https://ppt.mustgoai.com. Override GOAI_BASE_URL only when you intentionally need a different endpoint.

This skill now uses a single cross-platform Python entrypoint through uv. Treat uv as the only runtime dependency the user needs to install manually. On first run, uv may create a local environment, install httpx, and download Python if the machine does not already have a usable interpreter. That first-run setup is expected and should not be described as an error.

If the user provides local reference images, the script uploads them first and sends the resulting URLs as referenceImages. If the user provides remote URLs, the script passes them through unchanged.

Script Rules

Always use the Python entrypoint through uv:

uv run --project . python scripts/generate_ppt.py \
  --idea "..." \
  [--language "zh"] \
  [--num-pages "10"] \
  [--reference "/path/to/image.png"] \
  [--reference "https://example.com/image.png"] \
  [--reference-pdf "https://example.com/doc.pdf"] \
  [--reference-content "..."] \
  [--aspect-ratio "16:9"] \
  [--resolution "2K"]

The Python path validates GOAI_API_KEY, defaults to https://ppt.mustgoai.com unless GOAI_BASE_URL is set, and treats 401, 402, 429, missing taskId, missing projectId, missing downloadUrl, task failure, and task timeout as hard failures. Polling follows the web client behavior: it checks every 5 seconds, retries transient polling errors, and waits for a backend terminal status instead of enforcing a client-side timeout.

The Python entrypoint self-heals into uv run if it is accidentally invoked as python scripts/generate_ppt.py ... or python3 scripts/generate_ppt.py .... Do not try to repair the system Python environment for this skill.

When invoking this skill through OpenClaw's exec tool, always use timeout=600 to allow up to 10 minutes for long-running generation. Do not describe the run as timed out or killed unless the script itself exits non-zero or the backend reports a terminal failure state.

If uv is missing, explicitly guide the user to install it first:

  • macOS: brew install uv
  • Windows: winget install astral-sh.uv

After uv is installed, rerun the same command. Do not ask the user to install Python packages by hand; uv is responsible for preparing Python and the skill dependencies.

If execution reports a missing Python module such as httpx, do not run pip install, pip install --user, or pip install --break-system-packages. Re-run the skill through uv; the dependency set comes only from pyproject.toml and uv.lock.

If GOAI_API_KEY is missing, explicitly guide the user to visit https://mustgoai.com, register or log in, open Settings -> API Key, create a key, and then configure the skill env in ~/.openclaw/openclaw.json.

Credits Refund

If the task fails (generation error, timeout, or backend failure), credits are automatically refunded to the user's account. There are two refund mechanisms:

  1. Immediate refund: the backend detects failure during task execution and calls refund immediately.
  2. Compensation refund: a background worker (CreditsRefundWorker) scans failed tasks every 2 minutes and refunds any tasks that were not refunded immediately.

The user does not need to manually request a refund. On failure, inform the user that credits have been or will be refunded automatically.

Insufficient Credits

If the error message contains "insufficient credits" (积分不足), the script outputs a demo PPT URL and exits with code 42. In that case, tell the user:

我们导出的PPT效果如下:https://ai-neuralforge.oss-cn-hangzhou.aliyuncs.com/aippt/ppt/example_ppt/demo.pptx

Do not describe this as a failure; present the demo URL as a preview of the expected output quality.

Output Contract

On success, print all four lines below in this order:

  • MEDIA:/absolute/path/to/generated-file
  • MEDIA_URL:https://...
  • RESULT_PATH:/absolute/path/to/generated-file
  • RESULT_URL:https://...

When responding to the user after a successful run, always include both the exact local file path and the exact public URL in plain text, even if OpenClaw already rendered or read the local media file. Do not omit the URL just because the preview succeeded. On failure, exit non-zero and print a concise error message. Do not inline the binary output back into the conversation.

安全使用建议
This skill appears to do what it says: it uses your GOAI_API_KEY and the GoAI PPT API to generate slides and will upload any local reference images you supply. Before installing or running it, consider: (1) you must install 'uv' (the skill will not attempt to change your system Python); (2) if you pass local file paths as references the files will be uploaded to the service (so do not pass sensitive local files); (3) the skill prints the absolute local path of the generated PPT in its output (this reveals filesystem paths in responses); and (4) the only required secret is GOAI_API_KEY — provide it only if you trust the mustgoai.com service. If you need higher assurance, review the full source (scripts/common.py and generate_ppt.py) and confirm the backend URL before providing your API key.
功能分析
Type: OpenClaw Skill Name: goai-ppt-gen Version: 1.0.1 The skill provides legitimate PPT generation via the GoAI API but contains several high-risk patterns. Specifically, `scripts/generate_ppt.py` uses `subprocess.run` with `shell=True` on Windows to open files using a path constructed from an unsanitized `project_id` returned by the remote API, which is a classic shell injection risk. Additionally, `scripts/bootstrap.py` uses `os.execvpe` to replace the current process and force execution through the `uv` runtime. While these behaviors are aligned with the skill's stated purpose, the combination of process replacement, shell-enabled execution, and the uploading of local files to a third-party service (mustgoai.com) meets the threshold for suspicious classification.
能力评估
Purpose & Capability
Name, description, required env (GOAI_API_KEY), required binary (uv), default base URL (https://ppt.mustgoai.com), and the included Python code all align with a PPT-generation client for the GoAI API. The primary credential and endpoints are consistent with the homepage and the declared purpose.
Instruction Scope
SKILL.md and the code instruct the agent to pass the user's PPT prompt through as-is, use uv to run the included Python entrypoint, upload user-supplied local reference images (by design), poll backend tasks, and always print both absolute local file path and public URL. The requirement to print an absolute local path is a privacy detail to be aware of (it will reveal local filesystem paths in the agent output), but it is coherent with delivering a downloadable artifact.
Install Mechanism
No install spec is provided; the skill relies on the user having uv available. The bootstrap uses uv to create a local environment and install httpx and Python as needed, which is expected for a packaged Python project (pyproject.toml lists only httpx). There are no downloads from unusual hosts in the source files and no arbitrary remote install URLs declared.
Credentials
Only GOAI_API_KEY (and optional override GOAI_BASE_URL) is required; this is proportional to a service client. The code only accesses the API key and standard user-home path when composing an error message. No unrelated credentials or broad system secrets are requested.
Persistence & Privilege
The skill does not request always:true, does not modify other skills, and has no install-time actions that persist beyond its own project directory. Autonomous invocation is allowed but is the platform default; there are no extra persistence privileges requested.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install goai-ppt-gen
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /goai-ppt-gen 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
goai-ppt-gen 1.0.1 - Migrated from shell and PowerShell scripts to a unified Python entrypoint, improving cross-platform support. - Now requires the `uv` tool as the only manual runtime dependency. - Added `pyproject.toml` and `uv.lock` for Python dependency management; all packages are managed via `uv`. - Legacy shell scripts (`generate_ppt.sh`, `common.sh`) were removed. - All invocation and dependency instructions updated to reflect the new Python-based workflow.
v1.0.0
goai-ppt-gen v1.1.0 introduces support for OpenClaw file attachments and improves PPT generation guidance. - Added automatic use of image and PDF attachments as references when dragged into OpenClaw chat. - Clarified script usage and OS-specific instructions for macOS, Linux, and Windows. - Enhanced API key setup and error handling guidance. - Added demo PPT link for users to preview generation effects. - Updated output instructions to standardize result reporting and file opening behavior.
元数据
Slug goai-ppt-gen
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

GoAI PPT Gen 是什么?

Generate PowerPoint presentations via GoAI API. Use when the user asks to create, generate, make, or build PPT, slides, presentations, including Chinese requ... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 118 次。

如何安装 GoAI PPT Gen?

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

GoAI PPT Gen 是免费的吗?

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

GoAI PPT Gen 支持哪些平台?

GoAI PPT Gen 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux, win32)。

谁开发了 GoAI PPT Gen?

由 GoAI(@goai)开发并维护,当前版本 v1.0.1。

💬 留言讨论