mirror of
https://github.com/NeuralNomadsAI/CodeNomad.git
synced 2026-11-01 11:30:33 +00:00
chore(opencode): qualify and recommend runtime 2.2.1 (#1188)
## Summary
- Qualify OpenCode **2.2.1** (latest stable, 29 October) with the
existing locked **2.1.0 client/plugin** dependencies, and **recommend**
it.
- Keep the technical **minimum at 2.1.2**: no consumed contract changed,
so the minimum has no new reason to move.
- 2.1.2, 2.1.4 and 2.2.0 daemons stay ready and get an optional upgrade
offer. 2.2.1 is the `tested` version. Newer and custom labels keep
authenticated contract recognition.
- The reviewed-contract fast path lists the 2.1.2 minimum and the 2.2.1
target.
- The recommended version is updated in the help (all ten locales), both
READMEs, `CONTRIBUTING.md`, `dev-docs/OPENCODE_COMPATIBILITY.md` and the
architecture skill.
## Contract review (v2.1.4 → v2.2.0 → v2.2.1; 661 + 134 commits)
Reviewed from the exact tags `v2.1.4` (`68bc26b7da`), `v2.2.0`
(`1097e2668b`) and `v2.2.1` (`3ebcf9a32c`), the published npm packages,
and an authenticated OpenAPI dump from each official CLI running in its
own sandbox. The [changelog](https://opencode.ai/changelog) covers
2.2.0. It had no 2.2.1 entry at review time (29 October), so 2.2.1 was
reviewed from its commit log.
- **Authenticated OpenAPI:** 124 → 130 → **134 paths**, 149 → 156 →
**162 operations**. Each dump matches the tagged
`packages/protocol/openapi.json`.
- **2.2.0 adds** `GET /api/plugin/gui`; `POST
/api/experimental/generate/{text,image,decisions}`; `POST`/`DELETE
/api/experimental/fs/watch`; `GET /api/experimental/media/{hash}`; and
`GET /api/experimental/usage/limits`.
- **2.2.0 removes** `POST
/api/experimental/voice/session/{sessionID}/instructions`.
- **2.2.1 adds** six `/api/experimental/schedule` operations (list,
create, get, delete, pause, resume), gated by `experimental.schedules`.
- **Changed operations:**
- `GET /api/model` gains an optional `types` filter. Without it the
route lists chat models only. Image and decision models are new in
2.2.0, so the default listing matches 2.1.4.
- `GET /api/event` gains an optional `types` filter.
- `GET /api/vcs/diff` gains an optional `untracked` parameter.
- `POST /api/experimental/generate` becomes the deprecated alias of
`/generate/text`.
- Nine session, project and saved-permission routes drop
`LocationNotFoundError` from their 404 responses: they no longer boot a
Location ([#58997](https://github.com/anomalyco/opencode/pull/58997)).
- `GET /api/agent` can now answer 503 while plugins settle
([#59082](https://github.com/anomalyco/opencode/pull/59082)).
- In 2.2.1, the session log and persistent-PTY operation IDs move under
`experimental.*`. Their paths are unchanged.
- **Schemas:** all 103 consumed-family schemas are byte-identical from
2.1.4 to 2.2.1. These are `V2EventEncoded`, `Session.*` (messages,
parts, inbox, info), `Form.*`, `Permission.*`, `Prompt*`, `Event.*`,
`Location.*` and PTY/Shell. The session prompt, environment, message,
form/permission reply and RPC operations are unchanged too. The only
`Config.InfoEncoded` changes are additive opt-ins:
`experimental.media_blob`, `experimental.image_generate`,
`experimental.schedules` and `timezone`. Model `type`, prompt-cache
`cache` settings, `FileDiff.Info.more`, `Mcp.Server.title` and
`ServerInfo.hostname` are additive fields.
- **Admission:** every predicate CodeNomad's
`compatibility/negotiate.ts` checks holds on 2.2.0 and 2.2.1. That
covers the canonical API, `session_environment` and the 2.1 replay shape
(`native` without `state`, compaction `metadata` without `recent`).
- **Instance proxy:** none of the new routes is on the allowlist. That
includes the GUI plugin bundle, generation, file watch, media blobs,
usage limits and schedules. The removed voice route was never exposed.
The routes CodeNomad does proxy kept their paths.
- **Published declarations** (2.1.0 pins → 2.1.4 → 2.2.1):
- **Client:** 143 → 147 → 185 methods. 2.2.1 mirrors the experimental
methods under `client.experimental.*`. The only removal is
`voice.instructions`, which CodeNomad doesn't use. 2.2.1 doesn't send
the `experimental-media-uri` capability, so media reads stay inline.
- **Schema:** 2.2.0 adds media refs (`MediaRef`,
`Session.Message.MediaUser`, inbox `MediaUserPayload`), `generate`,
`usage-limits` and `Model.Type`. 2.2.1 adds `goal` and `schedule`. The
one removal since 2.1.0 is `SessionEvent.Source` (2.1.4).
- **Plugin:** 2.2.0 adds the `gui/*` SDK (excluded from the host
runtime) and `Host.packageID`. 2.2.1 adds
`SessionIdle`/`SessionIdleBackground`. The event `subscribe` domain
gains an optional `types` filter; CodeNomad's plugins don't subscribe
through it.
- **Typecheck:** the server and UI typecheck with **0 errors** against
the 2.1.4 and 2.2.1 client/schema/plugin declarations, through scratch
`paths` overrides. The pinned 2.1.0 control is also clean.
- **Host modules:** CodeNomad's three daemon-loaded bundles resolve
`@opencode/plugin` (`Plugin`), `/effect` (`Plugin`, `Rpc`, `Location`),
`/promise/adapter` (`fromPromise`), `/rpc` (`Rpc`), `effect` and
`effect/encoding` (`Base64Url`) from the host. `@opencode/schema` and
`@opencode/client` are bundled from the 2.1.0 pins, and
`@opencode/schema/location` imports are type-only. A probe plugin loaded
in an isolated **2.2.1** daemon resolves every one of these modules and
bindings, as on 2.1.4. The host Effect stays **4.0.1**, with the same
lockfile hash.
- **Private native services:** the pending-request reader and Missions
recurrence use keyed native services: `LocationServiceMap`, `Form`,
`Permission`, `Location`, `Job`, `Database`, `Session` and `Bus`. Their
keys are unchanged at v2.2.1, and the members CodeNomad calls are
unchanged. The changes are additive: `Permission.assertNotDenied`,
`Session.*WithRefs`, an `image` Job kind, and
`LocationServiceMap.canonical` normalizing paths.
- **Storage** (migrations from 2.1.4 to 2.2.1): `blob`/`blob_ref`
(always created; written only with `experimental.media_blob`) and
`schedule` are new. `session_pending` is dropped; CodeNomad never reads
it. A `session_v2.allowance` column is added and dropped within 2.2.0.
- The tables CodeNomad reads directly (`session_message`, `session_v2`,
`session_inbox`, `event`, `event_sequence`, `kv`) keep their shape.
- The pruning plugin's `media-blob.ts` already projects `media:<sha256>`
refs.
- The pruning fixture enables `media_blob` explicitly, so the
always-present `blob` table doesn't change its expectation.
- Missions reads `session_inbox` only by count and ID in production
code.
- **Behavior changes checked:**
- **Code Mode:** 2.2.1 moves programs onto one job queue
([#57976](https://github.com/anomalyco/opencode/pull/57976)). The
run-to-completion regression behind the 2.1.2 minimum passes on 2.1.4,
2.2.0 and 2.2.1: `{ total: 2000, beforeAwait: 1000, count: 1000 }`.
- **Session form polling** returns `[]` without booting a cold Location
([#59083](https://github.com/anomalyco/opencode/pull/59083)). Forms are
in memory, so nothing pending is hidden. This matches CodeNomad's
existing-only pending reader.
- **Location keys and `session.create` directories** are canonical on
POSIX too: trailing slash removed, `posix.normalize`
([#59327](https://github.com/anomalyco/opencode/pull/59327)). Windows
already normalized. This is low risk; it was reviewed in source only,
since the location and ownership fixtures run on Windows and the POSIX
certification covers migration, Code Mode and Git-degraded.
- **Location keep-alive:** the changelog line "keep project services
alive … with a 24-hour inactivity cap"
([#57274](https://github.com/anomalyco/opencode/pull/57274)) doesn't
match the shipped tree. That commit was superseded before 2.1.4, and no
cap exists at v2.2.0 or v2.2.1. From 2.1.4 to 2.2.1,
`location-activity.ts` only canonicalizes paths and generalizes Job
kinds. Long-waiting Missions sessions keep their Location as on 2.1.4.
- **Plugin readiness:** each runner step and tool call now waits for
plugin activation
([#51133](https://github.com/anomalyco/opencode/pull/51133)), and
agent/provider lists wait for plugins. Presence leases stay outside the
discovery root, so this adds no reload.
- **Service lifecycle:** registration and config renames are retried on
Windows. The managed service ignores a saved `XDG_STATE_HOME`
([#58815](https://github.com/anomalyco/opencode/pull/58815)); CodeNomad
never sets it. The `OPENCODE_SERVER_USERNAME` change was added and
reverted within 2.2.0. Detached POSIX children are killed when OpenCode
exits; service start uses its own spawn path.
- **2.2.1 opt-ins:**
- schedules, both the API and the agent tool, need
`experimental.schedules`;
- `image_generate` needs `experimental.image_generate`;
- `/goal` runs only when invoked;
- the subagent tool description now invites follow-ups to *running*
subagents, with the same mechanics as 2.1.4.
- **Other changes:** compaction sizing from the provider's count, MCP
malformed-tool tolerance, OAuth refresh coordination
([#54023](https://github.com/anomalyco/opencode/pull/54023)) and
webfetch redirect rules. They touch no consumed contract and were
reviewed in source; of these, the native suites exercise compaction
only.
- **Upstream #52922** (Bus routing before Location fanout) is still
open: keep the discovery and event-relay mitigations.
**Verdict:** no consumed contract changed from 2.1.4 to 2.2.1.
- The **2.1.0 client/plugin pins can stay**.
- The **2.1.2 minimum has no reason to move**.
- 2.2.1 is admitted through the existing contract recognition, and
nothing found blocks recommending it once the native suites pass on it.
- No CodeNomad bug was found.
Bumping the pins is optional. It would bring the 2.2 client's
discard-tool-result-payload option and its "register running sessions
missed while disconnected" fix
([#53012](https://github.com/anomalyco/opencode/pull/53012)). It would
also move the replay reducer, so it belongs in its own PR. The UI and
server already typecheck against 2.2.1.
**Not verified here:**
- the full native suites against 2.2.0/2.2.1 (only the Code Mode
regression and the host-module probe ran);
- the TUI pruning companion under OpenTUI 0.7. It uses only
`Plugin.define`, `ctx.data.session` and `ctx.data.listen`, so the 0.7
renderable changes don't apply, but this wasn't run;
- POSIX canonicalization on a real Linux/macOS runtime;
- the 2.2.1 release notes, which were unpublished at review time.
## Isolated Windows qualification
Base: dev `157766206`; Node **25.2.1** (local; CI runs the pinned
24.20.0); exact official CLI **2.2.1**; unchanged locked client/plugin
**2.1.0**.
- **Build and checks:** production server and native plugin builds
(pruning, automation, Missions), root typecheck.
- **Native runtime:** Code Mode job ordering (`{ total: 2000,
beforeAwait: 1000, count: 1000 }` on 2.2.1), plugin runtime, automation;
complete pruning, history, proxy, navigation and media; Location,
worktree families/management and event relay; permission receipts; Git
init/degraded.
- **Missions:** contract, family control, native and trajectory; **all
11 recurring Mission journeys** (`ABCDGELFWQN`).
- **Sessions:** environment, fork, aside, interrupt, lifecycle, blank
cleanup (`--conditions=browser`, as in CI), compaction isolation, prompt
skills, provider usage/accounts/selection, service usage, web search,
plugin packages, output limit, Promise-tool failure, subagent depth,
temporary workspaces.
- **Migrations:** history from **2.1.0, 2.1.2, 2.1.4 and 2.2.0** to
2.2.1.
- **Installation:** fresh install, native upgrade and legacy replacement
fixtures.
- **Units after the recommendation change:**
compatibility/transport/update **35/35**; full server **2,628 passed, 8
skipped, 1 cancelled** (`index.test.ts` shutdown test timed out at 5 s
under full-suite load and passes **4/4** alone); ten-locale help checks
pass.
In CI, `latest` resolves to 2.2.1: the compatibility job runs the native
suites against the minimum and latest on Windows, and the migration and
Git-degraded certification runs them on Ubuntu, Windows and macOS. WSL,
packaged desktop, installers/updater end-to-end and real mobile devices
keep their separate release gates.
This commit is contained in:
parent
1577662068
commit
ca514ed2ea
50 changed files with 55 additions and 55 deletions
|
|
@ -17,7 +17,7 @@ description: |
|
|||
|
||||
## Native OpenCode V2 Baseline
|
||||
|
||||
- Runtime requirements live in `opencode/runtime-support.ts`: OpenCode 2.1.2 is the minimum, required by Code Mode's JavaScript job ordering (reproduced by `scripts/test-codemode-jobs-native.mjs`) and the `native`/`metadata.keepID` replay contract consumed by the pinned client reducer; 2.1.4 is the recommendation. Each blocking requirement needs demonstrated API/behavior evidence; distinguish technically incompatible, recommended/tested and unverified versions. Shared-daemon restart is explicit and uses the native-parent launch bridge. See `dev-docs/OPENCODE_COMPATIBILITY.md` for the version boundaries and `dev-docs/OPENCODE_RUNTIME_SETUP.md` for setup, installation and admission.
|
||||
- Runtime requirements live in `opencode/runtime-support.ts`: OpenCode 2.1.2 is the minimum, required by Code Mode's JavaScript job ordering (reproduced by `scripts/test-codemode-jobs-native.mjs`) and the `native`/`metadata.keepID` replay contract consumed by the pinned client reducer; 2.2.1 is the recommendation. Each blocking requirement needs demonstrated API/behavior evidence; distinguish technically incompatible, recommended/tested and unverified versions. Shared-daemon restart is explicit and uses the native-parent launch bridge. See `dev-docs/OPENCODE_COMPATIBILITY.md` for the version boundaries and `dev-docs/OPENCODE_RUNTIME_SETUP.md` for setup, installation and admission.
|
||||
|
||||
- Server and UI pin the official `@opencode/client@2.1.0` together; native plugins pin `@opencode/plugin@2.1.0` for authoring and use `packages/server/scripts/native-plugin-build.mjs` to keep Effect/public SDK modules external. The daemon supplies their runtime instances. The canonical server-info client is `server.info()`, adapted to the authenticated discovered route. Review official V2 docs, installed declarations, generated wire paths and native integration tests when upgrading. Never infer a minimum from the latest publication or dependency pin alone. Update `dev-docs/OPENCODE_COMPATIBILITY.md` in place and retain detailed evidence in PR/CI logs. The runtime CLI is managed independently.
|
||||
- Do not use `@opencode-ai/sdk`, `@opencode-ai/sdk/v2/client`, or `createOpencodeClient()`; follow installed `@opencode/client` declarations.
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ Then open a pull request on GitHub targeting the `dev` branch.
|
|||
|
||||
### OpenCode V2 Boundaries
|
||||
|
||||
- Server and UI pin `@opencode/client@2.1.0`; native plugins pin `@opencode/plugin@2.1.0` for authoring but resolve Effect and the public SDK from the daemon at runtime. Upgrade pins together with the lockfile and isolated native validation. The runtime CLI is managed independently; its demonstrated minimum and recommended/tested versions remain separate constants in `packages/server/src/opencode/runtime-support.ts` (minimum 2.1.2 for Code Mode's reproduced JavaScript job-ordering defect on 2.1.0/2.1.1, recommended 2.1.4; the native replay contract dates from 2.1.0). A build pin alone is never a runtime requirement, and unfamiliar newer/custom labels retain authenticated contract recognition. Review current OpenCode documentation, installed declarations, and proxy/API parity whenever the client contract changes.
|
||||
- Server and UI pin `@opencode/client@2.1.0`; native plugins pin `@opencode/plugin@2.1.0` for authoring but resolve Effect and the public SDK from the daemon at runtime. Upgrade pins together with the lockfile and isolated native validation. The runtime CLI is managed independently; its demonstrated minimum and recommended/tested versions remain separate constants in `packages/server/src/opencode/runtime-support.ts` (minimum 2.1.2 for Code Mode's reproduced JavaScript job-ordering defect on 2.1.0/2.1.1, recommended 2.2.1; the native replay contract dates from 2.1.0). A build pin alone is never a runtime requirement, and unfamiliar newer/custom labels retain authenticated contract recognition. Review current OpenCode documentation, installed declarations, and proxy/API parity whenever the client contract changes.
|
||||
- Upgrade references: [OpenCode V2 changelog](https://opencode.ai/changelog) (GitHub Releases list V1), the exact release tags (`vX.Y.Z`) or published npm packages for source/declaration deltas, [OpenCode V2 documentation](https://opencode.ai/v2/docs/), and `node_modules/@opencode/client/dist/promise/`.
|
||||
- `packages/server/src/workspaces/opencode-service.ts` uses the selected host or WSL CLI's official `service status`, `service start`, and `service get password` lifecycle to connect to one externally owned global daemon. CodeNomad owns no private port, database, registration, or daemon PID and never stops the daemon on backend shutdown.
|
||||
- WSL requires Windows localhost forwarding and runs the Linux CLI lifecycle inside the distribution; never inspect or signal Linux PIDs from Windows.
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ npx @neuralnomads/codenomad-dev --password "your-password" --launch
|
|||
|
||||
## OpenCode V2 and upgrading from 0.19.x
|
||||
|
||||
CodeNomad **1.0.0 requires OpenCode V2**: **2.1.2 minimum, 2.1.4 recommended**, including the Code Mode JavaScript job-ordering fix. OpenCode V1 and the former V2 beta protocol are not supported. The current requirements are maintained in [`runtime-support.ts`](packages/server/src/opencode/runtime-support.ts).
|
||||
CodeNomad **1.0.0 requires OpenCode V2**: **2.1.2 minimum, 2.2.1 recommended**, including the Code Mode JavaScript job-ordering fix. OpenCode V1 and the former V2 beta protocol are not supported. The current requirements are maintained in [`runtime-support.ts`](packages/server/src/opencode/runtime-support.ts).
|
||||
|
||||
- **One shared OpenCode service** owns sessions and messages. Closing a CodeNomad tab, window, or backend leaves that service running. Desktop tabs, drafts, and layout are restored separately for each window.
|
||||
- **Use an existing CLI or install from CodeNomad.** Executables on `PATH` are preferred; the setup screen also supports a selected executable and a shared user npm installation. The former private CodeNomad OpenCode installation is no longer used.
|
||||
|
|
@ -166,7 +166,7 @@ Add SideCar as:
|
|||
|
||||
## Requirements
|
||||
|
||||
- **[OpenCode V2](https://opencode.ai/v2/docs/)** — 2.1.2 minimum and 2.1.4 recommended for CodeNomad 1.0.0. Install/select it through desktop setup or provide a compatible CLI on the server host.
|
||||
- **[OpenCode V2](https://opencode.ai/v2/docs/)** — 2.1.2 minimum and 2.2.1 recommended for CodeNomad 1.0.0. Install/select it through desktop setup or provide a compatible CLI on the server host.
|
||||
- **[Git](https://git-scm.com/downloads)** — a prerequisite for full functionality (repository identity, Git operations and worktrees). Git must be executable in the CodeNomad backend's `PATH`; it is not bundled with the desktop installers.
|
||||
- **Node.js and npm** — required for the standalone npm server and source builds, bundled with desktop releases. Use **Node.js 24 LTS**; development and release builds use the version in [`.node-version`](.node-version) (currently 24.20.0).
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ view; release notes are at [opencode.ai/changelog](https://opencode.ai/changelog
|
|||
(GitHub Releases cover V1 only). Keep results in the PR and CI logs, never as
|
||||
per-version sections here.
|
||||
|
||||
Minimum runtime **2.1.2**, recommended **2.1.4** (`runtime-support.ts`), with
|
||||
Minimum runtime **2.1.2**, recommended **2.2.1** (`runtime-support.ts`), with
|
||||
**2.1.0** client/plugin pins. Earlier native Code Mode breaks JavaScript
|
||||
run-to-completion (lost shared updates, async caller resumed before its first await);
|
||||
`scripts/test-codemode-jobs-native.mjs` keeps the red/green regression, run in
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Die Electron-Debian-Installation richtet die Chromium-Sandbox ein. Deaktivieren
|
|||
|
||||
| Anforderung | Wo sie verfügbar sein muss | Aktuelle Anforderung |
|
||||
| --- | --- | --- |
|
||||
| OpenCode-CLI | Ausgewählter Ausführungshost, gegebenenfalls einschließlich der ausgewählten WSL-Distribution | Mindestens **2.1.2**; **2.1.4** ist das empfohlene/qualifizierte Ziel. Neuere oder angepasste Versionen werden anhand der Schnittstellenverträge geprüft, nicht wegen fehlender Tests ausgeschlossen. |
|
||||
| OpenCode-CLI | Ausgewählter Ausführungshost, gegebenenfalls einschließlich der ausgewählten WSL-Distribution | Mindestens **2.1.2**; **2.2.1** ist das empfohlene/qualifizierte Ziel. Neuere oder angepasste Versionen werden anhand der Schnittstellenverträge geprüft, nicht wegen fehlender Tests ausgeschlossen. |
|
||||
| Git | Im `PATH` des CodeNomad-Backend-Kontos | Erforderlich für Repository-Identität, Git-Vorgänge und Worktrees. |
|
||||
| Node.js/npm | Host für eigenständigen Server und Quellcode-Builds | Node.js 24 LTS; reproduzierbare Quellcode-Builds verwenden `.node-version` (**24.20.0**). In den Desktop-Laufzeit-/Installationsressourcen enthalten. |
|
||||
| Arbeitsbereichsordner | Für das Backend zugänglicher Datenträger | Ein ausdrücklich geöffneter physischer Ordner, kein von einem Remote-Browser angenommener gerätelokaler Ordner. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Installierte Programmdatei und laufender Dienst können unterschiedliche Version
|
|||
| Einstufung | Aktuelle Anforderung | Bedeutung |
|
||||
| --- | --- | --- |
|
||||
| Minimum | OpenCode **2.1.2** | Korrekte Reihenfolge von JavaScript-Jobs in Code Mode sowie das native Wiedergabe- und Komprimierungsformat von 2.1; mit früheren Versionen gespeicherte Unterhaltungen bleiben nach dem Update lesbar. |
|
||||
| Empfohlen | OpenCode **2.1.4** | Qualifiziertes Ziel, getrennt vom technischen Minimum. |
|
||||
| Empfohlen | OpenCode **2.2.1** | Qualifiziertes Ziel, getrennt vom technischen Minimum. |
|
||||
| Ungeprüft | Neuere oder angepasste, nicht vollständig validierte Version | Nicht allein wegen fehlender Tests abgelehnt; geprüft werden die tatsächlichen API-Verträge des verbundenen Dienstes. |
|
||||
|
||||
Auch die erforderlichen Verträge für Sitzungen, Berechtigungen, Forms, Posteingang und Sitzungsumgebung müssen verfügbar sein. Eine Programmversion allein beweist nicht deren Unterstützung durch den verbundenen Dienst. Meldet die Einrichtung einen nicht unterstützten laufenden Dienst, wählen/installieren Sie eine unterstützte CLI und führen Sie bei Bereitschaft den expliziten Neustart des gemeinsamen Dienstes aus.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Dieselbe Oberfläche unterstützt [mehrere Projekt-Tabs und Worktrees](projects.
|
|||
|
||||
1. Installieren Sie Node.js 24 LTS und npm; die festgelegte Build-Laufzeit des Repositorys ist 24.20.0. Desktop-Pakete enthalten Node/npm.
|
||||
2. Stellen Sie Git im **PATH des Backend-Prozesses** bereit. Git allein in WSL genügt für ein Windows-Backend nicht.
|
||||
3. Installieren oder wählen Sie OpenCode: Erforderliches Minimum ist **2.1.2**, empfohlenes Qualifizierungsziel **2.1.4**. Neuere/angepasste Builds durchlaufen Kompatibilitätsprüfungen, keine Positivliste getesteter Versionen. Siehe [OpenCode-Einrichtung](opencode.md).
|
||||
3. Installieren oder wählen Sie OpenCode: Erforderliches Minimum ist **2.1.2**, empfohlenes Qualifizierungsziel **2.2.1**. Neuere/angepasste Builds durchlaufen Kompatibilitätsprüfungen, keine Positivliste getesteter Versionen. Siehe [OpenCode-Einrichtung](opencode.md).
|
||||
4. Wählen Sie den Startordner des Servers oder übergeben Sie `--workspace-root` ausdrücklich.
|
||||
|
||||
Ohne Git bleiben Unterhaltungen nur im ausdrücklich geöffneten physischen Ordner verfügbar; Git- und Worktree-Vorgänge schlagen fehl. Installieren Sie Git und starten Sie das Backend nach einer PATH-Änderung neu. Das Arbeitsbereichs-Stammverzeichnis begrenzt Öffnen/Durchsuchen, nicht Agentenausführung: siehe [Sicherheit](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Lässt sich ein zugehöriger Worktree oder Unterhaltungsort nicht überprüfen,
|
|||
## OpenCode-Laufzeit und WSL {#opencode-runtime}
|
||||
|
||||
1. Öffnen Sie **Einstellungen → OpenCode** und prüfen Sie die Karte **OpenCode-Version** (installierte Version und Status des laufenden Dienstes), dann die gewählte Programmdatei unter **OpenCode-Binärdatei**.
|
||||
2. Verwenden Sie die unterstützte Installation/Aktualisierung, falls die erforderliche Laufzeit fehlt. Aktuelles Minimum: **2.1.2**; empfohlen/qualifiziert: **2.1.4**.
|
||||
2. Verwenden Sie die unterstützte Installation/Aktualisierung, falls die erforderliche Laufzeit fehlt. Aktuelles Minimum: **2.1.2**; empfohlen/qualifiziert: **2.2.1**.
|
||||
3. Weicht die installierte CLI vom laufenden Dienst ab, entscheiden Sie ausdrücklich über einen Neustart des gemeinsamen Dienstes.
|
||||
|
||||
**OpenCode-Dienst neu starten** ist unter **Fehlerbehebung** verfügbar und benötigt Bestätigung. Es unterbricht aktive Arbeit in jedem verbundenen Client, behält aber Sitzungsverlauf. Konfigurationsneuladen ist separat: Es behält den Prozess, erstellt aber geladene Locations neu und storniert offene Fragen/Berechtigungen. Beides ist keine harmlose Aktualisierung.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ The Electron Debian installation configures Chromium's sandbox. Do not disable t
|
|||
|
||||
| Requirement | Where it must be available | Current requirement |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | Selected execution host, including the selected WSL distribution where applicable | Minimum **2.1.2**; **2.1.4** is the recommended/qualified target. Newer or custom versions undergo contract validation rather than an untested-version ban. |
|
||||
| OpenCode CLI | Selected execution host, including the selected WSL distribution where applicable | Minimum **2.1.2**; **2.2.1** is the recommended/qualified target. Newer or custom versions undergo contract validation rather than an untested-version ban. |
|
||||
| Git | CodeNomad backend account's `PATH` | Required for repository identity, Git operations and worktrees. |
|
||||
| Node.js/npm | Standalone-server and source-build host | Node.js 24 LTS; reproducible source builds use `.node-version` (**24.20.0**). Bundled with desktop runtime/installation resources. |
|
||||
| Workspace folder | Backend-accessible disk | An explicitly opened physical folder, not a device-local folder inferred by a remote browser. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ The installed executable and the running service can have different versions. Co
|
|||
| Classification | Current requirement | Meaning |
|
||||
| --- | --- | --- |
|
||||
| Minimum | OpenCode **2.1.2** | Correct JavaScript job ordering in Code Mode, alongside the 2.1 native replay and compaction format; conversations saved by earlier versions stay readable after updating. |
|
||||
| Recommended | OpenCode **2.1.4** | Qualified target, distinct from the technical minimum. |
|
||||
| Recommended | OpenCode **2.2.1** | Qualified target, distinct from the technical minimum. |
|
||||
| Unverified | A newer or custom version not fully validated | Not rejected merely for being untested; the connected service's actual API contracts are checked. |
|
||||
|
||||
The required session, permission, Form, inbox and session-environment contracts must also be available. An executable version alone does not prove that the connected service supports them. If setup reports an unsupported running service, select/install a supported CLI and use the explicit shared-service restart when ready.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ The same UI supports [multiple project tabs and worktrees](projects.md), [conver
|
|||
|
||||
1. Install Node.js 24 LTS and npm; the repository's pinned build runtime is 24.20.0. Desktop packages include Node/npm.
|
||||
2. Put Git on the **backend process's PATH**. Git inside WSL alone does not satisfy a Windows backend.
|
||||
3. Install or select OpenCode: the required minimum is **2.1.2**, with **2.1.4** the recommended qualification target. Newer or custom builds undergo compatibility checks, not a tested-version allowlist. See [OpenCode setup](opencode.md).
|
||||
3. Install or select OpenCode: the required minimum is **2.1.2**, with **2.2.1** the recommended qualification target. Newer or custom builds undergo compatibility checks, not a tested-version allowlist. See [OpenCode setup](opencode.md).
|
||||
4. Choose the folder from which to start the server, or pass `--workspace-root` explicitly.
|
||||
|
||||
Without Git, conversations remain available only in the explicitly opened physical folder; Git and worktree operations fail. Install Git and restart the backend after a PATH change. A workspace root limits opening/browsing, not agent execution: see [Security](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ If an owned worktree or conversation placement cannot be verified, open its phys
|
|||
## OpenCode runtime and WSL {#opencode-runtime}
|
||||
|
||||
1. Open **Preferences → OpenCode** and check the **OpenCode version** card (installed version and running service status), then the selected executable under **OpenCode Binary**.
|
||||
2. Use the supported installation/update action when the required runtime is missing. Current minimum: **2.1.2**; recommended/qualified: **2.1.4**.
|
||||
2. Use the supported installation/update action when the required runtime is missing. Current minimum: **2.1.2**; recommended/qualified: **2.2.1**.
|
||||
3. If the installed CLI differs from the running service, decide explicitly whether to restart the shared service.
|
||||
|
||||
**Restart OpenCode service** is available under **Troubleshooting** and requires confirmation. It interrupts active work in every connected client, but retains session history. Configuration reload is a separate action: it keeps the process but rebuilds loaded Locations and cancels pending questions/permissions. Neither is a harmless refresh.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ La instalación Debian de Electron configura el aislamiento de Chromium. No desa
|
|||
|
||||
| Requisito | Dónde debe estar disponible | Requisito actual |
|
||||
| --- | --- | --- |
|
||||
| CLI de OpenCode | Equipo de ejecución seleccionado, incluida la distribución WSL seleccionada cuando corresponda | Mínimo **2.1.2**; **2.1.4** es la versión recomendada/verificada. Las versiones más nuevas o personalizadas pasan una validación de contratos en lugar de prohibirse por no haberse probado. |
|
||||
| CLI de OpenCode | Equipo de ejecución seleccionado, incluida la distribución WSL seleccionada cuando corresponda | Mínimo **2.1.2**; **2.2.1** es la versión recomendada/verificada. Las versiones más nuevas o personalizadas pasan una validación de contratos en lugar de prohibirse por no haberse probado. |
|
||||
| Git | `PATH` de la cuenta del backend de CodeNomad | Necesario para la identidad del repositorio, las operaciones Git y los worktrees. |
|
||||
| Node.js/npm | Equipo del servidor independiente y de compilación desde el código fuente | Node.js 24 LTS; las compilaciones reproducibles desde el código fuente usan `.node-version` (**24.20.0**). Incluido con los recursos de ejecución/instalación de escritorio. |
|
||||
| Carpeta del espacio de trabajo | Disco accesible para el backend | Una carpeta física abierta explícitamente, no una carpeta local del dispositivo deducida por un navegador remoto. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ El ejecutable instalado y el servicio en ejecución pueden tener versiones disti
|
|||
| Clasificación | Requisito actual | Significado |
|
||||
| --- | --- | --- |
|
||||
| Mínima | OpenCode **2.1.2** | Orden correcto de las tareas JavaScript en Code Mode, además del formato nativo de reproducción y compactación de 2.1; las conversaciones guardadas con versiones anteriores siguen siendo legibles tras actualizar. |
|
||||
| Recomendada | OpenCode **2.1.4** | Objetivo verificado, distinto del mínimo técnico. |
|
||||
| Recomendada | OpenCode **2.2.1** | Objetivo verificado, distinto del mínimo técnico. |
|
||||
| No verificada | Una versión más nueva o personalizada no validada por completo | No se rechaza simplemente por no estar probada; se comprueban los contratos API reales del servicio conectado. |
|
||||
|
||||
También deben estar disponibles los contratos requeridos de sesiones, permisos, formularios, bandeja de entrada y entorno de sesión. La versión de un ejecutable no demuestra por sí sola que el servicio conectado los admita. Si la configuración inicial informa de un servicio en ejecución no compatible, selecciona/instala una CLI compatible y usa el reinicio explícito del servicio compartido cuando estés listo.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ La misma interfaz admite [varias pestañas de proyecto y worktrees](projects.md)
|
|||
|
||||
1. Instala Node.js 24 LTS y npm; el entorno de compilación fijado por el repositorio es 24.20.0. Los paquetes de escritorio incluyen Node/npm.
|
||||
2. Pon Git en el **PATH del proceso del backend**. Git solo dentro de WSL no satisface a un backend Windows.
|
||||
3. Instala o selecciona OpenCode: el mínimo requerido es **2.1.2**, con **2.1.4** como objetivo recomendado de verificación. Las compilaciones más nuevas o personalizadas pasan comprobaciones de compatibilidad, no una lista de versiones probadas permitidas. Consulta [configuración de OpenCode](opencode.md).
|
||||
3. Instala o selecciona OpenCode: el mínimo requerido es **2.1.2**, con **2.2.1** como objetivo recomendado de verificación. Las compilaciones más nuevas o personalizadas pasan comprobaciones de compatibilidad, no una lista de versiones probadas permitidas. Consulta [configuración de OpenCode](opencode.md).
|
||||
4. Elige la carpeta desde la que iniciar el servidor o pasa `--workspace-root` explícitamente.
|
||||
|
||||
Sin Git, las conversaciones siguen disponibles solo en la carpeta física abierta explícitamente; las operaciones Git y worktree fallan. Instala Git y reinicia el backend tras cambiar PATH. Una raíz de espacio de trabajo limita la apertura/exploración, no la ejecución del agente: consulta [Seguridad](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Si no puede verificarse un worktree propio o la ubicación de una conversación,
|
|||
## Entorno de ejecución OpenCode y WSL {#opencode-runtime}
|
||||
|
||||
1. Abre **Preferencias → OpenCode** y comprueba la tarjeta **Versión de OpenCode** (versión instalada y estado del servicio en ejecución) y después el ejecutable seleccionado en **Binario de OpenCode**.
|
||||
2. Usa la acción compatible de instalación/actualización si falta el entorno requerido. Mínimo actual: **2.1.2**; recomendado/verificado: **2.1.4**.
|
||||
2. Usa la acción compatible de instalación/actualización si falta el entorno requerido. Mínimo actual: **2.1.2**; recomendado/verificado: **2.2.1**.
|
||||
3. Si la CLI instalada difiere del servicio en ejecución, decide explícitamente si reiniciar el servicio compartido.
|
||||
|
||||
**Reiniciar servicio OpenCode** está disponible en **Solución de problemas** y requiere confirmación. Interrumpe el trabajo activo de todos los clientes conectados, pero conserva el historial de sesiones. Recargar la configuración es una acción separada: mantiene el proceso, pero reconstruye las Locations cargadas y cancela preguntas/permisos pendientes. Ninguna es una actualización inofensiva.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ L’installation Debian d’Electron configure le bac à sable Chromium. Ne dés
|
|||
|
||||
| Prérequis | Où il doit être disponible | Exigence actuelle |
|
||||
| --- | --- | --- |
|
||||
| CLI OpenCode | Hôte d’exécution sélectionné, y compris la distribution WSL choisie le cas échéant | Minimum **2.1.2** ; **2.1.4** est la cible recommandée/qualifiée. Les versions plus récentes ou personnalisées passent une validation des contrats plutôt qu’une interdiction des versions non testées. |
|
||||
| CLI OpenCode | Hôte d’exécution sélectionné, y compris la distribution WSL choisie le cas échéant | Minimum **2.1.2** ; **2.2.1** est la cible recommandée/qualifiée. Les versions plus récentes ou personnalisées passent une validation des contrats plutôt qu’une interdiction des versions non testées. |
|
||||
| Git | `PATH` du compte du backend CodeNomad | Requis pour l’identité des dépôts, les opérations Git et les worktrees. |
|
||||
| Node.js/npm | Hôte du serveur autonome et de compilation depuis les sources | Node.js 24 LTS ; les compilations reproductibles utilisent `.node-version` (**24.20.0**). Fourni avec les ressources d’exécution/d’installation de bureau. |
|
||||
| Dossier de travail | Disque accessible au backend | Dossier physique explicitement ouvert, pas un dossier local à l’appareil déduit par un navigateur distant. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ L’exécutable installé et le service actif peuvent avoir des versions différ
|
|||
| Classification | Exigence actuelle | Signification |
|
||||
| --- | --- | --- |
|
||||
| Minimum | OpenCode **2.1.2** | Ordre correct d’exécution des tâches JavaScript dans Code Mode, ainsi que le format natif de rejeu et de compaction de la 2.1 ; les conversations enregistrées par les versions antérieures restent lisibles après la mise à jour. |
|
||||
| Recommandée | OpenCode **2.1.4** | Cible qualifiée, distincte du minimum technique. |
|
||||
| Recommandée | OpenCode **2.2.1** | Cible qualifiée, distincte du minimum technique. |
|
||||
| Non vérifiée | Version plus récente ou personnalisée non entièrement validée | Non rejetée simplement parce que non testée ; les contrats API réels du service connecté sont vérifiés. |
|
||||
|
||||
Les contrats requis de session, permission, Form, boîte de réception et environnement de session doivent aussi être disponibles. Une version d’exécutable seule ne prouve pas que le service connecté les prend en charge. Si la configuration signale un service actif non pris en charge, sélectionnez/installez une CLI prise en charge et utilisez le redémarrage explicite du service partagé lorsque vous êtes prêt.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ La même interface prend en charge [plusieurs onglets de projet et worktrees](pr
|
|||
|
||||
1. Installez Node.js 24 LTS et npm ; la version d’exécution épinglée du dépôt pour la compilation est 24.20.0. Les paquets de bureau incluent Node/npm.
|
||||
2. Placez Git dans le **PATH du processus backend**. Git dans WSL seul ne suffit pas pour un backend Windows.
|
||||
3. Installez ou sélectionnez OpenCode : le minimum requis est **2.1.2**, avec **2.1.4** comme cible de qualification recommandée. Les versions plus récentes ou personnalisées passent des contrôles de compatibilité, pas une liste de versions testées autorisées. Consultez la [configuration d’OpenCode](opencode.md).
|
||||
3. Installez ou sélectionnez OpenCode : le minimum requis est **2.1.2**, avec **2.2.1** comme cible de qualification recommandée. Les versions plus récentes ou personnalisées passent des contrôles de compatibilité, pas une liste de versions testées autorisées. Consultez la [configuration d’OpenCode](opencode.md).
|
||||
4. Choisissez le dossier depuis lequel démarrer le serveur, ou passez explicitement `--workspace-root`.
|
||||
|
||||
Sans Git, les conversations restent disponibles uniquement dans le dossier physique explicitement ouvert ; les opérations Git et worktree échouent. Installez Git et redémarrez le backend après une modification de PATH. Une racine d’espace de travail limite l’ouverture/la navigation, pas l’exécution de l’agent : voir [Sécurité](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Si un worktree détenu ou l’emplacement d’une conversation ne peut être vé
|
|||
## Environnement OpenCode et WSL {#opencode-runtime}
|
||||
|
||||
1. Ouvrez **Préférences → OpenCode** et vérifiez la carte **Version d’OpenCode** (version installée et état du service actif), puis l’exécutable sélectionné sous **Binaire OpenCode**.
|
||||
2. Utilisez l’action d’installation/mise à jour prise en charge si l’environnement requis manque. Minimum actuel : **2.1.2** ; recommandé/qualifié : **2.1.4**.
|
||||
2. Utilisez l’action d’installation/mise à jour prise en charge si l’environnement requis manque. Minimum actuel : **2.1.2** ; recommandé/qualifié : **2.2.1**.
|
||||
3. Si la CLI installée diffère du service actif, décidez explicitement s’il faut redémarrer le service partagé.
|
||||
|
||||
**Redémarrer le service OpenCode** est disponible sous **Dépannage** et exige confirmation. Cela interrompt le travail actif de tous les clients connectés mais conserve l’historique. Le rechargement de configuration est distinct : il garde le processus mais reconstruit les Locations chargées et annule les questions/autorisations en attente. Aucun n’est une actualisation anodine.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ chmod +x CodeNomad-Tauri-linux-x64-<version>.AppImage
|
|||
|
||||
| דרישה | היכן עליה להיות זמינה | הדרישה הנוכחית |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | מארח ההרצה שנבחר, לרבות הפצת WSL שנבחרה כשמתאים | מינימום **2.1.2**; **2.1.4** היא הגרסה המומלצת/שנבדקה. גרסאות חדשות או מותאמות עוברות אימות חוזים ולא חסימה מפני שלא נבדקו. |
|
||||
| OpenCode CLI | מארח ההרצה שנבחר, לרבות הפצת WSL שנבחרה כשמתאים | מינימום **2.1.2**; **2.2.1** היא הגרסה המומלצת/שנבדקה. גרסאות חדשות או מותאמות עוברות אימות חוזים ולא חסימה מפני שלא נבדקו. |
|
||||
| Git | ב־`PATH` של חשבון שרת הקצה של CodeNomad | נדרש לזהות מאגר, לפעולות Git ול־worktrees. |
|
||||
| Node.js/npm | מארח שרת עצמאי ובנייה מקוד מקור | Node.js 24 LTS; בניות שחזוריות מקוד מקור משתמשות ב־`.node-version` (**24.20.0**). כלול במשאבי הריצה/ההתקנה לשולחן העבודה. |
|
||||
| תיקיית סביבת עבודה | דיסק נגיש לשרת הקצה | תיקייה פיזית שנפתחה במפורש, לא תיקייה מקומית למכשיר שהוסקה מדפדפן מרוחק. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ CodeNomad מתחבר לשירות OpenCode משותף במארח ההרצה. ב
|
|||
| סיווג | דרישה נוכחית | משמעות |
|
||||
| --- | --- | --- |
|
||||
| מינימום | OpenCode **2.1.2** | סדר ביצוע תקין של משימות JavaScript ב־Code Mode, לצד פורמט ההפעלה החוזרת והדחיסה המקורי של 2.1; שיחות שנשמרו בגרסאות קודמות נשארות קריאות לאחר העדכון. |
|
||||
| מומלצת | OpenCode **2.1.4** | יעד שנבדק, בנפרד מהמינימום הטכני. |
|
||||
| מומלצת | OpenCode **2.2.1** | יעד שנבדק, בנפרד מהמינימום הטכני. |
|
||||
| לא מאומתת | גרסה חדשה או מותאמת שלא אומתה במלואה | אינה נדחית רק מפני שלא נבדקה; חוזי ה־API בפועל של השירות המחובר נבדקים. |
|
||||
|
||||
גם החוזים הנדרשים לסשנים, אישורים, טפסים, תיבת קלט וסביבת סשן חייבים להיות זמינים. גרסת קובץ הרצה לבדה אינה מוכיחה שהשירות המחובר תומך בהם. אם ההגדרה מדווחת על שירות פועל לא נתמך, בחרו/התקינו CLI נתמך והשתמשו בהפעלה מחדש מפורשת של השירות המשותף כשתהיו מוכנים.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
1. התקינו Node.js 24 LTS ו־npm; סביבת הבנייה המקובעת במאגר היא 24.20.0. חבילות שולחן העבודה כוללות Node/npm.
|
||||
2. הוסיפו Git ל־**PATH של תהליך שרת הקצה**. Git בתוך WSL בלבד אינו מספיק לשרת קצה ב־Windows.
|
||||
3. התקינו או בחרו OpenCode: המינימום הנדרש הוא **2.1.2**, ו־**2.1.4** היא הגרסה המומלצת לבדיקה. בניות חדשות או מותאמות עוברות בדיקות תאימות, לא רשימת היתר של גרסאות שנבדקו. ראו [הגדרת OpenCode](opencode.md).
|
||||
3. התקינו או בחרו OpenCode: המינימום הנדרש הוא **2.1.2**, ו־**2.2.1** היא הגרסה המומלצת לבדיקה. בניות חדשות או מותאמות עוברות בדיקות תאימות, לא רשימת היתר של גרסאות שנבדקו. ראו [הגדרת OpenCode](opencode.md).
|
||||
4. בחרו את התיקייה שממנה תפעילו את השרת, או העבירו `--workspace-root` במפורש.
|
||||
|
||||
ללא Git, שיחות נשארות זמינות רק בתיקייה הפיזית שנפתחה במפורש; פעולות Git ו־worktree נכשלות. התקינו Git והפעילו מחדש את שרת הקצה לאחר שינוי PATH. שורש סביבת עבודה מגביל פתיחה/עיון, לא הרצת סוכן: ראו [אבטחה](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Electron משתמש ב־Chromium ומהווה חלופה באותו מארח. א
|
|||
## סביבת ריצה של OpenCode ו־WSL {#opencode-runtime}
|
||||
|
||||
1. פתחו **העדפות → OpenCode** ובדקו את הכרטיס **גרסת OpenCode** (הגרסה המותקנת ומצב השירות הפועל), ואז את קובץ ההרצה שנבחר תחת **קובץ בינארי של OpenCode**.
|
||||
2. השתמשו בפעולת ההתקנה/העדכון הנתמכת כשסביבת הריצה הנדרשת חסרה. מינימום נוכחי: **2.1.2**; מומלצת/שנבדקה: **2.1.4**.
|
||||
2. השתמשו בפעולת ההתקנה/העדכון הנתמכת כשסביבת הריצה הנדרשת חסרה. מינימום נוכחי: **2.1.2**; מומלצת/שנבדקה: **2.2.1**.
|
||||
3. אם ה־CLI המותקן שונה מהשירות הפועל, החליטו במפורש אם להפעיל מחדש את השירות המשותף.
|
||||
|
||||
**הפעל מחדש את שירות OpenCode** זמין תחת **פתרון בעיות** ודורש אישור. הוא קוטע עבודה פעילה בכל הלקוחות המחוברים, אך משמר היסטוריית סשנים. טעינת תצורה מחדש היא פעולה נפרדת: היא משמרת את התהליך אך בונה מחדש Locations טעונים ומבטלת שאלות/אישורים ממתינים. אף אחת אינה רענון תמים.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Electron の Debian インストールでは Chromium のサンドボックス
|
|||
|
||||
| 要件 | 必要な場所 | 現在の要件 |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | 該当する場合は選択した WSL ディストリビューションを含む、選択した実行ホスト | 最低 **2.1.2**。推奨/検証済みの対象は **2.1.4**。新しいバージョンやカスタム版は、未テストという理由で禁止せず、契約を検証します。 |
|
||||
| OpenCode CLI | 該当する場合は選択した WSL ディストリビューションを含む、選択した実行ホスト | 最低 **2.1.2**。推奨/検証済みの対象は **2.2.1**。新しいバージョンやカスタム版は、未テストという理由で禁止せず、契約を検証します。 |
|
||||
| Git | CodeNomad バックエンドのアカウントの `PATH` | リポジトリの識別、Git 操作、ワークツリーに必要です。 |
|
||||
| Node.js/npm | スタンドアロンサーバーおよびソースビルドのホスト | Node.js 24 LTS。再現可能なソースビルドは `.node-version`(**24.20.0**)を使用します。デスクトップのランタイム/インストールリソースに同梱されています。 |
|
||||
| ワークスペースフォルダー | バックエンドからアクセスできるディスク | 明示的に開いた物理フォルダー。リモートブラウザーから推測した端末ローカルのフォルダーではありません。 |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ PATH の先頭に古い OpenCode がある場合、提示される操作はそ
|
|||
| 分類 | 現在の要件 | 意味 |
|
||||
| --- | --- | --- |
|
||||
| 最低 | OpenCode **2.1.2** | Code Mode の JavaScript ジョブの正しい実行順序と、2.1 のネイティブ再生・圧縮形式。以前のバージョンで保存した会話は、更新後も読み込めます。 |
|
||||
| 推奨 | OpenCode **2.1.4** | 検証済みの対象。技術的な最低要件とは別です。 |
|
||||
| 推奨 | OpenCode **2.2.1** | 検証済みの対象。技術的な最低要件とは別です。 |
|
||||
| 未検証 | 完全には検証していない、新しいまたはカスタムのバージョン | 未テストという理由だけで拒否せず、接続先サービスの実際の API 契約を確認します。 |
|
||||
|
||||
必要なセッション、権限、Form、受信箱、セッション環境の契約も利用可能である必要があります。実行ファイルのバージョンだけでは、接続先サービスの対応を証明できません。セットアップが実行中のサービスを未対応と報告した場合は、対応する CLI を選択/インストールし、準備ができたら明示的に共有サービスを再起動します。
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
1. Node.js 24 LTS と npm をインストールします。リポジトリの固定ビルドランタイムは 24.20.0 です。デスクトップパッケージには Node/npm が含まれます。
|
||||
2. **バックエンドプロセスの PATH** に Git を配置します。WSL 内だけの Git では Windows バックエンドの要件を満たしません。
|
||||
3. OpenCode をインストールまたは選択します。必須の最低バージョンは **2.1.2**、推奨検証対象は **2.1.4** です。新しい/カスタムビルドは、テスト済みバージョンの許可リストではなく、互換性チェックを受けます。[OpenCode のセットアップ](opencode.md)を参照してください。
|
||||
3. OpenCode をインストールまたは選択します。必須の最低バージョンは **2.1.2**、推奨検証対象は **2.2.1** です。新しい/カスタムビルドは、テスト済みバージョンの許可リストではなく、互換性チェックを受けます。[OpenCode のセットアップ](opencode.md)を参照してください。
|
||||
4. サーバーを起動するフォルダーを選ぶか、`--workspace-root` を明示します。
|
||||
|
||||
Git がない場合、会話は明示的に開いた物理フォルダー内だけで利用でき、Git とワークツリー操作は失敗します。Git をインストールし、PATH 変更後にバックエンドを再起動してください。ワークスペースルートは開く/参照する範囲の制限であり、エージェント実行の制限ではありません。[セキュリティ](security.md)を参照してください。
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Git がなくてもディレクトリ専用の会話は使えますが、ワー
|
|||
## OpenCode ランタイムと WSL {#opencode-runtime}
|
||||
|
||||
1. **設定 → OpenCode** を開き、**OpenCode バージョン** カード(インストール済みバージョンと稼働中サービスの状態)、続いて **OpenCode バイナリ** で選択した実行ファイルを確認します。
|
||||
2. 必要なランタイムがなければ、サポートされるインストール/更新操作を使用します。現在の最低要件は **2.1.2**、推奨/検証済みは **2.1.4** です。
|
||||
2. 必要なランタイムがなければ、サポートされるインストール/更新操作を使用します。現在の最低要件は **2.1.2**、推奨/検証済みは **2.2.1** です。
|
||||
3. インストール済み CLI と稼働中サービスが異なる場合は、共有サービスを再起動するか明示的に判断します。
|
||||
|
||||
**OpenCode サービスを再起動** は **トラブルシューティング** にあり、確認が必要です。接続中の全クライアントの作業を中断しますが、セッション履歴は保持します。設定の再読み込みは別操作であり、プロセスを保ちつつ、読み込み済み Location を再構築し、保留中の質問/権限をキャンセルします。どちらも無害な更新ではありません。
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Electron Debian स्थापनाले Chromium sandbox कन्फिग
|
|||
|
||||
| आवश्यकता | कहाँ उपलब्ध हुनुपर्छ | हालको आवश्यकता |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | चयन गरिएको कार्यान्वयन होस्ट, लागू भए चयन गरिएको WSL वितरणसमेत | न्यूनतम **2.1.2**; **2.1.4** सिफारिस/योग्यता जाँच गरिएको लक्ष्य हो। नयाँ वा अनुकूलित संस्करणलाई परीक्षण नभएको भन्दै निषेध नगरी contract जाँच गरिन्छ। |
|
||||
| OpenCode CLI | चयन गरिएको कार्यान्वयन होस्ट, लागू भए चयन गरिएको WSL वितरणसमेत | न्यूनतम **2.1.2**; **2.2.1** सिफारिस/योग्यता जाँच गरिएको लक्ष्य हो। नयाँ वा अनुकूलित संस्करणलाई परीक्षण नभएको भन्दै निषेध नगरी contract जाँच गरिन्छ। |
|
||||
| Git | CodeNomad ब्याकएन्ड खाताको `PATH` | रिपोजिटरी पहिचान, Git कार्य र worktree का लागि आवश्यक। |
|
||||
| Node.js/npm | स्वतन्त्र सर्भर र स्रोत-build होस्ट | Node.js 24 LTS; पुनरुत्पादनयोग्य स्रोत build ले `.node-version` (**24.20.0**) प्रयोग गर्छन्। डेस्कटप रनटाइम/स्थापना स्रोतमा समावेश। |
|
||||
| कार्यस्थान फोल्डर | ब्याकएन्डले पहुँच गर्न सक्ने डिस्क | स्पष्ट रूपमा खोलिएको भौतिक फोल्डर, रिमोट ब्राउजरले अनुमान गरेको उपकरण-स्थानीय फोल्डर होइन। |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ PATH मा पुरानो OpenCode पहिले आउँदा दि
|
|||
| वर्ग | हालको आवश्यकता | अर्थ |
|
||||
| --- | --- | --- |
|
||||
| न्यूनतम | OpenCode **2.1.2** | Code Mode मा JavaScript कार्यहरूको सही कार्यान्वयन क्रम र 2.1 को मूल रिप्ले तथा कम्प्याक्सन ढाँचा; पुराना संस्करणले सुरक्षित गरेका कुराकानीहरू अद्यावधिक गरेपछि पनि पढ्न सकिन्छ। |
|
||||
| सिफारिस | OpenCode **2.1.4** | योग्य ठहरिएको लक्ष्य, प्राविधिक न्यूनतमभन्दा फरक। |
|
||||
| सिफारिस | OpenCode **2.2.1** | योग्य ठहरिएको लक्ष्य, प्राविधिक न्यूनतमभन्दा फरक। |
|
||||
| अप्रमाणित | पूर्ण जाँच नभएको नयाँ वा custom संस्करण | परीक्षण नभएकै कारण अस्वीकार हुँदैन; जोडिएको सेवाका वास्तविक API contract जाँचिन्छन्। |
|
||||
|
||||
आवश्यक session, permission, Form, inbox र session-environment contract पनि उपलब्ध हुनुपर्छ। executable संस्करणले मात्र जोडिएको सेवाको समर्थन प्रमाणित गर्दैन। सेटअपले चलिरहेको सेवा असमर्थित भने समर्थित CLI चयन/स्थापना गरी तयार हुँदा स्पष्ट साझा-सेवा पुनःसुरुवात प्रयोग गर्नुहोस्।
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ project र tool भएको ठाउँमा CodeNomad चलाएर स
|
|||
|
||||
1. Node.js 24 LTS र npm स्थापना गर्नुहोस्; repository को pinned build runtime 24.20.0 हो। desktop package मा Node/npm हुन्छ।
|
||||
2. Git लाई **backend प्रक्रियाको PATH** मा राख्नुहोस्। WSL भित्रको Git मात्र Windows backend का लागि पुग्दैन।
|
||||
3. OpenCode स्थापना वा चयन गर्नुहोस्: आवश्यक न्यूनतम **2.1.2**, सिफारिस qualification लक्ष्य **2.1.4**। नयाँ/custom build मा compatibility जाँच हुन्छ, tested-version allowlist होइन। [OpenCode सेटअप](opencode.md) हेर्नुहोस्।
|
||||
3. OpenCode स्थापना वा चयन गर्नुहोस्: आवश्यक न्यूनतम **2.1.2**, सिफारिस qualification लक्ष्य **2.2.1**। नयाँ/custom build मा compatibility जाँच हुन्छ, tested-version allowlist होइन। [OpenCode सेटअप](opencode.md) हेर्नुहोस्।
|
||||
4. server सुरु गर्ने फोल्डर रोज्नुहोस्, वा `--workspace-root` स्पष्ट दिनुहोस्।
|
||||
|
||||
Git बिना स्पष्ट खोलिएको physical folder मा मात्र कुराकानी उपलब्ध हुन्छन्; Git र worktree कार्य असफल हुन्छन्। Git स्थापना र PATH परिवर्तनपछि backend restart गर्नुहोस्। workspace root ले opening/browsing सीमित गर्छ, agent execution होइन: [सुरक्षा](security.md) हेर्नुहोस्।
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ owned worktree वा conversation placement verify गर्न नसके
|
|||
## OpenCode runtime र WSL {#opencode-runtime}
|
||||
|
||||
1. **प्राथमिकताहरू → OpenCode** खोली **OpenCode संस्करण** card (installed version र running service status), त्यसपछि **OpenCode बाइनरी** अन्तर्गतको selected executable जाँच्नुहोस्।
|
||||
2. आवश्यक runtime नभए समर्थित installation/update प्रयोग गर्नुहोस्। हालको minimum: **2.1.2**; recommended/qualified: **2.1.4**।
|
||||
2. आवश्यक runtime नभए समर्थित installation/update प्रयोग गर्नुहोस्। हालको minimum: **2.1.2**; recommended/qualified: **2.2.1**।
|
||||
3. installed CLI running service भन्दा फरक भए shared service restart गर्ने कि स्पष्ट निर्णय गर्नुहोस्।
|
||||
|
||||
**OpenCode सेवा पुनः सुरु गर्नुहोस्** **समस्या समाधान** अन्तर्गत उपलब्ध छ र पुष्टि चाहिन्छ। हरेक connected client को सक्रिय काम interrupt गर्छ, तर session history राख्छ। configuration reload छुट्टै हो: process राख्छ तर loaded Location पुनर्निर्माण र pending question/permission रद्द गर्छ। कुनै हानिरहित refresh होइन।
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ chmod +x CodeNomad-Tauri-linux-x64-<version>.AppImage
|
|||
|
||||
| Требование | Где должно быть доступно | Текущее требование |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | Выбранный хост выполнения, включая выбранный дистрибутив WSL, если применимо | Минимум **2.1.2**; **2.1.4** — рекомендуемая/проверенная цель. Для новых и пользовательских версий проверяются контракты, а не вводится запрет на непроверенные версии. |
|
||||
| OpenCode CLI | Выбранный хост выполнения, включая выбранный дистрибутив WSL, если применимо | Минимум **2.1.2**; **2.2.1** — рекомендуемая/проверенная цель. Для новых и пользовательских версий проверяются контракты, а не вводится запрет на непроверенные версии. |
|
||||
| Git | `PATH` учётной записи серверной части CodeNomad | Необходим для идентификации репозитория, операций Git и worktree. |
|
||||
| Node.js/npm | Хост отдельного сервера и сборки из исходников | Node.js 24 LTS; воспроизводимые сборки из исходников используют `.node-version` (**24.20.0**). Входит в ресурсы выполнения/установки настольного приложения. |
|
||||
| Папка рабочего пространства | Диск, доступный серверной части | Явно открытая физическая папка, а не локальная папка устройства, предполагаемая удалённым браузером. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ CodeNomad подключается к общей службе OpenCode на хо
|
|||
| Классификация | Текущее требование | Значение |
|
||||
| --- | --- | --- |
|
||||
| Минимум | OpenCode **2.1.2** | Правильный порядок выполнения задач JavaScript в Code Mode и нативный формат воспроизведения и сжатия версии 2.1; беседы, сохранённые более ранними версиями, остаются доступными после обновления. |
|
||||
| Рекомендуемая | OpenCode **2.1.4** | Проверенная цель, отличная от технического минимума. |
|
||||
| Рекомендуемая | OpenCode **2.2.1** | Проверенная цель, отличная от технического минимума. |
|
||||
| Непроверенная | Новая или пользовательская версия, не прошедшая полную проверку | Не отклоняется лишь из-за отсутствия тестирования; проверяются реальные API-контракты подключённой службы. |
|
||||
|
||||
Необходимые контракты сессий, разрешений, форм, входящих и окружения сессий тоже должны быть доступны. Одна версия исполняемого файла не доказывает их поддержку подключённой службой. Если настройка сообщает о неподдерживаемой работающей службе, выберите/установите поддерживаемый CLI и выполните явный перезапуск общей службы, когда будете готовы.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
1. Установите Node.js 24 LTS и npm; закреплённая среда сборки репозитория — 24.20.0. Настольные пакеты включают Node/npm.
|
||||
2. Добавьте Git в **PATH процесса серверной части**. Одного Git внутри WSL недостаточно для серверной части Windows.
|
||||
3. Установите или выберите OpenCode: минимум **2.1.2**, рекомендуемая проверенная цель — **2.1.4**. Новые или пользовательские сборки проходят проверку совместимости, а не список разрешённых проверенных версий. См. [настройку OpenCode](opencode.md).
|
||||
3. Установите или выберите OpenCode: минимум **2.1.2**, рекомендуемая проверенная цель — **2.2.1**. Новые или пользовательские сборки проходят проверку совместимости, а не список разрешённых проверенных версий. См. [настройку OpenCode](opencode.md).
|
||||
4. Выберите папку запуска сервера или явно передайте `--workspace-root`.
|
||||
|
||||
Без Git разговоры доступны только в явно открытой физической папке; операции Git и worktree не работают. Установите Git и перезапустите серверную часть после изменения PATH. Корень рабочего пространства ограничивает открытие/просмотр, не выполнение агента: см. [безопасность](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Electron использует Chromium и служит альтернативо
|
|||
## Среда OpenCode и WSL {#opencode-runtime}
|
||||
|
||||
1. Откройте **Настройки → OpenCode** и проверьте карточку **Версия OpenCode** (установленная версия и статус работающей службы), затем выбранный исполняемый файл в **Бинарник OpenCode**.
|
||||
2. При отсутствии нужной среды используйте поддерживаемую установку/обновление. Текущий минимум: **2.1.2**; рекомендуемая/проверенная: **2.1.4**.
|
||||
2. При отсутствии нужной среды используйте поддерживаемую установку/обновление. Текущий минимум: **2.1.2**; рекомендуемая/проверенная: **2.2.1**.
|
||||
3. Если установленный CLI отличается от службы, явно решите, перезапускать ли общую службу.
|
||||
|
||||
**Перезапустить службу OpenCode** находится в **Устранение неполадок** и требует подтверждения. Прерывает активную работу всех клиентов, но сохраняет историю сессий. Перезагрузка конфигурации — отдельное действие: сохраняет процесс, но пересоздаёт загруженные Location и отменяет ожидающие вопросы/разрешения. Ни одно не является безобидным обновлением.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Electron Debian kurulumu, Chromium'un korumalı alanını yapılandırır. Kurul
|
|||
|
||||
| Gereksinim | Nerede bulunması gerektiği | Mevcut gereksinim |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | Geçerli olduğu yerde seçilen WSL dağıtımı da dahil olmak üzere seçilen yürütme ana bilgisayarı | Minimum **2.1.2**; **2.1.4** önerilen/uygun hedeftir. Daha yeni veya özel sürümler, test edilmemiş sürüm yasağı yerine sözleşme doğrulamasından geçer. |
|
||||
| OpenCode CLI | Geçerli olduğu yerde seçilen WSL dağıtımı da dahil olmak üzere seçilen yürütme ana bilgisayarı | Minimum **2.1.2**; **2.2.1** önerilen/uygun hedeftir. Daha yeni veya özel sürümler, test edilmemiş sürüm yasağı yerine sözleşme doğrulamasından geçer. |
|
||||
| Git | CodeNomad arka uç hesabının `PATH`'si | Depo kimliği, Git işlemleri ve çalışma ağaçları için gereklidir. |
|
||||
| Node.js/npm | Bağımsız sunucu ve kaynak derleme ana bilgisayarı | Node.js 24 LTS; tekrarlanabilir kaynak derlemeleri `.node-version` (**24.20.0**) kullanır. Masaüstü çalışma zamanı/kurulum kaynaklarına dahildir. |
|
||||
| Çalışma alanı klasörü | Arka uçtan erişilebilen disk | Uzak bir tarayıcı tarafından çıkarılan yerel cihaz klasörü değil, açıkça açılmış bir fiziksel klasör. |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Yüklü yürütülebilir dosya ve çalışan hizmetin farklı sürümleri olabil
|
|||
| Sınıflandırma | Mevcut gereksinim | Anlamı |
|
||||
| --- | --- | --- |
|
||||
| Asgari | OpenCode **2.1.2** | Code Mode içindeki JavaScript görevlerinin doğru yürütme sırası ve 2.1'in yerel yeniden oynatma ve sıkıştırma biçimi; önceki sürümlerle kaydedilen konuşmalar güncellemeden sonra da okunabilir. |
|
||||
| Önerilen | OpenCode **2.1.4** | Teknik alt sınırdan farklı, doğrulanan hedef. |
|
||||
| Önerilen | OpenCode **2.2.1** | Teknik alt sınırdan farklı, doğrulanan hedef. |
|
||||
| Doğrulanmamış | Tam olarak doğrulanmamış daha yeni veya özel bir sürüm | Yalnızca denenmemiş olduğu için reddedilmez; bağlı hizmetin gerçek API sözleşmeleri kontrol edilir. |
|
||||
|
||||
Gerekli oturum, izin, Form, gelen kutusu ve oturum-ortam sözleşmelerinin de mevcut olması gerekir. Yürütülebilir bir sürüm tek başına bağlı hizmetin bunları desteklediğini kanıtlamaz. Kurulum, desteklenmeyen bir çalışan hizmet bildirirse desteklenen bir CLI seçin/yükleyin ve hazır olduğunuzda açık paylaşılan hizmet yeniden başlatmayı kullanın.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Aynı kullanıcı arayüzü [çoklu proje sekmeleri ve çalışma ağaçları](p
|
|||
|
||||
1. Node.js 24 LTS ve npm'yi yükleyin; havuzun sabitlenmiş derleme çalışma zamanı 24.20.0'dır. Masaüstü paketleri Node/npm'yi içerir.
|
||||
2. Git'i **arka uç sürecinin PATH** değişkenine ekleyin. Yalnızca WSL içindeki Git, Windows arka ucu için yeterli değildir.
|
||||
3. OpenCode'u yükleyin veya seçin: gerekli minimum değer **2.1.2**'dir ve **2.1.4** önerilen yeterlilik hedefidir. Daha yeni veya özel derlemeler, test edilmiş sürüm izin verilenler listesine değil, uyumluluk denetimlerine tabi tutulur. Bkz. [OpenCode kurulumu](opencode.md).
|
||||
3. OpenCode'u yükleyin veya seçin: gerekli minimum değer **2.1.2**'dir ve **2.2.1** önerilen yeterlilik hedefidir. Daha yeni veya özel derlemeler, test edilmiş sürüm izin verilenler listesine değil, uyumluluk denetimlerine tabi tutulur. Bkz. [OpenCode kurulumu](opencode.md).
|
||||
4. Sunucunun başlatılacağı klasörü seçin veya `--workspace-root`'yi açıkça iletin.
|
||||
|
||||
Git olmadan, konuşmalar yalnızca açıkça açılan fiziksel klasörde kullanılabilir durumda kalır; Git ve çalışma ağacı işlemleri başarısız oluyor. Git'i yükleyin ve PATH değişikliğinden sonra arka ucu yeniden başlatın. Çalışma alanı kökü, aracının yürütülmesini değil, açmayı/göz atmayı sınırlar: bkz. [Güvenlik](security.md).
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Sahip olunan bir çalışma ağacı veya konuşma yerleşimi doğrulanamıyorsa,
|
|||
## OpenCode çalışma zamanı ve WSL {#opencode-runtime}
|
||||
|
||||
1. **Preferences → OpenCode** öğesini açın ve **OpenCode sürümü** kartını (kurulu sürüm ve çalışan hizmet durumu), ardından **OpenCode Binary** altındaki seçili yürütülebilir dosyayı kontrol edin.
|
||||
2. Gerekli çalışma zamanı yoksa desteklenen kurulum/güncelleme eylemini kullanın. Güncel alt sınır: **2.1.2**; önerilen/doğrulanan: **2.1.4**.
|
||||
2. Gerekli çalışma zamanı yoksa desteklenen kurulum/güncelleme eylemini kullanın. Güncel alt sınır: **2.1.2**; önerilen/doğrulanan: **2.2.1**.
|
||||
3. Kurulu CLI, çalışan hizmetten farklıysa, paylaşılan hizmetin yeniden başlatılıp başlatılmayacağına açıkça karar verin.
|
||||
|
||||
**OpenCode hizmetini yeniden başlat**, **Sorun giderme** altında mevcuttur ve onay gerektirir. Bağlı her istemcideki aktif çalışmayı kesintiye uğratır ancak oturum geçmişini korur. Yapılandırmanın yeniden yüklenmesi ayrı bir eylemdir: süreci korur ancak yüklenen Konumları yeniden oluşturur ve bekleyen soruları/izinleri iptal eder. Zararsız bir yenileme de değildir.
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Electron Debian 安装过程会配置 Chromium 沙箱。不要通过禁用沙箱
|
|||
|
||||
| 要求 | 必须可用的位置 | 当前要求 |
|
||||
| --- | --- | --- |
|
||||
| OpenCode CLI | 所选执行主机,适用时包括所选 WSL 发行版 | 最低 **2.1.2**;建议/已验证目标为 **2.1.4**。更新版本或自定义版本会接受契约验证,而非因未经测试就被禁止。 |
|
||||
| OpenCode CLI | 所选执行主机,适用时包括所选 WSL 发行版 | 最低 **2.1.2**;建议/已验证目标为 **2.2.1**。更新版本或自定义版本会接受契约验证,而非因未经测试就被禁止。 |
|
||||
| Git | CodeNomad 后端账户的 `PATH` | 仓库身份识别、Git 操作和工作树必需。 |
|
||||
| Node.js/npm | 独立服务器和源码构建主机 | Node.js 24 LTS;可重现的源码构建使用 `.node-version`(**24.20.0**)。桌面运行时/安装资源已随附。 |
|
||||
| 工作区文件夹 | 后端可访问的磁盘 | 显式打开的物理文件夹,而非远程浏览器推断出的设备本地文件夹。 |
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ CodeNomad 连接到执行主机上的共享 OpenCode 服务。选择 CLI、更
|
|||
| 分类 | 当前要求 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| 最低 | OpenCode **2.1.2** | Code Mode 中 JavaScript 任务的正确执行顺序,以及 2.1 的原生重放和压缩格式;旧版本保存的对话在更新后仍可读取。 |
|
||||
| 推荐 | OpenCode **2.1.4** | 已验证目标,与技术最低要求不同。 |
|
||||
| 推荐 | OpenCode **2.2.1** | 已验证目标,与技术最低要求不同。 |
|
||||
| 未验证 | 尚未完整验证的更新版本或自定义版本 | 不会仅因未经测试而拒绝;会检查所连接服务的实际 API 契约。 |
|
||||
|
||||
所需的会话、权限、Form、收件箱和会话环境契约也必须可用。仅有可执行文件版本并不能证明所连接服务支持它们。如果设置报告运行中的服务不受支持,请选择/安装受支持 CLI,并在准备好后显式重启共享服务。
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
1. 安装 Node.js 24 LTS 和 npm;仓库固定构建运行时为 24.20.0。桌面包包含 Node/npm。
|
||||
2. 将 Git 加入**后端进程的 PATH**。仅 WSL 内的 Git 不满足 Windows 后端。
|
||||
3. 安装或选择 OpenCode:必需最低版本为 **2.1.2**,推荐验证目标为 **2.1.4**。更新或自定义构建会接受兼容检查,而非已测试版本白名单。参阅 [OpenCode 设置](opencode.md)。
|
||||
3. 安装或选择 OpenCode:必需最低版本为 **2.1.2**,推荐验证目标为 **2.2.1**。更新或自定义构建会接受兼容检查,而非已测试版本白名单。参阅 [OpenCode 设置](opencode.md)。
|
||||
4. 选择启动服务器的文件夹,或显式传入 `--workspace-root`。
|
||||
|
||||
没有 Git 时,对话仅在显式打开的物理文件夹内可用;Git 和工作树操作失败。安装 Git,更改 PATH 后重启后端。工作区根目录限制打开/浏览,而非智能体执行:参阅[安全](security.md)。
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Electron 使用 Chromium,可作为同一主机上的替代方案。如果 AppI
|
|||
## OpenCode 运行时与 WSL {#opencode-runtime}
|
||||
|
||||
1. 打开**偏好设置 → OpenCode**,检查 **OpenCode 版本**卡片(已安装版本和运行服务状态),然后检查 **OpenCode 可执行文件**下所选的可执行文件。
|
||||
2. 缺少必需运行时时,使用受支持安装/更新操作。当前最低:**2.1.2**;推荐/已验证:**2.1.4**。
|
||||
2. 缺少必需运行时时,使用受支持安装/更新操作。当前最低:**2.1.2**;推荐/已验证:**2.2.1**。
|
||||
3. 已安装 CLI 与运行服务不同时,显式决定是否重启共享服务。
|
||||
|
||||
**故障排查**下提供**重启 OpenCode 服务**,需要确认。会中断所有已连接客户端的活动工作,但保留会话历史。重新加载配置是独立操作:保留进程,但重建已加载 Location 并取消待处理问题/权限。两者都不是无害刷新。
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
## Prerequisites
|
||||
|
||||
- **Git**: A prerequisite in the backend process's `PATH` for repository identity, Git operations and worktree management. Without Git, directory-only conversations in the explicitly opened physical folder remain available so the user can ask the agent for installation help. Owned session prompts/custom commands update the native `codenomad.git-availability` instruction; it reports the backend platform and is removed when Git becomes available. Git/worktree operations still fail explicitly with `503`/`git_required`. Install from https://git-scm.com/downloads and restart the backend after changing `PATH`. A Windows per-user installation is sufficient; Git inside WSL alone is insufficient for a Windows backend.
|
||||
- **OpenCode**: install `opencode` **2.1.2 or later** (minimum version; **2.1.4** is recommended). The npm package is `@opencode/cli`; see the [installation guide](https://opencode.ai/v2/docs/). CodeNomad prefers the CLI on `PATH` and also supports an explicitly selected executable. It uses the official service lifecycle and validates authenticated daemon metadata and API compatibility; custom and prerelease versions undergo the same contract validation. See [`runtime-support.ts`](src/opencode/runtime-support.ts) for the current requirements.
|
||||
- **OpenCode**: install `opencode` **2.1.2 or later** (minimum version; **2.2.1** is recommended). The npm package is `@opencode/cli`; see the [installation guide](https://opencode.ai/v2/docs/). CodeNomad prefers the CLI on `PATH` and also supports an explicitly selected executable. It uses the official service lifecycle and validates authenticated daemon metadata and API compatibility; custom and prerelease versions undergo the same contract validation. See [`runtime-support.ts`](src/opencode/runtime-support.ts) for the current requirements.
|
||||
- **OpenCode data**: The global daemon owns its platform-default storage, database, and service registration. Configured startup environment applies only when CodeNomad starts a missing daemon; an existing daemon is unchanged.
|
||||
- **Windows to WSL**: A configured WSL UNC binary uses Linux `service status`, `service start`, and `service get password`; Windows must have WSL localhost forwarding enabled to reach its loopback service.
|
||||
- **Node.js and npm**: Use Node.js 24 LTS for the standalone server; source and release builds use [`.node-version`](../../.node-version) (currently 24.20.0). Desktop distributions bundle Node/npm.
|
||||
|
|
|
|||
|
|
@ -459,21 +459,21 @@ test("beta version comparison remains numeric", () => {
|
|||
})
|
||||
|
||||
test("the native contract floor admits current and newer runtimes without a tested-version allowlist", async () => {
|
||||
for (const version of ["2.1.2", "2.1.3", "2.1.4", "2.2.0", "3.0.0"]) {
|
||||
for (const version of ["2.1.2", "2.1.4", "2.2.0", "2.2.1", "3.0.0"]) {
|
||||
const endpoint: Endpoint = { url: "http://127.0.0.1:9876" }
|
||||
rememberRuntime(endpoint, { version, pid: 123, discovery: "info" })
|
||||
const service = new OpenCodeUpdateService(deps({
|
||||
probeBinary: () => ({ valid: true, version }), resolveLatestVersion: async () => "2.1.4",
|
||||
probeBinary: () => ({ valid: true, version }), resolveLatestVersion: async () => "2.2.1",
|
||||
lifecycle: async () => ({ discover: async () => endpoint, ensure: async () => { throw new Error("must retain daemon") } }),
|
||||
}))
|
||||
const status = await service.start()
|
||||
assert.equal(status.minimumVersion, "2.1.2")
|
||||
assert.equal(status.recommendedVersion, "2.1.4")
|
||||
assert.equal(status.recommendedVersion, "2.2.1")
|
||||
assert.equal(status.state, "ready")
|
||||
assert.equal(status.serviceState, "ready")
|
||||
assert.equal(status.versionAssessment, version === "2.1.4" ? "tested" : "untested", "only the current recommendation is release-qualified")
|
||||
assert.equal(status.versionAssessment, version === "2.2.1" ? "tested" : "untested", "only the current recommendation is release-qualified")
|
||||
assert.equal(status.incompatibilityReason, undefined)
|
||||
assert.equal(status.canUpgrade, version === "2.1.2" || version === "2.1.3", "offer an optional upgrade below the target; never downgrade current or newer runtimes")
|
||||
assert.equal(status.canUpgrade, version === "2.1.2" || version === "2.1.4" || version === "2.2.0", "offer an optional upgrade below the target; never downgrade current or newer runtimes")
|
||||
assert.equal(status.canRestart, false)
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -25,6 +25,6 @@ export function contractProfile(identity: RuntimeIdentity | undefined): Contract
|
|||
// Publication contract reviewed and exercised by the isolated native suites
|
||||
// (minimum and qualification target). Unlisted versions still negotiate their
|
||||
// authenticated schema.
|
||||
if (identity.version === "2.1.2" || identity.version === "2.1.4") return "modern"
|
||||
if (identity.version === "2.1.2" || identity.version === "2.2.1") return "modern"
|
||||
return "unknown"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { createRuntimeFetch } from "./transport"
|
|||
import { modernContractFixture } from "./contract-fixture"
|
||||
|
||||
test("current and future supported releases preserve info, authentication and bounded negotiation", async () => {
|
||||
const reviewed = ["2.1.2", "2.1.4"]
|
||||
const reviewed = ["2.1.2", "2.2.1"]
|
||||
for (const version of [...reviewed, "2.1.3", "2.1.5", "2.1.100", "3.0.0", "2.2.0-dev.1", "custom-build"]) {
|
||||
const endpoint = { url: "http://127.0.0.1:4321", auth: { type: "basic" as const, username: "opencode", password: "fixture" } }
|
||||
rememberRuntime(endpoint, { version, pid: 123, discovery: "info" })
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { OpenCodeSharedService } from "../workspaces/opencode-service"
|
|||
|
||||
test("native plugin runtime minimum does not become an allowlist of tested labels", () => {
|
||||
assert.equal(MINIMUM_OPENCODE_VERSION, "2.1.2")
|
||||
assert.equal(RECOMMENDED_OPENCODE_VERSION, "2.1.4")
|
||||
assert.equal(RECOMMENDED_OPENCODE_VERSION, "2.2.1")
|
||||
for (const version of ["2.1.2", "2.1.2+custom", "2.1.3", "2.2.0", "2.1.0-dev.1", "3.0.0", "custom-build"]) {
|
||||
assert.equal(isBelowOpenCodeMinimum(version), false, version)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
*/
|
||||
export const MINIMUM_OPENCODE_VERSION = "2.1.2"
|
||||
/** Qualification target, independent of the technically required minimum. */
|
||||
export const RECOMMENDED_OPENCODE_VERSION = "2.1.4"
|
||||
export const RECOMMENDED_OPENCODE_VERSION = "2.2.1"
|
||||
export const OPENCODE_UPDATE_REQUIRED = "opencode_update_required"
|
||||
|
||||
export function isBelowOpenCodeMinimum(version: string): boolean {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue