Repository navigation
Overview
Source: docs/design/README.md
KepCup is a local desktop Personal Agent: a multi-Bot team that serves one user. You chat; Bots remember, keep knowledge, and execute work without blocking the conversation.
-
Local-first — macOS / Windows / Linux client; data under
~/.kepcup/by default. - Team, not group chat — a project team is a shared work board (one message list + project wiki + planned boards/OKRs), not bots hanging out socially.
- Human-like dual loops — the message list is the long-term communication channel; each user message starts an independent reply turn; tasks run in separate loops with their own context.
- Slogan: Create a team that serves only you.
| Layer | Role | Tools | Concurrency |
|---|---|---|---|
Reply turn (loop_type=turn) |
Talk, route, schedule | Read-only + start_task / inject_task / cancel_task / capability two-pack |
One turn per (Bot, conversation) |
Task (loop_type=task) |
Do the work | Full tool surface | Parallel within caps; write lease on workdir |
The reply turn never waits for tasks. Task settlement is an event that may wake the next turn. See 30-Supervisor-and-Tasks and 02-Execution.
- Bot — profile, private memory, private wiki, skills, widgets; optional Butler (unique, pinned, undeletable). 03-Bot
-
Conversation —
directDM orprojectteam session. 01-Conversation 41-Project-Team - Workdir — shared folder bound to a conversation; write lease serializes writers. 08-Workdir
-
Run — one loop execution (turn or task), recorded in
runs.db.
Soft path checks + OS sandbox for shell; Bot wikis isolated (project wiki is the only shared knowledge channel); credentials field-encrypted. 06-Isolation-and-Storage 10-Sandbox 13-Permissions
Embedded pi agent loop, Electron shell, Svelte 5 + shadcn-svelte UI, better-sqlite3-multiple-ciphers + FTS5 + sqlite-vec. 09-Tech-Stack 11-Storage
Pages mirror docs/design/NN-*.md. Prefer Decision-Log for cross-cutting rules (delete Bot, project routing, unattended mode, etc.). Implementation checklists live in docs/dev/ and are not mirrored here unless the design doc itself is the source of truth.
KepCup
Core
- 01-Conversation
- 02-Execution
- 03-Bot
- 04-Memory
- 05-Wiki-and-Skills
- 30-Supervisor-and-Tasks
- 40-Capability-Mounting
- 43-Task-Loop-Harness
Runtime
- 06-Isolation-and-Storage
- 07-Local-Runtime
- 08-Workdir
- 09-Tech-Stack
- 10-Sandbox
- 11-Storage
- 13-Permissions
- 24-Durable-Execution
Product
- 12-UI-Layout
- 33-Narrow-Layout
- 39-Workbench
- 41-Project-Team
- 42-Task-Run-View
- 45-Bot-File-Cards
- 47-File-WebApp-Viewer
Capabilities
- 14-Models-and-Browser
- 15-Interactive-Execution
- 16-Capability-Models
- 17-MinerU-Document-Parsing
- 18-Inline-Setup
- 19-Work-Path-and-Group-Setup
- 20-Conversation-Media
- 21-Web-Search
- 22-File-Skill-Routing
- 23-MCP-and-SubAgent
- 25-Capability-Tools
- 26-Voice-Input
- 31-Sensors
- 32-Bot-Widgets
- 35-Mail-Channel
- 36-Wiki-Multimodal-Ingest
- 38-Conversational-Settings
Team & agents
- 27-Butler-and-Delegation
- 28-External-Agents-ACP
- 37-Bot-Asset-Handover
- 41-InkCop-Local-Collab
- 48-Bot-Template-Export
Cloud & remote