@otto-assistant/otto
v0.1.2
Published
Otto — terminal UI distribution wrapper for opencode + kimaki + mempalace
Downloads
283
Maintainers
Readme
Otto
Otto is a production-focused wrapper that turns opencode-ai + bridge + mempalace into one fast, repeatable runtime for AI coding in Discord and terminal flows.
It is built for teams and solo builders who want:
- Speed: prebuilt Docker images and one-command onboarding.
- Intelligence: persistent memory via
mempalace. - Reliability: pinned stable channel + edge channel with CI publishing.
- Low friction: run locally or in Docker with the same behavior.
Why Otto
Most agent stacks break because setup is spread across tools, configs, and machine-specific assumptions. Otto standardizes this into a single operator experience:
- installs and upgrades required global CLIs,
- merges required plugins into
opencodeconfig, - enforces safe runtime defaults,
- supports tenant-oriented Docker operation,
- ships stable and edge Docker channels to GHCR.
What Otto includes
Otto orchestrates three upstream components without patching their source code:
opencode-ai— coding agent runtime@otto-assistant/bridge— Discord bridge processmempalace— persistent memory plugin for long-lived context
Release channels
Docker images are published to GHCR under:
ghcr.io/otto-assistant/otto:edge(latest frommaster)ghcr.io/otto-assistant/otto:stable(latest stable tag)ghcr.io/otto-assistant/otto:latest(stable release alias)ghcr.io/otto-assistant/otto:vX.Y.Z(versioned stable tags)
Quick start (Docker)
1) Pull image
docker pull ghcr.io/otto-assistant/otto:edgeFor stable use:
docker pull ghcr.io/otto-assistant/otto:stable2) Run container
docker run --rm -it \
-v "$HOME/.config/opencode:/root/.config/opencode" \
-v "$HOME/.kimaki:/root/.kimaki" \
-v "$PWD:/workspace" \
ghcr.io/otto-assistant/otto:edgeBy default, image entrypoint starts bridge.
Quick start (CLI from source)
Requirements
- Node.js 22+
- pnpm
Build and install
pnpm install
pnpm build
npm install -g .Verify
otto status
otto doctorSimple onboarding flow
- Install Otto (Docker or global CLI).
- Run
otto installonce. - Confirm health with
otto doctor. - Start your bridge/runtime.
- Begin coding sessions with persistent memory enabled.
Core commands
otto install
otto upgrade stable
otto upgrade latest
otto status
otto doctorStable upgrade policy
- Edge: follows
mastercontinuously. - Stable: published on git tags
vX.Y.Z. - Use
otto upgrade stablefor predictable pinned versions. - Use
otto upgrade latestfor newest upstream packages.
Production notes
- Keep
~/.config/opencodeand~/.kimakipersistent. - If runtime dependencies or config changed, restart bridge.
- Use unique compose project names per tenant/environment.
Developer workflow
pnpm build
pnpm testThen push to master for edge Docker publish, or push vX.Y.Z tag for stable publish.
Security and operational model
- no forceful mutation of upstream source packages,
- explicit version pinning for stable path,
- deterministic Docker builds for CI/CD,
- memory-enabled sessions through plugin orchestration.
Project links
- Repository: https://github.com/otto-assistant/otto
- Docker image: https://github.com/otto-assistant/otto/pkgs/container/otto
Otto is optimized for one goal: ship faster with AI agents, without losing control of runtime quality and memory continuity.
