kaitranntt
a7ba1a1983
fix(cliproxy): respect version pin when user installs specific version
...
When a user explicitly installs a specific CLIProxy version via
`ccs cliproxy --install <version>`, this version should persist and
not be auto-updated. Previously, subsequent commands would check for
updates and overwrite the user's choice.
Changes:
- Add .version-pin file to persist user's explicit version choice
- Update ensureCLIProxyBinary() to check for version pin and skip auto-update
- Update --install command to save version pin with "(pinned)" confirmation
- Update --latest command to clear version pin and enable auto-update
- Add --update command as alias for --latest (for unpinning workflow)
- Update status display to show "(pinned)" indicator when version is pinned
- Update help text to document new pin/unpin behavior
Closes #88
2025-12-12 05:36:49 -05:00
kaitranntt
4005f1c01c
feat(cli): standardize UI output with ui.ts abstraction layer
2025-12-12 05:11:59 -05:00
kaitranntt
6e2da6458a
feat(web): enhance dashboard functionality and ui components
2025-12-07 19:56:26 -05:00
kaitranntt
ace5ba8750
fix(cliproxy): consolidate download ui to single spinner
...
Use single spinner with update() instead of multiple spinners.
Prevents UI jumping during download/verify/extract phases.
2025-12-05 17:24:12 -05:00
kaitranntt
7e07615eed
feat(cliproxy): add version management command
...
Allow users to install specific versions or update to latest CLIProxy
via 'ccs cliproxy' command with install/update subcommands.
2025-12-04 06:36:06 -05:00
kaitranntt
e3edcf613e
fix(doctor): use actual installed clipproxy version instead of hardcoded
2025-12-04 03:19:01 -05:00
7fc281fcec
chore: promote beta to main (v5.2.0) ( #32 )
...
* fix(cliproxy): use double-dash flags for cliproxyapi auth (#24 )
CLIProxyAPI updated from single-dash to double-dash CLI flags.
Changed -login to --login, -codex-login to --codex-login,
-antigravity-login to --antigravity-login, -config to --config,
and -no-browser to --no-browser.
* chore(release): 5.1.1-beta.1 [skip ci]
## [5.1.1-beta.1](https://github.com/kaitranntt/ccs/compare/v5.1.0...v5.1.1-beta.1 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([#24 ](https://github.com/kaitranntt/ccs/issues/24 )) ([4c81f28 ](https://github.com/kaitranntt/ccs/commit/4c81f28f0b67ef92cf74d0f5c13a5943ff0a7f00 ))
* chore(release): 5.1.1-beta.2 [skip ci]
## [5.1.1-beta.2](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.1...v5.1.1-beta.2 ) (2025-12-01)
### Bug Fixes
* **cliproxy:** use double-dash flags for cliproxyapi auth ([9489884 ](https://github.com/kaitranntt/ccs/commit/94898848ea4533dcfc142e1b6c9bf939ba655537 ))
* fix(glmt): handle 401 errors and headers-already-sent exception (#30 )
- add res.headersSent check before writing error headers
- write error as SSE event when headers already sent (streaming mode)
- add parseUpstreamError() for user-friendly error messages
- return proper HTTP status codes (401, 403, 429, 502, 504)
- clear auth error: check ANTHROPIC_AUTH_TOKEN in config
Fixes #26
* chore(release): 5.1.1-beta.3 [skip ci]
## [5.1.1-beta.3](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.2...v5.1.1-beta.3 ) (2025-12-01)
### Bug Fixes
* **glmt:** handle 401 errors and headers-already-sent exception ([#30 ](https://github.com/kaitranntt/ccs/issues/30 )) ([c953382 ](https://github.com/kaitranntt/ccs/commit/c95338232a37981b95b785b47185ce18d6d94b7a )), closes [#26 ](https://github.com/kaitranntt/ccs/issues/26 )
* chore(release): enable success comments and released labels in semantic-release
* feat(cliproxy): add qwen code oauth provider support (#31 )
Add 'qwen' as new CLIProxy OAuth provider with --qwen-login flag.
Support qwen3-coder model with base config at config/base-qwen.settings.json.
Register qwen OAuth endpoints and token prefix handling.
Update help documentation across all CLI entry points.
Implements issue #29
* chore(release): 5.2.0-beta.1 [skip ci]
# [5.2.0-beta.1](https://github.com/kaitranntt/ccs/compare/v5.1.1-beta.3...v5.2.0-beta.1 ) (2025-12-01)
### Features
* **cliproxy:** add qwen code oauth provider support ([#31 ](https://github.com/kaitranntt/ccs/issues/31 )) ([a3f1e52 ](https://github.com/kaitranntt/ccs/commit/a3f1e52ac68600ba0806d67aacceb6477ffa3543 )), closes [#29 ](https://github.com/kaitranntt/ccs/issues/29 )
* feat(cliproxy): auto-update cliproxyapi to latest release on startup
- add github api integration to fetch latest release version
- check for updates on every startup (cached for 1 hour)
- auto-download newer versions when available
- rename CLIPROXY_VERSION to CLIPROXY_FALLBACK_VERSION (safety net)
- add version tracking (.version file) and caching (.version-cache.json)
- non-blocking: startup continues if update check fails
* chore(release): 5.2.0-beta.2 [skip ci]
# [5.2.0-beta.2](https://github.com/kaitranntt/ccs/compare/v5.2.0-beta.1...v5.2.0-beta.2 ) (2025-12-01)
### Features
* **cliproxy:** auto-update cliproxyapi to latest release on startup ([8873ccd ](https://github.com/kaitranntt/ccs/commit/8873ccd981679e8acff8965accdc22215c6e4aa2 ))
---------
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net >
2025-12-01 04:11:14 -05:00
kaitranntt
efb966c96d
feat(cliproxy): unified config for concurrent gemini/codex usage
...
- Add unified CLIProxy config supporting all providers concurrently
- Move CLIProxy files to ~/.ccs/cliproxy/ subdirectory
- Use flat auth directory structure for OAuth tokens
- Add provider-specific URL routing via /api/provider/{provider}
- Add base settings templates for gemini and codex
- Fix model registration with proper auth file discovery
Enables users to run `ccs gemini` and `ccs codex` concurrently
without config conflicts.
2025-11-28 19:41:28 -05:00
kaitranntt
5f71eba6f6
feat(cliproxy): add CLIProxyAPI integration for OAuth profiles
...
Complete integration of CLIProxyAPI for zero-config OAuth profiles.
New profiles:
- ccs gemini: Gemini via OAuth
- ccs chatgpt: ChatGPT via OAuth
- ccs qwen: Qwen via OAuth
Implementation:
- Phase 1: Binary infrastructure (download-on-demand)
- Phase 2: Proxy executor (spawn/kill pattern)
- Phase 3: OAuth integration (browser-based auth)
- Phase 4: Profile registration (routing + help text)
- Phase 5: Diagnostics (doctor command + errors)
Files added:
- src/cliproxy/*.ts (binary-manager, platform-detector, executor, auth-handler, config-generator, types, index)
Files modified:
- src/ccs.ts (CLIProxy routing)
- src/auth/profile-detector.ts (cliproxy profile type)
- src/commands/help-command.ts (new profiles in help)
- src/management/doctor.ts (CLIProxy health checks)
- src/utils/error-manager.ts (OAuth/port/download errors)
- CHANGELOG.md (v5.0.0 release notes)
Tests: 42/42 passed
2025-11-28 16:28:15 -05:00