OpenCode plugin that stores session and message sync data locally in SQLite. Designed to work across multiple AI harnesses (OpenCode, Cursor, Claude Code).
- Captures session and message events from OpenCode.
- Aggregates message parts into full text content.
- Writes sessions/messages to a local SQLite database.
Add the plugin to your OpenCode config (~/.config/opencode/opencode.json or
project-level opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@dxta-dev/clankers"]
}Install the package (npm or Bun). The clankers-daemon creates and migrates the local database on startup.
The plugin requires the clankers-daemon binary. Install it with:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/dxta-dev/clankers/main/scripts/install-daemon.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/dxta-dev/clankers/main/scripts/install-daemon.ps1 | iexOptions:
# Install specific version
curl -fsSL ... | sh -s -- v0.1.0
# Or use environment variables
CLANKERS_VERSION=v0.1.0 curl -fsSL ... | sh
CLANKERS_INSTALL_DIR=/usr/local/bin curl -fsSL ... | shThe script downloads the binary from GitHub Releases, verifies the checksum, and
installs to ~/.local/bin (Linux/macOS) or %LOCALAPPDATA%\clankers\bin (Windows).
Alternatively, if you use Nix:
nix profile install github:dxta-dev/clankers#clankers-daemon- Install the daemon (see above).
- Add the plugin to your OpenCode config (or drop a built plugin into
.opencode/plugins/). - Start
clankers-daemonso it can create the database. - Restart OpenCode so the plugin loads with local SQLite sync enabled.
Clankers stores its database and config under a harness-neutral app data directory:
- Linux:
${XDG_DATA_HOME:-~/.local/share}/clankers/ - macOS:
~/Library/Application Support/clankers/ - Windows:
%APPDATA%\clankers\
Defaults
- Database:
<data root>/clankers.db - Config:
<data root>/clankers.json
Overrides
- Set
CLANKERS_DATA_PATHto change the app data root. - Set
CLANKERS_DB_PATHto point at a specific database file.
This repo is a pnpm monorepo with:
apps/opencode-plugin(published as@dxta-dev/clankers-opencode)apps/cursor-plugin(published as@dxta-dev/clankers-cursor)apps/claude-code-plugin(published as@dxta-dev/clankers-claude-code)packages/core
pnpm build:opencode bundles with esbuild (Node 24) and writes the plugin to
apps/opencode-plugin/dist/ for local OpenCode usage.
pnpm install
pnpm build:opencode
pnpm lint
pnpm format