KepCup

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.

Where we are looking for your OpenMind

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.

What each product emphasizes. KepCup is an independent implementation.
PeerTheir emphasisKepCup’s emphasis
Grok BotCloud computer, always on, subscription.Runs on your machine. Data stays local. Bring your own model. Auth and sandbox are yours to set.
Muse / DotHosted “ask and done”.A teammate feel, plus project teams that get work done — not a social chat.
Rakazo / OpenDotsSelf-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.

  1. 01

    Message list

    A long-term, distilled board — the conversation you and the Bot meant to keep.

  2. 02

    Reply loop

    Each user message starts an independent reply. It does not stack cumulative raw history as its context.

  3. 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.

  1. Better authorization

    Mid-run prompts interrupt too often. We want less interruption while still blocking dangerous commands by default.

  2. Multimodal vendor APIs

    Providers disagree. We want one layer in front of them.

  3. Project teams

    Beyond board, OKR, and planning — what else should a team have?

  4. 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.