Commit graph

364 commits

Author SHA1 Message Date
decolua
9c6be62a54 Feat : Skills 2026-05-04 11:29:02 +07:00
decolua
f08fa5f78d Fix input fields in tool cards 2026-05-03 22:24:57 +07:00
decolua
4ba546afe7 Enhance token refresh logic and improve MITM server handling
- Introduced a caching mechanism for in-flight token refresh requests to prevent race conditions and reduce unnecessary API calls.
- Added error handling for unrecoverable refresh errors, ensuring that the application can gracefully handle token reuse and invalidation scenarios.
- Updated the MITM server management to handle port 443 conflicts, allowing users to kill processes occupying the port before starting the server.
- Improved user feedback in the MitmServerCard component regarding port conflicts and admin privileges.
- Refactored the ComboList component to streamline the display of media provider combos.

This update aims to enhance the reliability and user experience of the token management and MITM functionalities.
2026-05-03 22:10:03 +07:00
decolua
6cdf40b44e Refactor global styles and enhance MITM functionality
- Updated global CSS to implement a new brand color palette and improve light/dark theme consistency.
- Enhanced the MitmServerCard component to provide clearer user feedback regarding admin privileges.
- Filtered LLM combos in the CombosPage to ensure only relevant data is displayed.
- Improved APIPageClient layout for better usability and visual consistency.
- Added functionality to save and load DNS tool states in the MITM manager.
- Updated OAuth configuration URLs for Qwen to reflect the new endpoint structure.
- Refined tunnel management logic to improve reliability and user experience.
2026-05-03 18:00:35 +07:00
decolua
f1bb5bd67e Squashed commit of the following:
commit 8b2ab7c9e05689c1bf55002cc79db8d22a398c75
Author: kundeng <kundeng@live.com>
Date:   Mon Apr 20 11:26:58 2026 -0400

    fix: send providerSpecificData in Edit modal validate calls

    The Check button in the Edit modal was sending only apiKey without the
    Azure endpoint/deployment/org, causing validation to fail.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit c894fa838d035ecd9a160339342371042697c327
Author: kundeng <kundeng@live.com>
Date:   Mon Apr 20 01:45:13 2026 -0400

    fix: persist Azure providerSpecificData and add connection test

    - Read body.providerSpecificData in POST /api/providers so Azure fields
      (endpoint, deployment, apiVersion, organization) are actually stored
    - Add azure case to testApiKeyConnection so the Test button works
      correctly instead of falling through to "not supported"

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 00bd1a4151f4e73616969e25d1786c87d1ec0d5e
Author: kundeng <kundeng@live.com>
Date:   Mon Apr 20 01:24:39 2026 -0400

    fix: add Azure validation and make Organization required

    - Add Azure case to /api/providers/validate that sends a test chat
      completion with api-key header and organization
    - Pass Azure-specific data (endpoint, deployment, apiVersion, org) from
      Add modal to validate endpoint
    - Make Organization field required (needed for billing)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit a66a04daab69b07baa4cc6b28772249e4b25ea19
Author: kundeng <kundeng@live.com>
Date:   Mon Apr 20 01:15:53 2026 -0400

    fix: add Azure config fields to Add API Key modal

    The Add modal was missing the Azure-specific fields (endpoint, deployment,
    API version, organization) — only the Edit modal had them.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 6ac3f4a97af8468d210594495ce754f5d7a7978a
Author: kundeng <kundeng@live.com>
Date:   Mon Apr 20 01:06:45 2026 -0400

    feat: add Azure OpenAI as a dedicated provider

    Azure OpenAI uses a different URL scheme (deployments-based) and api-key
    header auth instead of Bearer tokens. This adds a dedicated AzureExecutor
    that constructs the correct URL and headers, plus dashboard UI fields for
    endpoint, deployment, API version, and organization.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-03 15:35:34 +07:00
dmdfami
8f2e6685a6 feat(cli-tools): add browser-local endpoint presets (#819)
Add reusable EndpointPresetControl for CLI tool Base URL/API key
presets, stored in browser localStorage. Wire into Claude, Codex,
OpenCode, Droid, OpenClaw, Hermes, and Copilot cards. Allow
selecting preset API keys not in dashboard keys list.

Thanks @dmdfami for the contribution!

Co-authored-by: dmdfami <dmdfami@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 15:35:34 +07:00
kenlin
f7e85e3e06
fix(v1/models): include alias-backed models in listing (#730)
Ensure /v1/models includes provider models added through alias mappings so compatible provider entries like huoshan/kimi-k2.6 are discoverable by clients.

Made-with: Cursor

Co-authored-by: Ken Lin <kenlin1988@foxmail.com>
2026-05-03 15:22:05 +07:00
Anurag Saxena
e39801de71
fix: improve cloudflared exit code error messages for better debugging (closes #423) (#659) 2026-05-03 15:18:27 +07:00
zerray
52ad3b6630
fix: prevent SSE listener leak in console-logs stream (#751)
The ReadableStream cancel() callback is not reliably invoked on client
disconnect under Next.js, causing emitter listeners (line/clear) and the
keepalive interval to accumulate, eventually triggering
MaxListenersExceededWarning.

Use request.signal as the primary disconnect trigger, with cancel() and
enqueue failures as fallbacks. Cleanup is idempotent via state.closed.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 15:11:47 +07:00
Rezky Hamid
e40f7ffb98
fix(mitm): gate sudo prompts on server platform (#822) 2026-05-03 15:00:43 +07:00
Rezky Hamid
a463ee00ff
feat(codex): add review model quota support (#836) 2026-05-03 14:57:33 +07:00
Zhen
14ff538f2e
Improve mobile layouts and restore Cloudflare provider (#840)
Co-authored-by: Delynn Assistant <zhen@dkzhen.org>
2026-05-03 14:55:43 +07:00
decolua
f410061e70 Refactor proxyFetch and enhance MediaProviderDetailPage layout
- Removed the isCloud check from proxyFetch.js, simplifying the fetch patching logic.
- Updated MediaProviderDetailPage to include a new section for API key retrieval, improving user experience with clearer layout and additional notice text.
- Enhanced ConnectionRow to better handle email display names.
- Improved ProviderDetailPage to conditionally render provider notices and API key links.
- Refactored localDb, requestDetailsDb, and usageDb to remove unnecessary isCloud checks, streamlining database interactions.
- Updated OAuthModal to combine waiting and manual input steps for a more cohesive user flow.
- Added API key URLs to several providers in providers.js for better accessibility.
2026-05-01 17:03:13 +07:00
decolua
f8d2a9ff76 Merge branch 'master' of https://github.com/decolua/9router 2026-05-01 16:37:11 +07:00
Abhishek Divekar
3f17ee0e21
Add sticky round-robin for combos (#831)
Made-with: Cursor
2026-05-01 16:36:36 +07:00
decolua
a6ac2641ea Merge branch 'master' of https://github.com/decolua/9router 2026-05-01 16:35:20 +07:00
Zhen
0da61d8f7b
Improve dashboard responsive layouts (#805)
* Improve dashboard responsive layouts

* Improve proxy pools mobile layout

* Improve CLI tool card input responsiveness

---------

Co-authored-by: Delynn Assistant <zhen@dkzhen.org>
2026-05-01 16:34:07 +07:00
decolua
b0da7c1211 Add Xiaomi MiMo provider support
- Introduced Xiaomi MiMo as a new provider in providerModels.js and providers.js.
- Updated model alias mapping in model.js to include Xiaomi MiMo.
- Enhanced validation route to support Xiaomi MiMo API endpoints.
- Added Xiaomi MiMo to APIKEY_PROVIDERS with relevant details.

This update expands the range of supported providers, improving integration capabilities.
2026-05-01 16:32:25 +07:00
H1d3rOne
860d94732a fix: custom provider prefix conflicts with built-in alias
When a custom OpenAI-compatible provider uses a prefix that matches
a built-in alias (e.g. 'ark' -> 'volcengine-ark'), resolveProviderAlias()
converts it to the built-in provider ID, causing the provider-node
matching logic to be skipped. The request is then routed to the wrong
provider, resulting in a 404 model_not_found error.

Fix: always check provider-node prefix matching using the original
user input (parsed.providerAlias) before falling back to the resolved
alias, regardless of whether resolveProviderAlias() transformed it.

Co-authored-by: H1d3rOne <H1d3rOne@users.noreply.github.com>
Made-with: Cursor
2026-05-01 16:28:51 +07:00
decolua
936d65ae1c Enhance chat handling and introduce Caveman feature
- Refactored handleChatCore to include Caveman functionality, allowing for terse-style system prompts to reduce output token usage.
- Updated APIPageClient to manage Caveman settings, including enabling/disabling and selecting compression levels.
- Adjusted AntigravityExecutor to consolidate function declarations for compatibility with Gemini.
- Removed unnecessary console logs during translator initialization across multiple routes.
2026-04-30 18:00:38 +07:00
decolua
34da52f144 Fix : Antigravity MITM 2026-04-29 17:28:38 +07:00
decolua
512e3de371 Update version to 0.4.9, enhance README with Trendshift badge, and add new embedding models to providerModels.js. Refactor TTS handling to support additional providers and improve API key validation for media providers. 2026-04-29 11:34:39 +07:00
decolua
8f81363675 Enhance token refresh functionality across multiple executors
- Updated refreshCredentials methods in various executors (Antigravity, Base, Default, Github, Kiro) to accept optional proxyOptions for improved proxy handling.
- Modified token refresh logic to utilize proxy-aware fetch for better network management.
- Enhanced usage retrieval functions to support proxy options, ensuring seamless integration with proxy configurations.
- Updated ModelSelectModal and ProviderInfoCard components to incorporate kind filtering for improved user experience in model selection.
- Added validation for API keys in the provider validation route, including support for webSearch/webFetch providers.
2026-04-28 17:28:57 +07:00
decolua
1bb621317d Add Cloudflare AI provider support and enhance connection management
- Introduced Cloudflare AI as a new provider with specific configurations in providerModels.js and providers.js.
- Updated DefaultExecutor to handle account ID resolution for Cloudflare AI connections.
- Enhanced AddApiKeyModal and EditConnectionModal to include account ID input for Cloudflare AI.
- Implemented validation for Cloudflare AI API key connections in testUtils.js and route.js.
- Updated UI components to reflect changes in provider management and connection handling.
2026-04-28 11:07:39 +07:00
decolua
111e78940a Refactor cloudflared process management to improve port-specific termination and enhance tunnel management. Update Antigravity cloaking comments for clarity. 2026-04-28 10:20:31 +07:00
decolua
8204bba79f Refactor MitmServerCard to use input field for API key selection and enhance shutdown process to remove DNS entries synchronously. Added removeAllDNSEntriesSync function for safe cleanup during shutdown. 2026-04-28 10:08:57 +07:00
Zhen
296e21c8ad
Add provider filter and expiry sorting to quota dashboard (#769)
Co-authored-by: Delynn Assistant <zhen@dkzhen.org>
2026-04-28 10:05:28 +07:00
mrcyclo
54a67dbeb8
Add TOOL_HOSTS constant for per-tool DNS mapping and integrate into MitmToolCard component (#788) 2026-04-28 09:50:11 +07:00
decolua
4ea842c062 Update version to 0.4.6 and add BytePlus provider to shared constants 2026-04-25 17:04:48 +07:00
decolua
83418e8a9d Add codex to image providers 2026-04-25 17:01:40 +07:00
decolua
14ff69bf90 - Added BytePlus Provider 2026-04-25 17:00:39 +07:00
decolua
0b8bed5793 Enhance image and embedding provider support
- Added new image models for GPT 5.2, 5.3, and 5.4, including capabilities for text-to-image and editing.
- Updated embedding handling to include optional dimensions in requests.
- Introduced support for custom embedding providers, allowing dynamic fetching and validation of custom nodes.
- Improved image generation handling with Codex integration, including progress tracking and error handling.
- Enhanced UI components to support adding custom embeddings and displaying their status.
2026-04-25 16:22:30 +07:00
decolua
cca615eaff - Cap maximum cooldown for rate limit handling in account unavailability and single-model chat flows
- Dynamic custom model fetching for model selection
2026-04-24 16:14:18 +07:00
decolua
030fb34f88 - Updated markAccountUnavailable function to accept resetsAtMs for precise cooldown management.
- Added email backfill functionality for Codex OAuth connections to improve account information accuracy.
2026-04-24 11:36:16 +07:00
decolua
65f11a603e feat: add Azure OpenAI provider support 2026-04-24 10:04:59 +07:00
kenlin
f2e7a98ce0
feat: add built-in Volcengine Ark provider support (#741)
Add Volcengine Ark as a first-class API key provider with official model presets, endpoint configuration, API key validation, model discovery, connection testing, provider logo, and runtime alias mapping for `ark/*` model IDs.

Made-with: Cursor

Co-authored-by: kingsy <kingsylin@vip.qq.com>
2026-04-24 09:28:50 +07:00
decolua
428e2c045c implement CLI token validation for enhanced security 2026-04-23 17:43:35 +07:00
decolua
368f4c3e7f - Added Hermes tool to CLI tools and updated related components. 2026-04-23 16:39:31 +07:00
decolua
8de9aae90c Feature : RTK compress 2026-04-22 15:36:51 +07:00
decolua
45731ae639 feat: add OpenCode Go provider and support for custom models
- Introduced OpenCode Go provider with relevant configurations.
- Enhanced model management by allowing users to add and delete custom models.
- Updated UI components to support model selection for image types.
- Adjusted sidebar visibility to include image media kinds.
2026-04-22 14:16:21 +07:00
decolua
abb04c5366 feat: add support for Grok Web and Perplexity Web providers 2026-04-22 11:58:53 +07:00
anuragg-saxenaa
4638cf0e81 fix(ollama-local): support custom host URL for remote Ollama servers (closes #578)
Add a shared resolveOllamaLocalHost() helper and wire it through the
executor, models/validate/test routes, so users can point ollama-local
at a remote Ollama instance instead of being locked to localhost:11434.

Also expose the host as an "Ollama Host URL" field in AddApiKeyModal
(empty = default localhost:11434), making the option reachable from the
dashboard without hand-editing db.json.

Co-authored-by: anuragg-saxenaa <anuragg.saxenaa@gmail.com>
Made-with: Cursor
2026-04-22 10:45:46 +07:00
Anurag Saxena
94ab0d715d
fix: update Qwen OAuth URLs from chat.qwen.ai to qwen.ai (closes #572) (#683)
* fix: make version update banner clickable to copy install command (closes #598)

* fix: resolve ollama-local baseUrl from providerSpecificData.baseUrl for remote Ollama hosts (closes #578)

* fix: add Ollama Cloud to usage/quota tracking (closes #681)

* fix: update Qwen OAuth URLs from chat.qwen.ai to qwen.ai per issue #572
2026-04-22 10:32:28 +07:00
decolua
d8c0a7ef44 refactor: enhance MITM server path resolution and ensure runtime server copy 2026-04-22 10:23:31 +07:00
Anurag Saxena
f825a523ab
fix: add clipboard fallback for navigator.clipboard unavailable contexts (closes #696) (#699) 2026-04-22 10:12:55 +07:00
Dmitriy
850766d54f
fix: handle undefined navigator.clipboard with fallback (#697)
- Add optional chaining check for navigator.clipboard
- Fallback to textarea + execCommand for SSR/non-HTTPS contexts
- Fixes TypeError when clipboard API is unavailable

Co-authored-by: Дмитрий Золотарь <d.zolotar@solarl.ru>
2026-04-22 10:12:30 +07:00
Luan Dias
afc4c308bb
fix: keep play_arrow spinning instead of switching to sync/progress_activity (#715)
The sync icon has counter-clockwise arrows by design, making the spin
animation appear counter-clockwise even though CSS rotates clockwise.
Keep play_arrow as the icon in both loading and idle states so the
clockwise spin is visually unambiguous.
2026-04-22 10:01:14 +07:00
decolua
6ab9927a28 fix: update backoff configuration and improve CLI detection messages
- Added installation guides for manual configuration in DroidToolCard.js and other tool cards to assist users in setting up the necessary CLI tools.
2026-04-17 12:54:50 +07:00
Anurag Saxena
877b7446bb
fix: enable Codex Apply/Reset buttons when CLI is installed (closes #591) (#606) 2026-04-17 12:23:02 +07:00
Anurag Saxena
f27db5429d
fix: show manual config option when Claude CLI detection fails (closes #589) (#602) 2026-04-17 12:21:21 +07:00
Anurag Saxena
dac6c3962a
fix: ensure LocalMutex acquire returns release callback correctly (closes #569) (#616) 2026-04-17 12:20:11 +07:00
decolua
3977edc460 Enhance error formatting to include low-level cause details, update HeaderMenu to use MenuItem component for better structure, and improve LanguageSwitcher to support controlled open state. Update subproject commit status. 2026-04-17 12:15:10 +07:00
decolua
75c4598da0 Add marked package, update Qwen executor for OAuth handling, and enhance changelog styles 2026-04-17 12:15:10 +07:00
decolua
75ad0bef8e Refactor error handling and localDb structure, and fix usage tracking bug. 2026-04-17 12:15:10 +07:00
Anurag Saxena
3badf1cbb6
fix: add Blackbox AI as a supported provider (closes #599) (#630)
* fix: add multi-model support for Factory Droid CLI tool (closes #521)

* Add Claude Opus 4.7 to cc and cl provider lists

RESEARCH confirmed GA release April 16, 2026. Adding to:
- cc (Claude Code): claude-opus-4-7
- cl (Cline): anthropic/claude-opus-4.7

Refs: TICKET-20260416-ENG-O4.7-001

* fix: add Blackbox AI as a supported provider (closes #599)
2026-04-17 12:06:00 +07:00
Anurag Saxena
1d872ce254
fix: add multi-model support for Factory Droid CLI tool (closes #521) (#618) 2026-04-17 12:04:46 +07:00
Anurag Saxena
63dbf89207
fix: show manual config option when OpenClaw detection fails (closes #579) (#615) 2026-04-17 12:04:14 +07:00
decolua
b669b6ffc1 Refactor error handling to config-driven approach with centralized error rules
Made-with: Cursor
2026-04-15 11:46:47 +07:00
Dang Dinh Quan
b1288c5064
* feat(kiro): wire aws identity center device flow into provider oauth (#587)
* feat(kiro): wire aws identity center device flow into provider oauth

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-04-15 11:44:46 +07:00
decolua
224981d537 Fix bug 2026-04-14 12:51:23 +07:00
decolua
6bec1e085b Enhance Windows Tailscale installation process by adding support for curl and verifying installation success. Update fallback mechanism for Tailscale binary to include well-known Windows path. 2026-04-14 11:52:52 +07:00
decolua
1fa05eb2ab Refactor execSync and spawn calls to include windowsHide option for better compatibility on Windows environments. 2026-04-14 11:48:59 +07:00
decolua
04cdb75839 Add proactive token refresh lead times for providers and implement Codex proxy management 2026-04-14 11:41:06 +07:00
decolua
4bff21cb80 Enhance CodexExecutor with compact URL support 2026-04-14 10:18:27 +07:00
decolua
6a6e2fcd77 Fix : noAuth support for providers and adjusted MITM restart settings. 2026-04-14 10:14:50 +07:00
decolua
41c079baba - Improved dashboard access control by blocking tunnel/Tailscale access when disabled. 2026-04-13 17:38:09 +07:00
decolua
96ddec822d Fix Bug 2026-04-13 16:49:34 +07:00
decolua
3b1a608e8d Fix codex cache session id 2026-04-13 15:52:01 +07:00
decolua
4c28a1671d Enhance provider models and chat handling with new thinking configurations 2026-04-13 12:04:57 +07:00
decolua
ee1271b6fd Update GitHub Actions workflow for Docker image 2026-04-13 10:30:33 +07:00
decolua
89eb26dee2 Enhance proxy functionality with Vercel relay support 2026-04-13 10:08:24 +07:00
decolua
b3feb96740 Enhance TTS functionality and security settings
- Integrated Google TTS languages from a separate module for better maintainability.
- Updated local device voice fetching to support both macOS and Windows, improving cross-platform compatibility.
- Enhanced dashboard route protection by adding dynamic settings for login requirements and tunnel access.
- Introduced UI elements for managing security settings related to API key requirements and dashboard access via tunnel.
- Added default TTS response example in the media provider page for better user guidance.
- Updated constants to reflect changes in TTS provider configurations.

This commit improves the overall user experience and security of the TTS features.
2026-04-11 14:56:35 +07:00
decolua
ed17a8ffac Feat : Tailscale 2026-04-11 11:36:33 +07:00
Omar Nahhas Sanchez
838d9a7a04
fix: add 5s timeout to fetchCompatibleModelIds and skip upstream connections (#541)
The fetchCompatibleModelIds() function had no timeout on its fetch() call,
causing /v1/models to hang indefinitely when an openai-compatible provider
was unreachable or slow to respond.

Additionally, upstream/cross-instance connections (provider IDs containing
a UUID suffix like openai-compatible-chat-XXXXXXXX) would trigger recursive
/models fetches between instances, creating infinite loops.

Fixes:
- Add AbortController with 5-second timeout to the fetch() call
- Skip dynamic model fetching for upstream/cross-instance connections
  (detected by UUID suffix pattern in provider ID)
- Existing try/catch already handles abort errors gracefully

Co-authored-by: Agent Zero <agent@agent-zero.local>
2026-04-10 10:30:07 +07:00
raccoonwannafly
f8a267746a fix: enable Apply button when models are selected
Fix button state condition - check selectedModels.length instead of selectedModel.

Co-authored-by: raccoonwannafly <130273473+raccoonwannafly@users.noreply.github.com>
Made-with: Cursor
2026-04-10 10:27:21 +07:00
decolua
1a25c6e3b5 feat: multi-model support for OpenCode CLI config with subagent integration
- Allow selecting multiple models for 9router provider
- Merge models instead of overwriting (backwards-compatible)
- Support setting active model via click or Apply
- Click active model to clear default (model = '')
- Remove individual models via X button (persists to config)
- Add PATCH endpoint for clearing active model
- Update GET to return normalized model list
- Preserve subagent model configuration for explorer subagent

Made-with: Cursor
2026-04-10 10:22:42 +07:00
decolua
3c96e8d6d1 Feat : tts 2026-04-10 10:17:53 +07:00
decolua
39545cf4c8 Fix combo modal 2026-04-09 10:16:11 +07:00
decolua
507a5dbfea fix: OpenRouter custom models not showing after being added 2026-04-08 16:51:23 +07:00
tuanaiseo
1f3d3a8f7f
fix(security)(app): unauthenticated server shutdown endpoint enables d (#519)
The shutdown API calls `process.exit(0)` on POST without any authentication or authorization checks. Any party that can reach this endpoint can terminate the server process, causing immediate service disruption.

Affected files: route.js

Signed-off-by: tuanaiseo <221258316+tuanaiseo@users.noreply.github.com>
2026-04-08 15:39:09 +07:00
Payne
32a746181a
fix: update Cursor client version to 3.1.0 for Composer 2 compatibility (#525)
Cursor's API now rejects requests with outdated client versions,
returning [400]: Update Required for Composer 2. Bump
x-cursor-client-version from 2.3.41 to 3.1.0 across all three
locations where it is set.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 15:37:51 +07:00
decolua
00448b389b Fix bug 2026-04-07 11:35:25 +07:00
decolua
401772cb9a Fix bug strip image 2026-04-07 10:18:59 +07:00
decolua
fca829aa2a Fix bug 2026-04-06 17:36:04 +07:00
decolua
307be3b63d Fix bug 2026-04-06 17:32:44 +07:00
Anurag Saxena
7db4b9834e
fix: make API key optional for ollama-local provider validation (closes #492) (#493) 2026-04-06 15:10:15 +07:00
thuanhuynhh
ebb8d4eeb6
Cập nhật /v1/models hỗ trợ OpenAI/Anthropic Compatible (#497)
Sửa lỗi /v1/models chỉ biết lấy model từ danh sách tĩnh hoặc từ providerSpecificData.enabledModels. Với API Key Compatible Providers, endpoint test /api/providers/<id>/models vẫn lấy được model động từ upstream, nhưng /v1/models lại không fallback sang danh sách động đó. Ngoài ra alias trả ra cũng đang dùng providerId nội bộ thay vì prefix trong cấu hình.

Đã fix để OpenAI/Anthropic Compatible dùng đúng prefix làm alias public nếu chưa có enabledModels, /v1/models sẽ tự fetch động từ upstream /models
2026-04-06 15:09:58 +07:00
Manuel B.
6ec5890283
fix(github): sync top-level copilotToken after proactive refresh (#507)
checkAndRefreshToken() updated providerSpecificData.copilotToken but
not the top-level creds.copilotToken. GithubExecutor.buildHeaders()
reads the top-level key, so every request after a proactive refresh
still sent the expired token, causing 401 "IDE token expired".

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 15:02:09 +07:00
decolua
57cfaccceb Fix ModelSelectModal 2026-04-05 21:25:00 +07:00
decolua
333e704b2a MODEL_CAPS 2026-04-04 23:24:24 +07:00
decolua
5448eedbdd Feat : embedding dev 2026-04-04 15:07:07 +07:00
decolua
341a1c6490 Fix Model Price 2026-04-04 14:40:49 +07:00
decolua
d84489dba4 - Introduce default MITM router base URL and update related components to handle it.
- Add input for MITM router base URL in MitmServerCard component.
2026-04-04 11:25:58 +07:00
Anurag Saxena
2e740ad7e4
fix: pass isFree prop to ModelRow for custom models (closes #461) (#480) 2026-04-04 08:53:11 +07:00
Anurag Saxena
7f4f75a807
fix: pass HOME explicitly in sudo inlineCmd so MITM server resolves correct data dir (closes #478) (#482) 2026-04-04 08:52:31 +07:00
Anurag Saxena
006c337de5
fix: use which instead of command -v for openclaw CLI detection (closes #457) (#489) 2026-04-04 08:49:59 +07:00
decolua
93b8668e9e Fix AG 2026-04-01 11:48:38 +07:00
decolua
9708541f6d Fix bug 2026-03-31 15:44:19 +07:00
Vishal Raj V
8640503b36
feat(kilo): fetch free models from Kilo API + Windows build fixes (#455)
- Add /api/providers/kilo/free-models endpoint with 1hr cache
- Fetch and merge Kilo free models with hardcoded models for kilocode provider
- Display 'Free' badge on models fetched from Kilo API
- Fix Windows build: add cross-env, remove --webpack flag, add turbopack config
- Add outputFileTracingExcludes for Windows system directories
2026-03-31 09:22:21 +07:00
kwanLeeFrmVi
054facb08b fix(gemini): preserve thoughtSignature via tool_call ID smuggling + fix ELOCKED mutex
- Encode thoughtSignature into tool_call.id using _TSIG_ delimiter and base64url
- Decode _TSIG_ on request to restore thoughtSignature for Gemini multi-turn thinking
- Track pendingThoughtSignature across parts for deferred signature attachment
- Add LocalMutex (2-layer locking) to prevent ELOCKED on concurrent DB access
- Increase lockfile retries from 5 to 15 for multi-process robustness
- Restore db.json seed on first run to prevent ENOENT on lockfile.lock
- Use process.env.BASE_URL fallback in models test route
- Remove gemini-3-flash-lite-preview from provider models

Co-authored-by: kwanLeeFrmVi <quanle96@outlook.com>
Closes #450

Made-with: Cursor
2026-03-30 16:57:28 +07:00