Skip to content

brightwave-inc/openwave

OpenWave

OpenWave

An open, local-first cowork runtime.
A Rust-native agent that works over your files and tools — on your machine, with your own model keys.

License: Apache-2.0 Status: pre-alpha Built with Rust


Warning

Early and in active development. OpenWave is being built in the open, one slice at a time. Interfaces, schema, and crate layout change frequently, and it isn't ready for real-world use yet. Star the repo to follow along — and expect rough edges.

Where this comes from

OpenWave is the open core of the Brightwave platform.

We've spent years building Brightwave — an agentic system for demanding, real-world knowledge work: a runtime that plans and executes multi-step tasks, runs fleets of agents in parallel inside sandboxes, connects to your sources, and grounds its answers in citations. Skills and prompts are features on top of that runtime, not the point of it. We're taking the core pieces of that platform — the agent loop, the tool model, sandboxing, connectors, and retrieval — and opening them up under Apache-2.0, rebuilt lean in Rust as a local-first application you run yourself.

The idea is simple: the engine that does the work shouldn't be a cloud service that holds your data and meters your tokens. It should be something you own — local by default, model-agnostic, and open.

The open version is configurable end to end. Bring your own API keys to connect the LLMs, embedding services, and document parsers you prefer — each behind a common interface — with sensible, local-friendly defaults out of the box, so it works on your machine from the first run.

Why

Most agentic tools are cloud services that hold your data and meter your usage. OpenWave is the opposite: a slim desktop app (plus a headless mode) that runs the agent loop on your machine, keeps your data local, and lets you bring your own model — hosted or fully offline. It speaks MCP, so it works with the agents and tools you already use.

Principles

  • Local-first & private. Your files, keys, and history stay on your machine.
  • Bring your own keys. Configure the models (Anthropic, OpenAI, Google, or anything OpenAI-compatible — vLLM, LM Studio, Ollama, OpenRouter), embedding services, and document parsers you want — with local-friendly defaults. We never meter tokens.
  • Slim by default. Small install; no bundled model weights or language runtimes — fetched on first use, cached locally.
  • Works with any agent. An MCP server and a client — OpenWave both exposes tools and consumes them.
  • Open core. The runtime is Apache-2.0 and complete on its own.

Status

Pre-alpha, built in the open. The walking skeleton runs today: projects and chats, local file tools, a turn engine, and live event streaming over WebSocket, all behind openwave serve. Desktop UI, connectors, and retrieval come next. Expect rapid change and rough edges — and see CONTRIBUTING if you'd like to help.

Building

cargo build --workspace

Requires the Rust toolchain declared in rust-toolchain.toml.

Layout

This is a single Cargo workspace. Libraries never depend on clients — the dependency graph only flows downward toward openwave-core. For a fuller walkthrough of each crate, see docs/crates.md.

Crate What it is
openwave-core agent loop, tools, event stream, storage traits
openwave-connectors OAuth + source connectors
openwave-retrieval embeddings, vector search, citations
openwave-mcp MCP server & client
openwave-desktop desktop app (Tauri)
openwave-cli headless daemon + CLI
openwave-slack Slack adapter

Model-provider adapters and routing/failover live in a planned openwave-router crate — see docs/crates.md.

License

Apache-2.0 — see LICENSE and NOTICE. Contributions are accepted under the terms in CONTRIBUTING.

About

OpenWave — an open, local-first cowork runtime. The open core of the Brightwave platform, rebuilt in Rust.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages