kaitranntt
c1f30ae800
refactor(web-server): modularize health-service into health/ directory
...
- extract system, environment, config, profile, symlink checks
- extract cliproxy, oauth, websearch checks and types
- slim health-service.ts from 901 to 146 lines (84% reduction)
- add barrel export at health/index.ts
2025-12-19 12:35:13 -05:00
kaitranntt
d3c94fe6a2
refactor(cliproxy): modularize binary-manager into binary/ directory
...
- extract types, version-checker, lifecycle, updater, installer
- extract downloader (verifier), extractors (tar, zip), version-cache
- slim binary-manager.ts from 1080 to 137 lines (87% reduction)
- add barrel export at binary/index.ts
2025-12-19 12:34:48 -05:00
kaitranntt
b49b7d17b2
refactor(cliproxy): extract service layer from cliproxy-command
...
- create cliproxy/services/ with 6 modules (1179 → 634 lines)
- variant-service, variant-settings, variant-config-adapter
- proxy-lifecycle-service, binary-service
- separate CLI parsing from business logic
Phase 5: Command Refactor (cliproxy-command.ts)
2025-12-19 11:48:45 -05:00
kaitranntt
ecb6bb448a
refactor(api): extract service layer from api-command
...
- create api/services/ with 5 modules (800 → 426 lines)
- validation-service, profile-types, profile-reader, profile-writer
- separate CLI parsing from business logic
Phase 5: Command Refactor (api-command.ts)
2025-12-19 11:48:33 -05:00
kaitranntt
5c28935d1e
refactor(cliproxy): modularize auth handler and binary
...
- extract 6 auth modules to auth/ directory (932 → 65 lines)
- oauth-handler, oauth-process, token-manager
- environment-detector, auth-types
- extract binary/ with downloader, verifier modules
Phase 3: Large Files Breakdown (auth-handler.ts)
2025-12-19 11:48:21 -05:00
kaitranntt
cd107e354c
refactor(glmt): modularize transformer pipeline
...
- extract 7 pipeline modules (1122 → 206 lines)
- request-transformer, stream-parser, response-builder
- tool-call-handler, content-transformer
- shared types.ts for pipeline interfaces
Phase 3: Large Files Breakdown (glmt-transformer.ts)
2025-12-19 11:48:07 -05:00
kaitranntt
0eb2030dc2
refactor(management): modularize doctor health checks
...
- extract 9 check modules to checks/ directory (1260 → 186 lines)
- add repair/ directory with auto-repair extraction
- system, env, config, profile, cliproxy, oauth, symlink checks
- shared types.ts for check result interfaces
Phase 3: Large Files Breakdown (doctor.ts)
2025-12-19 11:47:55 -05:00
kaitranntt
22dbfd91c5
refactor(errors): centralize error handling infrastructure
...
- add errors/ directory with error types, handler, cleanup registry
- extract claude-spawner.ts from auth modules
- update imports across auth, ccs, web-server
Phase 2 & 4: Error handling consolidation
2025-12-19 11:47:43 -05:00
kaitranntt
9346ff2be9
refactor(web-server): extract usage aggregator service
...
- extract usage-aggregator.ts from usage-routes.ts (883 → 188 lines)
- add services/ directory with barrel export
- separate data aggregation logic from route handlers
Phase 2: Duplicate Extraction
2025-12-19 11:47:30 -05:00
kaitranntt
a12c3d800a
refactor(web-server): modularize routes into dedicated files
...
- extract 14 route modules from monolithic routes.ts (2198 → 49 lines)
- add route-helpers.ts for shared utilities
- add index.ts barrel export for clean imports
- health, profile, config, settings, provider, copilot routes
- variant, proxy, cliproxy-auth, cliproxy-stats, websearch, misc routes
Phase 1: Routes Modularization
2025-12-19 11:47:19 -05:00
semantic-release-bot
ae07ea5d70
chore(release): 6.7.0 [skip ci]
...
## [6.7.0](https://github.com/kaitranntt/ccs/compare/v6.6.1...v6.7.0 ) (2025-12-19)
### Features
* **cliproxy:** auto-apply default preset when adding first account ([4036c42 ](https://github.com/kaitranntt/ccs/commit/4036c42687c0e5124825998350431f17ce617442 ))
* **env:** add debug logging for global env injection ([68eab56 ](https://github.com/kaitranntt/ccs/commit/68eab562ce404ac1933c76520e5597327348bff2 ))
* **recovery:** add lazy initialization for bun/pnpm users ([2d2cd3e ](https://github.com/kaitranntt/ccs/commit/2d2cd3eca21a49af04ca0b1c1d549e62b6ff5cc9 ))
### Bug Fixes
* **ci:** use built-in GITHUB_TOKEN for release comments ([cff38ac ](https://github.com/kaitranntt/ccs/commit/cff38ac53d392317325e2cbf5281956ff59174be ))
* **cliproxy:** include BASE_URL and AUTH_TOKEN when applying presets ([598454c ](https://github.com/kaitranntt/ccs/commit/598454c931267082ba80c4ef426d0ef2c0370f55 ))
* **cliproxy:** prevent port race condition with unified detection and startup lock ([96f17e3 ](https://github.com/kaitranntt/ccs/commit/96f17e3afba93288b041f6c2883753692b4e9ca1 ))
* **cliproxy:** prevent variant names matching reserved provider names ([7ea64bd ](https://github.com/kaitranntt/ccs/commit/7ea64bdb4392d8cd41bc871892466d30c50b58fd ))
* **remote-proxy:** fix TypeError and make port optional with protocol defaults ([03aea4e ](https://github.com/kaitranntt/ccs/commit/03aea4eac233caf00736ceec80b4cc841bce948a )), closes [#142 ](https://github.com/kaitranntt/ccs/issues/142 )
* **update-checker:** resolve dev channel update and duplicate comments ([b6b1817 ](https://github.com/kaitranntt/ccs/commit/b6b18173cc41788328ef1c8831de9527898f06a1 ))
* **web-server:** add comprehensive reserved name validation ([2373100 ](https://github.com/kaitranntt/ccs/commit/2373100c177654910922c6ef0e5ffc7cfe087b26 ))
2025-12-19 16:29:29 +00:00
Kai (Tam Nhu) Tran and GitHub
e46c1d0c1e
Merge pull request #154 from kaitranntt/dev
...
feat: CCS v6.7.0 release
2025-12-19 11:28:30 -05:00
semantic-release-bot
cc725975e9
chore(release): 6.7.0-dev.5 [skip ci]
...
## [6.7.0-dev.5](https://github.com/kaitranntt/ccs/compare/v6.7.0-dev.4...v6.7.0-dev.5 ) (2025-12-19)
### Features
* **cliproxy:** auto-apply default preset when adding first account ([4036c42 ](https://github.com/kaitranntt/ccs/commit/4036c42687c0e5124825998350431f17ce617442 ))
2025-12-19 16:27:37 +00:00
kaitranntt
4036c42687
feat(cliproxy): auto-apply default preset when adding first account
...
- Add presetMapping to Gemini, Antigravity, Codex models
- Auto-apply preset when adding first account (Add/QuickSetup)
- Extract applyDefaultPreset to preset-utils.ts (DRY)
- Add warning toast on preset failure
- Extract port 8317 to CLIPROXY_PORT constant
2025-12-19 11:26:17 -05:00
semantic-release-bot
aacff0343d
chore(release): 6.7.0-dev.4 [skip ci]
...
## [6.7.0-dev.4](https://github.com/kaitranntt/ccs/compare/v6.7.0-dev.3...v6.7.0-dev.4 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** prevent port race condition with unified detection and startup lock ([96f17e3 ](https://github.com/kaitranntt/ccs/commit/96f17e3afba93288b041f6c2883753692b4e9ca1 ))
2025-12-19 15:55:15 +00:00
Kai (Tam Nhu) Tran and GitHub
af814aeee8
Merge pull request #153 from kaitranntt/kai/fix/cliproxy-port-race
...
fix(cliproxy): prevent port race condition with unified detection and startup lock
2025-12-19 10:54:11 -05:00
semantic-release-bot
96103f3d93
chore(release): 6.7.0-dev.3 [skip ci]
...
## [6.7.0-dev.3](https://github.com/kaitranntt/ccs/compare/v6.7.0-dev.2...v6.7.0-dev.3 ) (2025-12-19)
### Features
* **recovery:** add lazy initialization for bun/pnpm users ([2d2cd3e ](https://github.com/kaitranntt/ccs/commit/2d2cd3eca21a49af04ca0b1c1d549e62b6ff5cc9 ))
2025-12-19 15:53:05 +00:00
kaitranntt
2d2cd3eca2
feat(recovery): add lazy initialization for bun/pnpm users
...
Bun and pnpm block postinstall scripts by default for security.
This causes ~/.ccs/ directory to not be created on fresh install.
Added lazy initialization in RecoveryManager that mirrors postinstall.js:
- ensureSharedDirectories() - creates ~/.ccs/shared/ subdirs
- ensureGlmSettings() - creates glm.settings.json with defaults
- ensureGlmtSettings() - creates glmt.settings.json with thinking mode
- ensureKimiSettings() - creates kimi.settings.json with k2-thinking-turbo
- ensureShellCompletions() - installs completion files
- Fixed config.json to include glmt profile, removed deprecated default
Now any ccs command will auto-create full ~/.ccs/ structure on first run.
Fixes: bun add -g @kaitranntt/ccs not creating ~/.ccs/
2025-12-19 10:50:52 -05:00
kaitranntt
96f17e3afb
fix(cliproxy): prevent port race condition with unified detection and startup lock
...
Add proxy-detector.ts for unified detection with multiple fallbacks:
- HTTP health check (most reliable)
- Session lock file check
- Port process detection with HTTP retry (handles Windows PID-XXXXX)
Add startup-lock.ts for file-based mutex:
- 10s timeout with 20 retries at 250ms intervals
- Stale lock detection via PID check
- Cross-platform support
Update cliproxy-executor.ts and service-manager.ts to use new modules.
Fixes race conditions when running simultaneous ccs commands.
2025-12-19 10:50:25 -05:00
semantic-release-bot
282ed70dfc
chore(release): 6.7.0-dev.2 [skip ci]
...
## [6.7.0-dev.2](https://github.com/kaitranntt/ccs/compare/v6.7.0-dev.1...v6.7.0-dev.2 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** include BASE_URL and AUTH_TOKEN when applying presets ([598454c ](https://github.com/kaitranntt/ccs/commit/598454c931267082ba80c4ef426d0ef2c0370f55 ))
* **cliproxy:** prevent variant names matching reserved provider names ([7ea64bd ](https://github.com/kaitranntt/ccs/commit/7ea64bdb4392d8cd41bc871892466d30c50b58fd ))
* **web-server:** add comprehensive reserved name validation ([2373100 ](https://github.com/kaitranntt/ccs/commit/2373100c177654910922c6ef0e5ffc7cfe087b26 ))
2025-12-19 14:59:38 +00:00
Kai (Tam Nhu) Tran and GitHub
c827a8d9ac
Merge pull request #151 from kaitranntt/kai/fix/preset-missing-base-config
...
fix(cliproxy): include BASE_URL and AUTH_TOKEN when applying presets
2025-12-19 09:58:38 -05:00
kaitranntt
2373100c17
fix(web-server): add comprehensive reserved name validation
...
- Import isReservedName from centralized reserved-names module
- Add validation to POST /api/profiles endpoint
- Add validation to POST /api/cliproxy/openai-compat endpoint
- Refactor hardcoded arrays to use centralized isReservedName()
- Fixes DRY violation and ensures consistent validation across all endpoints
2025-12-19 09:55:27 -05:00
kaitranntt
7ea64bdb43
fix(cliproxy): prevent variant names matching reserved provider names
...
Added validation to reject variant names that match reserved CLIProxy
provider names (gemini, codex, agy, qwen, iflow). Also protected reserved
provider settings files from being deleted when deleting variants.
This prevents accidental deletion of default provider configurations when
users create variants with conflicting names.
2025-12-19 09:49:05 -05:00
kaitranntt
598454c931
fix(cliproxy): include BASE_URL and AUTH_TOKEN when applying presets
...
Presets now always include ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN
when applied to provider settings. This ensures CLIProxy routing works
correctly for Gemini, Codex, and Agy providers.
Also fixes settings save failing for new profiles by changing PUT
/api/settings/:profile to upsert behavior (create if not exists).
2025-12-19 09:44:14 -05:00
semantic-release-bot
4db2a4915e
chore(release): 6.7.0-dev.1 [skip ci]
...
## [6.7.0-dev.1](https://github.com/kaitranntt/ccs/compare/v6.6.2-dev.3...v6.7.0-dev.1 ) (2025-12-19)
### Features
* **env:** add debug logging for global env injection ([68eab56 ](https://github.com/kaitranntt/ccs/commit/68eab562ce404ac1933c76520e5597327348bff2 ))
2025-12-19 14:42:37 +00:00
kaitranntt
68eab562ce
feat(env): add debug logging for global env injection
...
- log injected global env var names in debug mode (CCS_DEBUG)
- log when telemetry/reporting env vars are applied in CLIProxy
2025-12-19 07:58:19 -05:00
semantic-release-bot
c76a4dd825
chore(release): 6.6.2-dev.3 [skip ci]
...
## [6.6.2-dev.3](https://github.com/kaitranntt/ccs/compare/v6.6.2-dev.2...v6.6.2-dev.3 ) (2025-12-19)
### Bug Fixes
* **update-checker:** resolve dev channel update and duplicate comments ([b6b1817 ](https://github.com/kaitranntt/ccs/commit/b6b18173cc41788328ef1c8831de9527898f06a1 ))
2025-12-19 09:51:15 +00:00
kaitranntt
b6b18173cc
fix(update-checker): resolve dev channel update and duplicate comments
...
Fixes tag-agnostic cache issue causing 'ccs update --dev' to require
force. Implements tag-specific caching (dev_version vs latest_version)
to correctly detect updates across channels. Disables duplicate bot
comments on dev releases in .releaserc.cjs.
2025-12-19 04:50:09 -05:00
semantic-release-bot
7786b39aa5
chore(release): 6.6.2-dev.2 [skip ci]
...
## [6.6.2-dev.2](https://github.com/kaitranntt/ccs/compare/v6.6.2-dev.1...v6.6.2-dev.2 ) (2025-12-19)
### Bug Fixes
* **remote-proxy:** fix TypeError and make port optional with protocol defaults ([03aea4e ](https://github.com/kaitranntt/ccs/commit/03aea4eac233caf00736ceec80b4cc841bce948a )), closes [#142 ](https://github.com/kaitranntt/ccs/issues/142 )
2025-12-19 09:28:15 +00:00
Kai (Tam Nhu) Tran and GitHub
e7847384a2
Merge pull request #150 from kaitranntt/kai/feat/remote-proxy-config
...
fix(remote-proxy): fix TypeError and make port optional with protocol defaults
2025-12-19 04:27:16 -05:00
kaitranntt
03aea4eac2
fix(remote-proxy): fix TypeError and make port optional with protocol defaults
...
- Fix TypeError: error.code?.toLowerCase - add type guard for non-string error codes
- Make remote proxy port optional - defaults to 443 (HTTPS) or 80 (HTTP)
- Smart URL building - omits port when using protocol default
- UI improvements - show default port hint, allow empty port field
- Better validation - only host is required, port uses smart defaults
Closes #142
2025-12-19 04:23:20 -05:00
semantic-release-bot
40fea0ef04
chore(release): 6.6.2-dev.1 [skip ci]
...
## [6.6.2-dev.1](https://github.com/kaitranntt/ccs/compare/v6.6.1...v6.6.2-dev.1 ) (2025-12-19)
### Bug Fixes
* **ci:** use built-in GITHUB_TOKEN for release comments ([cff38ac ](https://github.com/kaitranntt/ccs/commit/cff38ac53d392317325e2cbf5281956ff59174be ))
2025-12-19 09:09:06 +00:00
kaitranntt
cff38ac53d
fix(ci): use built-in GITHUB_TOKEN for release comments
...
Changes semantic-release to use the built-in GITHUB_TOKEN instead of
PAT_TOKEN so that release comments appear from github-actions[bot]
instead of the repository owner's personal account.
PAT_TOKEN is still used for checkout to ensure downstream workflows
can be triggered by the release commits.
2025-12-19 04:07:45 -05:00
semantic-release-bot
0646e4c9b0
chore(release): 6.6.1 [skip ci]
...
## [6.6.1](https://github.com/kaitranntt/ccs/compare/v6.6.0...v6.6.1 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** register session on dashboard start and add port-based stop fallback ([a3b172c ](https://github.com/kaitranntt/ccs/commit/a3b172cc437c4a00612667edf44f8aa3b3ffa1ae ))
2025-12-19 09:00:10 +00:00
Kai (Tam Nhu) Tran and GitHub
c564b48fec
Merge pull request #148 from kaitranntt/dev
...
fix(cliproxy): register session on dashboard start and add port-based stop fallback
2025-12-19 03:59:09 -05:00
semantic-release-bot
f8e4a87287
chore(release): 6.6.1-dev.1 [skip ci]
...
## [6.6.1-dev.1](https://github.com/kaitranntt/ccs/compare/v6.6.0...v6.6.1-dev.1 ) (2025-12-19)
### Bug Fixes
* **cliproxy:** register session on dashboard start and add port-based stop fallback ([a3b172c ](https://github.com/kaitranntt/ccs/commit/a3b172cc437c4a00612667edf44f8aa3b3ffa1ae ))
2025-12-19 08:58:27 +00:00
kaitranntt
a3b172cc43
fix(cliproxy): register session on dashboard start and add port-based stop fallback
...
Dashboard Stop/Update buttons failed with contradictory errors:
- Stop: "No active CLIProxy session found"
- Update: "CLIProxy was already running"
Root cause: service-manager spawned proxy but never called registerSession(),
so stopProxy() couldn't find the lock file.
Changes:
- service-manager.ts: Add registerSession() after spawn
- session-tracker.ts: Make stopProxy() async with port-based fallback
- routes.ts: Update proxy-stop endpoint to async
- cliproxy-command.ts: Update handleStop() to await async stopProxy()
- port-utils.ts: Fix double-escaped regex for Windows port detection
- session-tracker.test.js: Update tests for async stopProxy()
2025-12-19 03:57:06 -05:00
semantic-release-bot
f1dfd69a4a
chore(release): 6.6.0 [skip ci]
...
## [6.6.0](https://github.com/kaitranntt/ccs/compare/v6.5.0...v6.6.0 ) (2025-12-19)
### ⚠ BREAKING CHANGES
* Native shell installers (curl/irm) no longer work.
Use `npm install -g @kaitranntt/ccs` instead.
### Features
* **ci:** add Discord notifications for releases ([ee76d66 ](https://github.com/kaitranntt/ccs/commit/ee76d663aec59a86a236156dbc163d0d291c0446 ))
* **ci:** add semantic-release for dev branch with rich Discord notifications ([0f590c8 ](https://github.com/kaitranntt/ccs/commit/0f590c80d689c39cea7c94937ed398941dddb533 ))
* **cleanup:** add age-based error log cleanup ([45207b4 ](https://github.com/kaitranntt/ccs/commit/45207b4e7f92c09d7464dd5c954718254ddfd43a ))
* **cliproxy:** add getRemoteEnvVars for remote proxy mode ([f4a50d0 ](https://github.com/kaitranntt/ccs/commit/f4a50d006c1f6bd284fe743f9a322540763e1848 ))
* **cliproxy:** add proxy config resolver with CLI flag support ([68a93f0 ](https://github.com/kaitranntt/ccs/commit/68a93f0500f396ebcc65cc133c1a444ae5a0f220 ))
* **cliproxy:** add remote proxy client for health checks ([30d564c ](https://github.com/kaitranntt/ccs/commit/30d564cda66a54c2ac12788559624cb0736cdeb3 ))
* **cliproxy:** integrate remote proxy mode in executor ([bd1ff2f ](https://github.com/kaitranntt/ccs/commit/bd1ff2f059d01d4371b2230d4902bc5ab210055e ))
* **cliproxy:** set WRITABLE_PATH for log storage in ~/.ccs/cliproxy/ ([6b9396f ](https://github.com/kaitranntt/ccs/commit/6b9396fbc6d464bc3e3d6d3bb639e70fe5306074 ))
* **config:** add proxy configuration types and schema ([eff2e2d ](https://github.com/kaitranntt/ccs/commit/eff2e2d29f3f227c05103c252823fb9e040b6e49 ))
* **config:** add proxy section to unified config loader ([1971744 ](https://github.com/kaitranntt/ccs/commit/197174441f6eeca5e3c98e88af43d91ee081f734 ))
* **dashboard:** add error log viewer for CLIProxy diagnostics ([5b3d565 ](https://github.com/kaitranntt/ccs/commit/5b3d56548a8dfb2e6bb22e14b13f0fb038f2d1fb )), closes [#132 ](https://github.com/kaitranntt/ccs/issues/132 )
* **global-env:** add global environment variables injection for third-party profiles ([5d34326 ](https://github.com/kaitranntt/ccs/commit/5d343260c7307c2d7ac8da92eb5f94c7f764d08c ))
* **ui:** add absolute path copy for error logs ([5d4f49e ](https://github.com/kaitranntt/ccs/commit/5d4f49e4bb6f9748efa89e96c342dfae3e35d02b ))
* **ui:** add Proxy settings tab to dashboard ([9a9ef98 ](https://github.com/kaitranntt/ccs/commit/9a9ef98542bb766087b711fc39e928e347ad9b86 ))
* **ui:** add Stop and Restart buttons to ProxyStatusWidget ([c9ad0b0 ](https://github.com/kaitranntt/ccs/commit/c9ad0b077934ae8418d4e97b9b02a09044ff898b ))
* **ui:** add version sync timestamp to ProxyStatusWidget ([d43079b ](https://github.com/kaitranntt/ccs/commit/d43079b72414d7b841a35a934ea39a91527f4172 ))
* **ui:** redesign error logs monitor with split view layout ([8f47b87 ](https://github.com/kaitranntt/ccs/commit/8f47b8775f2c2493c05ee2be861ca3f8667cfc0e ))
* **ui:** show CLIProxyAPI update availability in dashboard ([96762a9 ](https://github.com/kaitranntt/ccs/commit/96762a9f6ee096570b2fe6136a4431e6ce1d1a47 ))
* **web-server:** add proxy configuration API routes ([8decdfb ](https://github.com/kaitranntt/ccs/commit/8decdfb515075b772970de7c85b34c31baf93754 ))
### Bug Fixes
* **ci:** remove deprecated installer references from dev-release workflow ([4b969b6 ](https://github.com/kaitranntt/ccs/commit/4b969b6870aae6b5859b9a1be0cf98b9d537ce00 ))
* **ci:** remove sync-version.js that depends on deleted VERSION file ([18729c9 ](https://github.com/kaitranntt/ccs/commit/18729c9983ecd1f9d857b0de2753e99c675c624a ))
* **cliproxy:** prevent misleading update message when proxy is running ([2adc272 ](https://github.com/kaitranntt/ccs/commit/2adc272f278b1d80d160ad4d6e1f35e3b61cb156 )), closes [#143 ](https://github.com/kaitranntt/ccs/issues/143 )
* **error-logs-monitor:** properly handle status loading state ([1ef625e ](https://github.com/kaitranntt/ccs/commit/1ef625ee863c517a5fbba21f16cf991bb77be7d7 ))
* **profiles:** prevent env var inheritance for settings-based profiles ([903bc10 ](https://github.com/kaitranntt/ccs/commit/903bc10fea11694474f772356f301b8e4b37298e ))
### Documentation
* **cliproxy:** add remote proxy documentation ([196422c ](https://github.com/kaitranntt/ccs/commit/196422cee1f7410d385581f2a28df3faa87d68e3 ))
### Styles
* **ui:** use sidebar accent colors for proxy update button ([eeb6913 ](https://github.com/kaitranntt/ccs/commit/eeb6913d96fe1a9a0d8721627a07c7f772b67b88 ))
* **ui:** widen cliproxy sidebar from w-64 to w-80 ([248d970 ](https://github.com/kaitranntt/ccs/commit/248d970cba8671b7c20dc99f8d1a70e4fe113605 ))
### Code Refactoring
* remove deprecated native shell installers ([126cffc ](https://github.com/kaitranntt/ccs/commit/126cffc6dcf434abeee883a4109d3705cdb92a67 ))
* rename proxy to cliproxy_server and update API routes ([8d8d4c2 ](https://github.com/kaitranntt/ccs/commit/8d8d4c248ad890413d5c4e7e72f9f2a16305f74f ))
2025-12-19 08:28:08 +00:00
Kai (Tam Nhu) Tran and GitHub
7013a5b81e
Merge pull request #147 from kaitranntt/dev
...
feat: remote proxy mode, error log viewer, and CI improvements
2025-12-19 03:27:07 -05:00
semantic-release-bot
165d5d1339
chore(release): 6.6.0-dev.4 [skip ci]
...
## [6.6.0-dev.4](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.3...v6.6.0-dev.4 ) (2025-12-19)
### Bug Fixes
* **profiles:** prevent env var inheritance for settings-based profiles ([903bc10 ](https://github.com/kaitranntt/ccs/commit/903bc10fea11694474f772356f301b8e4b37298e ))
2025-12-19 07:41:43 +00:00
kaitranntt
903bc10fea
fix(profiles): prevent env var inheritance for settings-based profiles
...
- Load settings file and explicitly inject ANTHROPIC_* env vars
- Prevents stale CLIProxy env vars from overriding settings file values
- Fixes GLM/Kimi requests incorrectly routing through CLIProxyAPI
2025-12-19 02:40:29 -05:00
semantic-release-bot
eaa7d0f526
chore(release): 6.6.0-dev.3 [skip ci]
...
## [6.6.0-dev.3](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.2...v6.6.0-dev.3 ) (2025-12-19)
### Features
* **cliproxy:** add getRemoteEnvVars for remote proxy mode ([f4a50d0 ](https://github.com/kaitranntt/ccs/commit/f4a50d006c1f6bd284fe743f9a322540763e1848 ))
* **cliproxy:** add proxy config resolver with CLI flag support ([68a93f0 ](https://github.com/kaitranntt/ccs/commit/68a93f0500f396ebcc65cc133c1a444ae5a0f220 ))
* **cliproxy:** add remote proxy client for health checks ([30d564c ](https://github.com/kaitranntt/ccs/commit/30d564cda66a54c2ac12788559624cb0736cdeb3 ))
* **cliproxy:** integrate remote proxy mode in executor ([bd1ff2f ](https://github.com/kaitranntt/ccs/commit/bd1ff2f059d01d4371b2230d4902bc5ab210055e ))
* **config:** add proxy configuration types and schema ([eff2e2d ](https://github.com/kaitranntt/ccs/commit/eff2e2d29f3f227c05103c252823fb9e040b6e49 ))
* **config:** add proxy section to unified config loader ([1971744 ](https://github.com/kaitranntt/ccs/commit/197174441f6eeca5e3c98e88af43d91ee081f734 ))
* **ui:** add Proxy settings tab to dashboard ([9a9ef98 ](https://github.com/kaitranntt/ccs/commit/9a9ef98542bb766087b711fc39e928e347ad9b86 ))
* **web-server:** add proxy configuration API routes ([8decdfb ](https://github.com/kaitranntt/ccs/commit/8decdfb515075b772970de7c85b34c31baf93754 ))
### Documentation
* **cliproxy:** add remote proxy documentation ([196422c ](https://github.com/kaitranntt/ccs/commit/196422cee1f7410d385581f2a28df3faa87d68e3 ))
### Styles
* **ui:** use sidebar accent colors for proxy update button ([eeb6913 ](https://github.com/kaitranntt/ccs/commit/eeb6913d96fe1a9a0d8721627a07c7f772b67b88 ))
### Code Refactoring
* rename proxy to cliproxy_server and update API routes ([8d8d4c2 ](https://github.com/kaitranntt/ccs/commit/8d8d4c248ad890413d5c4e7e72f9f2a16305f74f ))
2025-12-19 07:17:25 +00:00
Kai (Tam Nhu) Tran and GitHub
a64aa5dbeb
Merge pull request #146 from kaitranntt/kai/feat/remote-cliproxyapi-config
...
feat(cliproxy): add remote proxy configuration support
2025-12-19 02:16:24 -05:00
kaitranntt
8d8d4c248a
refactor: rename proxy to cliproxy_server and update API routes
2025-12-19 02:14:49 -05:00
kaitranntt
eeb6913d96
style(ui): use sidebar accent colors for proxy update button
...
- replace hardcoded amber-600 with sidebar-accent theme variable
- improve consistency with sidebar theme
2025-12-19 01:41:04 -05:00
kaitranntt
196422cee1
docs(cliproxy): add remote proxy documentation
...
- add proxy CLI flags section to help command output
- add proxy environment variables section to help
- add Remote Proxy section to README with config examples
- document CLI flag overrides and priority resolution
2025-12-19 01:18:05 -05:00
kaitranntt
9a9ef98542
feat(ui): add Proxy settings tab to dashboard
...
- add Proxy tab with Local/Remote mode toggle cards
- add remote server config inputs (host, port, protocol, auth token)
- add Test Connection button with reachability status display
- add fallback settings (enable fallback, auto-start local)
- add local proxy port configuration
- add getProxyConfig, updateProxyConfig, testProxyConnection API methods
2025-12-19 01:17:20 -05:00
kaitranntt
8decdfb515
feat(web-server): add proxy configuration API routes
...
- GET /api/proxy returns current proxy config
- PUT /api/proxy updates proxy settings in config.yaml
- POST /api/proxy/test tests remote connection
- register routes in web server index
2025-12-19 01:16:10 -05:00
semantic-release-bot
ebfef34a13
chore(release): 6.6.0-dev.2 [skip ci]
...
## [6.6.0-dev.2](https://github.com/kaitranntt/ccs/compare/v6.6.0-dev.1...v6.6.0-dev.2 ) (2025-12-19)
### Bug Fixes
* **ci:** remove sync-version.js that depends on deleted VERSION file ([18729c9 ](https://github.com/kaitranntt/ccs/commit/18729c9983ecd1f9d857b0de2753e99c675c624a ))
2025-12-19 06:15:45 +00:00
kaitranntt
bd1ff2f059
feat(cliproxy): integrate remote proxy mode in executor
...
- resolve proxy config with CLI flags, ENV vars, and config.yaml
- check remote proxy health before skipping local binary spawn
- implement TTY-aware fallback prompting when remote unreachable
- support --remote-only flag to disable fallback
- use remote or local env vars based on mode
2025-12-19 01:15:33 -05:00