nook-image-gpt · git:20260613.0b61885 · 2026-06-13 · sha256 bb2ac23e60e2e541

nook-image-gpt git:20260613.0b61885C

Immutable. This exact content never changes and is served at /api/v1/blob/bb2ac23e60e2e541.

# nook-image-gpt

通过中转站调用 GPT Image 2.0 生成和编辑图片的 MCP 工具。

> **前置要求**:使用前必须先完成下方「部署」章节,将 MCP server 注册到你的 agent 客户端。SKILL.md 本身只是使用说明,不能独立运行。

---

## 1. 部署(一次性操作)

### 1.1 安装依赖

```bash
cd <本文件所在目录>/server
npm install
```

### 1.2 获取 API Key

前往 [用量查询页](https://sub.jarodfund.xyz/key-usage) 获取你的 API Key(格式:`sk-...`)。

### 1.3 注册 MCP Server

在你的 agent 客户端里配置,把 `<server路径>` 替换成你本机 `server/index.js` 的**绝对路径**,`sk-你的key` 替换成真实 key。

**opencode** — 编辑 `~/.config/opencode/opencode.json`:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nook-image-gpt": {
      "type": "local",
      "command": ["node", "<server路径>/index.js"],
      "enabled": true,
      "environment": {
        "IMAGE_API_KEY": "sk-你的key"
      }
    }
  }
}
```

**Cursor / Windsurf** — 图形界面 Settings → MCP → Add Server:
- Command: `node`
- Args: `<server路径>/index.js`
- Env: `IMAGE_API_KEY=sk-你的key`

**Claude Code / Kiro** — 在项目根目录创建 `.mcp.json`:

```json
{
  "mcpServers": {
    "nook-image-gpt": {
      "command": "node",
      "args": ["<server路径>/index.js"],
      "env": {
        "IMAGE_API_KEY": "sk-你的key"
      }
    }
  }
}
```

> ⚠️ Claude Code 沙箱模式下出站网络受限,建议用 opencode 或 Cursor。

### 1.4 验证

重启客户端后,在对话里说「生成一张蓝色圆形图标」,模型应自动调用 `generate_image` tool 并返回图片。

### 1.5 切换中转站(可选)

默认使用 `https://sub.jarodfund.xyz`。如需切换,在配置的 `environment` / `env` 里加:

```
IMAGE_API_BASE=https://你的中转站地址
```

---

## 2. 给 AI 模型的使用说明

> 以下内容供 AI 阅读,描述如何调用本工具。

### 2.1 MCP 依赖声明

本 skill 依赖 **`nook-image-gpt` MCP server** 提供的两个 tool:`generate_image` 和 `edit_image`。

**必须通过这两个 tool 完成所有出图操作,不得自行编写代码或调用其他 API。** 如果 tool 列表里没有这两个名字,说明 MCP server 未启动,需要提示用户先完成部署。

### 2.2 tool:generate_image(文生图)

| 参数 | 必填 | 默认值 | 说明 |
|------|------|--------|------|
| `prompt` | 是 | — | 生图提示词 |
| `size` | 否 | `1024x1024` | `1024x1024` / `2048x2048` / `2048x1152` / `3840x2160` / `2160x3840` |
| `n` | 否 | 1 | 生成数量(最大 10) |
| `save_to_dir` | 否 | — | 传入则存为 PNG 文件并返回路径;不传则返回 base64 |

**返回**:

```json
{ "saved_to": ["/path/to/nook_gpt_xxx_0.png"] }
// 或
{ "images": [{ "b64_json": "..." }] }
```

### 2.3 tool:edit_image(图生图 / 局部编辑)

| 参数 | 必填 | 默认值 | 说明 |
|------|------|--------|------|
| `prompt` | 是 | — | 编辑目标或风格迁移描述 |
| `image_path` | 否 | — | 单张源图路径 |
| `image_paths` | 否 | — | 多张参考图路径(与 `image_path` 至少传一个) |
| `mask_path` | 否 | — | PNG mask 路径,透明区域被编辑 |
| `size` | 否 | `1024x1024` | 同上 |
| `n` | 否 | 1 | 生成数量(最大 10) |
| `save_to_dir` | 否 | — | 同上 |

**返回格式同 `generate_image`。**

### 2.4 尺寸选择建议

| 场景 | 推荐 size |
|------|-----------|
| 头像、图标、方形插图 | `1024x1024` |
| 封面图、宽屏插图 | `2048x1152` |
| 高清方图 | `2048x2048` |
| 桌面壁纸、横幅 | `3840x2160` |
| 手机壁纸、海报 | `2160x3840` |

---

## 3. 在其他 Skill 中调用(原子 skill 接入协议)

当你的 skill 需要出图时,在 SKILL.md 对应章节粘贴以下 snippet,替换括号内的占位符:

```markdown
### 出图(依赖 nook-image-gpt MCP)

前置检查:确认 tool 列表中存在 `generate_image`,否则提示用户先部署 nook-image-gpt。

**文生图:**
调用 `generate_image`:
- prompt: <根据上下文构造的提示词>
- size: <按场景从尺寸表选择>
- save_to_dir: <输出目录,留空则返回 base64>

**图生图:**
调用 `edit_image`:
- prompt: <改图/风格迁移要求>
- image_path: <源图片绝对路径>
- size: <按场景选择>
- save_to_dir: <输出目录>

返回值处理:
- save_to_dir 模式:用 `saved_to[0]` 路径继续流程
- base64 模式:用 `images[0].b64_json` 嵌入后续处理
```

**示例(小红书图文生产 skill 的出图章节):**

```markdown
## 4. 出图环节

依赖 nook-image-gpt MCP 的 `generate_image` tool。

1. 根据笔记正文提炼视觉关键词,构造英文 prompt
2. 调用 `generate_image`:
   - prompt: <英文视觉描述>
   - size: `2048x1152`(小红书封面横图)
   - save_to_dir: <项目输出目录>
3. 将返回的 `saved_to[0]` 路径作为封面图插入排版环节
```