picoclaw/web/backend/api
Guoguo 30938df40b
fix(web): use stored API key when fetching models for saved providers (#2910)
When editing an existing model, the edit form initializes apiKey as
empty for security. This caused "Fetch Available Models" to reject with
"please enter API Key first" even though the key is saved server-side.

Add model_index support: the frontend passes the model's index to the
backend, which looks up the stored key from config. The key never leaves
the backend. Provider and API base are validated to prevent a stored key
from being sent to an unrelated endpoint.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 15:51:45 +08:00
..
auth.go refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
auth_login_limiter.go feat(web): protect launcher dashboard with token and SPA login (#1953) 2026-03-29 13:11:43 +08:00
auth_test.go refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
channels.go feat: support streaming (#2892) 2026-05-19 16:38:47 +08:00
channels_test.go feat: support streaming (#2892) 2026-05-19 16:38:47 +08:00
config.go Merge pull request #2891 from SiYue-ZO/feat/factory-reset 2026-05-20 21:59:38 +02:00
config_test.go feat: support streaming (#2892) 2026-05-19 16:38:47 +08:00
exec_nonwindows.go refactor(onboard,api): harden copydir repo-root detection and use platform-neutral proc attrs naming 2026-04-25 00:31:36 +08:00
exec_windows.go refactor(onboard,api): harden copydir repo-root detection and use platform-neutral proc attrs naming 2026-04-25 00:31:36 +08:00
gateway.go feat: support streaming (#2892) 2026-05-19 16:38:47 +08:00
gateway_host.go fix(web): improve Pico URL and origin handling behind proxies 2026-04-20 10:11:03 +08:00
gateway_host_test.go fix(web): improve Pico URL and origin handling behind proxies 2026-04-20 10:11:03 +08:00
gateway_test.go feat: support streaming (#2892) 2026-05-19 16:38:47 +08:00
launcher_config.go refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
launcher_config_test.go refactor(web): switch dashboard auth from tokens to passwords (#2608) 2026-04-21 18:04:15 +08:00
log.go refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
model_catalog.go refactor(models): unify provider metadata around backend catalog (#2896) 2026-05-20 11:50:34 +08:00
model_catalog_test.go feat(web,api): fetch models and saved catalog support (#2832) 2026-05-15 09:49:03 +08:00
model_status.go refactor(models): unify provider metadata around backend catalog (#2896) 2026-05-20 11:50:34 +08:00
model_status_test.go fix(api): enhance model availability probing with backoff and caching mechanisms (#2231) 2026-04-01 14:15:28 +08:00
models.go fix(web): use stored API key when fetching models for saved providers (#2910) 2026-05-21 15:51:45 +08:00
models_test.go fix(web): use stored API key when fetching models for saved providers (#2910) 2026-05-21 15:51:45 +08:00
oauth.go refactor(models): unify provider metadata around backend catalog (#2896) 2026-05-20 11:50:34 +08:00
oauth_test.go refactor: support explicit provider field in model list entries (#2609) 2026-04-22 11:28:47 +08:00
pico.go Feat(channels): unify animated tool feedback across chat channels and Pico (#2622) 2026-04-23 10:35:50 +08:00
pico_test.go Feat(channels): unify animated tool feedback across chat channels and Pico (#2622) 2026-04-23 10:35:50 +08:00
router.go Keep launcher locale changes from mutating shared web-search routing (#2573) 2026-04-24 13:45:25 +08:00
session.go feat(chat,seahorse): persist and display model_name across history (#2897) 2026-05-20 13:42:21 +08:00
session_test.go feat(chat,seahorse): persist and display model_name across history (#2897) 2026-05-20 13:42:21 +08:00
skills.go refactor skills registries and add GitHub-backed skill discovery (#2442) 2026-04-14 15:14:16 +08:00
skills_test.go refactor skills registries and add GitHub-backed skill discovery (#2442) 2026-04-14 15:14:16 +08:00
startup.go feat(web): add service log level controls (#2227) 2026-03-31 20:32:42 +08:00
startup_test.go feat(web): add service log level controls (#2227) 2026-03-31 20:32:42 +08:00
tools.go feat(providers): add gemini web search provider (#2763) 2026-05-14 09:50:47 +08:00
tools_test.go feat(providers): add gemini web search provider (#2763) 2026-05-14 09:50:47 +08:00
update.go feat(updater): robust self-update selection & extraction (nightly default) (#2201) 2026-04-01 23:41:32 +08:00
version.go feat(web): display backend version info in sidebar (#2087) 2026-03-30 16:44:50 +08:00
version_test.go feat(web): display backend version info in sidebar (#2087) 2026-03-30 16:44:50 +08:00
wecom.go refactor(config): make config.Channel to multiple instance support 2026-04-13 22:21:21 +08:00
weixin.go fix some bugs: 2026-04-14 00:15:35 +08:00
weixin_test.go refactor(config): make config.Channel to multiple instance support 2026-04-13 22:21:21 +08:00