skills/image-gen/SKILL.md
AI 图像生成助手,支持文生图和图生图,对接 OpenRouter / 阿里云百炼 / 火山方舟 / Google Gemini。 内置 API Key 加密管理:Key 以 AES 加密存入 WPS 笔记,解密密钥由「设备ID + 笔记ID + provider」现场派生,本机无需存储额外文件。 触发词:"帮我生图""文生图""图生图""用 AI 画一张""生成一张图""根据这张图生成""垫图生图""用 Flux 生图""用 Gemini 生图"。 与 wpsnote-cli gen-image 的区别:本 Skill 支持图生图、多服务商选择、更高质量模型,是内置生图的升级替代方案。
npx skillsauth add dy9759/SkillCollection image-genInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
支持文生图 + 图生图,自动管理 API Key,生成结果可直接插入 WPS 笔记。
encrypt-key 子命令输出的 ciphertext_b64 可以展示(这是密文,不是真实 Key)| provider | 唯一可用模型(硬编码,不可改动) |
|----------|-----------------------------|
| openrouter | google/gemini-3.1-flash-image-preview |
| dashscope(百炼) | qwen-image-2.0-pro |
| ark(即梦) | doubao-seedream-5-0-260128 |
| gemini | gemini-3-pro-image-preview |
用户只能选择用哪个 provider,模型由 AI 根据上表自动填入,任何情况下不接受覆盖。
确认需求 → 确定 provider + model → 获取/解密 Key → 执行生图 → 询问是否插入笔记
询问:
请告诉我:
1. 生图描述(prompt)是什么?
2. 有参考图吗?(有 → 图生图;没有 → 文生图)
3. 比例偏好?(1:1 / 16:9 / 9:16 / 4:3 / 3:4,默认 1:1)
让用户从以下四个 provider 中选一个,模型由 AI 自动填入(见铁律):
| provider | 特点 | 适合场景 | |----------|------|---------| | openrouter | 走代理,文生图 + 图生图(本地文件垫图) | 代理环境,需要图生图 | | dashscope(百炼) | 国内直连,仅文生图 | 国内网络,纯文生图 | | ark(即梦) | 国内直连,文生图 + 图生图(垫图须公网 URL) | 国内网络,需要图生图 | | gemini | 走代理,文生图 + 图生图(本地文件垫图) | 代理环境,Google 直连 |
用户未指定时,根据是否有代理、是否需要图生图主动推荐。
openrouter / gemini 国内需要代理,询问用户是否提供
--proxy。
search_notes 搜索 图像生成 Key,找到后 read_note 读取,在表格中找 provider 对应行,取出 ciphertext_b64 和 note_id。
找到密文 → 直接进入 Step 4(note 模式,脚本自动解密)。
找不到笔记或对应行 → 进入 Step 3.2。
我需要 {provider} 的 API Key 才能继续。
获取地址:{平台 URL}
请直接粘贴你的 Key:
| provider | Key 获取地址 | |----------|------------| | openrouter | https://openrouter.ai/workspaces/default/keys | | dashscope | https://bailian.console.aliyun.com/cn-beijing?tab=model#/api-key | | ark | https://console.volcengine.com/ark/ | | gemini | https://aistudio.google.com/app/api-keys |
收到 Key 后询问是否保存(见 Step 3.3)。
必须完整展示以下告警:
⚠️ 安全风险告知(请认真阅读)
如果你选择保存,Key 将以 AES 加密后存入 WPS 笔记:
- 加密密钥由「本机设备 ID + 笔记 ID + provider」现场派生,本机无需存储额外文件
- WPS 笔记不会获取你的 Key 内容,密文在其他设备上无法解密
- ⚠️ 如果你添加了第三方 MCP 插件,该插件可读取笔记内容(含密文)
- ⚠️ 换设备后,同一密文无法解密,需重新保存
是否保存? A. 保存(我已知悉风险) B. 不保存(本次临时使用)
选择保存:
检查 图像生成 Key 笔记是否存在,不存在则 create_note 新建(标题 图像生成 Key,加 #图像生成 标签)
执行加密:
python3 comm_script/image_gen.py encrypt-key \
--note-id "{笔记 note_id}" \
--provider "{provider}" \
--key "{用户提供的Key}"
ciphertext_b64,整表替换写入笔记(新增或替换对应 provider 行):<table>
<tr>
<td><p><strong>provider</strong></p></td>
<td><p><strong>ciphertext_b64</strong></p></td>
<td><p><strong>更新时间</strong></p></td>
</tr>
<tr>
<td><p>{provider}</p></td>
<td><p>{ciphertext_b64}</p></td>
<td><p>{当前日期}</p></td>
</tr>
</table>
选择不保存:Key 仅本次使用,直接进入 Step 4,--key 直接传字符串。
python3 comm_script/image_gen.py \
--provider "{provider}" \
--model "{model}" \
--key "note:{note_id}" \
--ciphertext "{ciphertext_b64}" \
--prompt "{prompt}" \
[--image "{参考图路径或URL}"] \
[--proxy "{代理地址}"] \
--aspect "{比例}" \
[--size "{分辨率}"] \
--out "./output"
python3 comm_script/image_gen.py \
--provider "{provider}" \
--model "{model}" \
--key "{用户提供的Key}" \
--prompt "{prompt}" \
[--image "{参考图路径或URL}"] \
[--proxy "{代理地址}"] \
--aspect "{比例}" \
--out "./output"
执行前告知:「正在调用 {provider} 生成图片,预计 30-120 秒…」
生图完成后,从 [saved] {路径} 行获得本地图片路径。
图片已生成:{路径}
需要插入到 WPS 笔记吗?
A. 插入当前打开的笔记
B. 插入指定笔记(请告诉我标题)
C. 不用,本地保存就行
选择插入时,执行以下步骤:
1. 获取目标笔记的 anchor_id(必须先做)
wpsnote-cli outline --note_id "{note_id}" --json
取 blocks 数组最后一个元素的 id 作为 anchor_id。
2. 插入图片(优先 CLI)
wpsnote-cli insert-image \
--note_id "{note_id}" \
--anchor_id "{最后一个block的id}" \
--position "after" \
--src "{图片本地路径或URL}" \
--json
返回 block_id 表示插入成功。
3. 降级:CLI 失败则用 MCP
insert_image({ note_id: "{note_id}", anchor_id: "{anchor_id}", position: "after", src: "{url或本地路径}" })
⚠️
insert-image要求目标笔记当前在 WPS 编辑器中打开,否则报INTERNAL_ERROR。如果报错,提示用户在 WPS 中打开该笔记后重试。
用户说「删除 Key」「清除保存的 Key」「换一个 Key」时:
图像生成 Key 笔记,整表替换删除对应 provider 行无需清理本机文件(note 模式本机本就无存储)。
| 场景 | 处理方式 |
|------|---------|
| 解密失败(换了设备) | 提示"换设备后密文不可用,请重新执行保存流程" |
| openrouter / gemini 连接超时 | 提示"国内需要代理,请提供代理地址" |
| 百炼传了参考图 | 自动忽略,告知"百炼不支持图生图" |
| 火山方舟垫图是本地文件 | 提示"须为公网 URL" |
| 依赖未安装 | 提示 pip install httpx cryptography |
content-media
【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。 核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。 触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。 不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。
tools
智能美化 WPS 笔记文档,采用克制统一的配色风格(全文仅1种主色调,不混用多色系)。核心能力:优化标题层级结构、用高亮块强调核心结论与注意事项、用分栏展示对比或并列内容、应用统一配色方案并写入。仅当用户明确表达美化需求时才触发,例如:美化笔记、排版优化、文档美化、笔记排版、WPS笔记美化、智能排版、文档结构调整、加颜色、加高亮、加分栏、让笔记好看点、优化文档格式、笔记太丑了、调整排版、加点样式、给笔记润色、整理笔记格式、提升可读性。不要在用户仅要求写入内容、编辑文字、总结归纳等非美化场景下主动触发此skill。通过 user-wpsnote MCP 服务操作 WPS 笔记文档。
tools
通过 MCP 工具读取、编辑和管理 WPS 笔记,基于 block 文档模型,所有内容以 XML 格式交换。当用户说"帮我看看笔记"、"搜索笔记"、"创建一篇笔记"、"编辑笔记内容"、 "整理标签",或提到 WPS 笔记、WPS Note、云笔记时使用。也适用于排查 MCP 工具调用错误 (BLOCK_NOT_FOUND、EDITOR_NOT_READY 等)。
tools
【深度搜索】深挖笔记关联,构建知识图谱的 WPS 笔记查询助手。 当用户说"深度搜索""帮我深挖""关联查询""全面梳理"时使用。 支持跨笔记关联挖掘、语义发散扩展、知识沉淀,不同于简单关键词匹配。 不要用于单关键词查询(那用 search_notes MCP 工具)。