fix: update Pi and model provider flows

This commit is contained in:
Advait Paliwal
2026-04-12 13:02:16 -07:00
parent b3a82d4a92
commit aa96b5ee14
14 changed files with 273 additions and 83 deletions

View File

@@ -22,17 +22,18 @@ The `settings.json` file is the primary configuration file. It is created by `fe
```json
{
"defaultModel": "anthropic:claude-sonnet-4-20250514",
"thinkingLevel": "medium"
"defaultProvider": "anthropic",
"defaultModel": "claude-sonnet-4-20250514",
"defaultThinkingLevel": "medium"
}
```
## Model configuration
The `defaultModel` field sets which model is used when you launch Feynman without the `--model` flag. The format is `provider:model-name`. You can change it via the CLI:
The `defaultProvider` and `defaultModel` fields set which model is used when you launch Feynman without the `--model` flag. You can change them via the CLI:
```bash
feynman model set anthropic:claude-opus-4-20250514
feynman model set anthropic/claude-opus-4-20250514
```
To see all models you have configured:
@@ -48,6 +49,7 @@ To add another provider, authenticate it first:
```bash
feynman model login anthropic
feynman model login google
feynman model login amazon-bedrock
```
Then switch the default model:
@@ -56,6 +58,8 @@ Then switch the default model:
feynman model set anthropic/claude-opus-4-6
```
The `model set` command accepts both `provider/model` and `provider:model` formats. `feynman model login google` opens the API-key flow directly, while `feynman model login amazon-bedrock` verifies the AWS credential chain that Pi uses for Bedrock access.
## Subagent model overrides
Feynman's bundled subagents inherit the main default model unless you override them explicitly. Inside the REPL, run:
@@ -90,7 +94,8 @@ Feynman respects the following environment variables, which take precedence over
| `FEYNMAN_THINKING` | Override the thinking level |
| `ANTHROPIC_API_KEY` | Anthropic API key |
| `OPENAI_API_KEY` | OpenAI API key |
| `GOOGLE_API_KEY` | Google AI API key |
| `GEMINI_API_KEY` | Google Gemini API key |
| `AWS_PROFILE` | Preferred AWS profile for Amazon Bedrock |
| `TAVILY_API_KEY` | Tavily web search API key |
| `SERPER_API_KEY` | Serper web search API key |

View File

@@ -27,6 +27,12 @@ irm https://feynman.is/install.ps1 | iex
This installs the Windows runtime bundle under `%LOCALAPPDATA%\Programs\feynman`, adds its launcher to your user `PATH`, and lets you re-run the installer at any time to update.
## Updating the standalone app
To update the standalone Feynman app on macOS, Linux, or Windows, rerun the installer you originally used. That replaces the downloaded runtime bundle with the latest tagged release.
`feynman update` is different: it updates installed Pi packages inside Feynman's environment, not the standalone app bundle itself.
## Skills only
If you only want Feynman's research skills and not the full terminal runtime, install the skill library separately.

View File

@@ -28,7 +28,7 @@ Feynman supports multiple model providers. The setup wizard presents a list of a
google:gemini-2.5-pro
```
The model you choose here becomes the default for all sessions. You can override it per-session with the `--model` flag or change it later via `feynman model set <provider:model>`.
The model you choose here becomes the default for all sessions. You can override it per-session with the `--model` flag or change it later via `feynman model set <provider/model>` or `feynman model set <provider:model>`.
## Stage 2: Authentication
@@ -42,6 +42,16 @@ For API key providers, you are prompted to paste your key directly:
Keys are encrypted at rest and never sent anywhere except the provider's API endpoint.
### Amazon Bedrock
For Amazon Bedrock, choose:
```text
Amazon Bedrock (AWS credential chain)
```
Feynman verifies the same AWS credential chain Pi uses at runtime, including `AWS_PROFILE`, `~/.aws` credentials/config, SSO, ECS/IRSA, and EC2 instance roles. Once that check passes, Bedrock models become available in `feynman model list` without needing a traditional API key.
### Local models: Ollama, LM Studio, vLLM
If you want to use a model running locally, choose the API-key flow and then select:

View File

@@ -23,11 +23,11 @@ This page covers the dedicated Feynman CLI commands and flags. Workflow commands
| Command | Description |
| --- | --- |
| `feynman model list` | List available models in Pi auth storage |
| `feynman model login [id]` | Login to a Pi OAuth model provider |
| `feynman model logout [id]` | Logout from a Pi OAuth model provider |
| `feynman model set <provider:model>` | Set the default model for all sessions |
| `feynman model login [id]` | Authenticate a model provider with OAuth or API-key setup |
| `feynman model logout [id]` | Clear stored auth for a model provider |
| `feynman model set <provider/model>` | Set the default model for all sessions |
These commands manage your model provider configuration. The `model set` command updates `~/.feynman/settings.json` with the new default. The format is `provider:model-name`, for example `anthropic:claude-sonnet-4-20250514`.
These commands manage your model provider configuration. The `model set` command updates `~/.feynman/settings.json` with the new default. It accepts either `provider/model-name` or `provider:model-name`, for example `anthropic/claude-sonnet-4-20250514` or `anthropic:claude-sonnet-4-20250514`. Running `feynman model login google` or `feynman model login amazon-bedrock` routes directly into the relevant API-key setup flow instead of requiring the interactive picker.
## AlphaXiv commands
@@ -76,7 +76,7 @@ These are equivalent to launching the REPL and typing the corresponding slash co
| Flag | Description |
| --- | --- |
| `--prompt "<text>"` | Run one prompt and exit (one-shot mode) |
| `--model <provider:model>` | Force a specific model for this session |
| `--model <provider/model|provider:model>` | Force a specific model for this session |
| `--thinking <level>` | Set thinking level: `off`, `minimal`, `low`, `medium`, `high`, `xhigh` |
| `--cwd <path>` | Set the working directory for all file operations |
| `--session-dir <path>` | Set the session storage directory |

View File

@@ -74,3 +74,5 @@ feynman update pi-subagents
```
Running `feynman update` without arguments updates everything. Pass a specific package name to update just that one. Updates are safe and preserve your configuration.
This command updates Pi packages inside Feynman's environment. To upgrade the standalone Feynman app itself, rerun the installer from the [Installation guide](/docs/getting-started/installation).