Open-source desktop AI agent workspace for coding, research, documents, and multi-agent workflows.
NoWork lets you create AI workers like chat contacts. Each worker can plan, code, review, research, process files, and run workflows inside a local desktop app.
A clean, contact-style workspace for managing multiple agent conversations.
A coding agent plans and builds a simple Pomodoro timer from scratch.
Team workers coordinate multiple agents — watch member activities, tool calls, and progress in real time.
Build a structured Wiki from your documents — auto-ingest files, browse pages, search, and visualize knowledge graphs.
NoWork is a desktop-first multi-agent app built for practical work:
- Coding — planning, implementation, review, debugging
- Document work — Word, Excel, PowerPoint, PDF
- Research — web browsing, summarization, technical exploration
- Ongoing workflows — long conversations, scheduled runs, reusable workers
Instead of juggling prompts, terminals, and scripts, you talk to workers as if they were contacts in a chat app.
Command-line AI tools are powerful, but they still create friction for many users. Existing desktop wrappers often feel unstable, too thin, or too dependent on manual environment setup.
NoWork takes a different approach:
- Desktop-first, not terminal-first — install and run without needing CLI workflows
- Chat-native interaction — every agent or team is a contact, so delegation feels natural
- Bundled runtime — the app ships with its own backend and embedded Python runtime
- Local workspace access — agents can work with real files inside configured directories
- Small-team and solo-friendly — practical multi-agent automation without platform complexity
The goal is simple: let AI handle repetitive work, so you can stay focused on decisions and results.
| Capability | Description |
|---|---|
| Contact-style workers | Each Agent / Team appears as a chat contact. Click and start working. |
| Multi-agent collaboration | Built-in planning, coding, review, architecture, research, and document workers. |
| 50+ model providers | Powered by Agno. Supports OpenAI, Anthropic, Google, DeepSeek, Qwen, Ollama, vLLM, and many more. |
| Long-session continuity | Automatic context compaction helps preserve useful state in long conversations. |
| Workspace-safe file access | Sandboxed file and shell operations limited to configured directories and permissions. |
| Document processing skills | Built-in support for Word, Excel, PowerPoint, and PDF workflows. |
| Knowledge bases | Wiki-driven knowledge management inspired by Karpathy's LLM Wiki pattern, with implementation reference from llm_wiki. Supports auto-ingest, full-text search, knowledge graphs, and Worker integration. Works in both Wiki mode and traditional vector mode. |
| Scheduled runs | Set recurring tasks for workers to run automatically. |
| MCP integration | Connect external tools through Model Context Protocol. |
| Desktop-native packaging | Tauri desktop shell with bundled backend and embedded Python runtime. |
| Bilingual UI | English / 简体中文 support with instant switching. |
- Download the latest release from the Releases page
- Install the desktop app
- Configure a model provider
- Choose a worker
- Start chatting and delegating work
Create a provider file such as:
# server/config/models/my-provider.yaml
provider_id: my-provider
name: My Provider
base_url: https://api.openai.com/v1
api_key: sk-xxx
models:
- id: gpt-4o
name: GPT-4o
image: true
video: falseThen set the default model:
# server/config/config.yaml
default_model: my-provider/gpt-4oAfter that, open the app, pick a worker, and start chatting.
NoWork ships with a practical default workforce for common engineering and document tasks.
| Worker | Role | Type |
|---|---|---|
| Code Agent | Write, edit, and debug code | Agent |
| Planning Engineer | Analyze requirements and write implementation plans | Agent |
| Implementation Engineer | Execute plans step by step | Agent |
| Architecture Reviewer | Read-only review and risk analysis | Agent |
| Code Explorer | Search, navigate, and understand codebases | Agent |
| Documentation Researcher | Write docs and research technical topics | Agent |
| Doc Agent | Process Office/PDF documents and perform web research | Agent |
| Product R&D Team | Planner → coder → reviewer pipeline | Team |
Workers are YAML-driven — add, remove, or customize them without changing application code.
| File | Purpose |
|---|---|
server/config/config.yaml |
Global config: default model, tools, server settings |
server/config/models/*.yaml |
Model provider definitions, API keys, endpoints, capabilities |
server/config/workers/*.yaml |
Worker definitions: instructions, tools, workspaces, history, learning |
server/config/knowledge/*.yaml |
Knowledge base definitions: paths, wiki mode, purpose, auto sync |
server/config/mcp.yaml |
MCP server connections |
# server/config/workers/my-worker.yaml
agent:
id: my-worker
name: My Worker
instructions: You are a helpful coding assistant.
tools:
- module: app.tools.codingTools
class: CodingTools
config:
base_dirs:
- C:/Users/me/projects
workspaces:
- path: C:/Users/me/projects
permission: read-writeNoWork uses a Tauri desktop shell, a React frontend, and a local FastAPI + Agno backend with an embedded Python runtime.
┌─ Tauri Desktop (Rust) ─────────────────────────────┐
│ │
│ ┌─ React Frontend (Vite + TypeScript) ──────────┐ │
│ │ NavRail │ Worker List │ Chat Workspace │ │
│ │ Voice │ Schedules │ Settings │ Help │ │
│ └───────────────────────────────────────────────┘ │
│ HTTP / SSE │
│ ┌─ Python Backend (FastAPI) ───────────────────┐ │
│ │ Agno AgentOS ─ Agent / Team / Workflow │ │
│ │ CodingTools (sandboxed shell + file ops) │ │
│ │ CompactionManager (context management) │ │
│ │ MCP Client │ Knowledge Base │ Skills │ │
│ │ Session Persistence (SQLite) │ │
│ └──────────────────────────────────────────────┘ │
│ Tauri manages backend lifecycle automatically │
└────────────────────────────────────────────────────┘
| Tool | Version |
|---|---|
| Node.js | >= 18 |
| Python | >= 3.10 |
| Rust | stable |
# Python deps
pip install -r requirements.txt
# Frontend deps
cd web
npm install
cd ..powershell -ExecutionPolicy Bypass -File scripts/start-dev.ps1# Frontend only
cd web
npm run dev
# Backend only
conda activate nowork
$env:PYTHONPATH = "server"
python -m app.run
# Full desktop app
npm run tauri:dev# Recommended
powershell -ExecutionPolicy Bypass -File scripts/build-release.ps1Output:
src-tauri/target/release/bundle/
- Release builds bundle an embedded Python runtime
- Python dependencies are copied using a filtered allowlist, not a full Conda environment
- End users do not need Python, Conda, or manual dependency installation
- Server code and resources are packaged into the desktop app directly



