Web 界面
一个完全本地的聊天界面,通过 MCP 服务器驱动 Photoshop。一条命令,浏览器自动打开——无需 IDE。
一条命令即可启动
npx -p @alisaitteke/photoshop-mcp photoshop-mcp-ui本地服务器会在 127.0.0.1(随机空闲端口)上启动,默认浏览器会自动打开聊天界面。
选择提供商
首次启动时选择一种方式——使用 API 密钥,或使用你现有的 CLI 订阅账号(Anthropic 和 Google)。
| 提供商 | 模型 | API 密钥 | CLI 账号 |
|---|---|---|---|
| Anthropic | Claude Sonnet / Opus / Haiku | console.anthropic.com | npm i -g @anthropic-ai/claude-code → claude auth login |
| OpenAI | GPT-5, GPT-4.1, o-series | platform.openai.com | — |
| Gemini 2.5 Pro / Flash / Flash-Lite | aistudio.google.com | npm i -g @google/gemini-cli → gemini auth login | |
| OpenRouter | 100+ models | openrouter.ai | — |
两种认证方式
API 密钥默认
通过 Vercel AI SDK 使用你的提供商密钥。用量按 API 费率以 token 计费;界面会显示每次对话的预估费用。
使用你的账号包含在订阅中
复用你本地的 Claude Code 或 Gemini CLI OAuth 会话。不存储 API 密钥;用量计入订阅额度,而非 API 计费。
你可以在 Settings(设置)中为每个提供商切换认证方式,而不会丢失另一种凭据——先保留 API 密钥试用 CLI 账号,之后随时切回。
首次启动会发生什么
- 选择提供商,然后选择 API 密钥或使用你的账号。
- 验证密钥或检查 CLI 连接。配置存储在本地的 ~/.photoshop-mcp/data.db(SQLite,权限 600)——密钥绝不会离开你的机器。
- 输入自然语言提示词。界面会流式显示模型回复,实时执行 Photoshop 工具调用,并将每次调用渲染为可检查的卡片(输入 + 结果)。
- 随时从 Settings 或模型选择器切换提供商、认证方式或模型——对话、费用和工具历史都会跨会话保留。
Action Plan(行动计划)Beta
API 密钥认证下的可选执行模式。不再是逐步的「模型 → 工具」循环,而是一次规划调用生成有序的 Photoshop 工具调用待办列表,然后按顺序直接执行。
- 一次规划调用生成有序的 Photoshop 工具调用待办列表。
- 工具按顺序直接执行——步骤之间不再有额外的模型往返。
- 某一步失败时,有界的修复循环只会重新规划剩余步骤(最多 3 次)。
默认关闭——开关在模型选择器旁边。适合「移除背景并导出为 Web 格式」这类多步骤提示词,模型调用更少,端到端执行更快。
之后切换认证方式
随时从侧边栏打开 Settings。
| 操作 | API 密钥模式 | CLI 账号模式 |
|---|---|---|
| 初始设置 | 粘贴密钥 → Save | 安装 CLI → auth login → Check connection |
| 切换走 | 选择 API 密钥——已保存的密钥会保留 | 选择使用你的账号——密钥不会被删除 |
| 自定义可执行文件 | — | 当 claude / gemini 不在 PATH 上时,可选的 CLI 路径 |
| 费用显示 | 状态栏中按 token 估算 | 「包含在订阅中」徽标 |
认证方式按提供商存储在 ~/.photoshop-mcp/data.db 中——现有配置不受影响,照常工作。
CLI 参数
photoshop-mcp-ui [--port 5174] [--host 127.0.0.1] [--no-open]本地 API 安全
界面服务器持有你的提供商密钥,并且能驱动 Photoshop,因此每个 /api/* 请求都要通过三项检查:
- Host — 必须是服务器端口上的回环地址(或你通过 --host 绑定的地址)。可阻止 DNS 重绑定。
- Origin — 存在时必须与界面自身的源一致。可阻止跨源的浏览器调用方。
- 会话令牌 — 每次启动生成的随机密钥。可阻止其他本地进程——它们可以伪造任何请求头,但无法读取令牌。
浏览器无需处理令牌——服务器会把它注入到自己提供的页面中。用于脚本时,从 ~/.photoshop-mcp/ui-session.json 读取令牌,并作为请求头发送:
terminal
TOKEN=$(node -p "require('$HOME/.photoshop-mcp/ui-session.json').token")
curl -H "x-psmcp-token: $TOKEN" http://127.0.0.1:5174/api/statusAuthorization: Bearer <token> 同样有效。启动服务器前设置 PSMCP_UI_TOKEN 可以固定一个已知令牌;没有有效令牌的请求会收到 401 unauthorized。
环境变量
PHOTOSHOP_PATH— 自定义 Photoshop 安装路径(可选)LOG_LEVEL— 日志级别(0=DEBUG,1=INFO,2=WARN,3=ERROR)PSMCP_UI_TOKEN— 固定 Web 界面的会话令牌ANALYTICS_DISABLED— 设为 1 或 true 可完全禁用匿名用量分析POSTHOG_DISABLED— ANALYTICS_DISABLED 的旧别名RYBBIT_API_KEY / RYBBIT_HOST / RYBBIT_SITE_ID— 供 fork 或预发布环境使用的可选分析覆盖配置
遇到问题?
401 错误、连接问题和 CLI 账号修复都在疑难解答页面。