Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,33 @@ See the [Copilot CLI quickstart example](examples/copilot_cli_quickstart/) for a

</details>

<details>
<summary>🧩 Codex App Server (No API Key)</summary>

Use the [Codex CLI's app-server](https://developers.openai.com/codex/app-server/) as the LLM backend — no API keys needed. Authentication uses your ChatGPT (Codex) subscription: the app-server owns the managed browser/device-code login and refreshes the tokens itself. OpenEvolve never reads the CLI's token files, and before each generation it verifies with the app-server that a ChatGPT-plan login is active (it fails with a clear message pointing at `codex login` otherwise). To bill an API key instead, keep the default OpenAI provider — both paths coexist.

```bash
# Install and authenticate
npm install -g @openai/codex
codex login # browser flow, or: codex login --device-code
```

```yaml
# config.yaml
llm:
provider: "codex_app_server"
models:
- name: "gpt-5.3-codex"
weight: 0.8
reasoning_effort: "medium"
- name: "gpt-5.3-codex-mini"
weight: 0.2
```

Each call speaks newline-delimited JSON-RPC to a short-lived `codex app-server` process over stdio (unsupported on Windows). Threads run non-interactive: tool approvals are `never` and the sandbox is read-only, so responses are generated without mutating your workspace.

</details>

## Examples Gallery

<div align="center">
Expand Down
3 changes: 3 additions & 0 deletions openevolve/llm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from openevolve.llm.openai import OpenAILLM
from openevolve.llm.claude_code import ClaudeCodeLLM, init_claude_code_client
from openevolve.llm.copilot_cli import CopilotCLILLM, init_copilot_cli_client
from openevolve.llm.codex_app_server import CodexAppServerLLM, init_codex_app_server_client

__all__ = [
"LLMInterface",
Expand All @@ -15,5 +16,7 @@
"init_claude_code_client",
"CopilotCLILLM",
"init_copilot_cli_client",
"CodexAppServerLLM",
"init_codex_app_server_client",
"LLMEnsemble",
]
Loading
Loading