You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
<!-- One-paragraph description of the change. Focus on the *why*. -->
## Type of change
- [ ] Bug fix
- [ ] New feature
- [ ] Refactor (no behavior change)
- [ ] Documentation
- [ ] Build / CI / tooling
- [ ] Breaking change
## Linked issue
<!-- Use "Closes#123" only when this PR fully resolves the issue. Use
"Refs #123" for partial work or follow-up slices. -->
## Checklist
- [ ] I checked the linked issue / relevant context before starting
- [ ] `pnpm lint && pnpm typecheck && pnpm test` passes locally
- [ ] Added/updated tests for the change
- [ ] Added a changeset (`pnpm changeset`) if user-visible
- [ ] Updated docs if behavior changed
## Dependency additions (if any)
<!-- For each new prod dependency: name, install size, license,
why-not-alternatives. Delete this section if no new deps. -->
## Screenshots / recordings (UI changes)
<!-- Drop them here. Required for any visual change. -->
Co-authored-by: Sun-sunshine06 <Sun-sunshine06@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@
50
50
51
51
Turn a prompt into a polished prototype, slide deck, or marketing asset, locally, with the model you already use.
52
52
53
-
**Open CoDesign is the open-source Claude Design alternative** — built for people who want the speed of AI-native design tools without subscription lock-in, cloud-only workflows, or being forced onto a single provider. An MIT-licensed desktop app, local-first from day one, with BYOK for any model (Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Ollama, or any OpenAI-compatible endpoint). One-click import of your existing Claude Code or Codex API key gets you running in under 90 seconds.
53
+
**Open CoDesign is the open-source Claude Design alternative** — built for people who want the speed of AI-native design tools without subscription lock-in, cloud-only workflows, or being forced onto a single provider. An MIT-licensed desktop app, local-first from day one, with BYOK for any model (Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Ollama, or any OpenAI-compatible endpoint) plus direct ChatGPT Plus / Pro / Team subscription sign-in for Codex models. One-click import of existing Claude Code or Codex provider configs, or one-click ChatGPT sign-in, gets you running in under 90 seconds.
54
54
55
55
---
56
56
@@ -85,7 +85,7 @@ Open source, desktop-native, and built for people who do not want their design w
85
85
| Version history | ✅ Local sessions + workspace files | ❌ | ❌ | ❌ |
86
86
| Data privacy | ✅ On-device app state | ❌ Cloud-processed | ❌ Cloud | ❌ Cloud |
@@ -128,7 +128,7 @@ Open source, desktop-native, and built for people who do not want their design w
128
128
129
129
**Time to first artifact:** about 3 minutes
130
130
131
-
**Requires:** one API key or local Ollama
131
+
**Requires:** one API key, ChatGPT subscription sign-in, or local Ollama
132
132
133
133
**Runs on:** macOS 12+ (Monterey or later), Windows 10+, Linux (glibc ≥ 2.31)
134
134
@@ -184,16 +184,15 @@ After each stable tag push, CI syncs SHAs back into `packaging/` and publishes d
184
184
>
185
185
> Want a verified build? Compile from source — see [CONTRIBUTING.md](./CONTRIBUTING.md).
186
186
187
-
### 2. Add your API key
187
+
### 2. Add a provider
188
188
189
-
On first launch, Open CoDesign opens the Settings page. Paste any supported provider key:
189
+
On first launch, Open CoDesign opens the Settings page. Pick the path that matches how you already use models:
190
190
191
-
- Anthropic (`sk-ant-…`)
192
-
- OpenAI (`sk-…`)
193
-
- Google Gemini
194
-
- Any OpenAI-compatible relay (OpenRouter, SiliconFlow, local Ollama)
191
+
- **ChatGPT subscription** — sign in with ChatGPT to use Codex models without pasting an API key.
192
+
- **API key** — paste Anthropic (`sk-ant-...`), OpenAI (`sk-...`), Google Gemini, OpenRouter, SiliconFlow, DeepSeek, or another supported provider key.
193
+
- **Local / keyless** — use Ollama or an IP-allowlisted OpenAI-compatible gateway.
195
194
196
-
Credentials stay in`~/.config/open-codesign/config.toml`(file mode 0600, same convention as Claude Code, Codex, and `gh` CLI). Nothing leaves your machine unless your chosen model provider requires it.
195
+
Credentials stay in`~/.config/open-codesign/config.toml`and the ChatGPT OAuth token store under the app config directory. Nothing leaves your machine unless your chosen model route requires it.
197
196
198
197
### 3. Type your first prompt
199
198
@@ -203,7 +202,7 @@ Pick one of **fifteen built-in demos** — landing page, dashboard, pitch slide,
203
202
204
203
## Bring your stack
205
204
206
-
Already using Claude Code or Codex?Your providers, models, and API keys import in one click, with no copy-paste and no need to re-enter settings:
205
+
Already using Claude Code or Codex? API-key provider configs import in one click, with no copy-paste and no need to re-enter settings. If you use Codex through ChatGPT subscription login, sign in directly from Settings:
207
206
208
207

209
208
@@ -223,14 +222,14 @@ Add a `SKILL.md` to any project to teach the model your own taste.
223
222
224
223
### Models and providers
225
224
- **Unified provider model** — Anthropic, OpenAI, Gemini, DeepSeek, OpenRouter, SiliconFlow, local Ollama, or any OpenAI-compatible relay; keyless (IP-allowlisted) proxies supported
226
-
- **One-click import**from Claude Code and Codex configs — bring your existing providers, models, and keys in a single click
225
+
- **One-click import and sign-in**— bring Claude Code / Codex API-key provider configs across, or sign in with ChatGPT subscription for Codex models
227
226
- **Dynamic model picker** — every provider exposes its real model catalogue, not a hardcoded shortlist
228
227
229
228
### Generation and editing
230
229
- **Prompt → HTML or JSX/React component** prototype, rendered in a sandboxed iframe (vendored React 18 + Babel on-device)
231
230
- **Fifteen built-in demos + twelve design skill modules** — ready-to-edit starting points for common design briefs
232
231
- **Live agent panel** — watch tool calls stream in real time as the model edits files
233
-
- **AI image generation** — opt-in bitmap assets for heroes, product shots, backgrounds, and illustrations
232
+
- **AI image generation** — opt-in bitmap assets for heroes, product shots, backgrounds, and illustrations via OpenAI, OpenRouter, or signed-in ChatGPT subscription
234
233
- **AI-generated sliders** — the model emits the parameters worth tweaking (color, spacing, font)
235
234
- **Comment mode** — click any element in the preview to drop a pin, leave a note, and let the model rewrite only that region
236
235
- **Generation cancellation** — stop mid-stream without losing prior turns
@@ -303,7 +302,7 @@ Have a different priority in mind? [Open an issue](https://github.com/OpenCowork
303
302
304
303
- Electron + React 19 + Vite 6 + Tailwind v4
305
304
- `@mariozechner/pi-ai` and `pi-coding-agent` (model/provider and agent-loop primitives)
Copy file name to clipboardExpand all lines: apps/desktop/src/main/onboarding/external-imports.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ export async function runImportCodex(imported: CodexImport): Promise<OnboardingS
64
64
if(imported.providers.length===0){
65
65
thrownewCodesignError(
66
66
(awaitdetectChatgptSubscription())
67
-
? 'Detected Codex ChatGPT subscription login (auth_mode: chatgpt). It cannot be imported as an API-key provider yet — the "Sign in with ChatGPT subscription" feature is still being polished and will ship in the next release. For now, configure [model_providers] in ~/.codex/config.toml manually, or switch to API-key mode in Codex. / 检测到 Codex 使用 ChatGPT 订阅登录,无法自动导入为 API key provider。"用 ChatGPT 订阅登录"功能仍在打磨中,下个版本开放 —— 目前请在 ~/.codex/config.toml 里手动配置 [model_providers],或改用 API key 登录 Codex。'
67
+
? 'Detected Codex ChatGPT subscription login (auth_mode: chatgpt). Open CoDesign now supports ChatGPT subscription directly, but Codex config import only reads API-key [model_providers] from ~/.codex/config.toml. Open Settings > Models and use "Sign in with ChatGPT subscription" to add the ChatGPT provider. / 检测到 Codex 使用 ChatGPT 订阅登录。Open CoDesign 现在已支持直接使用 ChatGPT 订阅,但“从 Codex 导入”只读取 ~/.codex/config.toml 中的 API key [model_providers]。请到 设置 > Models 点击“用 ChatGPT 订阅登录”添加 ChatGPT 订阅 provider。'
68
68
: 'No importable API provider found in Codex config (~/.codex/config.toml is missing a [model_providers] section). / Codex 配置里没有可导入的 API provider(~/.codex/config.toml 里缺少 [model_providers] 段)。',
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
"name": "open-codesign",
3
3
"version": "0.2.0",
4
4
"private": true,
5
-
"description": "Open-source AI design tool — prompt to interactive prototype, slide deck, and marketing assets. Multi-model, BYOK, runs on your laptop.",
5
+
"description": "Open-source AI design tool — prompt to interactive prototype, slide deck, and marketing assets. Multi-model, BYOK or ChatGPT login, runs on your laptop.",
Copy file name to clipboardExpand all lines: packages/i18n/src/locales/en.json
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@
16
16
"comingSoon": "Coming soon",
17
17
"loading": "Loading…",
18
18
"preAlpha": "pre-alpha",
19
-
"tagline": "BYOK · local-first · multi-model",
19
+
"tagline": "BYOK · ChatGPT login · local-first",
20
20
"done": "Done.",
21
21
"applied": "Applied.",
22
22
"working": "Working"
@@ -268,7 +268,7 @@
268
268
},
269
269
"imageGen": {
270
270
"tabTitle": "Image generation",
271
-
"tabHint": "Let the design agent call an image model (e.g. gpt-image-2) for heroes, posters, and background bitmaps. Credentials stay local.",
271
+
"tabHint": "Let the design agent call an image model through OpenAI, OpenRouter, or ChatGPT subscription for heroes, posters, and background bitmaps. Credentials stay local.",
272
272
"title": "Image generation assist",
273
273
"hint": "When enabled, the agent can invoke generate_image_asset during a run.",
274
274
"enabled": "Enable image generation assist",
@@ -628,7 +628,7 @@
628
628
"429": "Rate limited. Wait a moment and try again.",
629
629
"network": "Cannot reach base URL. Check domain/port/network.",
"notSupportedProvider": "{{provider}} is not supported in v0.1. Use Anthropic, OpenAI, or OpenRouter.",
631
+
"notSupportedProvider": "{{provider}} is not supported by the first-run provider shortcut. Use Anthropic, OpenAI, OpenRouter, Ollama, ChatGPT subscription sign-in, or add a custom provider in Settings.",
632
632
"rendererDisconnected": "Renderer is not connected to the main process.",
633
633
"detectIpc": "Provider detection failed (main process unreachable): {{message}}. Restart the app and try again.",
634
634
"detectNetwork": "Provider detection failed (network error): {{message}}. Check your connection and try again."
Copy file name to clipboardExpand all lines: packages/i18n/src/locales/es.json
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@
16
16
"comingSoon": "Próximamente",
17
17
"loading": "Cargando…",
18
18
"preAlpha": "pre-alpha",
19
-
"tagline": "BYOK · local-first · multi-modelo",
19
+
"tagline": "BYOK · inicio con ChatGPT · local-first",
20
20
"done": "Listo.",
21
21
"applied": "Aplicado.",
22
22
"working": "Trabajando"
@@ -239,7 +239,7 @@
239
239
},
240
240
"imageGen": {
241
241
"tabTitle": "Generación de imágenes",
242
-
"tabHint": "Permite que el agente de diseño llame a un modelo de imagen (ej. gpt-image-2) para encabezados, pósteres y mapas de bits de fondo. Las credenciales permanecen locales.",
242
+
"tabHint": "Permite que el agente de diseño llame a un modelo de imagen mediante OpenAI, OpenRouter o una suscripción de ChatGPT para encabezados, pósteres y mapas de bits de fondo. Las credenciales permanecen locales.",
243
243
"title": "Asistente de generación de imágenes",
244
244
"hint": "Cuando está habilitado, el agente puede invocar generate_image_asset durante una ejecución.",
245
245
"enabled": "Habilitar asistente de generación de imágenes",
@@ -573,7 +573,7 @@
573
573
"429": "Límite de tasa excedido. Espera un momento e intenta de nuevo.",
574
574
"network": "No se puede alcanzar la URL base. Revisa dominio/puerto/red.",
575
575
"unsupported": "Prefijo de clave no reconocido. Soportados: sk-ant- (Anthropic), sk- (OpenAI), sk-or- (OpenRouter).",
576
-
"notSupportedProvider": "{{provider}} no es compatible en la v0.1. Usa Anthropic, OpenAI o OpenRouter.",
576
+
"notSupportedProvider": "{{provider}} no es compatible con el acceso rápido del primer inicio. Usa Anthropic, OpenAI, OpenRouter, Ollama, inicia sesión con una suscripción de ChatGPT o añade un proveedor personalizado en Ajustes.",
577
577
"rendererDisconnected": "El renderizador no está conectado al proceso principal.",
578
578
"detectIpc": "Error al detectar proveedor (proceso principal inalcanzable): {{message}}. Reinicia la app e intenta de nuevo.",
579
579
"detectNetwork": "Error al detectar proveedor (error de red): {{message}}. Revisa tu conexión e intenta de nuevo."
0 commit comments