Skip to content

Releases: kido5217/opencode-agent-chat

v0.6.0

Choose a tag to compare

@kido5217 kido5217 released this 22 Sep 19:00
v0.6.0
1f1f54a

The 0.6.0 trustworthy-eval release.

What's new

  • The reworked eval instrument: per-run outcome classification (completed / killed_at_cap / crashed) with a completion floor (≥3 of 5 per arm per scenario, else a distinct data-quality RED); behavior is asserted over completed runs only — a killed or crashed run is never "did not ask".
  • The baseline arm is alive: node_modules is hard-linked into the baseline worktree. The 0.4.1 arm was structurally dead since 0.5.0 (the plugin never loaded there), so this is the first release whose lift-vs-baseline is a real measurement.
  • New S4 delegate scenario: main composes the peer-required briefing itself — it measures the task-design guidance's lift, with the 0.4.1 arm (no guidance doc) as the one-shot control.
  • S1's child task is bounded (concrete file + concrete missing value) — fixes the unbounded-find / timeout artifact.
  • Advisory LLM judge (Qwen3.8-27B): scores question/answer quality and the noise guard on gradable runs, reports only — never a gate. Per-run artifacts are retained under $XDG_DATA_HOME/opencode/eval/ (last 3 evals).
  • The second injected agent-facing doc, docs/task-design.md: the peer-required task test, the shaping patterns, the anti-patterns, worked example pairs.
  • The tuning-loop norm: README "Evaluation" section + AGENTS.md rule — the eval is a hard local gate on protocol text, the baseline rolls to each release, and instrument changes are release-level events.

Release-run eval (one-shot, vs 0.4.1; the baseline ref rolls to v0.6.0 after this release)

PASS — 40 runs (4 scenarios × 5 runs × 2 arms):

scenario new (0.6.0) baseline (0.4.1)
ask 3/3 asked (3/5 completed, 2 cap) 0/5 asked
answer 2/5 answered 2/5 answered
noise 0/5 noised 0/5 noised
delegate (new) 3/3 asked (3/5 completed, 2 cap) 0/4 asked (1 crash)

Advisory judge: 35/40 gradable — question avg 0.86/14 scored, answer avg 0.89/9 scored, noise pass 10/10. The delegate row is the task-design guidance's lift measured directly: the new arm's main composes peer-required briefings (child asks in 3/3 completed runs); the 0.4.1 arm never does (0/4).

Also

  • SDK range re-proof (per §13): @opencode/plugin@2.0.14 (range top) — 161/161 tests + typecheck in a scratch worktree.
  • Out of scope for 0.6.0 (the map's fog/out-of-scope): multi-model eval, structural delivery, Nix packaging, CI.

0.5.0

Choose a tag to compare

@kido5217 kido5217 released this 22 Sep 14:41
v0.5.0
c4195dd

The 0.5.0 ask/answer release.

What's new

  • The new agent-facing prompt text + tool descriptions: the exception ladder (post a question when blocked on a fact a peer can settle), the worked ask/answer examples, and the host-norm override (#83).
  • The richer open-question block in the digest/join briefing: id · asker → addressee · age (stale) — body, with the addressee flagged, compact age, staleness (≥30m), and addressed-to-you ordering first (#84).
  • The two-arm non-imperative eval scenario (bun smoke/run.ts --scenario eval), measuring the ask/answer behavior against the 0.4.1 baseline (#85).
  • The strengthened answer obligation (scan the open-question block at the start and after each chat_read).

Version: 0.4.1 → 0.5.0 (manual semver).

0.4.0

Choose a tag to compare

@kido5217 kido5217 released this 22 Sep 08:14
v0.4.0
142160b

0.4.0 — windowed TUI transcript with an on-demand full view.

New: the in-TUI /agent-chat command no longer dumps the whole chat. It posts the last 10 messages (system lines included) under the label agent-chat transcript for <root> · showing last 10 of N · /agent-chat full; chats of 10 messages or fewer post the full notice. The full form opens on demand with /agent-chat full (slash argument, also in the command palette): a fullscreen panel rendering the complete transcript through the same renderer, headed agent-chat transcript for <root> · N messages, closed with Esc, refreshed on re-invocation. The CLI agent-chat view remains a full dump.

Also: the plugin now publishes its resolved chat directory through a marker file (opencode/agent-chat.json under the XDG data dir) — the v2.0.12 host passes options: {} to the TUI context, so the TUI's /agent-chat could not see chats outside the default dir. The @opencode/plugin ceiling is raised to ~2.0.12.

Install:
opencode plugin add opencode-agent-chat

Release checks: ceiling check with @opencode/plugin 2.0.12 on current main (131 tests + typecheck clean, 142160b); smoke PASS. Live TUI verification is automated by tui-verify.sh (all checks passed, driven against the v2.0.12 host).

0.3.0

Choose a tag to compare

@kido5217 kido5217 released this 22 Sep 05:35
v0.3.0
cb0060f

0.3.0 — timestamps and unique subagent names.

New: every human-facing chat line now carries a full yyyy-mm-dd HH:MM:SS local-time timestamp — the TUI /agent-chat transcript, the CLI agent-chat <session> view/follow, and the last column of agent-chat list.

Also: subagents are now named <agent_type>-<8 random a-z0-9> (the root keeps main), so names are unique per execution instead of -2/-3 collision counters; SENDER_MAX widened 16→24 so the 18-char subagent-<8> fallback never truncates. Historical chat logs keep their original names (no migration).

Install:
opencode plugin add opencode-agent-chat

Release checks: ceiling check with @opencode/plugin 2.0.12 on current main (107 tests + typecheck clean, cb0060f). Smoke suite not executed (the opencode binary is not on PATH in the dev environment); the smoke/run.ts probe-child assertions moved to the new name pattern and are verified by typecheck.

0.2.0

Choose a tag to compare

@kido5217 kido5217 released this 21 Sep 20:24
v0.2.0
6d9ca31

0.2.0 — read the chat from inside opencode.

New: the in-TUI /agent-chat command — it appends the current session's chat to the conversation as one subdued notice: same format as agent-chat view, no model turn starts, and the transcript stays out of the model's context (the synthetic message is filtered by the plugin). The fullscreen session panel remains the fallback surface.

Also: the viewer renderer moved into the core (src/core/view.ts) so the CLI and the TUI share one renderer — the format is frozen byte-identical by tests.

Install:
opencode plugin add opencode-agent-chat

Release checks: ceiling check with @opencode/plugin 2.0.12 (107 tests + typecheck clean), smoke chat + config against the opencode v2.0.12 host, isolated-XDG registry install (auto-install, plugin load, all three chat tools).

v0.1.2

Choose a tag to compare

@kido5217 kido5217 released this 20 Sep 17:40
v0.1.2
26bf2ea

0.1.2 — opencode 2.0.x support.

The @opencode/plugin dependency is now the ~2.0.8 range (floor 2.0.8), and the docs state the supported line: opencode v2 on the 2.0.x line. Compatibility was re-checked from 2.0.8 through 2.0.11 — every SDK surface the plugin uses is unchanged, and the smoke chat scenario passes against the 2.0.11 host binary (docs/research/012-compat-surface.md).

Install:
opencode2 plugin add opencode-agent-chat

v0.1.1

Choose a tag to compare

@kido5217 kido5217 released this 20 Sep 16:35
v0.1.1
cb25d40

Patch release: clears every deferred review finding from 0.1.0.

  • Core: safer protocol internals, character-capped join briefings, immediate transactions, consistent membership semantics, guarded file permissions.
  • Adapter: ancestor-chain hydration, registered namespace description, setup cleanup, per-run guard eviction, 100-character to cap.
  • Viewer: hard 100-column contract, stable follow padding, fewer footguns; the open-questions footer is capped at 5 with a +N more tail.
  • Smoke harness and docs: honest failures, temp cleanup, corrected DESIGN/README statements.

Install: opencode2 plugin add opencode-agent-chat. Requires opencode v2 (opencode2 2.0.8); @opencode/plugin pinned exactly 2.0.8. MIT.

v0.1.0

Choose a tag to compare

@kido5217 kido5217 released this 20 Sep 15:56
v0.1.0
178c8b4

First release: a shared, SQLite-backed chat for the agents of one opencode v2 session.

The main agent and its subagents post statuses, findings, questions, blockers, handoffs, and answers to a per-session chat (chat_post, chat_read, chat_roster); each model request carries an unread digest or a join briefing. A read-only agent-chat viewer lets the human follow along.

Install:
opencode2 plugin add opencode-agent-chat

Requires opencode v2 (opencode2 2.0.8); @opencode/plugin is pinned exactly 2.0.8. MIT. See the README for options and docs/chat-protocol.md for what agents see.