Drift
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 15 GitHub stars
Code Uyari
- process.env — Environment variable access in engine/opencode/plugin/mcp-approval.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Desktop coding agent using the OpenCode agent engine
Drift
A focused Windows desktop for coding with AI agents.
Open your projects, keep long-running threads close, and let Drift manage the engine.
Install | Features | Development | Documentation
Drift packages the OpenCode agent engine as a
managed sidecar and gives it a native-feeling desktop home. One app handles the engine
lifecycle, project navigation, persistent thread metadata, updates, and Windows
integration while remaining compatible with OpenCode providers, agents, MCP servers,
plugins, and configuration.
One installer. No separate Node runtime. No CLI bootstrap. No local server to manage.
[!IMPORTANT]
Drift is an agent, not a sandbox. It can read files, modify code, and run commands with
your user account's permissions. Open trusted workspaces and review permission requests.
Features
| Projects at a glance | Organize threads under workspace folders, rename and personalize workspaces, and archive or restore work without losing engine sessions. |
| The full OpenCode engine | Use build and plan agents, custom agents, provider OAuth, MCP servers, permissions, project instructions, and plugins without installing OpenCode separately. |
| Long-session performance | Navigate virtualized transcripts with thousands of messages, streamed reasoning, syntax-highlighted tools, and persistent tool disclosure state. |
| Context control | Fork stable context or complete history, undo and redo turns, steer an active session, or spawn an independent sibling thread. |
| Provider flexibility | Connect Anthropic, OpenAI, GitHub Copilot, Google, OpenRouter, and the other providers supported by OpenCode; choose model, agent, and thinking settings per thread. |
| Deep configuration | Inspect and override model-family system prompts, built-in agent behavior, permissions, and project instructions. |
| Guarded MCP management | Review exact MCP server definitions before enabling them. Changed definitions require a new decision and invalid policy state fails closed. |
| A workspace you can tune | Use the command palette, rebind shortcuts, select from eight themes, customize fonts and CSS, and choose from 18 interface languages. |
| Desktop behavior | Open files in your editor, receive configurable notifications, use native folder dialogs, and install signed updates from GitHub Releases. |
Drift and the OpenCode CLI can use the same projects and canonical engine storage at the
same time. Drift-specific workspace names, icons, archive state, preferences, and MCP
decisions stay in Drift's own SQLite database.
Install
- Download the latest Windows x64 installer from
GitHub Releases. - Launch Drift and add a workspace directory.
- Open Settings > Providers and connect a model provider.
- Start a thread and send a prompt.
Drift does not include paid model access. Provider accounts, terms, and usage charges
still apply. Installed copies check the signed update manifest on startup; automatic
checks can be disabled under Settings > General.
How it works
SolidJS interface
| REST + server-sent events
v
Bundled OpenCode sidecar --------> model providers, MCP servers, project tools
^
| lifecycle + random loopback credentials
|
Tauri shell ---------------------> SQLite, updates, native Windows APIs
The sidecar listens only on 127.0.0.1 and receives a random Basic-auth credential on
each launch. Model requests and relevant context are sent to whichever provider you
configure. OpenCode and Drift plugins execute code in the engine process, so install
third-party plugins only when you trust their source. See the
architecture, MCP trust boundary, and
security policy for details.
Development
Drift's native target is Windows x64. Development requires:
- Bun
- A stable Rust toolchain with the MSVC target
- Visual Studio Build Tools
with Desktop development with C++ - Microsoft Edge WebView2 Runtime
Clone the repository and bootstrap the app plus the vendored engine:
git clone https://github.com/kylepelham/Drift.git
cd Drift
bun install
bun install --ignore-scripts --cwd engine/upstream
bun install --cwd engine/opencode
bun run build:engine
Start the engine and browser UI:
bun run dev
The UI is served at http://localhost:5180 against the engine on port 4096. To use the
native shell during development, leave that command running and start bunx tauri dev
in a second terminal.
Quality checks
bun run typecheck
bun run test
cargo test --manifest-path src-tauri/Cargo.toml
Use bun run test:engine after changing engine overlays or extensions.
Build targets
bun run build:native # release executable, no installer
bun run package # Windows NSIS installer
Project layout
| Path | Purpose |
|---|---|
src/ |
SolidJS frontend, engine client/store, application state, and UI |
src-tauri/ |
Tauri shell, sidecar lifecycle, native commands, and Drift SQLite store |
engine/upstream/ |
Pristine OpenCode git subtree; never edit directly |
engine/overlays/ |
Minimal, reversible patches for internal engine integration points |
engine/opencode/ |
Drift-shipped OpenCode plugins and configuration |
scripts/ |
Development, extension, and engine build tooling |
tests/ |
Focused frontend and integration tests |
docs/ |
Architecture and subsystem documentation |
Read CONTRIBUTING.md before changing the vendored engine or opening a
substantial pull request.
Documentation
| Guide | Covers |
|---|---|
| Architecture | Layer boundaries, state flow, workspaces, transcripts, and tool rendering |
| Engine integration | Sidecar lifecycle, API surface, overlays, updates, and engine gotchas |
| Extensibility | OpenCode plugins, Drift hooks, tool renderers, and spawned threads |
| MCP approvals | MCP trust boundary, exact-definition decisions, reloads, and recovery |
| Drift store | SQLite schema, persistence, archive behavior, and workspace lifecycle |
| Theming | Design tokens, built-in themes, fonts, and custom CSS |
Contributing
Bug reports, focused fixes, and well-scoped improvements are welcome. Start with the
contribution guide, use the repository's issue forms, and review the
Code of Conduct.
Report vulnerabilities through GitHub's
private vulnerability reporting,
not a public issue. General support guidance is in SUPPORT.md.
OpenCode
Drift is an independent desktop client built around OpenCode. It bundles a compiled copy
of OpenCode under its MIT license and ships that license with the app atlicenses/opencode-LICENSE.txt.
License
Drift is available under the MIT License. Copyright (c) 2026 Kyle Pelham.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi