Skip to content

v0.5.3

Choose a tag to compare

@ztxtech ztxtech released this 15 Jun 17:07

v0.5.3 — Quieter TUI, faster dev iteration

Patch release. Two small quality-of-life fixes.

What changed

1. Memory files no longer trigger a "dedup" warning.

The tool.execute.before dedup guard fires when the same tool is called with the same arguments within a 3-second window. It is a soft hint — the call is allowed through, the trace event is recorded, and the LLM is supposed to notice and move on.

In practice two things made it louder than it should have been:

  • .opencode/memory/*.md are persistent state stores that the runtime is designed to re-read. negative.md gets re-checked by information-collector on every evidence-collection round, progress.md and todo-map.md get re-read by every sub-agent. None of those re-reads is a no-op loop.
  • The soft hint was logged at warn() level. OpenCode TUI surfaces console.warn as a purple warning toast, which made the line look like a hard error to humans and to the LLM.

Fix:

  • Skip dedup entirely for reads of .opencode/memory/*.md. Re-reads of state files are not a no-op signal.
  • Drop the soft-hint log level from warn() to info(). The message is a hint, not an error. The trace event (dedup.rejected) is unchanged, so postmortem tooling still has the signal.

2. scripts/dev-install.sh for local dev iteration.

scripts/install.sh downloads the released tarball and installs it under ~/.local/. That is right for end users but inconvenient for plugin development: editing src/ and re-running aion-ts init <dir> --force does not pick up the local build, because aion-init.js resolves its bundle from ~/.local/lib/aion/aion.js (see bin/aion-init.js:194), not from the source repo.

The new script is the dev counterpart:

# in the source repo, after editing src/
bash scripts/dev-install.sh

# then redeploy the bundle into the test project
aion-ts init /path/to/project --force

What it does:

  • Runs bun run build:singlefile (skippable with --skip-build)
  • Pushes the bundle, the theme, and aion-init.js to ~/.local/lib/aion/
  • aion-ts init <dir> --force then copies the freshly built bundle into <dir>/.opencode/plugins/

Override the target dir with --lib-dir <path>.

Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force

Full diff

  • src/hooks/tool-guard.ts:165 — memory-file dedup exemption + log-level downgrade
  • test/unit/hooks.test.mjs:286 — new skips dedup for memory file reads case
  • scripts/dev-install.sh — new dev push script
  • package.json — version bump to 0.5.3
  • README.md / README.zh-CN.md — News entry