* feat: add API key and custom provider configuration
Previously, model setup only offered OAuth login. This adds:
- API key configuration for 17 built-in providers (OpenAI, Anthropic,
Google, Mistral, Groq, xAI, OpenRouter, etc.)
- Custom provider setup via models.json (for Ollama, vLLM, LM Studio,
proxies, or any OpenAI/Anthropic/Google-compatible endpoint)
- Interactive prompts with smart defaults and auto-detection of models
- Verification flow that probes endpoints and provides actionable tips
- Doctor diagnostics for models.json path and missing apiKey warnings
- Dev environment fallback for running without dist/ build artifacts
- Unified auth flow: `feynman model login` now offers both API key
and OAuth options (OAuth-only when a specific provider is given)
New files:
- src/model/models-json.ts: Read/write models.json with proper merging
- src/model/registry.ts: Centralized ModelRegistry creation with modelsJsonPath
- tests/models-json.test.ts: Unit tests for provider config upsert
* fix: harden runtime env and custom provider auth
---------
Co-authored-by: Advait Paliwal <advaitspaliwal@gmail.com>
- Remove all manually registered Pi tools (alpha_search, alpha_get_paper,
alpha_ask_paper, alpha_annotate_paper, alpha_list_annotations,
alpha_read_code, session_search, preview_file) and their wrappers
(alpha.ts, preview.ts, session-search.ts, alpha-tools.test.ts)
- Add Pi skill files for alpha-research, session-search, preview,
modal-compute, and runpod-compute in skills/
- Sync skills to ~/.feynman/agent/skills/ on startup via syncBundledAssets
- Add node_modules/.bin to Pi subprocess PATH so alpha CLI is accessible
- Add /outputs extension command to browse research artifacts via dialog
- Add Modal and RunPod as execution environments in /replicate and
/autoresearch prompts
- Remove redundant /alpha-login /alpha-logout /alpha-status REPL commands
(feynman alpha CLI still works)
- Update README, researcher agent, metadata, and website docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>