Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
3205595
Revert "fix: import account_service in app.py to fix startup error"
TriTue2011 May 7, 2026
d87fe8c
Revert "ci: trigger build on push to main"
TriTue2011 May 7, 2026
9e0f96f
Revert "feat: auto-filter accessToken if user pastes full JSON session"
TriTue2011 May 7, 2026
3a70d0d
Revert "feat: add auto sync upstream workflow (weekly PR creation)"
TriTue2011 May 7, 2026
57044b9
Revert "fix: proper Dockerfile.lite, fix docker-compose conflicts, cl…
TriTue2011 May 7, 2026
b7150ff
Revert "feat: add GitHub Actions workflow to publish Lite image to GHCR"
TriTue2011 May 7, 2026
9d6d405
Revert "feat: rewrite docker-compose.lite.yml with .env pattern like …
TriTue2011 May 7, 2026
9aa7d7d
Revert "feat: support Lite build and multi-account via env vars (CHAT…
TriTue2011 May 7, 2026
e938aea
Sync selected upstream backend updates and vi UI localization
TriTue2011 May 9, 2026
71fea49
fix: restore tool-calling pipeline from upstream (conversation, backe…
TriTue2011 May 9, 2026
6289ef5
feat: port 9router-chat to chatgpt2api — multi-provider, image adapte…
TriTue2011 May 11, 2026
f90be5e
feat: multi-arch Docker image on push to main, Portainer-ready compose
TriTue2011 May 11, 2026
d8d4744
fix: OpenCode auto model resolution + 9router backup import
TriTue2011 May 11, 2026
8b31b4e
feat: 9router proxy — chat qua 9router, image qua chatgpt2api
TriTue2011 May 11, 2026
21a5f0f
feat: OpenAI OAuth direct — Codex tokens from 9router work natively
TriTue2011 May 11, 2026
23d5ed8
fix: add 9router import UI section to backup page
TriTue2011 May 11, 2026
1355133
feat: OAuth account import + file upload from PC + Gemini provider
TriTue2011 May 11, 2026
d4d772f
fix: 9router backup import reads accessToken from top level
TriTue2011 May 11, 2026
5d67b9a
fix: move Import9RouterRequest to module level for FastAPI body parsing
TriTue2011 May 11, 2026
bd25438
fix: import-9router route + model list with OpenCode/Codex/combo models
TriTue2011 May 11, 2026
f8c8c3c
fix: use route.model for OpenCode + dict body for upload endpoint
TriTue2011 May 11, 2026
2b14bb7
feat: add 9r/ proxy — forward chat to 9router for native OAuth/tool c…
TriTue2011 May 11, 2026
c78e091
feat: Codex OAuth provider using chatgpt.com/backend-api/codex/responses
TriTue2011 May 11, 2026
5916122
fix: Codex OAuth — add required fields (stream=true, store=false, model)
TriTue2011 May 11, 2026
764ed07
fix: import json in system.py + codex/provider routing
TriTue2011 May 11, 2026
4689bed
fix: Codex stream returns Iterator[dict] instead of Iterator[str]
TriTue2011 May 11, 2026
a0f9e75
fix: add detailed error logging for Codex + prioritize OpenCode in ha…
TriTue2011 May 11, 2026
b3741b7
fix: remove curl-cffi impersonate for Codex (may fail in Docker)
TriTue2011 May 11, 2026
a809d24
fix: restore impersonate=chrome110 for Codex (Cloudflare 403 without it)
TriTue2011 May 11, 2026
7d570a7
fix: Codex non-streaming — collect from SSE instead of .json()
TriTue2011 May 11, 2026
0e645ec
fix: Codex requires 'instructions' field in body — add default if mis…
TriTue2011 May 11, 2026
e0fb98d
fix: add missing account_service import in chat_complete handler
TriTue2011 May 11, 2026
11da340
debug: add body details to Codex request log
TriTue2011 May 11, 2026
a32fb36
fix: strip tools/temperature/parallel_tool_calls from Codex body
TriTue2011 May 11, 2026
71dc07c
fix: keep tools in Codex body — Responses API supports function calling
TriTue2011 May 11, 2026
fa3aa36
fix: revert layout to light theme to match existing pages
TriTue2011 May 11, 2026
d0b61a4
fix: import 9router tokens to both codex (chat) and regular (image) p…
TriTue2011 May 11, 2026
d4e1587
feat: auto-detect JWT OAuth tokens — add to both pools on manual import
TriTue2011 May 11, 2026
9265d19
fix: backup page — light theme + proper file upload with drag-drop
TriTue2011 May 11, 2026
445c6a4
fix: shared token pool — cx/ chat uses any token, no dual-type needed
TriTue2011 May 11, 2026
76067c5
feat: Gemini search — multi-key round-robin with auto fallback
TriTue2011 May 11, 2026
7997f84
fix: auto search injection for non-ChatGPT providers (Codex, OpenCode)
TriTue2011 May 11, 2026
932f374
fix: search page light theme + saves Gemini API key to config
TriTue2011 May 11, 2026
63f6e9f
feat: auto-use Gemini search when API key configured
TriTue2011 May 11, 2026
18a4143
feat: Providers & config UI card in settings page
TriTue2011 May 11, 2026
606e40f
feat: multi-key textarea for Gemini & Serper in settings UI
TriTue2011 May 11, 2026
e3b69b9
fix: Codex OAuth tokens get default image quota on import
TriTue2011 May 11, 2026
2cd6472
fix: Gemini key dedup in UI + clear button
TriTue2011 May 11, 2026
19222ab
fix: persist config.json in Docker volume /app/data/
TriTue2011 May 11, 2026
6b3004b
fix: update Gemini model to gemini-2.5-flash (2.0-flash deprecated)
TriTue2011 May 11, 2026
0d6ee64
feat: OAuth login — Codex OAuth PKCE flow + Google session button
TriTue2011 May 11, 2026
04527f7
fix: revert accounts page layout + remove broken ProvidersCard from s…
TriTue2011 May 12, 2026
345da44
feat: Gemini model configurable via providers.gemini_free.model
TriTue2011 May 12, 2026
fc7795d
feat: Gemini model selector in Search page UI
TriTue2011 May 12, 2026
bae37c6
feat: OAuth login buttons in Account Import dialog
TriTue2011 May 12, 2026
d2ab6d1
fix: OAuth token gets image quota + normal status on import
TriTue2011 May 12, 2026
319d0f5
fix: OAuth redirect uses request host header instead of hardcoded loc…
TriTue2011 May 12, 2026
05344b0
feat: manual Codex OAuth exchange — paste redirect URL
TriTue2011 May 12, 2026
07a6bdd
fix: match 9router OAuth params — codex_cli_simplified_flow, originator
TriTue2011 May 12, 2026
dce68d7
fix: force localhost redirect_uri for Codex OAuth (OpenAI requirement)
TriTue2011 May 12, 2026
c1e4522
fix: manual URL encoding with %20 (not +) to match 9router
TriTue2011 May 12, 2026
c9dcb1e
fix: add gemini_free/auto model + update default to gemini-2.5-flash
TriTue2011 May 12, 2026
2ca6b56
fix: Vietnamese regex for search intent detection (diacritics)
TriTue2011 May 12, 2026
9f9b916
fix: search page input styling - text visible, proper borders
TriTue2011 May 12, 2026
284c3b8
feat: combo model fallback — try each model until success
TriTue2011 May 12, 2026
b27f44a
fix: add gemini_free/ and gemini/ prefixes to backend router
TriTue2011 May 12, 2026
59d2ce4
fix: Gemini handler - strip tool defs to avoid XML tool call confusion
TriTue2011 May 12, 2026
736db99
fix: Gemini stream returns Iterator[dict] not Iterator[str]
TriTue2011 May 12, 2026
8d10dc4
fix: add missing import uuid, time in gemini_free.py
TriTue2011 May 12, 2026
e3708a3
feat: parse OpenCode text JSON tool calls into native format
TriTue2011 May 12, 2026
15f047c
feat: OpenCode streaming - extract tool calls from accumulated text
TriTue2011 May 12, 2026
a976e75
fix: OpenCode tool call regex - support ToolName\n{JSON} format
TriTue2011 May 12, 2026
831cfae
fix: Gemini handler - separate generator for streaming
TriTue2011 May 12, 2026
033357b
fix: regex support for array-format tool calls (ToolName\n[...])
TriTue2011 May 12, 2026
3deae0b
feat: Gemini native function calling
TriTue2011 May 12, 2026
0bb74ad
fix: add regex for {"tool": "X", "parameters": {}} format
TriTue2011 May 12, 2026
5d50af4
fix: Gemini stream - separate role and content deltas
TriTue2011 May 12, 2026
bee1e98
fix: restore Format 2 regex for ToolName\n{JSON} anywhere in text
TriTue2011 May 12, 2026
a09b5dd
feat: Gemini multi-key support for chat + auto retry on 429
TriTue2011 May 12, 2026
02acd79
feat: Gemini config card back in Settings page
TriTue2011 May 12, 2026
e5ca056
fix: retry next codex token on 429 rate limit
TriTue2011 May 12, 2026
22f8c09
fix: add toolConfig.functionCallingConfig.mode=AUTO for Gemini
TriTue2011 May 12, 2026
5dbc39e
fix: entity_ids→domain conversion to prevent HA tool call loop
TriTue2011 May 12, 2026
a7f1cc0
fix: extract text from list-format message content for search query
TriTue2011 May 12, 2026
48e5bb9
fix: remove duplicate headers line in Gemini search + search enabled
TriTue2011 May 12, 2026
eb957a7
feat: full Gemini model list from AI Studio + default gemini-3-flash
TriTue2011 May 12, 2026
4a9ac95
fix: cooldown Gemini rate limit log (1 log per key per 60s)
TriTue2011 May 12, 2026
4516081
fix: Gemini search — fallback to 2.5-flash + key in URL + error body log
TriTue2011 May 12, 2026
dcc4485
feat: separate search_model config for Gemini search
TriTue2011 May 12, 2026
f5b3798
fix: search injection format — stronger prompt for model to use results
TriTue2011 May 12, 2026
1a9f1ba
fix: search injection handles list-format content (HA sends [{"type":…
TriTue2011 May 12, 2026
a5530e8
fix: syntax error - remove duplicate closing bracket
TriTue2011 May 12, 2026
f439cdb
docs: HA addon + comprehensive README
TriTue2011 May 12, 2026
2106801
fix: restructure addon to HA-compatible root folder
TriTue2011 May 12, 2026
d15c734
docs: HA addon install instructions in README
TriTue2011 May 12, 2026
49c4552
fix: simplify addon config.yaml for HA Supervisor compatibility
TriTue2011 May 12, 2026
2f7a75a
fix: update addon config.yaml and repository.yaml per HA docs
TriTue2011 May 12, 2026
12a5947
fix: force LF line endings for YAML files (HA Supervisor requirement)
TriTue2011 May 12, 2026
75d2027
docs: comprehensive README with addon + Docker install
TriTue2011 May 12, 2026
115307c
cleanup: remove addon files from chatgpt2api repo (now in has-addons)
TriTue2011 May 12, 2026
7f78d57
docs: comprehensive README with all install methods
TriTue2011 May 12, 2026
6f2289d
fix: skip search for AI task / image analysis prompts
TriTue2011 May 12, 2026
7a96875
fix: pass images to Codex API - handle image_url + input_image
TriTue2011 May 12, 2026
6a932ab
@
TriTue2011 May 12, 2026
a685fd6
@
TriTue2011 May 12, 2026
a6c2cb7
@
TriTue2011 May 12, 2026
f9600db
@
TriTue2011 May 12, 2026
fd0a091
@
TriTue2011 May 12, 2026
38c158e
chore: add NVIDIA NIM to providers page meta
TriTue2011 May 12, 2026
4fbdc40
fix: NVIDIA image adapter — handle artifacts[0].base64 response format
TriTue2011 May 12, 2026
ae89581
@
TriTue2011 May 12, 2026
4f05132
feat: multi-key support for custom providers — round-robin on 429
TriTue2011 May 12, 2026
b6d060b
@
TriTue2011 May 12, 2026
c5ef8cf
feat: add Custom APIs link button on Accounts page → Settings
TriTue2011 May 12, 2026
b244526
fix: include NVIDIA image gen models (FLUX, SD) in model list with nv…
TriTue2011 May 12, 2026
14b4f11
feat: dark mode UI — switch from light to dark theme across all pages
TriTue2011 May 12, 2026
f8cf1eb
fix: Python closure bug — custom provider fetchers captured wrong config
TriTue2011 May 12, 2026
d23b0ea
feat: model list cache — 5min TTL, auto-invalidate on config change
TriTue2011 May 12, 2026
44104c0
fix: revert to light theme — white background, dark text across all UI
TriTue2011 May 12, 2026
697d6f1
fix: custom provider model discovery — fallback to error message parsing
TriTue2011 May 12, 2026
95b58ac
@
TriTue2011 May 12, 2026
fe89900
fix: import DATA_DIR from config, not config.DATA_DIR
TriTue2011 May 12, 2026
ff0891a
feat: custom providers as search backends in search combo
TriTue2011 May 12, 2026
6e6db16
fix: vision capability detection — add provider-level classification
TriTue2011 May 12, 2026
a0ba6fe
fix: improve image gen detection + add save indicator on Combos page
TriTue2011 May 12, 2026
6b463ad
fix: combos page — white text on light background in inputs and headings
TriTue2011 May 12, 2026
367775c
fix: optimistic delete + visible Save button on Combos page
TriTue2011 May 12, 2026
29c5d75
fix: read combo_models from server response after save, not local state
TriTue2011 May 12, 2026
ebe0573
fix: auto-invalidate model cache on any config update (including combos)
TriTue2011 May 12, 2026
55ede30
fix: detect stale cache by comparing combo_models + auto-invalidate o…
TriTue2011 May 12, 2026
259c10b
fix: remove ./config.json mount from docker-compose — rely on volume …
TriTue2011 May 12, 2026
fdf5016
fix: remove ha-agent from FALLBACK_MODELS — combos only from config
TriTue2011 May 12, 2026
2568cfd
feat: multi-capability tags — Chat + Vision + Image simultaneously
TriTue2011 May 12, 2026
5adc99f
fix: remove default hardcoded models, fix save button visibility, ren…
TriTue2011 May 13, 2026
9d48552
fix: all buttons now bg-stone-900 text-white (visible) — 30+ files
TriTue2011 May 13, 2026
e0b9a69
perf: available-models now uses disk cache — instant load + manual re…
TriTue2011 May 13, 2026
cdd6b47
fix: TypeScript errors — broken JSX in combos/models, add setField to…
TriTue2011 May 13, 2026
1ae0ec8
fix: list_models apply_filter=False for UI, True for HA /v1/models
TriTue2011 May 13, 2026
ce91e37
fix: add geminiapi to image gen capability classification
TriTue2011 May 13, 2026
e9f2174
fix: image combo — try each model in combo until success
TriTue2011 May 13, 2026
5f30a5a
fix: Codex — move search results to instructions field for stronger p…
TriTue2011 May 13, 2026
357d37a
fix: balance Codex search instructions — prioritize tools for home, s…
TriTue2011 May 13, 2026
e865d00
revert: remove hardcoded search instructions — use HA prompt instead
TriTue2011 May 13, 2026
1bc7dee
docs: clarify Docker volume persistence — prevent API key loss
TriTue2011 May 13, 2026
d46a4b7
fix: combos page only shows models enabled in Quản lý Model
TriTue2011 May 13, 2026
cb13093
fix: cx/auto, oc/auto, chatgpt/auto always enabled in model list
TriTue2011 May 13, 2026
af8a051
fix: remove ha-agent from always-allow — was old default combo, no lo…
TriTue2011 May 13, 2026
4bd4f95
fix: gpt-image-2 and codex-gpt-image-2 always enabled
TriTue2011 May 13, 2026
238427a
fix: use bind mount ./chatgpt2api-data instead of named volume
TriTue2011 May 13, 2026
886a312
fix: Gemini search — when all keys rate limited, return empty to trig…
TriTue2011 May 13, 2026
ec62744
fix: Codex — pass max_output_tokens (default 4096) to prevent cut-off…
TriTue2011 May 13, 2026
46b5593
fix: Gemini 429 — try next key once, then fallback to next search bac…
TriTue2011 May 13, 2026
fbcf998
fix: settings cards only send providers — prevent overwriting other s…
TriTue2011 May 13, 2026
e32f27d
feat: add 'Bỏ chọn tất cả' button in Model Management
TriTue2011 May 13, 2026
6585a9a
feat: per-provider Chọn tất cả / Bỏ chọn tất cả buttons
TriTue2011 May 13, 2026
d081e57
fix: image combo — custom providers trigger adapter flow, proper fall…
TriTue2011 May 13, 2026
8d4ede3
feat: custom provider image adapter — use chat endpoint for image gen
TriTue2011 May 13, 2026
95c2aad
fix: Codex — don't set max_output_tokens by default (causes 400)
TriTue2011 May 13, 2026
526af72
fix: Gemini 403 also tries next key before fallback
TriTue2011 May 13, 2026
5e0f898
chore: bump version to 1.2.0
TriTue2011 May 13, 2026
60fb41b
fix: combo name case-insensitive — 'AI task Image' matches 'AI task i…
TriTue2011 May 13, 2026
ecd14ef
fix: read auth_key + base_url from HA addon /data/options.json fallback
TriTue2011 May 14, 2026
7f3576f
fix: add HA addon options.json fallback to ConfigStore.auth_key property
TriTue2011 May 14, 2026
d0fe258
fix: HA addon config priority > config.json
TriTue2011 May 14, 2026
d6247c0
fix: add impersonate=chrome110 to OAuth token exchange (bypass Cloudf…
TriTue2011 May 14, 2026
5b94c75
fix: cx/auto only uses Codex OAuth JWT tokens, not web session tokens
TriTue2011 May 14, 2026
b209fe3
feat: add OAuth Step 2 UI — paste callback URL for Docker/Server flow
TriTue2011 May 14, 2026
390b4b0
fix: use dynamic base_url for OAuth redirect_uri instead of hard-code…
TriTue2011 May 14, 2026
4eee3bc
revert: redirect_uri back to localhost as required by OpenAI Codex CLI
TriTue2011 May 14, 2026
e46ce4e
fix: change Codex OAuth redirect_uri to localhost:1455 as strictly re…
TriTue2011 May 14, 2026
0cf9ebd
UI: Update dashboard aesthetic to match ql_tro style
TriTue2011 May 14, 2026
1e9ad6a
UI: Premium card styling + tree-style sidebar + rounded buttons acros…
TriTue2011 May 14, 2026
59510ca
UI: Apply ql_tro gradient stat cards, ql_tro page headers across all …
TriTue2011 May 14, 2026
5480957
UI: Settings accordion (click to expand), SettingsSection component, …
TriTue2011 May 14, 2026
3b86caa
UI: Accounts tree-style click-to-expand rows with quota bars, image c…
TriTue2011 May 14, 2026
1d5472d
UI: accounts tree-style detail panel mapped to 9router quota tracker …
TriTue2011 May 14, 2026
f528466
Fix syntax error in Accounts UI (missing closing div tags)
TriTue2011 May 14, 2026
2c5984b
UI: accounts translate status to vietnamese, fix quota bar time forma…
TriTue2011 May 14, 2026
a66ec39
feat: Add full page i18n support and language toggle button
TriTue2011 May 14, 2026
233c7e4
feat: complete i18n support for accounts, combos, providers and sidebar
TriTue2011 May 14, 2026
1a980c2
chore: remove temporary i18n fix scripts
TriTue2011 May 14, 2026
dbbc96c
feat: Karpathy Mode — toggle to inject coding best-practice guidelines
TriTue2011 May 15, 2026
daeb428
fix: TypeScript parse error in accounts page — unescaped braces in st…
TriTue2011 May 15, 2026
473d067
fix: SSR error — move Zustand usage to AppShell client component
TriTue2011 May 15, 2026
2d14a72
fix: sidebar labels — use t(labelKey) instead of undefined item.label
TriTue2011 May 15, 2026
3be7664
feat: quota watcher — proactive token refresh scheduler
TriTue2011 May 15, 2026
8510d9f
feat: per-model cooldown + structured cooldown errors + provider retr…
TriTue2011 May 15, 2026
027935a
feat: premium dashboard redesign
TriTue2011 May 15, 2026
fc3bfd6
fix: quota watcher — add error handling, logging, periodic full rebuild
TriTue2011 May 15, 2026
9ce29f4
i18n: translate Chinese toast messages and UI text to Vietnamese
TriTue2011 May 15, 2026
3f51076
fix: OAuth import — update existing token type instead of skipping du…
TriTue2011 May 15, 2026
f3c3748
fix: Codex token selection — accept all JWT tokens, fix 9router impor…
TriTue2011 May 15, 2026
5321b22
i18n: migrate all Chinese status/text to Vietnamese + English status …
TriTue2011 May 15, 2026
c9f5af5
fix: combined token type (free,codex) — one token for both images and…
TriTue2011 May 15, 2026
30f419b
i18n: complete Chinese removal — all UI text, logs, error messages no…
TriTue2011 May 15, 2026
5935c31
fix: add HEAD method to SPA catch-all route — prevent 405 on Next.js …
TriTue2011 May 15, 2026
1fd64de
chore: bump version to 1.2.1
TriTue2011 May 15, 2026
7bca8a6
i18n: fix remaining Chinese text in user-keys, proxy, base-url cards
TriTue2011 May 15, 2026
c9a8b56
fix: default OAuth import type to free,codex — one token for both pur…
TriTue2011 May 15, 2026
57e2dc6
i18n: remove ALL remaining Chinese from CPA, Sub2API, image-manager, …
TriTue2011 May 15, 2026
e96c6a0
debug: add detailed error logging for Codex 400 — capture full respon…
TriTue2011 May 15, 2026
260e426
fix: read error body with .content when streaming — stream=True block…
TriTue2011 May 15, 2026
7a238c9
fix: Codex — retry 400 on next token, raise exception so combo can fa…
TriTue2011 May 15, 2026
20b8731
fix: Codex 400 — try next token without removing, only remove on 401
TriTue2011 May 15, 2026
4259993
debug: add detailed logging when Codex finds no tokens
TriTue2011 May 15, 2026
c9c6bcc
chore: bump to 1.2.2
TriTue2011 May 15, 2026
f2a84cb
fix: rewrite get_token_for_request — iterate all accounts, log pool s…
TriTue2011 May 15, 2026
a19e21b
feat: separate free/codex entries — one token → two pool entries with…
TriTue2011 May 15, 2026
f01663f
chore: bump to 1.2.3 — dual free/codex entries
TriTue2011 May 15, 2026
8e9245c
fix: revert to combined type — 1 token=free,codex, no access_token su…
TriTue2011 May 15, 2026
e114914
fix: preserve multi-type (free,codex) — don't let API refresh override
TriTue2011 May 15, 2026
913c393
debug: add verbose logging to get_token_for_request — log all accounts
TriTue2011 May 15, 2026
0807395
chore: bump to 1.2.4
TriTue2011 May 15, 2026
eb94ad2
fix: remove type preservation, import as codex — get_token_for_reques…
TriTue2011 May 15, 2026
66941bb
fix: remove max_output_tokens — Codex API rejects this parameter (400)
TriTue2011 May 15, 2026
5f8621e
feat: add auto-refresh toggle + settings UI like 9router
TriTue2011 May 15, 2026
bbb98e8
feat: add Gemini image models (gemini-image/ prefix) + vision support
TriTue2011 May 15, 2026
1de7638
feat: Gemini vision support + better image adapter error reporting
TriTue2011 May 15, 2026
46effdc
fix: Gemini image adapter — key rotation from api_keys array
TriTue2011 May 15, 2026
8e8d893
fix: Gemini image adapter — retry with next key on 400/429
TriTue2011 May 15, 2026
db03883
fix: remove imageGenerationConfig — not supported by Gemini API
TriTue2011 May 15, 2026
af91a3b
feat: Gemini image editing — add image input support to adapter + edi…
TriTue2011 May 15, 2026
9cd579a
feat: Gemini image editing via adapter
TriTue2011 May 15, 2026
81d8694
feat: Gemini image ratio support — map size to aspectRatio, add image…
TriTue2011 May 15, 2026
1a6a91d
fix: default Gemini image ratio to 16:9
TriTue2011 May 15, 2026
de2a1b0
fix: default image size to 1792x1024 (16:9) for both GPT and Gemini
TriTue2011 May 15, 2026
c7f2a53
feat: configurable default image size in Settings UI
TriTue2011 May 15, 2026
02dae3e
feat: full image size list — 16:9, 9:16, 1:1, 4:3, 3:2, 3:4 in Settin…
TriTue2011 May 15, 2026
2436c72
feat: Gemini video analysis — support video_url + file_data input
TriTue2011 May 15, 2026
06ce2f9
feat: Veo 3.1 video generation — /v1/video/generations endpoint
TriTue2011 May 15, 2026
2f1202b
fix: add missing Header import for video endpoint
TriTue2011 May 15, 2026
a215f5d
feat: video creation page + video manager + AI task video combo
TriTue2011 May 15, 2026
5790338
fix: remove responseFormat from Gemini adapter — not supported by gen…
TriTue2011 May 15, 2026
fbb20a9
fix: broken JSX structure in config-card — image size section
TriTue2011 May 15, 2026
b02477f
feat: add Gemini API + Geminiapi health check to system status
TriTue2011 May 15, 2026
2aad194
feat: enhanced Gemini-FastAPI health — port, clients, entries count
TriTue2011 May 15, 2026
f7ecf71
feat: add video capability classification — chat/vision/image/video f…
TriTue2011 May 15, 2026
6657ca7
fix: restore _VISION_PROVIDER_PREFIXES — missing variable causing 500…
TriTue2011 May 15, 2026
4b61862
fix: accurate vision classification — only Codex, Gemini, Gemma, veri…
TriTue2011 May 15, 2026
b3f0633
feat: Gemini stat card on dashboard — replaces OpenCode card
TriTue2011 May 15, 2026
2531484
feat: 3D UI redesign — pastel cards, floating circles background, car…
TriTue2011 May 15, 2026
c8ea5de
UI: card-3d pastel background + thin black border for all cards
TriTue2011 May 15, 2026
609bf56
UI: increase card tint saturation for visible pastel backgrounds
TriTue2011 May 15, 2026
484c4b4
UI: assign varied card tints per page for visual diversity
TriTue2011 May 15, 2026
1c43d61
Accounts page: tree view + filter bar reposition + card-3d stat cards
TriTue2011 May 16, 2026
0c30545
UI: 2026 Aurora "Bóng" design system for dashboard cards
TriTue2011 May 16, 2026
93de138
Accounts page: move filters next to action buttons + fix Status labels
TriTue2011 May 16, 2026
0827e9c
Dashboard: all custom provider instances + 3-level accounts tree view
TriTue2011 May 16, 2026
f164a26
Fix dashboard crash: optional chaining on instances.filter().length
TriTue2011 May 16, 2026
c797dda
Accounts: compact stat cards — 5 per row on desktop
TriTue2011 May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* text=auto
*.yaml text eol=lf
*.yml text eol=lf
*.md text eol=lf
5 changes: 4 additions & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ name: Publish Docker Image

on:
push:
branches:
- main
tags:
- "v*"
workflow_dispatch:
Expand Down Expand Up @@ -41,9 +43,10 @@ jobs:
with:
images: ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/v') }}
type=ref,event=tag
type=sha
type=sha,prefix=sha-
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}

Expand Down
1 change: 1 addition & 0 deletions 9router-test
Submodule 9router-test added at 7ad538
25 changes: 25 additions & 0 deletions Dockerfile.lite
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim

LABEL org.opencontainers.image.description="chatgpt2api Lite - OpenAI-compatible proxy for ChatGPT Web API (no Web UI)"

WORKDIR /app

# Install system dependencies (only openssl for curl-cffi)
RUN apt-get update && apt-get install -y --no-install-recommends \
openssl \
&& rm -rf /var/lib/apt/lists/*

# Install Python dependencies
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev --no-install-project

# Copy application code
COPY main_lite.py ./main.py
COPY VERSION ./
COPY api ./api
COPY services ./services
COPY utils ./utils

EXPOSE 80

CMD ["uv", "run", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80", "--access-log"]
Loading