Most AI office assistants still stop at a chat response. You ask for a Q3 review deck from a spreadsheet and get a plan for a deck—not the deck.
OpenWorkBuddy is a local-first work agent built around the opposite contract: give it a task and your material, and it plans, uses tools and leaves a real .pptx, .docx, .xlsx or HTML file on your machine.
The detail I care about most is the completion check. A model saying “the file is ready” is not evidence. Before a task is marked complete, OpenWorkBuddy checks that the claimed output exists on disk. If it does not, the run is not treated as a success.
It can use local Ollama or supported cloud providers, and can also use an installed Claude Code or Codex as its engine. Sessions, generated files and API keys stay local by default; the service binds to 127.0.0.1. Capabilities are deliberately simple to extend: drop a Markdown skill.md into the skills directory and it is available on the next task. MCP connectors and Agent Plugins are supported too.
There are macOS and Windows installers, or you can run it from source with Node.js 18+:
git clone https://github.com/CatCatUncle/openworkbuddy.git
cd openworkbuddy && npm install
npm run app
Demo: https://raw.githubusercontent.com/CatCatUncle/openworkbuddy/main/docs/images/demo.gif
Repository: https://github.com/CatCatUncle/openworkbuddy
The project is source-available under PolyForm Noncommercial 1.0.0: free for personal, learning and non-profit use; commercial use requires a license.
I would value feedback on two things: what output file should a work agent be responsible for, and what checks would make you trust that the delivery is real?
Top comments (1)
Existence is a useful first gate, but it does not prove delivery is usable. For a deck or spreadsheet I would add format validation, nonzero content, successful reopen in an independent parser, and a rendered visual check. The completion record should name which checks ran and preserve the output hash, so “file delivered” refers to a specific artifact rather than a path that can later change.