Releases: avaritiachaos/qoder-proxy
Releases · avaritiachaos/qoder-proxy
v1.4.0 - Dual Backend Support and Project Rename
Added
- Dual CLI backend: Support both Qoder CN (qoderclicn) and Qoder Global (qodercli) via CLI_BACKEND env var
- Web Console: Dashboard now shows the active CLI backend
Changed
- Project renamed: Qoder CN Proxy to Qoder Proxy
- npm package renamed from qoder-cn-proxy to qoder-proxy
Fixed
- Windows npm shim path resolution for both CLI bundles
v1.3.0 - Streaming with Tools and Windows Fixes
Added
- Streaming with tools: Enable streaming responses even when tools are present (e.g. for Claude Code compatibility).
Fixed
- Avoid Windows command-line limit: Fixed ENAMETOOLONG errors when spawning the CLI on Windows with a large number of tools.
- Unknown model fallback: Fallback unknown model IDs to auto instead of passing them directly to the CLI.
- Add tool-call detection logging to make troubleshooting easier.
v1.2.0 — Web Console UI & Usage Tracking
What's New
Web Console UI (/ui)
Added a full-featured web-based dashboard with glassmorphism design:
- Dashboard — Server status overview, model count, base URL, security info
- Models — Live model listing with reasoning capability indicators
- Chat Test — Interactive chat interface with message bubbles, model selector, and Enter-to-send
- Config — Copy-to-clipboard snippets for OpenAI / Anthropic / OpenCode clients
- Usage / Credits — Local request statistics, token estimates, and reset button
UI Features:
- Glassmorphism visual style (semi-transparent panels, blur backdrop, subtle glow)
- Dark / Light theme toggle (follows system preference by default)
- Mixed layout: fixed top bar + left sidebar navigation
- Responsive design with collapsible sidebar on mobile
- Fixed CSS loading bug when accessing
/uiwithout trailing slash
Local Usage Tracking
- New
usage.jsmodule tracks request count, errors, token estimates by model - API endpoints:
GET /usage/local,POST /usage/reset-local - Persists to local
usage.json(auto-save every 5 min) - Does not read, store, or display Qoder PAT or request/response bodies
Other
start-ui.cmd— one-click launcher that starts the server and opens the browser- Usage tracking integrated into both OpenAI and Anthropic request paths
Files Changed
| File | Change |
|---|---|
public/index.html |
New — Web Console HTML |
public/style.css |
New — Glassmorphism CSS with dark/light themes |
public/app.js |
New — Tab switching, chat, theme toggle |
clean/usage.js |
New — Usage tracking module |
clean/app.js |
Modified — Added /ui routes and usage API |
start-ui.cmd |
New — Launcher script |
test/usage.test.js |
New — Usage module tests |
README.md |
Modified — Web Console documentation |
.gitignore |
Modified — Added usage.json |
v1.1.0 — Local Streaming and Tool-Call Adaptation
What is new in v1.1.0
This release improves local OpenAI / Anthropic-compatible protocol adaptation for personal-account compatibility experiments. It does not provide, share, resell, rent, or transfer any Qoder account, Token, or quota. Please keep the service local and comply with Qoder official terms.
Local Streaming
- Incremental text streaming via
--output-format stream-json - Text deltas are forwarded as local SSE events as they arrive from the CLI
- Tool-call requests downgrade to non-streaming responses because complete JSON is required for parsing
Tool-Call Field Adaptation
- OpenAI-compatible format:
/v1/chat/completionsacceptstoolsand returnstool_calls - Anthropic-compatible format:
/v1/messagesacceptstoolswithinput_schemaand returnstool_useblocks - Shared
tool-parser.jsmodule for prompt format instructions and output parsing - Brace-balanced JSON extraction for more robust local parsing
Fixes and Improvements
- Anthropic-compatible system role messages are accepted by request validation
- Default timeout increased from 120s to 300s for tool-heavy local requests
--append-system-promptsupport for system message extraction- Minimal prompt formatting policy: no additional format instruction when the client already provides a system prompt and no tools are present
Package
- 76 tests passing
fileswhitelist in package.json for safer npm publishing- Package metadata updated to emphasize local adapter and compatibility research scope