@lux-tech/opencode-ai 1.18.68 → 1.18.70
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 +271 -0
- package/package.json +41 -13
package/README.md
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://github.com/menoxz/opencode">
|
|
3
|
+
<picture>
|
|
4
|
+
<source srcset="packages/console/app/src/asset/logo-ornate-v2-dark.svg" media="(prefers-color-scheme: dark)">
|
|
5
|
+
<source srcset="packages/console/app/src/asset/logo-ornate-v2-light.svg" media="(prefers-color-scheme: light)">
|
|
6
|
+
<img src="packages/console/app/src/asset/logo-ornate-v2-light.svg" alt="OpenCode fork logo">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
<p align="center">The open source AI coding agent — community fork.
|
|
11
|
+
|
|
12
|
+
> **Fork notice** — this repository (`menoxz/opencode`) is a community fork of the
|
|
13
|
+
> [official opencode](https://github.com/anomalyco/opencode) with additional features
|
|
14
|
+
> (MCP auto-reconnect, hot reload, eval pipeline, memory consolidation, unified prompt).
|
|
15
|
+
> It is **not affiliated** with the official opencode team.
|
|
16
|
+
> [See fork differences →](#fork-differences)</p>
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="https://www.npmjs.com/package/@lux-tech/opencode-ai"><img alt="npm" src="https://img.shields.io/npm/v/%40lux-tech%2Fopencode-ai?style=flat-square" /></a>
|
|
19
|
+
<a href="https://github.com/menoxz/opencode/actions/workflows/typecheck.yml"><img alt="Typecheck" src="https://img.shields.io/github/actions/workflow/status/menoxz/opencode/typecheck.yml?branch=dev&style=flat-square" /></a>
|
|
20
|
+
<a href="https://github.com/menoxz/opencode/actions/workflows/eval.yml"><img alt="Eval" src="https://img.shields.io/github/actions/workflow/status/menoxz/opencode/eval.yml?branch=dev&style=flat-square" /></a>
|
|
21
|
+
<a href="https://github.com/menoxz/opencode/blob/dev/LICENSE"><img alt="License" src="https://img.shields.io/github/license/menoxz/opencode?style=flat-square" /></a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<a href="README.md">English</a> |
|
|
26
|
+
<a href="README.zh.md">简体中文</a> |
|
|
27
|
+
<a href="README.zht.md">繁體中文</a> |
|
|
28
|
+
<a href="README.ko.md">한국어</a> |
|
|
29
|
+
<a href="README.de.md">Deutsch</a> |
|
|
30
|
+
<a href="README.es.md">Español</a> |
|
|
31
|
+
<a href="README.fr.md">Français</a> |
|
|
32
|
+
<a href="README.it.md">Italiano</a> |
|
|
33
|
+
<a href="README.da.md">Dansk</a> |
|
|
34
|
+
<a href="README.ja.md">日本語</a> |
|
|
35
|
+
<a href="README.pl.md">Polski</a> |
|
|
36
|
+
<a href="README.ru.md">Русский</a> |
|
|
37
|
+
<a href="README.bs.md">Bosanski</a> |
|
|
38
|
+
<a href="README.ar.md">العربية</a> |
|
|
39
|
+
<a href="README.no.md">Norsk</a> |
|
|
40
|
+
<a href="README.br.md">Português (Brasil)</a> |
|
|
41
|
+
<a href="README.th.md">ไทย</a> |
|
|
42
|
+
<a href="README.tr.md">Türkçe</a> |
|
|
43
|
+
<a href="README.uk.md">Українська</a> |
|
|
44
|
+
<a href="README.bn.md">বাংলা</a> |
|
|
45
|
+
<a href="README.gr.md">Ελληνικά</a> |
|
|
46
|
+
<a href="README.vi.md">Tiếng Việt</a>
|
|
47
|
+
</p>
|
|
48
|
+
|
|
49
|
+
[](https://github.com/menoxz/opencode)
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Installation (fork)
|
|
54
|
+
|
|
55
|
+
The fork is published on npm under the scope `@lux-tech` and installs its command as
|
|
56
|
+
**`opencodev2`** — a distinct binary that **coexists** with the official `opencode`
|
|
57
|
+
(installed from `opencode-ai`). It also keeps its own data/config directories
|
|
58
|
+
(`~/.local/share/opencodev2`, `~/.config/opencodev2`), so both products can run side
|
|
59
|
+
by side without touching each other's data. On the first interactive launch, the fork
|
|
60
|
+
offers to import your existing opencode configuration, API keys and session history —
|
|
61
|
+
the original installation is left untouched. See
|
|
62
|
+
[coexistence with the official opencode](#coexistence-with-the-official-opencode).
|
|
63
|
+
|
|
64
|
+
### Recommended: npm
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install -g @lux-tech/opencode-ai
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Verify:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
opencodev2 --version
|
|
74
|
+
# 1.18.59 (or the latest published version)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The meta-package `@lux-tech/opencode-ai` automatically downloads the correct platform
|
|
78
|
+
binary from one of its 12 optional dependencies (see the
|
|
79
|
+
[platform binaries table](#platform-binaries)) and exposes it as the `opencodev2` command.
|
|
80
|
+
|
|
81
|
+
### Alternative: GitHub Releases (manual)
|
|
82
|
+
|
|
83
|
+
Release archives are published on
|
|
84
|
+
[the releases page](https://github.com/menoxz/opencode/releases) as `.tar.gz` (Linux)
|
|
85
|
+
and `.zip` (macOS / Windows). Each archive contains the compiled CLI binary at its
|
|
86
|
+
root — rename it to `opencodev2` when installing manually so it never clashes with the
|
|
87
|
+
official `opencode` binary.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Example: Linux x64
|
|
91
|
+
VERSION=v1.18.59
|
|
92
|
+
curl -fsSL -o opencode.tar.gz "https://github.com/menoxz/opencode/releases/download/$VERSION/opencode-linux-x64.tar.gz"
|
|
93
|
+
tar -xzf opencode.tar.gz
|
|
94
|
+
sudo mv opencode /usr/local/bin/opencodev2 # distinct name, no clash with the official binary
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```powershell
|
|
98
|
+
# Example: Windows x64 (PowerShell)
|
|
99
|
+
$VERSION = "v1.18.59"
|
|
100
|
+
Invoke-WebRequest -Uri "https://github.com/menoxz/opencode/releases/download/$VERSION/opencode-windows-x64.zip" -OutFile opencode.zip
|
|
101
|
+
Expand-Archive -Path opencode.zip -DestinationPath . -Force
|
|
102
|
+
Move-Item .\opencode.exe "$env:LOCALAPPDATA\Microsoft\WindowsApps\opencodev2.exe" -Force
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Binary location
|
|
106
|
+
|
|
107
|
+
| Install method | Binary path |
|
|
108
|
+
|---|---|
|
|
109
|
+
| npm (Windows) | `%APPDATA%\npm\opencodev2.exe` |
|
|
110
|
+
| npm (Linux / macOS) | `$(npm prefix -g)/bin/opencodev2` |
|
|
111
|
+
| GitHub release (manual) | wherever you placed it |
|
|
112
|
+
|
|
113
|
+
### Update
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Built-in updater (fetches the latest @lux-tech/opencode-ai release)
|
|
117
|
+
opencodev2 upgrade
|
|
118
|
+
|
|
119
|
+
# Or via npm
|
|
120
|
+
npm update -g @lux-tech/opencode-ai
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Uninstall
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm uninstall -g @lux-tech/opencode-ai
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
On Windows, also remove the stale shim if npm left one behind:
|
|
130
|
+
|
|
131
|
+
```powershell
|
|
132
|
+
Remove-Item "$env:APPDATA\npm\opencodev2*" -Force -ErrorAction SilentlyContinue
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Coexistence with the official opencode
|
|
138
|
+
|
|
139
|
+
The fork (`@lux-tech/opencode-ai`) installs its command as **`opencodev2`**, while the
|
|
140
|
+
official opencode (`opencode-ai`) installs `opencode`. The two names never clash, and
|
|
141
|
+
the fork uses its own data directories
|
|
142
|
+
(`~/.local/share/opencodev2`, `~/.config/opencodev2`, `~/.local/state/opencodev2`,
|
|
143
|
+
`~/.cache/opencodev2`), so **both can be installed and used at the same time**.
|
|
144
|
+
|
|
145
|
+
### First-run migration wizard
|
|
146
|
+
|
|
147
|
+
On the first interactive launch, `opencodev2` detects whether a previous opencode
|
|
148
|
+
installation exists (config, API keys, sessions) and asks what to do:
|
|
149
|
+
|
|
150
|
+
- **Import (recommended)** — copies your config, credentials (`auth.json`) and session
|
|
151
|
+
history (`opencode.db`) from the original opencode directories into the opencodev2
|
|
152
|
+
directories. The original data is left untouched.
|
|
153
|
+
- **Later** — starts fresh and asks again at the next launch.
|
|
154
|
+
- **Never** — starts with empty opencodev2 data (a marker file prevents further prompts).
|
|
155
|
+
|
|
156
|
+
Headless environments (CI, scripts) can force the behaviour:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
OPENCODEV2_MIGRATE=copy opencodev2 ... # import non-interactively
|
|
160
|
+
OPENCODEV2_MIGRATE=skip opencodev2 ... # skip and mark as decided
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
The wizard runs only once per data directory (a `.migrate-state` marker records the
|
|
164
|
+
decision). After an import, the copied database belongs to opencodev2 — subsequent
|
|
165
|
+
opencodev2 database migrations never touch the original opencode installation.
|
|
166
|
+
|
|
167
|
+
### Which one should you use?
|
|
168
|
+
|
|
169
|
+
| Need | Use |
|
|
170
|
+
|---|---|
|
|
171
|
+
| MCP auto-reconnect, hot reload, eval pipeline, memory consolidation, unified prompt | **This fork** (`opencodev2`) |
|
|
172
|
+
| The official, widely-validated release | [official opencode](https://github.com/anomalyco/opencode) (`opencode`) |
|
|
173
|
+
|
|
174
|
+
Both stay up to date independently:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
opencodev2 upgrade # updates the fork (@lux-tech/opencode-ai)
|
|
178
|
+
opencode upgrade # updates the official opencode (opencode-ai)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Platform binaries
|
|
184
|
+
|
|
185
|
+
`@lux-tech/opencode-ai` ships as a meta-package with 12 optional platform binaries
|
|
186
|
+
(all published at the same version):
|
|
187
|
+
|
|
188
|
+
| Package | Platform / CPU | Notes |
|
|
189
|
+
|---|---|---|
|
|
190
|
+
| `@lux-tech/opencode-ai-darwin-arm64` | macOS arm64 | Apple Silicon |
|
|
191
|
+
| `@lux-tech/opencode-ai-darwin-x64` | macOS x64 | Intel |
|
|
192
|
+
| `@lux-tech/opencode-ai-darwin-x64-baseline` | macOS x64 | CPUs without AVX2 |
|
|
193
|
+
| `@lux-tech/opencode-ai-linux-arm64` | Linux arm64 | |
|
|
194
|
+
| `@lux-tech/opencode-ai-linux-arm64-musl` | Linux arm64 | Alpine / musl |
|
|
195
|
+
| `@lux-tech/opencode-ai-linux-x64` | Linux x64 | |
|
|
196
|
+
| `@lux-tech/opencode-ai-linux-x64-baseline` | Linux x64 | CPUs without AVX2 |
|
|
197
|
+
| `@lux-tech/opencode-ai-linux-x64-baseline-musl` | Linux x64 | musl, no AVX2 |
|
|
198
|
+
| `@lux-tech/opencode-ai-linux-x64-musl` | Linux x64 | Alpine / musl |
|
|
199
|
+
| `@lux-tech/opencode-ai-windows-arm64` | Windows arm64 | |
|
|
200
|
+
| `@lux-tech/opencode-ai-windows-x64` | Windows x64 | |
|
|
201
|
+
| `@lux-tech/opencode-ai-windows-x64-baseline` | Windows x64 | CPUs without AVX2 |
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Agents
|
|
206
|
+
|
|
207
|
+
OpenCode includes two built-in agents you can switch between with the `Tab` key.
|
|
208
|
+
|
|
209
|
+
- **build** - Default, full-access agent for development work
|
|
210
|
+
- **plan** - Read-only agent for analysis and code exploration
|
|
211
|
+
- Denies file edits by default
|
|
212
|
+
- Asks permission before running bash commands
|
|
213
|
+
- Ideal for exploring unfamiliar codebases or planning changes
|
|
214
|
+
|
|
215
|
+
Also included is a **general** subagent for complex searches and multistep tasks.
|
|
216
|
+
This is used internally and can be invoked using `@general` in messages.
|
|
217
|
+
|
|
218
|
+
The fork additionally ships a **planner** agent that auto-decomposes tasks before
|
|
219
|
+
execution. Learn more about
|
|
220
|
+
[agents in the official docs](https://opencode.ai/docs/agents) — behavior is
|
|
221
|
+
compatible with upstream.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Documentation
|
|
226
|
+
|
|
227
|
+
- **Fork-specific docs** live in this repository: [`docs/`](./docs) (architecture,
|
|
228
|
+
ADRs, hot reload & MCP design) and [`CHANGELOG.md`](./CHANGELOG.md).
|
|
229
|
+
- **General configuration docs** are compatible with the official documentation:
|
|
230
|
+
[opencode.ai/docs](https://opencode.ai/docs).
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Fork Differences
|
|
235
|
+
|
|
236
|
+
This fork (`menoxz/opencode`) adds the following features on top of upstream:
|
|
237
|
+
|
|
238
|
+
| Feature | Description |
|
|
239
|
+
|---------|-------------|
|
|
240
|
+
| **MCP Auto-reconnect** | MCP servers whose connection dies are detected (transport events + health ping) and reconnected automatically with exponential backoff — no more stale "connected" status or dead sessions |
|
|
241
|
+
| **Hot Reload** | Agents, plugins, and MCP servers reload automatically on file change — no restart needed |
|
|
242
|
+
| **Eval Pipeline** | SQLite-backed evaluation with regression detection, trend analysis, and compare CLI commands |
|
|
243
|
+
| **Memory Consolidation** | Cross-session memory with auto-decay, pattern detection, and post-mortem analysis |
|
|
244
|
+
| **Unified Prompt** | Single `core.txt` replaces 10 model-specific prompts — cleaner, smaller, easier to maintain |
|
|
245
|
+
| **Continuous Improvement** | Methods are living documents — update existing skills with changelog instead of creating duplicates |
|
|
246
|
+
| **Planner Integration** | Built-in `planner` agent auto-decomposes tasks before execution |
|
|
247
|
+
| **opencodev2 identity + migration** | Installs as `opencodev2` with its own data directories, so it coexists with the official opencode; a first-run wizard imports your config, API keys and session history on request |
|
|
248
|
+
|
|
249
|
+
New features are versioned in [`CHANGELOG.md`](./CHANGELOG.md).
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Contributing
|
|
254
|
+
|
|
255
|
+
If you're interested in contributing to this fork, please read our
|
|
256
|
+
[contributing docs](./CONTRIBUTING.md) before submitting a pull request.
|
|
257
|
+
Pull requests target the `dev` branch.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Building on OpenCode
|
|
262
|
+
|
|
263
|
+
If you are working on a project that's related to OpenCode and is using "opencode" as
|
|
264
|
+
part of its name, for example "opencode-dashboard" or "opencode-mobile", please add a
|
|
265
|
+
note to your README to clarify that it is not built by the OpenCode team and is not
|
|
266
|
+
affiliated with us in any way.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
**Report issues** on [GitHub Issues](https://github.com/menoxz/opencode/issues) ·
|
|
271
|
+
**Source** [github.com/menoxz/opencode](https://github.com/menoxz/opencode)
|
package/package.json
CHANGED
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lux-tech/opencode-ai",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.70",
|
|
4
|
+
"description": "opencodev2 — AI-powered development tool. Community fork of opencode (MCP auto-reconnect, hot reload, eval pipeline, memory consolidation, unified prompt); installs the opencodev2 CLI alongside the official opencode.",
|
|
4
5
|
"bin": {
|
|
5
6
|
"opencodev2": "./bin/opencode.exe"
|
|
6
7
|
},
|
|
7
8
|
"scripts": {
|
|
8
9
|
"postinstall": "node ./postinstall.mjs"
|
|
9
10
|
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"opencode",
|
|
13
|
+
"opencodev2",
|
|
14
|
+
"ai",
|
|
15
|
+
"coding-agent",
|
|
16
|
+
"cli",
|
|
17
|
+
"agent",
|
|
18
|
+
"llm",
|
|
19
|
+
"fork"
|
|
20
|
+
],
|
|
10
21
|
"license": "MIT",
|
|
22
|
+
"homepage": "https://github.com/menoxz/opencode",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/menoxz/opencode.git"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/menoxz/opencode/issues"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"bin",
|
|
32
|
+
"postinstall.mjs",
|
|
33
|
+
"LICENSE",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18"
|
|
38
|
+
},
|
|
11
39
|
"os": [
|
|
12
40
|
"darwin",
|
|
13
41
|
"linux",
|
|
@@ -18,17 +46,17 @@
|
|
|
18
46
|
"x64"
|
|
19
47
|
],
|
|
20
48
|
"optionalDependencies": {
|
|
21
|
-
"@lux-tech/opencode-ai-linux-arm64": "1.18.
|
|
22
|
-
"@lux-tech/opencode-ai-linux-x64-musl": "1.18.
|
|
23
|
-
"@lux-tech/opencode-ai-darwin-x64-baseline": "1.18.
|
|
24
|
-
"@lux-tech/opencode-ai-windows-x64": "1.18.
|
|
25
|
-
"@lux-tech/opencode-ai-linux-x64-baseline-musl": "1.18.
|
|
26
|
-
"@lux-tech/opencode-ai-linux-x64": "1.18.
|
|
27
|
-
"@lux-tech/opencode-ai-darwin-x64": "1.18.
|
|
28
|
-
"@lux-tech/opencode-ai-linux-x64-baseline": "1.18.
|
|
29
|
-
"@lux-tech/opencode-ai-linux-arm64-musl": "1.18.
|
|
30
|
-
"@lux-tech/opencode-ai-darwin-arm64": "1.18.
|
|
31
|
-
"@lux-tech/opencode-ai-windows-arm64": "1.18.
|
|
32
|
-
"@lux-tech/opencode-ai-windows-x64-baseline": "1.18.
|
|
49
|
+
"@lux-tech/opencode-ai-linux-arm64": "1.18.70",
|
|
50
|
+
"@lux-tech/opencode-ai-linux-x64-musl": "1.18.70",
|
|
51
|
+
"@lux-tech/opencode-ai-darwin-x64-baseline": "1.18.70",
|
|
52
|
+
"@lux-tech/opencode-ai-windows-x64": "1.18.70",
|
|
53
|
+
"@lux-tech/opencode-ai-linux-x64-baseline-musl": "1.18.70",
|
|
54
|
+
"@lux-tech/opencode-ai-linux-x64": "1.18.70",
|
|
55
|
+
"@lux-tech/opencode-ai-darwin-x64": "1.18.70",
|
|
56
|
+
"@lux-tech/opencode-ai-linux-x64-baseline": "1.18.70",
|
|
57
|
+
"@lux-tech/opencode-ai-linux-arm64-musl": "1.18.70",
|
|
58
|
+
"@lux-tech/opencode-ai-darwin-arm64": "1.18.70",
|
|
59
|
+
"@lux-tech/opencode-ai-windows-arm64": "1.18.70",
|
|
60
|
+
"@lux-tech/opencode-ai-windows-x64-baseline": "1.18.70"
|
|
33
61
|
}
|
|
34
62
|
}
|