AI Code Editor & Autonomous Agent Runtime · Rust back-end + Tauri/React desktop
SenWeaverCoding is a desktop AI code editor that ships the entire agent
runtime as a single installable application. The back-end is a Rust
library (src/) embedded directly into a Tauri 2 shell; the front-end
is a React + Vite UI living in desktop/. There is no sidecar process,
no remote service to talk to, and no separate CLI install — one
installer gives you the full IDE and a terminal-callable sen
command.
| Area | What you get |
|---|---|
| Desktop-first | Tauri 2 shell with native menus, multi-tab sessions, in-app PTY terminal, file browser, and an embedded browser dock for live web/UI work. |
| Embedded Rust runtime | The same crate that runs headless is loaded in-process via crate-type = ["cdylib", "staticlib", "rlib"]. The UI talks to it over a loopback WebSocket/HTTP gateway — no serialization-heavy IPC, no external daemon. |
| Intent-routed coding modes | Auto routes each turn to the best fit; or pin a mode explicitly: Agent (default, full autonomy + full tool surface), Plan (read-only plan authoring), Ask (read-only Q&A with citations), Debug (4-stage root-cause + in-app browser QA), Curator (research → DOCX / implementation blueprint), Designer (ten UI/design surfaces). Each mode rewires the system prompt, tool allowlist, approval policy, and auto-verify behavior. |
| 130+ tools | File ops, PTY-mirrored shell, Git, ripgrep/content search, glob/multi-edit/patch-apply, code intelligence (tree-sitter outline + symbol graph for callers/implementors/uses + optional Tantivy full-text index), multi-engine web search/fetch, headless & embedded browser, SQLite + vector memory, todo/plan tracking, image generation, office docs (xlsx/pdf/docx), MCP tools, Skills, and Subagent delegation. |
| Multi-provider | OpenAI-compatible (incl. DeepSeek / Gemini-compatible endpoints), Anthropic, OpenRouter, GitHub Copilot, Claude Code, Ollama, Azure OpenAI, AWS Bedrock, Telnyx, and local CLI bridges. Provider keys and per-session model routing are configured in-app. |
| Persistent memory & checkpoints | SQLite + Markdown backends with vector embeddings, per-session work-dir isolation, and rewind/restore checkpoints. Interrupted turns are repaired and resumed against the most recent task on "continue". |
| Automations & extensibility | Cron-driven automations, Hooks, user Rules, Skills, MCP servers, multi-channel adapters (Slack / Telegram / Discord / Matrix / Lark / …), and first-party TypeScript & Python SDKs over a /v1/agents REST surface. |
| Performance-tuned | Virtualized message list, rAF-coalesced streaming flushes, prioritized WebSocket heartbeats, content-aware context compaction, and spawn_blocking on IO hot paths. Hard constraints live in AGENTS.md. |
Pre-built installers are published on the
Releases page.
Every installer ships both the desktop app and the sen CLI so a
single install gives you the GUI and a terminal-callable sen command.
| Platform | Asset | What lands on your system |
|---|---|---|
| Windows x64 | SenWeaverCoding_<ver>_x64-setup.exe (NSIS) |
Lets you pick install scope (per-user / per-machine) and the install directory. Adds the install dir to HKCU\Environment\Path so sen.exe is callable from any cmd / PowerShell / Windows Terminal session immediately after install. Removed cleanly on uninstall. |
| Windows x64 | SenWeaverCoding_<ver>_x64_en-US.msi |
For silent / group-policy deployment. |
| macOS (universal) | SenWeaverCoding_<ver>_universal.dmg |
One drag-to-Applications package that runs natively on both Apple Silicon and Intel Macs (the bundled sen is a lipo-merged fat binary). CLI lives at SenWeaverCoding.app/Contents/Resources/sen; symlink it once with ln -sf "/Applications/SenWeaverCoding.app/Contents/Resources/sen" /usr/local/bin/sen to call it from any shell. |
| Linux x64 | SenWeaverCoding_<ver>_amd64.deb |
sudo dpkg -i on Debian/Ubuntu — installs the desktop launcher and /usr/bin/sen automatically. |
| Linux x64 | SenWeaverCoding_<ver>_amd64.AppImage |
Portable single-file desktop app. The CLI is not carried by the AppImage — install the .deb instead if you want a system-wide sen command. |
After installation launch SenWeaverCoding from the start menu /
Applications / app launcher. On first run open Settings → Providers
and add an API key for any provider you want to use. From a terminal
you can verify the CLI with sen --help.
Modes are switchable mid-session from the composer. Auto is an intent router that picks a fit per turn; the rest can be pinned:
| Mode | Writes? | Purpose |
|---|---|---|
| Auto | depends | Routes each message to the best-fit mode based on intent (debug / plan / Q&A / general). |
| Agent (default) | yes | Fully autonomous orchestrator. Full tool surface, auto-approved tool calls, decomposes the task, executes end-to-end, then self-verifies. |
| Plan | no | Drafts/updates a .plan.md under .senweavercoding/plans/ for later execution. No source edits, no shell. |
| Ask | no | Read-only Q&A with citations. No edits, no shell, no plan writes. |
| Debug | yes | Reproduce → Hypothesize → Isolate → Fix, with in-app browser QA, PII redaction at the LLM boundary, and report/tech-doc output. |
| Curator | docs only | Mines the web + local workspace, authors a professional paper / solution / report with DOCX export, then stops so Agent mode can implement the blueprint. |
| Designer | yes | Design studio across ten surfaces (prototype, dashboard, slide deck, diagram, image, video, etc.) with a discovery → plan → generate → critique pipeline and a live preview panel. |
Agent mode includes the tools and capabilities of every other mode, so you never lose functionality by staying in the default.
- Rust ≥ 1.87 (stable, edition 2024) — install via rustup.
- Bun ≥ 1.1 (used for the front-end; npm/pnpm also work).
- Platform-specific Tauri prerequisites:
- Windows: WebView2 runtime + MSVC build tools.
- macOS: Xcode Command Line Tools.
- Linux:
libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf. - Full list: https://v2.tauri.app/start/prerequisites/.
git clone https://github.com/senweaver/SenWeaverCoding.git
cd SenWeaverCoding/desktop
bun install
bun run tauri devcd desktop
bun install
bun run tauri build # all bundlers configured in tauri.conf.jsonThe artifacts land in desktop/src-tauri/target/release/bundle/:
| Bundle | Path |
|---|---|
| Windows NSIS / MSI | bundle/nsis/*.exe, bundle/msi/*.msi |
| macOS dmg / .app | bundle/dmg/*.dmg, bundle/macos/*.app |
| Linux deb / AppImage | bundle/deb/*.deb, bundle/appimage/*.AppImage |
This repo ships a single GitHub Actions workflow at
.github/workflows/release.yml. Pushing a tag matching v*
(e.g. v0.1.0) — or running the workflow manually with
gh workflow run release.yml -f tag=v0.1.0 — triggers a clean
multi-platform build:
- Each platform job does a fresh
actions/checkout@v4, so no localnode_modules/,target/,.senweavercoding/,dist/or.vite/cache from your dev machine ever leaks in (.gitignoreexcludes them and the workflow reinstalls from scratch). - Builds the
senCLI intodesktop/src-tauri/binaries/sen[.exe]. - Runs
tauri-action, which builds the front-end and bundles the desktop application + CLI into the platform installers. - Uploads every installer to the same GitHub Release.
git tag v0.1.0
git push origin v0.1.0The crate is feature-gated so headless and desktop builds only compile what they need.
| Flag group | Examples | Notes |
|---|---|---|
| default | observability-prometheus, skill-creation, fs-watch, sandbox, lsp-push-diagnostics, tool-image, tool-utility-misc, tool-search-broad, tool-workspace-deep, tool-curator, lan-comms, office-docs |
What a normal build ships. |
| code-intel | tree-sitter grammars (rust/js/ts/python/go/java/c/cpp/…) | Enables AST outline + symbol graph; falls back to heuristics when off. |
| code-search | tantivy |
Adds an incremental full-text code index. |
| extras | tool-cron, tool-sop, tool-team, tool-reports, tool-cloud-ops, computer-use, … |
Optional tool families (also what desktop enables). |
| channels | channel-slack, channel-telegram, channel-matrix, channel-lark, … |
Multi-channel adapters. |
There are deliberately no test files in this repository — all
verification is performed via cargo check, cargo clippy, and manual
smoke tests of the desktop app. Benches under benches/*.rs are kept
for performance regression tracking. The enforced zero-error checks
(see AGENTS.md):
cargo check --lib
cargo check --lib --no-default-features
cargo check --bin sen
cargo check --bin sen --features crdt-coordination
cargo check --lib --features extras
cd desktop && bunx tsc --noEmitSenWeaverCoding/
├── src/ # Rust agent runtime (lib + `sen` bin)
│ ├── agent/ # Turn loop, tool dispatch, modes, context compaction
│ ├── providers/ # OpenAI-compat / Anthropic / OpenRouter / Copilot / …
│ ├── tools/ # 130+ tools (file/shell/git/web/code-intel/…)
│ ├── code_intel/ # tree-sitter outline, symbol graph, Tantivy search
│ ├── context/ · rag/ # Context assembly, retrieval, RAG
│ ├── gateway/ # axum HTTP + WebSocket router (loopback)
│ ├── memory/ # SQLite + Markdown + vector index backends
│ ├── channels/ # Slack / Telegram / Discord / Matrix / Lark / …
│ ├── skills/ · workflows/ # Skills, subagents, multi-step workflows
│ ├── cron/ · hooks/ # Automations, lifecycle hooks, user rules
│ ├── apply_model/ # Patch / multi-edit application
│ ├── security/ · guardrails/ # Sandbox, permissions, PII redaction
│ └── observability/ · evolution/ · lsp/ · …
│
├── desktop/ # Tauri 2 + React + Vite front-end
│ ├── src/ # React app (modes, terminal panel, plan/tool cards,
│ │ # embedded browser dock, settings, …)
│ ├── src-tauri/ # Tauri shell — embeds `src/` as a Rust library
│ └── package.json
│
├── sdk/ # First-party TypeScript & Python SDKs
├── tool_descriptions/ # Localized tool manifests (en / zh-CN)
├── benches/ # Criterion benchmarks
└── .github/workflows/ # CI / release pipeline
The desktop app boots the gateway router in-process and connects the
React front-end to it via a 127.0.0.1 WebSocket / HTTP loopback.
Because the back-end is loaded as a library
(sen_desktop_lib.{cdylib,staticlib}) there is no IPC serialization
overhead between the UI and the agent runtime. The same gateway exposes
a /v1/agents REST surface consumed by the TypeScript and Python SDKs
under sdk/.
- Code-signed installers for Windows and macOS notarization.
- Native auto-update channel via Tauri Updater.
- More first-class provider adapters.
- Deeper code-graph driven retrieval across large repositories.
- Cloud-collaborative workspaces.
MIT © 2025-2026 SenWeaverCoding