Skip to main content

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.

macOS Windows Linux WebUI CLI
Workspace
Ship the settings redesign
Pi · Claude Sonnet · Ask
Audit the settings flow, implement the redesign, and verify the desktop build.
MkAgent

I mapped the current states and found three shared surfaces. I’ll update the system once, then verify it from the desktop client.

Run build command?
bun run electron:build
Ask MkAgent to work in this repository…

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.

Step01

Open a workspace

~/.mkagent/workspaces/<slug>

Point MkAgent at a real working directory. Sessions, Skills, permissions, and views stay scoped to that workspace.

Step02

Choose your model connection

OAuth · API key · Ollama

Use ChatGPT Plus, Claude Pro/Max, provider API keys, compatible endpoints, or a local Ollama model.

Step03

Let the agent work visibly

stream · tools · artifacts

Follow thinking, tool calls, diffs, plans, browser work, and rich document output in one continuous session.

Step04

Resume from any surface

Desktop ↔ WebUI ↔ CLI

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

PROJECT FOUNDATION
MkThingsHQ/mkagent
Apache-2.0
  • 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
Clone and run
git clone https://github.com/MkThingsHQ/mkagent.git
bun install
bun run electron:start

One product, one shared core

MkAgent is a Bun monorepo with three clients, one authenticated WebSocket RPC protocol, and one Pi agent backend.

Electron Desktop
WebUI
CLI
Shared React UI + server core
Authenticated WebSocket RPC
Pi agent subprocess
JSONL event stream
Local workspaces + JSONL sessions
~/.mkagent

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.

  1. 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 boundary

    One execution contract keeps permissions, sessions, tools, and tests consistent.

  2. 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 boundary

    A smaller credential and tool surface is easier to inspect, secure, and adapt.

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

    External actions stay explicit and permission-gated without turning the core into an integration platform.

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

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

Build an agent product people can own

Start with a working local product, then shape the models, tools, workflows, and identity around your users.