{"id":49531265,"url":"https://github.com/yeyan00/nowork","last_synced_at":"2026-05-02T08:04:20.963Z","repository":{"id":353325658,"uuid":"1217806991","full_name":"yeyan00/nowork","owner":"yeyan00","description":"NoWork: A desktop AI workstation for multi-agent collaboration. Let AI agents handle your workflows while you relax.","archived":false,"fork":false,"pushed_at":"2026-05-02T03:10:43.000Z","size":8762,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-02T04:20:36.224Z","etag":null,"topics":["agents","agno","ai-agent","coding-assistant","desktop-agent","llm","vibe-coding","vibe-working"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeyan00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-22T08:33:28.000Z","updated_at":"2026-05-02T03:10:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yeyan00/nowork","commit_stats":null,"previous_names":["yeyan00/nowork"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/yeyan00/nowork","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyan00%2Fnowork","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyan00%2Fnowork/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyan00%2Fnowork/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyan00%2Fnowork/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeyan00","download_url":"https://codeload.github.com/yeyan00/nowork/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyan00%2Fnowork/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32527140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","agno","ai-agent","coding-assistant","desktop-agent","llm","vibe-coding","vibe-working"],"created_at":"2026-05-02T08:04:20.186Z","updated_at":"2026-05-02T08:04:20.953Z","avatar_url":"https://github.com/yeyan00.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# NoWork\n\n**Agents do the work. You don't have to.**\n\nA desktop AI agent workspace where each Agent or Team appears like a chat contact.\nPick a worker, start a conversation, and let it plan, code, review, research, or process documents for you.\n\nBuild your own AI workforce — all in one chat window.\n\n[简体中文](./README.zh-CN.md)\n\n\u003c/div\u003e\n\n---\n\n## 📸 Screenshots\n\n#### 🖥️ Main Interface\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"asserts/main.png\" alt=\"Main Interface\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eA clean, contact-style workspace for managing multiple agent conversations.\u003c/em\u003e\u003c/p\u003e\n\n#### 🚀 Example: Building a Pomodoro Timer\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"asserts/demo.png\" alt=\"Demo Task\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eA coding agent plans and builds a simple Pomodoro timer from scratch.\u003c/em\u003e\u003c/p\u003e\n\n#### 👥 Team Worker: Multi-Agent Collaboration\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"asserts/team.png\" alt=\"Team Worker\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eTeam workers coordinate multiple agents — watch member activities, tool calls, and progress in real time.\u003c/em\u003e\u003c/p\u003e\n\n#### 📚 Knowledge Base: Wiki-Driven Knowledge Management\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"asserts/kl_demo.png\" alt=\"Knowledge Base\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eBuild a structured Wiki from your documents — auto-ingest files, browse pages, search, and visualize knowledge graphs.\u003c/em\u003e\u003c/p\u003e\n\n---\n\n## What is NoWork?\n\nNoWork is a **desktop-first multi-agent app** built for practical work:\n\n- **Coding** — planning, implementation, review, debugging\n- **Document work** — Word, Excel, PowerPoint, PDF\n- **Research** — web browsing, summarization, technical exploration\n- **Ongoing workflows** — long conversations, scheduled runs, reusable workers\n\nInstead of juggling prompts, terminals, and scripts, you talk to workers as if they were contacts in a chat app.\n\n---\n\n## 🤔 Why NoWork?\n\nCommand-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.\n\nNoWork takes a different approach:\n\n- **Desktop-first, not terminal-first** — install and run without needing CLI workflows\n- **Chat-native interaction** — every agent or team is a contact, so delegation feels natural\n- **Bundled runtime** — the app ships with its own backend and embedded Python runtime\n- **Local workspace access** — agents can work with real files inside configured directories\n- **Small-team and solo-friendly** — practical multi-agent automation without platform complexity\n\nThe goal is simple: let AI handle repetitive work, so you can stay focused on decisions and results.\n\n---\n\n## ✨ Key Capabilities\n\n| Capability | Description |\n|---|---|\n| **Contact-style workers** | Each Agent / Team appears as a chat contact. Click and start working. |\n| **Multi-agent collaboration** | Built-in planning, coding, review, architecture, research, and document workers. |\n| **50+ model providers** | Powered by [Agno](https://github.com/agno-agi/agno). Supports OpenAI, Anthropic, Google, DeepSeek, Qwen, Ollama, vLLM, and many more. |\n| **Long-session continuity** | Automatic context compaction helps preserve useful state in long conversations. |\n| **Workspace-safe file access** | Sandboxed file and shell operations limited to configured directories and permissions. |\n| **Document processing skills** | Built-in support for Word, Excel, PowerPoint, and PDF workflows. |\n| **Knowledge bases** | Wiki-driven knowledge management inspired by [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f), with implementation reference from [llm_wiki](https://github.com/nashsu/llm_wiki). Supports auto-ingest, full-text search, knowledge graphs, and Worker integration. Works in both Wiki mode and traditional vector mode. |\n| **Scheduled runs** | Set recurring tasks for workers to run automatically. |\n| **MCP integration** | Connect external tools through Model Context Protocol. |\n| **Desktop-native packaging** | Tauri desktop shell with bundled backend and embedded Python runtime. |\n| **Bilingual UI** | English / 简体中文 support with instant switching. |\n\n---\n\n## 🚀 Quick Start\n\n### For end users\n\n1. **Download** the latest release from the [Releases page](https://github.com/yeyan00/nowork/releases)\n2. **Install** the desktop app\n3. **Configure a model provider**\n4. **Choose a worker**\n5. **Start chatting and delegating work**\n\n### Minimal model configuration\n\nCreate a provider file such as:\n\n```yaml\n# server/config/models/my-provider.yaml\nprovider_id: my-provider\nname: My Provider\nbase_url: https://api.openai.com/v1\napi_key: sk-xxx\nmodels:\n  - id: gpt-4o\n    name: GPT-4o\n    image: true\n    video: false\n```\n\nThen set the default model:\n\n```yaml\n# server/config/config.yaml\ndefault_model: my-provider/gpt-4o\n```\n\nAfter that, open the app, pick a worker, and start chatting.\n\n---\n\n## 🧠 Built-in Workers\n\nNoWork ships with a practical default workforce for common engineering and document tasks.\n\n| Worker | Role | Type |\n|---|---|---|\n| Code Agent | Write, edit, and debug code | Agent |\n| Planning Engineer | Analyze requirements and write implementation plans | Agent |\n| Implementation Engineer | Execute plans step by step | Agent |\n| Architecture Reviewer | Read-only review and risk analysis | Agent |\n| Code Explorer | Search, navigate, and understand codebases | Agent |\n| Documentation Researcher | Write docs and research technical topics | Agent |\n| Doc Agent | Process Office/PDF documents and perform web research | Agent |\n| Product R\u0026D Team | Planner → coder → reviewer pipeline | Team |\n\n\u003e Workers are YAML-driven — add, remove, or customize them without changing application code.\n\n---\n\n## ⚙️ Configuration\n\n| File | Purpose |\n|---|---|\n| `server/config/config.yaml` | Global config: default model, tools, server settings |\n| `server/config/models/*.yaml` | Model provider definitions, API keys, endpoints, capabilities |\n| `server/config/workers/*.yaml` | Worker definitions: instructions, tools, workspaces, history, learning |\n| `server/config/knowledge/*.yaml` | Knowledge base definitions: paths, wiki mode, purpose, auto sync |\n| `server/config/mcp.yaml` | MCP server connections |\n\n### Example worker config\n\n```yaml\n# server/config/workers/my-worker.yaml\nagent:\n  id: my-worker\n  name: My Worker\n  instructions: You are a helpful coding assistant.\ntools:\n  - module: app.tools.codingTools\n    class: CodingTools\n    config:\n      base_dirs:\n        - C:/Users/me/projects\nworkspaces:\n  - path: C:/Users/me/projects\n    permission: read-write\n```\n\n---\n\n## 🏗️ Architecture\n\nNoWork uses a Tauri desktop shell, a React frontend, and a local FastAPI + Agno backend with an embedded Python runtime.\n\n```text\n┌─ Tauri Desktop (Rust) ─────────────────────────────┐\n│                                                    │\n│  ┌─ React Frontend (Vite + TypeScript) ──────────┐ │\n│  │  NavRail │ Worker List │ Chat Workspace       │ │\n│  │  Voice   │ Schedules   │ Settings │ Help      │ │\n│  └───────────────────────────────────────────────┘ │\n│                      HTTP / SSE                    │\n│  ┌─ Python Backend (FastAPI) ───────────────────┐ │\n│  │  Agno AgentOS ─ Agent / Team / Workflow      │ │\n│  │  CodingTools (sandboxed shell + file ops)    │ │\n│  │  CompactionManager (context management)      │ │\n│  │  MCP Client │ Knowledge Base │ Skills        │ │\n│  │  Session Persistence (SQLite)                │ │\n│  └──────────────────────────────────────────────┘ │\n│  Tauri manages backend lifecycle automatically    │\n└────────────────────────────────────────────────────┘\n```\n\n---\n\n## 🛠️ Run in Development\n\n### Prerequisites\n\n| Tool | Version |\n|---|---|\n| Node.js | \u003e= 18 |\n| Python | \u003e= 3.10 |\n| Rust | stable |\n\n### Setup\n\n```powershell\n# Python deps\npip install -r requirements.txt\n\n# Frontend deps\ncd web\nnpm install\ncd ..\n```\n\n### Start development environment\n\n```powershell\npowershell -ExecutionPolicy Bypass -File scripts/start-dev.ps1\n```\n\n### Useful commands\n\n```powershell\n# Frontend only\ncd web\nnpm run dev\n\n# Backend only\nconda activate nowork\n$env:PYTHONPATH = \"server\"\npython -m app.run\n\n# Full desktop app\nnpm run tauri:dev\n```\n\n---\n\n## 📦 Build Release\n\n```powershell\n# Recommended\npowershell -ExecutionPolicy Bypass -File scripts/build-release.ps1\n```\n\nOutput:\n\n```text\nsrc-tauri/target/release/bundle/\n```\n\n### Packaging notes\n\n- Release builds bundle an **embedded Python runtime**\n- Python dependencies are copied using a **filtered allowlist**, not a full Conda environment\n- End users do **not** need Python, Conda, or manual dependency installation\n- Server code and resources are packaged into the desktop app directly\n\n---\n\n## 📄 License\n\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeyan00%2Fnowork","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeyan00%2Fnowork","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeyan00%2Fnowork/lists"}