v0.5.3
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/*.mdare persistent state stores that the runtime is designed to re-read.negative.mdgets re-checked byinformation-collectoron every evidence-collection round,progress.mdandtodo-map.mdget 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 surfacesconsole.warnas 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()toinfo(). 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 --forceWhat it does:
- Runs
bun run build:singlefile(skippable with--skip-build) - Pushes the bundle, the theme, and
aion-init.jsto~/.local/lib/aion/ aion-ts init <dir> --forcethen 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 -- --forceFull diff
src/hooks/tool-guard.ts:165— memory-file dedup exemption + log-level downgradetest/unit/hooks.test.mjs:286— newskips dedup for memory file readscasescripts/dev-install.sh— new dev push scriptpackage.json— version bump to 0.5.3README.md/README.zh-CN.md— News entry