class-note-builder
当用户希望把课堂逐字稿、OCR 笔记、截图资料或零散学习内容整理成结构化的 WPS 学习笔记时使用此 Skill。适合课堂记录整理、培训复盘、补课笔记汇总、课程主笔记构建等场景,尤其适合原始材料很乱、但最终需要一篇可复习、可回看、可继续补充的主笔记时。
AI 图像生成助手,支持文生图和图生图,对接 OpenRouter / 阿里云百炼 / 火山方舟 / Google Gemini。 内置 API Key 加密管理:Key 以 AES 加密存入 WPS 笔记,解密密钥由「设备ID + 笔记ID + provider」现场派生,本机无需存储额外文件。 触发词:"帮我生图""文生图""图生图""用 AI 画一张""生成一张图""根据这张图生成""垫图生图""用 Flux 生图""用 Gemini 生图"。 与 wpsnote-cli gen-image 的区别:本 Skill
$ npx -y skills add wpsnote/wpsnote-skills --skill image-gen --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/image-genContext preview
The summary Claude sees to decide when to auto-load this skill.
AI 图像生成助手,支持文生图和图生图,对接 OpenRouter / 阿里云百炼 / 火山方舟 / Google Gemini。 内置 API Key 加密管理:Key 以 AES 加密存入 WPS 笔记,解密密钥由「设备ID + 笔记ID + provider」现场派生,本机无需存储额外文件。 触发词:"帮我生图""文生图""图生图""用 AI 画一张""生成一张图""根据这张图生成""垫图生图""用 Flux 生图""用 Gemini 生图"。 与 wpsnote-cli gen-image 的区别:本 Skill
name: image-gen
description: |
AI 图像生成助手,支持文生图和图生图,对接 OpenRouter / 阿里云百炼 / 火山方舟 / Google Gemini。
内置 API Key 加密管理:Key 以 AES 加密存入 WPS 笔记,解密密钥由「设备ID + 笔记ID + provider」现场派生,本机无需存储额外文件。
触发词:"帮我生图""文生图""图生图""用 AI 画一张""生成一张图""根据这张图生成""垫图生图""用 Flux 生图""用 Gemini 生图"。
与 wpsnote-cli gen-image 的区别:本 Skill 支持图生图、多服务商选择、更高质量模型,是内置生图的升级替代方案。
metadata:
version: "2.0.0"
category: content-creation
tags: [image, gen-image, flux, gemini, dashscope, openrouter]
dependencies: [wps-note]
scripts:
- comm_script/image_gen.py支持文生图 + 图生图,自动管理 API Key,生成结果可直接插入 WPS 笔记。
---
| 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. 不保存(本次临时使用)
---
**选择保存**:
1. 检查 `图像生成 Key` 笔记是否存在,不存在则 `create_note` 新建(标题 `图像生成 Key`,加 `#图像生成` 标签)
2. 执行加密:
python3 comm_script/image_gen.py encrypt-key \
--note-id "{笔记 note_id}" \
--provider "{provider}" \
--key "{用户提供的Key}"3. 从输出中取 `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>4. 对话只说:「Key 已加密保存到笔记《图像生成 Key》,下次自动读取。」
**选择不保存**: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」时:
1. 搜索 `图像生成 Key` 笔记,整表替换删除对应 provider 行 2. 告知:「{provider} 的密文已从笔记中删除。下次生图需重新提供 Key。」
> 无需清理本机文件(note 模式本机本就无存储)。
---
| 场景 | 处理方式 | |------|---------| | 解密失败(换了设备) | 提示"换设备后密文不可用,请重新执行保存流程" | | openrouter / gemini 连接超时 | 提示"国内需要代理,请提供代理地址" | | 百炼传了参考图 | 自动忽略,告知"百炼不支持图生图" | | 火山方舟垫图是本地文件 | 提示"须为公网 URL" | | 依赖未安装 | 提示 `pip install httpx cryptography` |
笔记,是思想落地的地方。 本仓库以 wps-note 为基础能力底座,让 Claude Code、Cursor、OpenClaw 等主流 AI Agent 直接驱动 WPS 笔记——往里写、从里读、让它有序、让它被找到。 笔记不再是你自己整理的地方,而是 Agent 替你打理的记忆层。
当用户希望把课堂逐字稿、OCR 笔记、截图资料或零散学习内容整理成结构化的 WPS 学习笔记时使用此 Skill。适合课堂记录整理、培训复盘、补课笔记汇总、课程主笔记构建等场景,尤其适合原始材料很乱、但最终需要一篇可复习、可回看、可继续补充的主笔记时。
多平台编码助手。遵循各平台官方文档做编码规范、单测与编译/lint;协助将核心技术梳理为完整 WPS 笔记技术文档。生成的笔记必须包含 7…
【内容创作起点】用户想要写文章/公众号/文案时的首选skill。 触发词:"帮我写""我想写""准备写""开始写""写个文章""写篇稿子""写公众号""写小红书""仿照这个风格写""分析我的写作风格""提取写作模板"。…
将任意内容提炼为结构化知识笔记,自动保存到 WPS 笔记。只要用户给出任何内容(链接、图片、本地文件、粘贴文字)并有保存笔记的意图,就应使用此…
将本地文档批量导入到 WPS 笔记。支持扫描 Obsidian Vault、思源笔记、微信公众号存档、 下载目录或任意用户指定目录,自动识别 HTML、Markdown、PDF、DOCX、PPTX、XLSX 等格式, 转换为 WPS…