Local-first multi-Bot · Open source + OpenMind
Build a team. Only for you.
KepCup is a desktop app where you create Bots on your machine, give them permissions and a working directory, and they collaborate with you — and with each other — without shipping your data to a host you do not control.
GPL-3.0 · Bring your own model · A Steward walks you through the first setup.
Where the work sits
Three surfaces. Product screenshots are not in this release yet — these frames mark the place they will go, and they are not pictures of the app.
Screenshot coming
Conversation
A three-column chat: your Bots, the thread, and the work beside it.
Screenshot coming
Project team
A shared board for a team that ships work. Not a group chat.
Screenshot coming
Workbench
Items you hand to Bots, and memos that stay fleeting notes.
Open source, and an open mind
KepCup is an OpenMind product. Open source is the foundation: the code is GPL-3.0, free to use and free to read. OpenMind is the necessary supplement in the AI era. It opens the thinking — product intent, the hard problems, and how the modules fit — so someone else can rebuild these ideas, or fold them into their own product, with coding models and agents.
OpenMind supplements open source. OpenMind does not replace open source. The public line is open source + open mind.
OpenMind is not an in-app Bot, and it is not a capability you turn on inside a conversation. The Steward that helps you set up the first Bots is a Bot. OpenMind is the decision to publish the thinking next to the code.
The writing lives in the repository docs. Much of the design notes are in Chinese today.
Why local
Hosted teammate products are a real category. KepCup is the local-first take on the same job: a team that works for you, with the computer and the data staying yours. This is a contrast of emphasis, not a dismissal.
| Peer | Their emphasis | KepCup’s emphasis |
|---|---|---|
| Grok Bot | Cloud computer, always on, subscription. | Runs on your machine. Data stays local. Bring your own model. Auth and sandbox are yours to set. |
| Muse / Dot | Hosted “ask and done”. | A teammate feel, plus project teams that get work done — not a social chat. |
| Rakazo / OpenDots | Self-hosted, in the Grok Bot direction, with container computers. | A desktop app: Steward onboarding, a Workbench, and an OpenMind narrative beside the code. |
Dual loop
A Bot’s dual loop mirrors how people work. The message list is what you agreed to remember. The reply does not drag the whole raw transcript in as its working context. The task keeps its own tools and files.
01
Message list
A long-term, distilled board — the conversation you and the Bot meant to keep.
02
Reply loop
Each user message starts an independent reply. It does not stack cumulative raw history as its context.
03
Task loop
Tool use, files, and intermediate state stay inside that task, then settle back to the board.
One conversation, infinite history
The UI keeps a thin history board. The dual loop injects only the context that turn needs, so a conversation can grow without every reply replaying the entire transcript.
Project teams, not group chat
A project team is not a room where Bots chat. It has three cores, and the point is shipping work.
Centralized communication
You and the Bots in one place.
Plans and collaboration
Who owns what, and how work moves.
Shared knowledge and delivery
A shared wiki, and getting the work done.
Shared message board and project wiki are in. Board, OKR, and date planning are still on the roadmap.
What is already in the app
A short map of the desktop app as it stands. Items still on the roadmap are called out above, not hidden in this grid.
Dual-loop core
Distilled board, independent reply, separate task loop.
Bots that talk
Conversation logic, including how Bots communicate with each other.
Bot details
Config, memory, skills, wiki, and schedules on each Bot.
Your models
Provider configuration, and multimodal input and output.
Web and browser
Web access, and a browser a Bot can use.
Mic and camera
Hardware sensor path for microphone and camera, with permission.
Other agents
Connect third-party coding agents through ACP when you install them.
Extension Center
Skills, connections, MCP, and mail — used when a Bot needs them.
Bounds
Auth, sandbox, unattended mode, and a command allowlist.
Schedules
One-shot and recurring.
Workbench
Items you assign to Bots, and memos for fleeting notes.
Project teams
Shared communication and a project wiki. Board and OKR are still ahead.
You set the bounds
Local-first only matters if the Bot cannot quietly outrun the permissions you gave it.
Auth
A Bot asks before it crosses a line you have not granted.
Sandbox
Commands run in a sandbox you control.
Unattended
When you allow it, a Bot can continue without you sitting beside it.
Allowlist
Dangerous commands stay blocked by default.
Mid-run permission prompts still interrupt too often. That is an open OpenMind question: fewer interruptions, while dangerous commands stay blocked by default. If you have a better design, it belongs in the discussion below.
Download
Installers are published on GitHub Releases for jooler/kepcup. After you install, the app can check for updates itself. There is no account to create on this website.
macOS
Disk images for Apple Silicon and Intel. Release builds are signed and notarized when the Apple credentials are configured. An unsigned build is stopped by Gatekeeper, and automatic update needs a signed app.
Windows
One NSIS installer for x64 and arm64. Without a code-signing certificate, SmartScreen warns on first launch (“Windows protected your PC”) — More info, then Run anyway. Microsoft Store builds, when they are published, are signed by the store.
Linux
AppImage and deb for x64 and arm64. AppImage updates in place. The deb updater asks for a password through pkexec.
We are looking for your OpenMind
Open an issue, a discussion, or a pull request — especially on these four. This is the OpenMind ask. It is not a feature request form inside the app.
Better authorization
Mid-run prompts interrupt too often. We want less interruption while still blocking dangerous commands by default.
Multimodal vendor APIs
Providers disagree. We want one layer in front of them.
Project teams
Beyond board, OKR, and planning — what else should a team have?
Workbench
It should surface work in one place and cut the load of remembering which Bot or team. What is missing?
Thanks
KepCup stands on open-source projects and on product ideas we learned from. This note does not imply endorsement or affiliation. Marks and names belong to their owners.
Thanks to Grok Bot (xAI / Cursor product line) for product inspiration — conversational Bots, a three-column layout, and a flat UI. KepCup is an independent implementation, not an official derivative or affiliate.
Ideas were also informed by Rakazo, OpenMuse, and OpenDots. They are not runtime dependencies of this repository.
Open-source dependencies
Names and upstream links only. No third-party logos on this site. The repository README keeps the longer tier list.