mini-coder 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -27
- package/dist/mc.js +4507 -4104
- package/docs/configs.md +40 -8
- package/docs/custom-agents.md +14 -13
- package/docs/custom-commands.md +4 -9
- package/docs/mini-coder.1.md +158 -0
- package/docs/skills.md +5 -3
- package/package.json +1 -1
- package/docs/chatgpt-subscription-auth.md +0 -68
package/docs/configs.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Config conventions
|
|
2
2
|
|
|
3
|
-
mini-coder supports both its native `.agents` convention and
|
|
3
|
+
mini-coder supports both its native `.agents` convention and `.claude` layouts for commands, skills, and agents.
|
|
4
4
|
|
|
5
5
|
## Supported config roots
|
|
6
6
|
|
|
7
7
|
| Root | Purpose |
|
|
8
8
|
|---|---|
|
|
9
9
|
| `.agents/` | mini-coder native config |
|
|
10
|
-
| `.claude/` |
|
|
10
|
+
| `.claude/` | Alternate config layout supported by mini-coder |
|
|
11
11
|
|
|
12
12
|
Each root can exist in:
|
|
13
13
|
|
|
@@ -58,20 +58,52 @@ Skill instructions/content.
|
|
|
58
58
|
|
|
59
59
|
If `name` is omitted, folder name is used.
|
|
60
60
|
|
|
61
|
-
## Agents
|
|
61
|
+
## Agents
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Supported locations:
|
|
64
64
|
|
|
65
65
|
- `./.agents/agents/*.md`
|
|
66
66
|
- `~/.agents/agents/*.md`
|
|
67
|
+
- `./.claude/agents/*.md`
|
|
68
|
+
- `~/.claude/agents/*.md`
|
|
69
|
+
|
|
70
|
+
Format:
|
|
71
|
+
|
|
72
|
+
```md
|
|
73
|
+
---
|
|
74
|
+
description: Optional help text
|
|
75
|
+
model: optional/model-override
|
|
76
|
+
mode: optional agent mode
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
Agent system prompt.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Context files
|
|
83
|
+
|
|
84
|
+
mini-coder loads at most one global context file and at most one local context file, then includes both when present.
|
|
85
|
+
|
|
86
|
+
Global lookup order:
|
|
87
|
+
|
|
88
|
+
1. `~/.agents/AGENTS.md`
|
|
89
|
+
2. `~/.agents/CLAUDE.md`
|
|
90
|
+
|
|
91
|
+
Local lookup order:
|
|
92
|
+
|
|
93
|
+
1. `./.agents/AGENTS.md`
|
|
94
|
+
2. `./CLAUDE.md`
|
|
95
|
+
3. `./AGENTS.md`
|
|
96
|
+
|
|
97
|
+
Injection order:
|
|
67
98
|
|
|
68
|
-
|
|
99
|
+
1. Global context (if found)
|
|
100
|
+
2. Local context (if found)
|
|
69
101
|
|
|
70
102
|
## Precedence and conflicts
|
|
71
103
|
|
|
72
|
-
Precedence rules:
|
|
104
|
+
Precedence rules for commands, skills, and agents:
|
|
73
105
|
|
|
74
106
|
1. **Local overrides global**
|
|
75
|
-
2. At the **same scope** (both local or both global), if `.agents` and `.claude` define the same
|
|
107
|
+
2. At the **same scope** (both local or both global), if `.agents` and `.claude` define the same name, **`.agents` wins**
|
|
76
108
|
|
|
77
|
-
When same-scope conflicts are detected for commands
|
|
109
|
+
When same-scope conflicts are detected for commands, skills, or agents, mini-coder prints a warning and uses the `.agents` version.
|
package/docs/custom-agents.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Custom Agents
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
A custom agent is a reusable system prompt with an optional model override.
|
|
4
|
+
You can activate one with `/agent <name>`, and non-`primary` agents are also exposed to the `subagent` tool.
|
|
5
5
|
|
|
6
6
|
## Where to put them
|
|
7
7
|
|
|
@@ -9,8 +9,10 @@ Use `@agent-name` anywhere in your prompt to route the message through it.
|
|
|
9
9
|
|---|---|
|
|
10
10
|
| `.agents/agents/*.md` | Current repo only |
|
|
11
11
|
| `~/.agents/agents/*.md` | All projects (global) |
|
|
12
|
+
| `.claude/agents/*.md` | Current repo only (`.claude` layout) |
|
|
13
|
+
| `~/.claude/agents/*.md` | All projects (global, `.claude` layout) |
|
|
12
14
|
|
|
13
|
-
Local agents override global ones with the same name.
|
|
15
|
+
Local agents override global ones with the same name. At the same scope, `.agents` wins over `.claude`.
|
|
14
16
|
|
|
15
17
|
## Create an agent
|
|
16
18
|
|
|
@@ -33,12 +35,11 @@ No flattery. End with a one-line verdict.
|
|
|
33
35
|
Then in the REPL:
|
|
34
36
|
|
|
35
37
|
```
|
|
36
|
-
|
|
38
|
+
/agent reviewer
|
|
39
|
+
review the auth module for race conditions
|
|
37
40
|
```
|
|
38
41
|
|
|
39
|
-
|
|
40
|
-
the prompt. The agent runs in its own context window and returns its output
|
|
41
|
-
into the conversation.
|
|
42
|
+
You can also mention `@reviewer` in a prompt as a naming convention, and agent names participate in `@` tab completion alongside skills and files.
|
|
42
43
|
|
|
43
44
|
## Frontmatter fields
|
|
44
45
|
|
|
@@ -46,22 +47,22 @@ into the conversation.
|
|
|
46
47
|
|---|---|---|
|
|
47
48
|
| `description` | No | Shown in `/help`. Defaults to filename. |
|
|
48
49
|
| `model` | No | Override the active model for this agent. |
|
|
49
|
-
| `mode` | No | `primary`
|
|
50
|
-
|
|
50
|
+
| `mode` | No | Controls whether the agent is exposed through the `subagent` tool. `primary` excludes it from that tool and is intended for `/agent`. `subagent`, `all`, and an omitted value all keep it available to the `subagent` tool. Any loaded agent can currently still be selected with `/agent <name>`. |
|
|
51
51
|
|
|
52
52
|
The markdown body (after frontmatter) is the agent's system prompt.
|
|
53
53
|
|
|
54
54
|
## Combining with files
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
File references are resolved before the prompt is sent:
|
|
57
57
|
|
|
58
58
|
```
|
|
59
|
-
|
|
59
|
+
/agent reviewer
|
|
60
|
+
@src/auth/session.ts check this file for issues
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
## Tab completion
|
|
63
64
|
|
|
64
|
-
Type `@` and press `Tab` to autocomplete agent names alongside files.
|
|
65
|
+
Type `@` and press `Tab` to autocomplete agent names alongside skills and files.
|
|
65
66
|
|
|
66
67
|
## Listing agents
|
|
67
68
|
|
|
@@ -69,4 +70,4 @@ Type `@` and press `Tab` to autocomplete agent names alongside files.
|
|
|
69
70
|
/help
|
|
70
71
|
```
|
|
71
72
|
|
|
72
|
-
Agents are listed in magenta, tagged `(local)` or `(global)`.
|
|
73
|
+
Agents are listed in magenta, tagged `(local)` or `(global)`.
|
package/docs/custom-commands.md
CHANGED
|
@@ -8,8 +8,10 @@ Custom commands let you define reusable prompts that run as `/command` in the mi
|
|
|
8
8
|
|---|---|
|
|
9
9
|
| `.agents/commands/*.md` | Current repo only |
|
|
10
10
|
| `~/.agents/commands/*.md` | All projects (global) |
|
|
11
|
+
| `.claude/commands/*.md` | Current repo only (Claude-compatible) |
|
|
12
|
+
| `~/.claude/commands/*.md` | All projects (global, Claude-compatible) |
|
|
11
13
|
|
|
12
|
-
Local commands override global ones with the same name.
|
|
14
|
+
Local commands override global ones with the same name. At the same scope, `.agents` wins over `.claude`.
|
|
13
15
|
|
|
14
16
|
## Create a command
|
|
15
17
|
|
|
@@ -21,7 +23,6 @@ Create a markdown file. The filename becomes the command name.
|
|
|
21
23
|
---
|
|
22
24
|
description: Summarise what changed since yesterday
|
|
23
25
|
model: zen/claude-haiku-4-5
|
|
24
|
-
|
|
25
26
|
---
|
|
26
27
|
|
|
27
28
|
Run `!`git log --oneline --since=yesterday`` and summarise the changes
|
|
@@ -44,8 +45,6 @@ Then in the REPL:
|
|
|
44
45
|
| `subtask` | No | Set to `true` to force subagent execution (OpenCode-compatible alias for `context: fork`). |
|
|
45
46
|
| `agent` | No | Run the command under a named agent's system prompt (only applies when `context: fork`). |
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
48
|
## Arguments
|
|
50
49
|
|
|
51
50
|
Use `$ARGUMENTS` for the full argument string, or `$1`, `$2`, … `$9` for individual tokens.
|
|
@@ -56,7 +55,6 @@ Use `$ARGUMENTS` for the full argument string, or `$1`, `$2`, … `$9` for indiv
|
|
|
56
55
|
---
|
|
57
56
|
description: Search the codebase for a topic
|
|
58
57
|
model: zen/claude-haiku-4-5
|
|
59
|
-
|
|
60
58
|
---
|
|
61
59
|
|
|
62
60
|
Search the codebase for: $ARGUMENTS
|
|
@@ -117,7 +115,6 @@ lightweight tasks regardless of what the session is currently set to.
|
|
|
117
115
|
---
|
|
118
116
|
description: Quick grep for a symbol
|
|
119
117
|
model: zen/claude-haiku-4-5
|
|
120
|
-
|
|
121
118
|
---
|
|
122
119
|
|
|
123
120
|
Find all usages of $ARGUMENTS across the codebase using grep and glob.
|
|
@@ -126,7 +123,6 @@ List each occurrence with file path and line number. No explanations needed.
|
|
|
126
123
|
|
|
127
124
|
Large models for deep analysis, small models for search and lookup.
|
|
128
125
|
|
|
129
|
-
|
|
130
126
|
## Precedence
|
|
131
127
|
|
|
132
128
|
Custom commands shadow built-ins. If you create `.agents/commands/plan.md`
|
|
@@ -134,7 +130,6 @@ it will replace the built-in `/plan` for that project. The global `/review`
|
|
|
134
130
|
command (auto-created at `~/.agents/commands/review.md` on first run) works
|
|
135
131
|
the same way — a local `.agents/commands/review.md` will override it.
|
|
136
132
|
|
|
137
|
-
|
|
138
133
|
## Listing commands
|
|
139
134
|
|
|
140
135
|
```
|
|
@@ -142,4 +137,4 @@ the same way — a local `.agents/commands/review.md` will override it.
|
|
|
142
137
|
```
|
|
143
138
|
|
|
144
139
|
Custom commands are listed at the bottom under **custom commands**, tagged
|
|
145
|
-
with `(local)` or `(global)`.
|
|
140
|
+
with `(local)` or `(global)`.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# MINI-CODER(1)
|
|
2
|
+
|
|
3
|
+
## NAME
|
|
4
|
+
**mini-coder** (executable: `mc`) - A small, fast CLI coding agent built for developers.
|
|
5
|
+
|
|
6
|
+
## SYNOPSIS
|
|
7
|
+
`mc [options] [prompt]`
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
**mini-coder** is a developer-focused CLI coding agent. It prioritizes developer flow with no slow startup, no clunky GUI, and no vendor lock-in. It uses a minimalist terminal UI restricted to 16 ANSI colors to inherit the user's terminal theme, and is built entirely on Bun.js for maximum performance.
|
|
11
|
+
|
|
12
|
+
## OPTIONS
|
|
13
|
+
**-m, --model <id>**
|
|
14
|
+
: Specify the model to use (e.g., `zen/claude-sonnet-4-6`).
|
|
15
|
+
|
|
16
|
+
**-c, --continue**
|
|
17
|
+
: Continue the most recent session.
|
|
18
|
+
|
|
19
|
+
**-r, --resume <id>**
|
|
20
|
+
: Resume a specific session by its ID.
|
|
21
|
+
|
|
22
|
+
**-l, --list**
|
|
23
|
+
: List recent sessions.
|
|
24
|
+
|
|
25
|
+
**--cwd <path>**
|
|
26
|
+
: Set the working directory (defaults to current directory).
|
|
27
|
+
|
|
28
|
+
**-h, --help**
|
|
29
|
+
: Display help information.
|
|
30
|
+
|
|
31
|
+
**[prompt]**
|
|
32
|
+
: Optional one-shot prompt text before entering interactive mode.
|
|
33
|
+
|
|
34
|
+
## INTERACTIVE COMMANDS
|
|
35
|
+
Inside the interactive session, the following slash commands are available:
|
|
36
|
+
|
|
37
|
+
**/model**
|
|
38
|
+
: List all available models, indicating free models and context sizes.
|
|
39
|
+
|
|
40
|
+
**/model <id>**
|
|
41
|
+
: Switch to a specific model.
|
|
42
|
+
|
|
43
|
+
**/model effort <low|medium|high|xhigh|off>**
|
|
44
|
+
: Configure reasoning effort levels for models that support it.
|
|
45
|
+
|
|
46
|
+
**/reasoning [on|off]**
|
|
47
|
+
: Toggle the display of the model's reasoning/thought process.
|
|
48
|
+
|
|
49
|
+
**/context prune <off|balanced|aggressive>**
|
|
50
|
+
: Configure context window pruning strategies.
|
|
51
|
+
|
|
52
|
+
**/context cap <off|bytes|kb>**
|
|
53
|
+
: Set a hard payload cap size for tool results to avoid blowing out context.
|
|
54
|
+
|
|
55
|
+
**/cache <on|off>**
|
|
56
|
+
: Toggle prompt caching globally.
|
|
57
|
+
|
|
58
|
+
**/cache openai <in_memory|24h>**
|
|
59
|
+
: Set OpenAI prompt cache retention policies.
|
|
60
|
+
|
|
61
|
+
**/cache gemini <off|cachedContents/...>**
|
|
62
|
+
: Attach Google Gemini cached content.
|
|
63
|
+
|
|
64
|
+
**/plan**
|
|
65
|
+
: Toggle read-only planning mode.
|
|
66
|
+
|
|
67
|
+
**/ralph**
|
|
68
|
+
: Toggle autonomous execution looping.
|
|
69
|
+
|
|
70
|
+
**/undo**
|
|
71
|
+
: Revert the last turn and restore files.
|
|
72
|
+
|
|
73
|
+
**/new**
|
|
74
|
+
: Clear context and start a fresh session.
|
|
75
|
+
|
|
76
|
+
**/mcp list**
|
|
77
|
+
: List configured MCP servers.
|
|
78
|
+
|
|
79
|
+
**/mcp add <name> http <url>**
|
|
80
|
+
: Add an MCP server over HTTP.
|
|
81
|
+
|
|
82
|
+
**/mcp add <name> stdio <cmd> [args...]**
|
|
83
|
+
: Add an MCP server over stdio.
|
|
84
|
+
|
|
85
|
+
**/mcp remove <name>** (or **rm**)
|
|
86
|
+
: Remove an MCP server.
|
|
87
|
+
|
|
88
|
+
**/agent [name]**
|
|
89
|
+
: Set or clear an active primary custom agent.
|
|
90
|
+
|
|
91
|
+
**/help**
|
|
92
|
+
: Display command help.
|
|
93
|
+
|
|
94
|
+
**/exit, /quit, /q**
|
|
95
|
+
: Leave the session.
|
|
96
|
+
|
|
97
|
+
## INLINE FEATURES
|
|
98
|
+
**Shell Integration**
|
|
99
|
+
: Prefix user prompts with `!` to run shell commands inline directly into the context.
|
|
100
|
+
|
|
101
|
+
**File & Agent Referencing**
|
|
102
|
+
: Prefix words with `@` to reference files, custom agents, or skills within prompts (supports tab completion).
|
|
103
|
+
|
|
104
|
+
## BUILT-IN TOOLS
|
|
105
|
+
The agent has access to the following tools:
|
|
106
|
+
* **glob**: Discover files by glob pattern across the project.
|
|
107
|
+
* **grep**: Search file contents using regular expressions.
|
|
108
|
+
* **read**: Read file contents with line-range pagination support.
|
|
109
|
+
* **create**: Write a new file or completely overwrite an existing one.
|
|
110
|
+
* **replace**: Replace or delete targeted lines using hashline anchors.
|
|
111
|
+
* **insert**: Insert new lines before/after an anchor without replacing existing content.
|
|
112
|
+
* **shell**: Execute bash commands and capture output.
|
|
113
|
+
* **subagent**: Spawn a focused mini-agent with a prompt.
|
|
114
|
+
* **webSearch**: Search the internet (requires EXA key).
|
|
115
|
+
* **webContent**: Fetch full page content from a URL (requires EXA key).
|
|
116
|
+
|
|
117
|
+
## ENVIRONMENT
|
|
118
|
+
**OPENCODE_API_KEY**
|
|
119
|
+
: OpenCode Zen API key (Recommended provider).
|
|
120
|
+
|
|
121
|
+
**ANTHROPIC_API_KEY**
|
|
122
|
+
: Direct Anthropic API key.
|
|
123
|
+
|
|
124
|
+
**OPENAI_API_KEY**
|
|
125
|
+
: Direct OpenAI API key.
|
|
126
|
+
|
|
127
|
+
**GOOGLE_API_KEY** (or **GEMINI_API_KEY**)
|
|
128
|
+
: Direct Google Gemini API key.
|
|
129
|
+
|
|
130
|
+
**OLLAMA_BASE_URL**
|
|
131
|
+
: Ollama local base URL (Defaults to `http://localhost:11434`).
|
|
132
|
+
|
|
133
|
+
**EXA_API_KEY**
|
|
134
|
+
: Enables built-in `webSearch` and `webContent` tools.
|
|
135
|
+
|
|
136
|
+
## FILES & DIRECTORIES
|
|
137
|
+
**~/.config/mini-coder/**
|
|
138
|
+
: Application data directory. Contains `sessions.db` (SQLite database for session history, tool snapshots, MCP server configs, and model metadata), `api.log`, and `errors.log`.
|
|
139
|
+
|
|
140
|
+
**.agents/ or .claude/ (Local or Global in ~/)**
|
|
141
|
+
: Configuration directories for advanced features:
|
|
142
|
+
* **commands/*.md**: Custom slash commands.
|
|
143
|
+
* **agents/*.md**: Custom behavioral wrappers or subagents.
|
|
144
|
+
* **skills/<name>/SKILL.md**: Isolated context/instruction snippets.
|
|
145
|
+
* **hooks/post-<tool>**: Executable scripts triggered upon tool execution.
|
|
146
|
+
|
|
147
|
+
**AGENTS.md / CLAUDE.md**
|
|
148
|
+
: Auto-loaded system context files for project-specific instructions.
|
|
149
|
+
|
|
150
|
+
## CORE FEATURES & ARCHITECTURE
|
|
151
|
+
* **Multi-Provider LLM Routing**: Automatically discovers API keys to route to OpenCode (Zen), Anthropic, OpenAI, Google/Gemini, or local Ollama instances.
|
|
152
|
+
* **Session Memory**: Persists conversation history in a local SQLite database, allowing users to resume past sessions effortlessly.
|
|
153
|
+
* **Subagent Delegation**: Includes a tool to spawn parallel instances of itself to tackle independent subtasks simultaneously (up to 10 levels deep).
|
|
154
|
+
* **Autonomous Mode (Ralph)**: An autonomous looping mode that runs tasks in an isolated context loop (up to 20 iterations) until completion.
|
|
155
|
+
* **Plan Mode**: A read-only thinking mode utilizing read tools + MCP, safely analyzing code without making mutations or executing shell commands.
|
|
156
|
+
* **Model Context Protocol (MCP)**: Native support for connecting external tools via MCP servers over HTTP or stdio.
|
|
157
|
+
* **Prompt Caching**: Configurable caching behaviors for supported providers (OpenAI, Gemini).
|
|
158
|
+
* **Undo Functionality**: Roll back the last conversation turn, cleanly restoring previous file states and git history via snapshots.
|
package/docs/skills.md
CHANGED
|
@@ -15,8 +15,10 @@ Each skill is a folder containing a `SKILL.md`:
|
|
|
15
15
|
|---|---|
|
|
16
16
|
| `.agents/skills/<name>/SKILL.md` | Current repo only |
|
|
17
17
|
| `~/.agents/skills/<name>/SKILL.md` | All projects (global) |
|
|
18
|
+
| `.claude/skills/<name>/SKILL.md` | Current repo only (Claude-compatible) |
|
|
19
|
+
| `~/.claude/skills/<name>/SKILL.md` | All projects (global, Claude-compatible) |
|
|
18
20
|
|
|
19
|
-
Local skills override global ones with the same name.
|
|
21
|
+
Local skills override global ones with the same name. At the same scope, `.agents` wins over `.claude`.
|
|
20
22
|
|
|
21
23
|
## Create a skill
|
|
22
24
|
|
|
@@ -60,7 +62,7 @@ included in the message sent to the LLM.
|
|
|
60
62
|
|
|
61
63
|
## Tab completion
|
|
62
64
|
|
|
63
|
-
Type `@` and press `Tab` to autocomplete skill names alongside files.
|
|
65
|
+
Type `@` and press `Tab` to autocomplete skill names alongside agents and files.
|
|
64
66
|
|
|
65
67
|
## Listing skills
|
|
66
68
|
|
|
@@ -68,4 +70,4 @@ Type `@` and press `Tab` to autocomplete skill names alongside files.
|
|
|
68
70
|
/help
|
|
69
71
|
```
|
|
70
72
|
|
|
71
|
-
Skills are listed in yellow, tagged `(local)` or `(global)`.
|
|
73
|
+
Skills are listed in yellow, tagged `(local)` or `(global)`.
|
package/package.json
CHANGED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# ChatGPT/Codex subscription auth notes
|
|
2
|
-
|
|
3
|
-
mini-coder does **not** currently support logging in with a ChatGPT Plus/Pro/Codex subscription.
|
|
4
|
-
|
|
5
|
-
## Why
|
|
6
|
-
|
|
7
|
-
We looked at two implementations:
|
|
8
|
-
|
|
9
|
-
- OpenCode in `/tmp/opencode-src`
|
|
10
|
-
- official Codex in `/tmp/openai-codex/codex-rs`
|
|
11
|
-
|
|
12
|
-
Both rely on OpenAI **first-party/private** auth and backend APIs rather than a documented public developer API.
|
|
13
|
-
|
|
14
|
-
## What those implementations do
|
|
15
|
-
|
|
16
|
-
### Auth
|
|
17
|
-
|
|
18
|
-
They use OAuth-like flows against `https://auth.openai.com`, including:
|
|
19
|
-
|
|
20
|
-
- browser login with PKCE and a localhost callback server
|
|
21
|
-
- device-code / headless login
|
|
22
|
-
- refresh tokens via `POST /oauth/token`
|
|
23
|
-
|
|
24
|
-
Both also rely on a hardcoded first-party client id embedded in their source trees.
|
|
25
|
-
|
|
26
|
-
Examples:
|
|
27
|
-
|
|
28
|
-
- official Codex: `/tmp/openai-codex/codex-rs/core/src/auth.rs`
|
|
29
|
-
- OpenCode: `/tmp/opencode-src/packages/opencode/src/plugin/codex.ts`
|
|
30
|
-
|
|
31
|
-
### Runtime API
|
|
32
|
-
|
|
33
|
-
After login, requests are sent to ChatGPT backend endpoints such as:
|
|
34
|
-
|
|
35
|
-
- `https://chatgpt.com/backend-api/codex`
|
|
36
|
-
- `https://chatgpt.com/backend-api/codex/responses`
|
|
37
|
-
|
|
38
|
-
with headers like:
|
|
39
|
-
|
|
40
|
-
- `Authorization: Bearer <oauth access token>`
|
|
41
|
-
- `ChatGPT-Account-Id: <account id>`
|
|
42
|
-
|
|
43
|
-
Examples:
|
|
44
|
-
|
|
45
|
-
- official Codex: `/tmp/openai-codex/codex-rs/core/src/model_provider_info.rs`
|
|
46
|
-
- official Codex headers: `/tmp/openai-codex/codex-rs/backend-client/src/client.rs`
|
|
47
|
-
- OpenCode rewrite layer: `/tmp/opencode-src/packages/opencode/src/plugin/codex.ts`
|
|
48
|
-
|
|
49
|
-
## Why mini-coder is not adopting this
|
|
50
|
-
|
|
51
|
-
- It depends on undocumented/private auth endpoints.
|
|
52
|
-
- It depends on a hardcoded first-party client id.
|
|
53
|
-
- It depends on private ChatGPT backend routes.
|
|
54
|
-
- Browser login would require running a local callback server.
|
|
55
|
-
- Even the official Codex source does not expose a clean public API-based alternative here.
|
|
56
|
-
|
|
57
|
-
## Future stance
|
|
58
|
-
|
|
59
|
-
We may revisit support if OpenAI exposes a stable, documented path for:
|
|
60
|
-
|
|
61
|
-
- ChatGPT subscription login for third-party tools, or
|
|
62
|
-
- a public Codex/ChatGPT backend API intended for external clients
|
|
63
|
-
|
|
64
|
-
Until then, mini-coder only supports providers with clearer public integration paths.
|
|
65
|
-
|
|
66
|
-
## Note
|
|
67
|
-
|
|
68
|
-
If you want a supported hosted integration instead of ChatGPT subscription auth, mini-coder already supports OpenCode Zen via `OPENCODE_API_KEY`. See the existing `zen/<model>` provider path.
|