Your agentYour code
MkAgent is an open-source, local-first, Pi-powered AI agent workspace for anyone who wants more control over their AI work. Run durable sessions from the desktop app, WebUI, or CLI, connect the models you already use, and keep every workspace under your control.
I mapped the current states and found three shared surfaces. I’ll update the system once, then verify it from the desktop client.
One workspace, wherever you work
Desktop, WebUI, and CLI share the same authenticated RPC, session history, Skills, permissions, and local files.
A workbench built for real agent work
From reading code and using tools to approving actions, everything happens in one durable workspace. Every session stays inspectable and ready to resume on Desktop, WebUI, or CLI.
Open a workspace
~/.mkagent/workspaces/<slug>Point MkAgent at a real working directory. Sessions, Skills, permissions, and views stay scoped to that workspace.
Choose your model connection
OAuth · API key · OllamaUse ChatGPT Plus, Claude Pro/Max, provider API keys, compatible endpoints, or a local Ollama model.
Let the agent work visibly
stream · tools · artifactsFollow thinking, tool calls, diffs, plans, browser work, and rich document output in one continuous session.
Resume from any surface
Desktop ↔ WebUI ↔ CLIContinue the same local session from Desktop, WebUI, or CLI without rebuilding its context.
Fork a working product, not a demo stack
MkAgent is an open-source foundation for building a branded desktop agent. Electron packaging, shared WebUI and CLI, secure connections, permissions, updates, i18n, and tests are already connected.
- Electron packages for macOS, Windows, and Linux
- Shared Desktop, WebUI, and CLI session protocol
- Pi backend with subscription, API-key, and local model connections
- Skills, browser, attachments, documents, and permission flows
- English and Simplified Chinese product experience
git clone https://github.com/MkThingsHQ/mkagent.git
bun install
bun run electron:startOne product, one shared core
MkAgent is a Bun monorepo with three clients, one authenticated WebSocket RPC protocol, and one Pi agent backend.
Focused by design
MkAgent starts from the Craft Agents OSS foundation, then deliberately narrows the product around a local agent workbench. These are product boundaries, not unfinished placeholders.
Pi is the only agent runtime
Claude, ChatGPT, provider API keys, compatible endpoints, and Ollama all connect through Pi. MkAgent does not ship the Claude Agent SDK or GitHub Copilot backends.
Why this boundaryOne execution contract keeps permissions, sessions, tools, and tests consistent.
Skills are first-class. Sources are not included
Global, workspace, and project Skills ship with live discovery and editing. Craft’s generic API/MCP Sources, user-configurable MCP pools, and Source OAuth flows are not included.
Why this boundaryA smaller credential and tool surface is easier to inspect, secure, and adapt.
OpenConnector stays a narrow desktop integration
Electron bundles a pinned OpenConnector sidecar with five fixed Pi tools. WebUI and CLI do not expose it, and it does not restore generic MCP Sources.
Why this boundaryExternal actions stay explicit and permission-gated without turning the core into an integration platform.
Local work comes before hosted coordination
Projects and Kanban, messaging gateways, public session sharing, remote workspaces, product automations, and image generation are not part of this build.
Why this boundaryThose features need separate hosted services and operational contracts. MkAgent stays local-first and forkable.
What builders ask first
Both. It is a working local agent product and an open-source codebase you can fork into your own cross-platform agent application.
MkAgent supports ChatGPT Plus and Claude Pro/Max subscriptions, provider API keys, OpenAI- and Anthropic-compatible endpoints, and local Ollama models through its Pi backend.
Workspaces, sessions, Skills, and views live under your local MkAgent configuration directory. Credentials are stored through the operating system credential manager.
Yes. The repository centralizes product identifiers, paths, packages, protocol handlers, and desktop build configuration for rebranding.
No. Pi is the single agent runtime, not a single model provider. It connects to ChatGPT Plus, Claude Pro/Max, provider API keys, compatible OpenAI or Anthropic endpoints, and local Ollama models.
MkAgent intentionally leaves out the Claude Agent SDK, Copilot, generic API/MCP Sources, Projects and Kanban, messaging gateways, public sharing, remote workspaces, product automations, and image generation.