给 Pi 装上生图插件:从登录报错到画出一只 200×200 的猫

我给 Pi 装了 pi-codex-image-gen,想直接在终端里画图。

照着插件示例试了一次,没画出来,报的是 Missing image OAuth credentials。按提示执行 /login codex-images,在浏览器里完成授权后,再让它画一只猫,这次成功了。

这个插件能做什么?

装上 pi-codex-image-gen 后,可以在 Pi 对话里生成图片。也能拿本地图片或对话中的图片作参考来编辑,支持 PNG、JPEG、WebP。

它用的是 ChatGPT 订阅的图像生成能力,不用另配 OpenAI API Key,也不需要安装 Codex App。生成会消耗账号的图像额度,能否使用、能用多少,要看账号和服务端的限制。

插件在 Pi 官网的 Packages 页面:pi.dev/packages/pi...

安装插件

先确认 Pi 已经能正常使用,ChatGPT 订阅账号也有可用的图像生成额度。插件要求 Pi 1.1.0 或以上,Node.js 22.19.0 或以上。

我用的是 Pi-Bolt,所以命令写成 pi-bolt。用原版 Pi 的话,把下面的 pi-bolt 换成 pi,官网截图里用的就是 pi。

在系统终端安装插件:

bash 复制代码
pi-bolt install npm:pi-codex-image-gen

装完看一下包列表:

bash 复制代码
pi-bolt list

再进入会话:

bash 复制代码
pi-bolt

已经开着会话的话,在会话输入框里执行一次:

text 复制代码
/reload

这会重新加载扩展和技能。下面的 /login、/skill:imagegen 都输在这个输入框里,不是 Shell 命令。

第一次试画,卡在了登录

我先用了插件 README 里的宝剑示例,要求画一个 32×32 的像素图标:

text 复制代码
Generate a pixel-art sword icon, 32×32, with a blue blade and gold hilt

工具被调用了,随后报错,没有生成图片:

text 复制代码
Missing image OAuth credentials. Run /login codex-images.

这里漏了一步图像登录。Pi 把聊天和生图的授权分开管理,两个登录是独立的。用 openai 的 ChatGPT 登录只能聊天,不能生图。换聊天模型也解决不了。

接着在 Pi 会话输入框里执行:

text 复制代码
/login codex-images

按提示到浏览器里,用 ChatGPT 账号完成登录和授权,再回到终端。

也可以输入 /login,从列表里选:

text 复制代码
Codex Images (ChatGPT subscription)

凭证由 Pi 保存和刷新,不用自己改 auth.json。登录被拒绝或凭证过期时,重新执行 /login codex-images。

如果列表里找不到 Codex Images,先查插件有没有装好,再试一次 /reload,必要时重启会话。

登录后,重新画一只猫

我发了一句中文:

text 复制代码
画一只200*200的猫

想指定用插件自带的技能,也可以写:

text 复制代码
/skill:imagegen 画一只200*200的猫

这次 codex_generate_image 调用成功,终端里有了图片预览和保存路径。

输出中的 Status: completed 表示生成完成,Saved image to: 后面跟着本地文件路径。

其中的 gpt-6-astra 是路由模型名。实际图像模型由后端选择,这个名字看不出用的是哪个模型。

图画出来了,尺寸还要再处理

我要求的是 200×200,截图里返回的原图却是 1254×1254:

text 复制代码
Backend-reported size: 1254x1254.

之后在本地缩放到 200×200,再检查文件尺寸。

要精确尺寸,可以出图后接着说:

text 复制代码
把刚才生成的图片缩放到精确的200×200像素,另存为PNG,保留原图,并检查最终文件尺寸。

做头像、图标这类有固定规格的素材时,记得检查实际像素。

图片保存在哪里,之后怎么改?

默认图片会存在 Pi 的 agent 目录下,通常是:

text 复制代码
~/.pi/agent/generated-images/<session-id>/

找文件时,看 Saved image to: 后面的路径就行。

要给项目用,可以把保存位置一起告诉它:

text 复制代码
画一只可爱的橘猫,正面坐姿,米白色背景,不要文字。
最终导出为200×200像素PNG,保留原图,并把最终文件复制到当前项目的assets目录。

保存前看一眼目标目录,别覆盖了同名资源。

想接着改刚才那张图,可以继续发要求:

text 复制代码
基于刚才那张猫图,把表情改成闭眼微笑,尽量保留姿势和配色,另存一份。

一次最多能引用 5 张本地或近期对话里的图片。改图会重新发起生成请求,可能继续消耗额度。

登录后还报错怎么办?

如果仍然提示 Missing image OAuth credentials,检查 /login codex-images 是否完成了授权。返回 401 或 403 时,也可以重新登录,检查授权状态。

遇到 429、额度耗尽、连接失败或超时,先确认具体的报错原因。超时和连接中断时,远端可能已经开始生成,上一笔也可能用掉了额度,不要马上连续提交同一个请求。

插件还有一条独立的 CLI 路径,需要 OPENAI_API_KEY,按 API 单独计费。要用它得主动选择,订阅登录失败时不会自动切过去。

参考链接

相关推荐
陈随易1 小时前
搞钱点子之生态鱼缸
前端·后端·程序员
PBitW1 小时前
从空目录到上线:我全程用 TRAE 做了一款微信小游戏合集(含一次完整架构重构)
前端·trae
不爱学英文的码字机器1 小时前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
云和数据.ChenGuang1 小时前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
avi91111 小时前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三
java·前端·算法·delegate·inspector·editor扩展·unity editor
fengci.1 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
Ward的AI产品实战1 小时前
开源 AI 网关 Magpie 调优终结篇:顺位排错、跨家族对抗审查与 5 大路由组重构(下篇)
前端·人工智能
Highcharts.js1 小时前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts
广州华水科技2 小时前
单北斗GNSS在建筑形变监测中的应用与优势分析
前端