From 638fd9cf734b8f9ee5a3f1c9705ff6518b58ee57 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 14:07:40 +0000 Subject: [PATCH 1/2] docs(readme): cut the API-key section to the two lines a reader needs The first version answered questions nobody asks at the quickstart: what a CLI worker inherits, what `doctor` does and does not print, a four-row table of base URLs. That belongs on the agents page, which already has it, and length on a README is what makes a step get skipped. Keep the two exports, the one sentence that says the base URL picks the provider, and Claude's separate variable; link the rest. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018YNtrWn9WFYPgi3sWxEvSZ --- README.md | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 78b57676..bad4341b 100644 --- a/README.md +++ b/README.md @@ -96,37 +96,20 @@ One entry point, `evolve()`, and three building blocks that turn a dataset into its arguments. The decisions that are actually yours — your data, how to score it, which model — are the ones you still make. -### First, your API key - -This is the first step that talks to a model, so it is the first that needs a -key. Credentials are read from the **environment at call time** — they never -pass through code, arguments, or a file the repo owns. `openai_compatible` reads -two variables, and the base URL is what picks the provider: +**Set your key first.** Credentials are read from the environment at call time — +never from code, arguments, or a file the repo owns — and the base URL is what +picks the provider: ```bash -export OPENAI_BASE_URL=https://api.deepseek.com # the endpoint's root +export OPENAI_BASE_URL=https://api.deepseek.com # or GLM, a local vLLM, OpenAI itself export OPENAI_API_KEY=sk-... # your key for *that* endpoint ``` -| provider | `OPENAI_BASE_URL` | -|---|---| -| DeepSeek | `https://api.deepseek.com` | -| GLM / Zhipu | `https://open.bigmodel.cn/api/paas/v4` | -| OpenAI | `https://api.openai.com/v1` — the default, so it may be omitted | -| local (vLLM, Ollama, LM Studio) | `http://localhost:8000/v1` — the key is unused but must be set | - -**Claude is a different variable:** `pip install anthropic`, then -`export ANTHROPIC_API_KEY=sk-ant-...` (or an `ant auth login` profile) and use -`claude(model="claude-haiku-4-5")` in place of `openai_compatible(...)`. A CLI -worker — `claude_code()`, `codex()`, `dsh()`, `opencode()` — inherits these -variables from your shell, but *not* your logged-in host profile: each worker -gets its own config directory so it cannot read your real plugins and MCP -servers. - -Put the `export` lines in your shell profile to keep them across sessions, and -check what a machine actually has with `agentdescent doctor` — it prints which -CLIs and which keys are present, and the base URL's value, never the key's. The -demo above, every `--dry-run`, and `pytest -q` need none of this. +Claude is a different variable: `pip install anthropic`, +`export ANTHROPIC_API_KEY=sk-ant-...`, then `claude(model="claude-haiku-4-5")` in +place of `openai_compatible(...)`. `agentdescent doctor` reports what a machine +has; the demo above and `pytest -q` need none of it. +[Every provider, with its base URL →](https://birfy.github.io/agentdescent/agents/#configuring-your-provider-and-key) ```python from agentdescent import SingleSlot, evolve, openai_compatible, reflector, scorer, tasks_from From fda5abfde0f561d8451522499e7b12633be4ab28 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 14:08:48 +0000 Subject: [PATCH 2/2] docs(readme): drop the Claude variable from the quickstart key step The quickstart's model is `openai_compatible`, so ANTHROPIC_API_KEY is a second path a reader does not need at that point. The agents page the step already links covers it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018YNtrWn9WFYPgi3sWxEvSZ --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bad4341b..539cd398 100644 --- a/README.md +++ b/README.md @@ -105,10 +105,8 @@ export OPENAI_BASE_URL=https://api.deepseek.com # or GLM, a local vLLM, OpenAI export OPENAI_API_KEY=sk-... # your key for *that* endpoint ``` -Claude is a different variable: `pip install anthropic`, -`export ANTHROPIC_API_KEY=sk-ant-...`, then `claude(model="claude-haiku-4-5")` in -place of `openai_compatible(...)`. `agentdescent doctor` reports what a machine -has; the demo above and `pytest -q` need none of it. +`agentdescent doctor` reports what a machine has; the demo above and `pytest -q` +need none of it. [Every provider, with its base URL →](https://birfy.github.io/agentdescent/agents/#configuring-your-provider-and-key) ```python