Model or dataset
PM-Shawn/Abu-Cowork avatar
PM-Shawn/Abu-Cowork

Abu-Cowork: A Local-First Desktop Agent That Reads Your Files and Runs Your Commands

Open-source alternative to Claude Cowork — a local-first AI agent desktop app · multi-model · self-evolving skills · privacy-first · multi-Harness roadmap · DeepSeek Harness integration in progress

376 stars86 forksTypeScriptNOASSERTION

At a glance

What is it?
Abu is a TypeScript and Tauri desktop assistant that plans tasks, calls tools and edits files on your own machine, with 29 built-in skills and a self-evolving skills mechanism. The interesting parts are the permission model and the harness roadmap; the licence field is the first thing to check before you build on it.
Who is it for?
Adopt Abu if you want an agent that operates on local files and commands from a desktop GUI, and you are comfortable that the repository's licence field reports NOASSERTION while the README badge points at Apache 2.0. Do not adopt it as a headless CI agent or as a stable plugin host for third-party harnesses: the README describes the multi-Harness work as in progress, and stable releases use the native harness.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap Abu-Cowork is trying to fill

Most chat assistants can describe a task but cannot touch the machine it runs on. Traditional automation can touch the machine but needs you to express the workflow in a fixed, non-negotiable form. Abu positions itself in the space between: you describe the outcome in natural language, and the agent reads files, runs commands, writes documents and assembles reports locally. The README frames the project as inspired by Claude Code's Cowork mode, and the comparison table it ships is explicit about the three columns it cares about: autonomous planning, local file and command access, and natural language input. Abu claims all three; a regular chat assistant claims only the third; a traditional automation tool claims only the second. The target user is someone who already works in a desktop environment with real files (documents, source trees, spreadsheets) and wants an agent that can act on those files without uploading them to a hosted service. The privacy-first framing is not decoration: the comparison table lists 100% local data as a differentiator, and the security section of the README mentions a Seatbelt sandbox plus network isolation. That combination is what makes the project interesting to people who cannot send their working directory to a third party.

How the agent actually runs: harness, tools, permissions

The architecture visible in the material is a Tauri desktop shell around a TypeScript agent runtime. The README refers to the current runtime as Abu's native harness, and says the project is evolving toward pluggable agent runtimes, with DeepSeek Harness named as one of the first integration targets. That wording matters for anyone evaluating stability: the stable releases use the native harness, and the pluggable path is described as in progress. Above the harness sit the tools the model can call. The README lists file read and write, command execution, browser and computer control, and MCP connectors, with Playwright and GitHub given as one-click integration examples. Permissions are a first-class surface rather than an afterthought: the README shows a permission control screen where file access requires user authorization, and a separate Plan Mode in which high-risk tasks display a plan first and run only after confirmation. There is also an interactive question mechanism, where the agent presents an option card with single or multi-select choices when it needs a decision from you. The data flow is therefore: user prompt to harness to tool call to permission check to execution, with Plan Mode and question cards acting as interrupt points before side effects land. Multi-agent parallel execution is listed at up to five background agents, with progress reported in real time. The declarative progress panel is the clearest example of the model reporting its own state: the README says the model declares its own plan steps and status through a tool named report_plan.

Skills, memory and the self-evolving claim

Abu ships 29 built-in skills and describes the skill system as self-evolving, meaning the agent can grow its own skills rather than only selecting from a fixed catalogue. The README does not, in the material available here, specify the format a skill takes, how a newly generated skill is validated, or what stops a self-written skill from encoding a bad procedure. That is a real gap for anyone who intends to depend on the mechanism, and it is the first thing I would read the User Guide for. Personal memory is listed as a separate feature that remembers preferences and work habits, which raises the same question in a milder form: what is stored, where, and how do you inspect or delete it. The material does not answer that either. What is clear is the intended shape: skills and memory are local artefacts that accumulate over time, which is consistent with the local-first positioning. If you are evaluating Abu against a stateless assistant, the relevant question is not whether skills exist but whether you can audit and version them, and that is not settled by the README. The changelog reference points to per-release notes, so the release history is where I would look for how the skill format has changed between v0.40.0 and v0.42.0.

Getting it running: download, build, and the scheduled-task surface

The README offers two paths. The first is the prebuilt route: a Download section linking to the latest stable release, with signed and notarized macOS builds called out in the What's New list. The second is building from source, covered by a Build from Source section in the README. The material does not include the exact build commands, so I will not invent them; the section exists and is where the Tauri and Node prerequisites will be documented. What the material does give in concrete terms is the automation surface you configure after install. Scheduled tasks are cron-based, and the README shows a schedule creation screen. Triggers and watch are separate: HTTP requests, file changes and IM messages can each start a task automatically. IM channels cover Lark, DingTalk, WeCom and Slack, with a settings screen for channel configuration and an interaction pattern of mentioning the agent in a channel to reach it. Model configuration is handled through AI service management with health checks, and the recent release notes describe multi-endpoint provider presets for Volcengine, Bailian and Zhipu, plus a unified add or edit modal and per-model capability declarations covering vision, tools, reasoning and token limits. That last detail is the one I would check first in a fresh install: if a model's capabilities are declared per model, a mis-declared entry is the most likely cause of a tool call silently not being attempted.

Where Abu-Cowork is the wrong tool

The clearest limitation is the state of the harness work. The README carries a warning block stating that multi-Harness integration is in progress and that stable releases currently use the native harness, with DeepSeek Harness among the first integration targets. If your plan depends on swapping in a different agent runtime, you are building on a roadmap item, not a shipped feature. The second limitation is the licence. The repository metadata reports NOASSERTION for the licence field, while the README badge and the badge link both point at Apache 2.0. Those two signals disagree, and until the LICENSE file is read directly, any downstream redistribution or commercial embedding question is unresolved. I am not giving legal advice here; I am pointing at the specific file that settles it. The third limitation is scope. Abu is a desktop application. Nothing in the material describes a headless mode, a server deployment, or a CI integration. If your use case is running an agent inside a build pipeline, this is the wrong shape of tool, and the scheduled tasks and triggers do not change that because they are configured inside the desktop app. Finally, the security features are described as a Seatbelt sandbox plus network isolation, but the material does not state whether these are on by default or opt-in, which is exactly the kind of default that determines whether the privacy claim holds in practice.

The alternative: hosted coding agents and plain automation

The obvious comparison is Claude Code's Cowork mode, which the README names as the inspiration. The difference in approach is where the work happens and what it can reach. A hosted coding agent is typically scoped to a repository and runs in a controlled environment on the provider's side; Abu runs on your machine and is scoped to whatever you grant it access to, which is why the permission screen and Plan Mode exist as separate features rather than as configuration buried in settings. That broader reach is the point and also the risk: an agent that can run commands and control the browser has a larger blast radius than one that edits files in a sandbox. The second alternative is the traditional automation tool named in Abu's own comparison table. Those tools are deterministic and auditable by construction, and they do not hallucinate a step. Abu trades that determinism for natural language input. If your workflow is stable and repeated, the deterministic tool is the better fit, and Abu's cron scheduling does not make it a replacement for one. The third comparison is a local assistant without tool execution. Abu's differentiator there is simply that it acts rather than advises, and the MCP connector list (Playwright, GitHub) is how it extends that action surface without shipping every integration itself.

Maintenance, releases and what the licence field means for you

The release cadence visible in the material is fast: v0.40.0 on 2026-08-20, v0.41.0 on 2026-08-22, v0.42.0 on 2026-08-26, with the last push to the default branch on 2026-09-10. Three minor releases in under two weeks, each carrying feature work such as the workspace file tree, the code canvas with CodeMirror editing and version snapshots with rollback, inline visualization widgets, and the provider presets. That pace has a cost. Feature surfaces named in the What's New list are recent enough that documentation may lag them, and the changelog reference points to per-release notes rather than a consolidated guide. Budget for reading release notes before upgrading, particularly around the skill format and the harness interface, since both are described as evolving. On licensing: the README badge says Apache 2.0 and links to a LICENSE file, while the repository metadata reports NOASSERTION. Apache 2.0 would permit commercial use and redistribution with attribution and a patent grant; NOASSERTION means the automated classifier could not identify a standard licence, which can happen for a modified or custom text. The two are not compatible conclusions. Read the LICENSE file itself before you ship anything derived from this project, and if the text is non-standard, that is a question for your own counsel rather than for a review.

Editorial conclusion

Adopt Abu if you want an agent that operates on local files and commands from a desktop GUI, and you are comfortable that the repository's licence field reports NOASSERTION while the README badge points at Apache 2.0. Do not adopt it as a headless CI agent or as a stable plugin host for third-party harnesses: the README describes the multi-Harness work as in progress, and stable releases use the native harness. Before deploying anything that matters, resolve the licence discrepancy in the LICENSE file, confirm which model providers you can reach given the curated presets (Volcengine, Bailian, Zhipu), and check whether the Seatbelt sandbox and network isolation are enabled by default in your build rather than left to configuration.

Official sources

  1. Issues
  2. PM-Shawn/Abu-Cowork on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes