picoclaw/web/frontend
肆月 f6190b54de
feat(web,api): fetch models and saved catalog support (#2832)
* feat(web,api): add fetch models and saved catalog support

Split from PR #2752 (part 2 of 3).

Backend:
- /api/models/catalog endpoint for browsing remote model catalogs
- /api/models/fetch endpoint for fetching available models from providers
- Credential reuse with provider/API base matching for security
- Default API base resolution for providers without explicit base

Frontend:
- FetchModelsDialog for importing models from remote providers
- CatalogDialog for browsing and importing from model catalogs
- Static import for FetchModelsDialog (replaces dynamic import from PR1)
- Dynamic import retained for TestModelDialog (PR3 territory)

* fix(web,api): support bare-array responses in fetchOpenAICompatibleModels

* fix(web,api): tighten maskAPIKeyValue to match maskAPIKey policy

For 9-12 character keys, maskAPIKeyValue exposed first 4 + last 4
chars (only 1 char masked for a 9-char key). Now uses the same
policy as maskAPIKey: first 3 + last 2 for 9-12 chars, first 3 +
last 4 for longer keys. Adds tests covering all key length boundaries.
2026-05-15 09:49:03 +08:00
..
public feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
scripts build: use WEB_GO for web targets and preserve backend dist directory (#1671) 2026-03-17 15:23:49 +08:00
src feat(web,api): fetch models and saved catalog support (#2832) 2026-05-15 09:49:03 +08:00
.editorconfig feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
.gitignore fix(web): render ansi logs with wrapped lines (#1425) 2026-03-12 19:12:19 +08:00
.prettierignore feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
components.json feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
eslint.config.js chore(web): update linting and router dependencies (#2592) 2026-04-20 11:18:42 +08:00
index.html feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
package.json feat(web,api): provider selection and model form foundation (#2831) 2026-05-11 16:57:37 +08:00
pnpm-lock.yaml feat(web,api): provider selection and model form foundation (#2831) 2026-05-11 16:57:37 +08:00
prettier.config.js feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
tsconfig.app.json feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
tsconfig.json feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
tsconfig.node.json feat(web): migrate launcher to modular web frontend/backend and improve management UX (#1275) 2026-03-09 19:42:03 +08:00
vite.config.ts feat(web): download files on frontend (#2563) 2026-04-22 11:28:04 +08:00