A pure-Go, terminal-native coding agent.
Anthropic and OpenAI-compatible models · persistent memory · LSP code intelligence · MCP tools.
Alpha.
v0.0.1-alphais the first tagged build. The architecture is settled and the test suite is green, but interfaces may still move and it has seen little real-world mileage. See Status for what is proven and what is not.
curl -fsSL https://raw.githubusercontent.com/7-solutions/openplus/main/scripts/install.sh | shWorks on Linux and WSL2 (arm64 and amd64, glibc) and macOS on Apple
Silicon (arm64). The script detects your platform, verifies the SHA-256
checksum, and installs to ~/.local/bin (or /usr/local/bin when writable).
Anything else — Intel macOS, musl, native Windows — is refused with the reason.
Other ways to install
# Pin a version
OPENPLUS_VERSION=v0.0.1-alpha curl -fsSL https://raw.githubusercontent.com/7-solutions/openplus/main/scripts/install.sh | sh
# Choose the directory
OPENPLUS_INSTALL=$HOME/bin curl -fsSL https://raw.githubusercontent.com/7-solutions/openplus/main/scripts/install.sh | sh
# With Go
go install github.com/7-solutions/openplus/cmd/openplus@latest
# From source
git clone https://github.com/7-solutions/openplus && cd openplus
CGO_ENABLED=0 go build -o openplus ./cmd/openplusNative Windows is not supported. Use WSL2 and install from inside your Linux distribution.
# No API key needed — the scripted fake provider proves the wiring
openplus --fake -p "say hello"
# With a real model
export ANTHROPIC_API_KEY=sk-ant-...
openplus -p "explain the error handling in internal/agent/loop.go"
# Interactive TUI
openplusOpenPlus reads opencode.json from your project root — the same surface OpenCode
uses — plus AGENTS.md for project instructions.
Full reference: docs/configuration.md.
| Models | Anthropic Messages and any OpenAI-compatible endpoint (incl. Ollama), first-class |
| Tools | read write edit bash glob grep, all behind a permission gate |
| Memory | Local vector + FTS5 hybrid search with tunable RRF fusion; never leaves your machine |
| Code intelligence | LSP: diagnostics, hover, definition, symbols, references — diagnostics fed back automatically after edits |
| MCP | Connect any MCP server; its tools join the registry namespaced |
| Docs | Context7 wired as a default docs source, so the model reads current library docs |
| Orchestration | Parallel subagents in isolated git worktrees, JS workflows, best-of-N with a judge |
| Self-improvement | /dream mines session traces into memory; /distill turns repeated work into skills |
go install golang.org/x/tools/gopls@latest{ "lsp": { "enabled": true, "servers": { ".go": { "command": "gopls" } } } }Now the agent sees compiler errors in files it edits, without being asked, and can
call lsp_hover, lsp_definition, lsp_symbols, and lsp_references directly.
Servers start lazily on first use; a missing binary is a warning, never a crash.
/help lists everything. Highlights:
| Command | Does |
|---|---|
/docs <library> |
Fetch current library documentation (Context7) |
/compose <feature> |
Spec → implement → verify → review pipeline |
/subagents <prompts> |
Run work in parallel, isolated git worktrees |
/max [n] <prompt> |
Best-of-N sampling with a judge |
/dream · /distill |
Mine this session into durable memory or a reusable skill |
/workflow <name> |
Run a Go or JavaScript workflow |
/theme |
Switch color theme (color-vision aware) |
Full list: docs/commands.md.
Alpha. Honest accounting of where this stands:
Proven
-
27 packages,
go test ./...green,-raceclean -
CGO_ENABLED=0build gate enforced in CI -
Architecture guarded by regression tests, not convention — six of them, including two that fail the build if a wire type crosses a port boundary
-
LSP verified end to end against a real
gopls -
darwin/arm64 soak-tested on real Apple Silicon: five consecutive CI runs, which is how the one flaky test in the suite was found and fixed
Not yet proven
- Little real-world mileage. Interfaces may move before
v0.1.0. - linux/arm64 is cross-compiled and never executed in CI — of the three published artifacts it is the one with no runtime coverage.
Not built (deliberately deferred, each needs its own decision record): voice input, MCP marketplace, web/share UI, hosted multi-tenant mode, LSP server auto-install.
Three published artifacts, and nothing else:
| Platform | Architectures |
|---|---|
| Linux (glibc) — Ubuntu, Fedora, Debian, openSUSE, Arch, NixOS | arm64, amd64 |
| WSL2 (uses the Linux artifacts) | arm64, amd64 |
| macOS — Apple Silicon | arm64 |
macOS on Intel is not supported: nothing in CI runs an Intel Mac, so the
artifact would be an untested claim. musl systems such as Alpine are out of
scope — Linux builds target glibc. Native Windows is not supported; use
WSL2. In all three cases the installer refuses with the actual reason instead of
failing later. NixOS needs nix-ld, which the installer detects and explains.
Details in docs/install.md.
Ports and adapters, enforced rather than encouraged. The core depends on eleven port
interfaces in internal/ports/; every external system is an adapter behind one.
internal/ports/ the eleven seams + neutral types (no wire type may cross)
providerfake/ scripted provider for tests
internal/provider/ adapter-only: anthropic · openaicompat · select · sse
internal/lsp/ LSP adapter: client · manager · wire (only place LSP is known)
internal/memory/ Turso vector + modernc FTS5 shadow, RRF fusion
internal/agent/ the turn loop
internal/runtime/ composition root: ports → adapters
internal/tui/ Bubble Tea front-end
Two hard rules carry regression tests that fail the build when violated:
- Core depends on ports, not adapters —
internal/ports/leak_guard_test.go - No wire type crosses a seam —
internal/ports/lsp_leak_guard_test.go
Decisions live in docs/adr/; specs and change history in
openspec/. Start with AGENTS.md — it is the single
source of truth for how this project is built.
The build gate is mandatory and spec-first: an approved OpenSpec change
(openspec/changes/<id>/) exists before any code, tests are written red first, and
every architectural rule ships with the test that enforces it. Read
AGENTS.md before starting.
go build ./... && CGO_ENABLED=0 go build ./...
go test ./... && go test -race ./internal/...
go vet ./...- Installation — every method, upgrade, uninstall, troubleshooting
- Configuration — full
opencode.jsonreference - Commands — every slash command
- Feature matrix — OpenPlus vs OpenCode vs MiMoCode
- ADRs — why the architecture is what it is
Apache License 2.0 — Copyright 2026 7 Solutions.
{ "model": "anthropic/claude-sonnet-5", "instructions": ["AGENTS.md"], "provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } }, "local": { "options": { "baseURL": "http://localhost:11434/v1", "apiKey": "ollama" }, "models": { "qwen2.5-coder": { "name": "Qwen2.5 Coder" } } } }, "permission": { "bash": "ask", "write": "ask" }, // Code intelligence — opt-in, you supply the server binary "lsp": { "enabled": true, "servers": { ".go": { "command": "gopls" } } } }