codex-harness 0.0.0-stage → 0.2.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ErzenXz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,113 @@
1
- # Temporary Holding Version
1
+ # Codex Harness
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A small, quiet native Rust backend for coding agents. Your ACP-compatible app
4
+ provides the UI; the harness handles streaming, file/search tools, isolated
5
+ subagents, background jobs, MCP servers and optional computer use.
6
+
7
+ ## Install
8
+
9
+ ```sh
10
+ pnpm add -g codex-harness
11
+ ```
12
+
13
+ Or use `npm install -g codex-harness`. Requires Node.js 22.15+ for the installer
14
+ launcher. No Rust, Python, compilation, postinstall script or runtime download.
15
+ Only the native package for your OS/CPU is installed. Supports macOS, Linux and
16
+ Windows on arm64 and x64. Linux binaries use static musl and work on glibc and
17
+ musl distributions. Windows runs natively; WSL is optional.
18
+
19
+ Prefer no Node.js at all? Download the matching archive from
20
+ [Releases](https://github.com/ErzenXz/codex-harness/releases), verify it against
21
+ `SHA256SUMS`, and put the executable on PATH. `ripgrep` is recommended for faster
22
+ search; a bounded Rust fallback is built in.
23
+
24
+ ## Sign in
25
+
26
+ ```sh
27
+ codex-harness login
28
+ ```
29
+
30
+ Open the printed link, enter the code and approve access. Enable device-code
31
+ login in ChatGPT security settings if requested. Your plan must allow the model;
32
+ subscription limits still apply. No API key is needed for subscription sign-in.
33
+
34
+ Defaults use `gpt-6-luna`. To choose reasoning, concurrency or another provider,
35
+ copy a [starter configuration](examples/) to a trusted user directory and pass
36
+ `--config /absolute/path/config.toml` to **both login and the ACP launcher**.
37
+ [API key and provider setup](docs/reference.md#authentication-and-providers).
38
+ No configuration is read from the project being edited.
39
+
40
+ ## Connect your ACP app
41
+
42
+ Set its agent command to `codex-harness`, with arguments `["--acp"]`. For the
43
+ lowest overhead, get the absolute native executable path once:
44
+
45
+ ```sh
46
+ codex-harness --print-binary-path
47
+ ```
48
+
49
+ Use that path directly in your app's launcher:
50
+
51
+ ```json
52
+ {
53
+ "command": "/absolute/path/printed/above/codex-harness",
54
+ "args": ["--acp"],
55
+ "env": {}
56
+ }
57
+ ```
58
+
59
+ On Windows the path ends in `.exe`. If using a custom config, append
60
+ `"--config", "/absolute/path/config.toml"` to `args`. Your ACP app sends prompts
61
+ and approvals over stdin/stdout. No files need to be installed in your projects.
62
+
63
+ A blank terminal is normal if you run the harness yourself: it waits for ACP
64
+ messages. There is no terminal chat, web server or status banner. Closed stdin
65
+ shuts it down. On macOS/Linux the npm launcher replaces itself with Rust using
66
+ Node's `execve` where available; Windows uses a child process. Direct native
67
+ launch avoids Node startup on every platform.
68
+
69
+ ## Small by design
70
+
71
+ - One current-thread async runtime, pooled HTTP and lazy shared MCP connections.
72
+ - In-place streamed tool arguments and SSE fragments; no repeated whole-buffer
73
+ copies. JSON budget checks count bytes without allocating another JSON buffer.
74
+ - Whole-turn history eviction, bounded files/streams/tool output, backpressure,
75
+ explicit concurrency caps and session unloading.
76
+ - No telemetry, background updater, daemon or bundled browser/model/runtime.
77
+ - Permission-gated edits/shell/MCP tools, plan mode, subagent roles, cancellation,
78
+ persistence and observed provider usage reporting stay available.
79
+
80
+ Performance figures and reproducible tests live in
81
+ [Performance](docs/performance.md). These measure local overhead; model inference,
82
+ provider limits and workload determine end-to-end agent performance.
83
+
84
+ Native desktop control requires Linux X11 and is disabled by default. For macOS
85
+ and Windows desktop/browser control, connect a trusted MCP server. Approved shell,
86
+ MCP and desktop tools can access the host; they are **not an OS sandbox**.
87
+ Credentials are stored unencrypted in private local state. See
88
+ [Security and limits](docs/reference.md#safety-boundaries).
89
+
90
+ ## Update, remove, build
91
+
92
+ ```sh
93
+ pnpm add -g codex-harness@latest
94
+ codex-harness logout
95
+ pnpm remove -g codex-harness
96
+ ```
97
+
98
+ Restart your ACP agent after updating. If you launch the printed native path,
99
+ refresh that path after updating. Logout removes local login credentials; retained
100
+ conversations remain in the state directory. On Unix state defaults to
101
+ `$XDG_STATE_HOME/codex-harness` or `~/.local/state/codex-harness`; on Windows it is
102
+ `%LOCALAPPDATA%\codex-harness`. `CODEX_HARNESS_STATE_DIR` overrides it.
103
+
104
+ Source install (Rust 1.88+ and your OS build tools required):
105
+
106
+ ```sh
107
+ cargo install --git https://github.com/ErzenXz/codex-harness --tag v0.2.0 --locked
108
+ ```
109
+
110
+ Missing platform package? Reinstall with optional dependencies enabled; do not
111
+ use `--no-optional` or `--omit=optional`. There is no fallback network download.
112
+
113
+ [Technical reference](docs/reference.md) · [Development and tests](docs/reference.md#development) · [Release process](docs/releasing.md)