Root cause: Codex sends function_call items with id=None, causing tool_call_id mismatch between tool calls and tool results. Proxy now resolves IDs by call_id + positional fallback. Auto-trim: conversations exceeding 30 items are trimmed automatically, keeping system messages, original user query, and most recent items. This prevents context overflow on providers with smaller context windows (Crof mimo-v2.5-pro stops responding at ~40 items). - Fix None tool IDs in oa_input_to_messages with positional matching - Auto-trim input to 30 items max (keeps head + tail) - Add request/response logging to ~/.cache/codex-proxy/requests.log - Proxy stderr visible in launcher terminal for debugging - v2.1.2
57 lines
2.9 KiB
Markdown
57 lines
2.9 KiB
Markdown
# Changelog
|
|
|
|
## v2.1.2 (2026-05-19)
|
|
|
|
- **Fixed Crof.ai and providers stopping after first tool call (root cause: None tool IDs)**
|
|
- Codex sends `function_call` items with `id=None` — proxy now matches tool results to calls by call_id + positional fallback
|
|
- Fixed orphan message output item when response is only tool calls (no text content)
|
|
- **Auto-trims long conversations (>30 items)** to prevent context overflow on providers like Crof
|
|
- Keeps system/developer messages, original user query, and most recent items
|
|
- Drops oldest tool call/outputs from the middle when conversation grows too long
|
|
- Prevents `status=incomplete` errors on providers with smaller context windows
|
|
- Added request/response logging to `~/.cache/codex-proxy/requests.log` for debugging
|
|
- Proxy stderr no longer discarded by launcher (visible in terminal for debugging)
|
|
|
|
## v2.1.1 (2026-05-19)
|
|
|
|
- Added Command Code backend to translation proxy (proprietary `/alpha/generate` API)
|
|
- Added Command Code provider preset with 20 models (DeepSeek, Claude, GPT, Kimi, GLM, Qwen, etc.)
|
|
- Added `cc_version` field in endpoint editor for Command Code version (default: 0.26.8)
|
|
- Proxy sends `x-command-code-version` header to CC API (fixes 403 "upgrade_required")
|
|
- CC message conversion: `system` role → `user`, string content → array, tools stripped, real UUID for threadId
|
|
- Fixed proxy: map `developer` role to `system` for Chat Completions providers (DeepSeek, Qwen, etc.)
|
|
- Fixed proxy: map `developer` role to `user` for Anthropic providers
|
|
- Forward `instructions` field from Responses API as system message/param
|
|
|
|
## v2.1.0 (2026-05-19)
|
|
|
|
- Added Codex auth status detection (reads `codex login status`)
|
|
- Auth status bar shows logged-in provider or warning if auth missing/expired
|
|
- "Re-login" button opens `codex login` in a terminal for re-authentication
|
|
- Auto re-checks auth 30s after re-login flow starts
|
|
- Pre-launch auth check warns before launching Codex Default mode if auth is invalid
|
|
- Auth status checked asynchronously at startup (non-blocking)
|
|
|
|
## v2.0.1 (2026-05-19)
|
|
|
|
- Added Codex CLI/Desktop installation verifier to main page
|
|
- Green check (✔) when detected, yellow cross (✘) when missing
|
|
- "Install" button next to missing tools opens install guide dialog
|
|
- Desktop/CLI launch buttons disabled with tooltip when tool is missing
|
|
- Dependency status logged on startup
|
|
- Buttons respect missing-state after busy/unbusy cycles
|
|
|
|
## v2.0.0 (2026-05-19)
|
|
|
|
- Initial release: multi-provider Codex Launcher
|
|
- Translation proxy: Responses API to Chat Completions + Anthropic Messages
|
|
- GTK endpoint manager with 10+ provider presets
|
|
- Codex Default mode (built-in OAuth, zero config)
|
|
- Browser UA injection for Cloudflare-protected providers (OpenCode)
|
|
- Streaming SSE, tool calls, reasoning content support
|
|
- Profile backup/import, model auto-fetch, bulk import
|
|
- Refresh Models in background thread
|
|
- URL normalization to prevent double-path bugs
|
|
- Config backup/restore around sessions
|
|
- .deb installer package
|