mcpField
P
pp-midjourney

pp-midjourney

github.com/mvanhorn创意与媒体2.1k47 次安装今天更新
代码仓库

关于 pp-midjourney

pp-midjourney 技能通过 Midjourney CLI 查看账户数据、探索内容流和生成记录,适合需要从命令行访问 Midjourney 网页应用信息的用户及 Agent。

主要功能

  1. 01浏览探索内容流
  2. 02查看文件夹和情绪板
  3. 03列出生成任务及更新
  4. 04查看队列和排名数据
  5. 05为 Agent 工作流筛选结果

适用场景

  1. 01检查近期生成的图像
  2. 02查看排队或运行中的任务
  3. 03浏览探索内容和风格元数据

MCP 相关

该技能说明了 midjourney-pp-mcp 服务的安装及其在 Claude Code 中的注册方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-midjourney

安装后在 Claude Code 中输入/pp-midjourney确认已加载。

详细介绍

Midjourney — Printing Press CLI

前置条件:安装 CLI

此技能通过 midjourney-pp-cli 二进制文件运行。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

  1. 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install midjourney --cli-only
    
  2. 验证:midjourney-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/ai/midjourney/cmd/midjourney-pp-cli@latest

如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。在验证成功前,不要继续执行技能命令。

不要使用此 CLI 的情况

大多数生成的端点命令都是只读检查命令。除非用户明确要求提交 Midjourney 任务,否则不要使用会修改数据的命令。特别是,imagine 和 rerun 会创建远程 Midjourney 任务,而 download 会写入本地文件。

HTTP 传输

此 CLI 使用兼容 Chrome 的 HTTP 传输来访问面向浏览器的端点。常规 API 调用无需常驻的浏览器进程。

发现信号

此 CLI 根据浏览器观测到的流量上下文生成。

  • 捕获覆盖范围:62 个 API 条目,共 62 个网络条目
  • 协议:rest_json(置信度 75%)
  • 生成提示:browser_http_transport、requires_protected_client
  • 候选命令构想:list_contests_ranking_count — 根据观测到的 GET /api/contests-ranking-count 流量推导;list_editor_sessions_sync — 根据观测到的 GET /api/editor-sessions-sync 流量推导;list_explore — 根据观测到的 GET /api/explore 流量推导;list_explore_styles_likes — 根据观测到的 GET /api/explore-styles-likes 流量推导;list_folders — 根据观测到的 GET /api/folders 流量推导;list_following_for_user — 根据观测到的 GET /api/following-for-user 流量推导;list_get_user_country — 根据观测到的 GET /api/get-user-country 流量推导;list_imagine — 根据观测到的 GET /api/imagine 流量推导。

命令参考

explore — 浏览 Midjourney 探索动态

  • midjourney-pp-cli explore list — 获取探索动态
  • midjourney-pp-cli explore style-likes — 获取探索卡片的风格点赞元数据

folders — 检查 Midjourney 整理文件夹

  • midjourney-pp-cli folders — 列出已认证账户中的文件夹

generations — 检查生成的 Midjourney 任务和图像历史记录

  • midjourney-pp-cli generations list — 列出已认证 Midjourney 用户的近期任务/图像
  • midjourney-pp-cli generations updates — 轮询已认证用户的近期任务更新

moodboards — 检查 Midjourney 情绪板

  • midjourney-pp-cli moodboards — 列出已认证账户的情绪板

profiles — 检查个性化/个人资料元数据

  • midjourney-pp-cli profiles following — 列出已登录用户的关注元数据
  • midjourney-pp-cli profiles personalized — 列出个性化个人资料元数据

queue — 检查当前 Midjourney 生成队列

  • midjourney-pp-cli queue — 显示已登录账户中排队/运行的 Midjourney 任务

rankings — 检查排名和评分页面

  • midjourney-pp-cli rankings contests-count — 获取竞赛排名数量
  • midjourney-pp-cli rankings model-ratings — 获取账户可见的模型评分任务

storage — 检查 Midjourney 账户存储元数据

  • midjourney-pp-cli storage — 列出 Web 应用提供的存储元数据
查找合适的命令

知道要做什么,但不知道该用哪个命令时,可以直接询问 CLI:

midjourney-pp-cli which "<capability in your own words>"

which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出码 0 表示至少找到一个匹配项;退出码 2 表示没有足够可信的匹配项——请改用 --help 或缩小查询范围。

身份验证设置

运行 midjourney-pp-cli auth setup,查看获取密钥的网址和步骤(添加 --launch 可打开网址)。然后设置:

export MIDJOURNEY_COOKIE_HEADER="<your-key>"

或者将其持久化到 ``。

运行 midjourney-pp-cli doctor 验证设置。

Agent 模式

为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对于控制上下文大小至关重要:

    midjourney-pp-cli explore list --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不会发送

  • 适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储

  • 非交互式 — 从不提示输入;所有输入都通过标志传入

  • 只读 — 请勿使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会修改数据的请求

响应封装

从本地存储或 API 读取数据的命令会将输出封装在来源信息中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并查看 .meta.source 判断数据来自实时数据还是本地存储。只有当 stdout 是终端,且未设置任何机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将便于人阅读的 N results (live) 摘要打印到 stderr——管道/Agent 使用方和显式指定格式的运行会在 stdout 输出纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:

midjourney-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
midjourney-pp-cli feedback --stdin < notes.txt
midjourney-pp-cli feedback list --json --limit 10

条目会保存在本地 ~/.midjourney-pp-cli/feedback.jsonl。除非设置了 MIDJOURNEY_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 MIDJOURNEY_FEEDBACK_AUTO_SEND=true,否则不会通过 POST 发送。默认仅保存在本地。

写下让你感到意外的地方,而不是提交 Bug 报告。简短、具体、一行即可:这才是能不断积累价值的部分。

输出交付

每个命令都支持 --deliver <sink>。输出会写入指定的目标,同时写入 stdout,也可以替代 stdout,因此 Agent 无需手动通过管道传递,即可路由命令结果。支持三种目标:

目标效果
stdout默认;仅写入 stdout
file:<path>将输出原子写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson)

不支持的方案会被拒绝,并返回列出支持方案的结构化错误。Webhook 失败时会返回非零退出码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置档是保存的一组标志值,可在多次调用时重复使用。如果定时运行的 Agent 每次都以相同配置调用同一命令,就可以使用配置档——这是 HeyGen 的 “Beacon” 模式。

midjourney-pp-cli profile save briefing --json
midjourney-pp-cli --profile briefing explore list
midjourney-pp-cli profile list --json
midjourney-pp-cli profile show briefing
midjourney-pp-cli profile delete briefing --yes

显式标志始终优先于配置档中的值;配置档中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置档,让进行自省的 Agent 能在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7速率受限(请稍后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 midjourney-pp-cli --help 的输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 请参阅上方的先决条件
  3. 其他任何内容 → 直接使用(作为 CLI 命令执行,并添加 --agent)

MCP 服务安装

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/ai/midjourney/cmd/midjourney-pp-mcp@latest
    
  2. 在 Claude Code 中注册:
    claude mcp add midjourney-pp-mcp -- midjourney-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which midjourney-pp-cli 如果未找到,请提示安装(参见本技能顶部的先决条件)。
  2. 根据用户查询,从上方的独特功能和命令参考中选择最合适的命令。
  3. 使用 --agent 标志执行:
    midjourney-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,请查看子命令帮助:midjourney-pp-cli <command> --help。

评论

支持 Markdown