返回项目目录
markus-global

markus-global

markus

The best AI workforce platform, to build AI teams that actually deliver.

Agent工作流 / 自动化agent-governanceagent-orchestrationagent-platformagent-runtimeagent-to-agentagentic-ai
Stars
154
Forks
7
Watchers
154
Issues
16

README

项目介绍

13980 bytes

Markus Logo

Markus

Build AI teams that actually deliver.

Open-source AI workforce platform — role-based agents that plan, execute, review each other's work,
and deliver finished results. Runs around the clock on your machine or a small cloud server.

CI Status Version GitHub Stars License Issues

Website · Blog · Documentation · Discussions · Contributing

English | 中文

Markus dashboard — manage your AI workforce from desktop or mobile


What is Markus?

Markus is an open-source platform that runs complete AI teams — not a wrapper around someone else's agents, and not just another framework.

Describe what you want done in plain language. Markus assembles the right roles (developer, reviewer, researcher, writer, analyst, ops), breaks the work into tasks, delegates to specialists, runs them in parallel, applies quality review, and ships the finished result.

It's the organizational layer that single-agent copilots are missing:

  • Full agent runtime built in — every agent talks directly to LLM APIs and uses built-in tools: shell, file I/O, git, web search, code analysis, GUI & browser automation, and any MCP server. No proxying through external CLI tools.
  • Zero config to start — SQLite storage, bundled web UI, one command. Nothing extra to install, nothing to configure.
  • Manage from anywhere — a responsive dashboard for desktop and mobile, plus an Electron desktop app for macOS, Windows, and Linux. Deploy on any cloud server and run your AI company from your phone.

🚀 Quick Start

Pick whichever path is easiest.

Desktop app (macOS / Windows / Linux) — download from Releases.

npm (requires Node.js 22+):

npm install -g @markus-global/cli
markus start

Linux one-liner (works without Node.js):

curl -fsSL https://markus.global/install.sh | bash

From source:

git clone https://github.com/markus-global/markus.git && cd markus
pnpm install && pnpm build && pnpm dev

Open http://localhost:8056 — the onboarding wizard walks you through name, email, and password (initial login: [email protected] / markus123).

That's it. SQLite database, bundled web UI, zero external dependencies.


🎬 See It in Action

Markus dashboard live preview

Real-time task board, agent chat, deliverable review, and team status — on desktop and mobile.


💼 What You Can Run on Markus

Area Example
Research & analysis Scan competitor products, compile a competitive analysis, and draft a go-to-market strategy
Software engineering Build a feature end-to-end — requirements, code, tests — with built-in peer review
Content & publishing Draft, edit, review, and schedule articles, reports, and social posts
Operations Daily briefings, issue triage, scheduled monitoring, blocker escalation
Data & reporting Pull data, analyze it, and deliver finished reports on a schedule
Personal research Deep-dive any topic and get a structured, cited deliverable back

The same team keeps working after you close the laptop — heartbeats keep agents moving while you sleep.


✨ Key Features

🤖 Autonomous Agent Runtime     Each agent is a full LLM-powered worker with built-in tools — shell, file I/O, git, web search, code analysis, GUI & browser automation, and any MCP server. Works with any LLM provider: Anthropic, OpenAI, Google, DeepSeek, MiniMax, Ollama, OpenRouter, SiliconFlow, Moonshot — with automatic failover.
🧠 Persistent Memory Three-layer memory (procedural, semantic, episodic) that accumulates knowledge across sessions and consolidates it automatically — agents get smarter the longer you run them.
⏰ Proactive Heartbeat Agents don't wait for instructions. The heartbeat scheduler patrols open tasks, processes completions, and surfaces blockers — your team works while you sleep.
🤝 Team Collaboration & A2A Role-based organization: managers, workers, subagents, and structured agent-to-agent messaging. Humans join via DMs, group chats, and @mentions.
✅ Governance & Trust Progressive trust levels (probation → standard → trusted → senior), formal submit–review–merge delivery, emergency pause, and a full audit trail for every action.
💬 Multi-Channel Messaging Native bridges to Slack, Feishu, WhatsApp, and Telegram — agents meet your team where they already talk.
🛠 Skills Marketplace Browse and install agent templates, team configurations, and reusable skills from Markus Hub. Share what works with the community.
📱 Desktop + Mobile Electron desktop app for macOS / Windows / Linux, plus a responsive web dashboard. Review deliverables on the train, approve tasks from the couch.
🔒 Self-Hosted, Data Yours Runs entirely on your infrastructure with SQLite by default (PostgreSQL supported). Remote access via Cloudflare Tunnel, Tailscale, FRP, or ngrok.

How It Works

1. Describe what you need

Tell the built-in Secretary agent your goal in plain language. It assembles the right team, breaks down requirements into tasks, and sets up the project.

"I need a research team to scan competitor products, write a competitive analysis, and draft a go-to-market strategy."

2. Agents execute in parallel

Agents delegate, spawn subagents, review each other's work, and escalate only when they should. Each agent works in an isolated workspace with its own context. Developers write code, researchers compile findings, writers produce drafts — all at the same time.

3. Review and deliver

You review the final deliverables, not the process. Every output passes through quality gates, and the full audit trail shows exactly what each agent did, when, and why.


Single Agent vs. Markus Team

A single agent — Claude Code, Codex, ChatGPT, or any copilot — is great at executing one task at a time. But one employee doesn't make a company.

Single AI agent Markus AI team
Scale One task at a time Parallel work across specialist roles
Memory Context evaporates when the session ends Persistent, consolidating long-term memory
Proactivity Waits for your prompt, every time Works 24/7 via heartbeat, even while you sleep
Quality "Done" is self-reported Peers review, catch mistakes, and gate delivery
Visibility 10 agents = 10 windows One dashboard showing everyone's status

You manage a workforce, not individual prompts.


Architecture

┌─────────────────────────────────────────────────────────┐
│              Web UI (React) · Desktop (Electron)        │
│      Dashboard · Chat · Projects · Builder · Hub        │
└──────────────────────┬──────────────────────────────────┘
                       │ REST + WebSocket
┌──────────────────────┴──────────────────────────────────┐
│                  Org Manager (API Server)               │
│     Auth · Tasks · Governance · Projects · Reports      │
└──────────────────────┬──────────────────────────────────┘
                       │
┌──────────────────────┴──────────────────────────────────┐
│                  Agent Runtime (Core)                   │
│  Agent · LLM Router · Tools · Memory · Heartbeat · A2A  │
└──────────┬────────────────────────────┬─────────────────┘
           │                            │
┌──────────┴──────────┐    ┌────────────┴─────────────────┐
│  Storage (SQLite /  │    │  Comms (Slack, Feishu,       │
│   PostgreSQL)       │    │   WhatsApp, Telegram)        │
└─────────────────────┘    └──────────────────────────────┘

TypeScript monorepo with modular packages:

Package Role
core Agent runtime — LLM routing, tools, memory, heartbeat, workspace isolation
org-manager REST API, WebSocket, governance, task lifecycle
web-ui React + Vite + Tailwind dashboard
desktop Electron desktop app (macOS / Windows / Linux)
cli @markus-global/cli — one-command install and launch
storage SQLite persistence (zero external dependencies)
gui GUI automation — VNC, screenshots, input control, visual analysis
comms Slack / Feishu / WhatsApp / Telegram bridges
a2a Agent-to-Agent communication protocol
remote Remote access — tunnels and zero-config networking
chrome-extension Browser automation via the Markus extension
shared Shared types, constants, utilities

Documentation

Guide Description
User Guide Setup, configuration, Web UI walkthrough
Architecture System design, agent runtime, memory, governance
Agent Runtime Agent lifecycle, execution model, workspace isolation
Tool System Built-in tools, MCP integration, tool contracts
Memory System Three-layer memory architecture (Tulving)
Cognitive Architecture Cognitive Preparation Pipeline (CPP) design
Mailbox System Agent attention model, priority queue, triage
Prompt Engineering System prompt assembly, tool loop, compression
State Machines Task & requirement FSM specification
API Reference REST API endpoints and WebSocket events
Coding Tools Claude Code / Codex / Cursor integration
Learning Loop Agent self-improvement and memory consolidation
Remote Access Cloudflare Tunnel, Tailscale, FRP, ngrok setup
Release & Distribution Build, packaging, publishing pipeline
Blog Articles and tutorials on Markus and AI agents

Contributing

pnpm install && pnpm build
pnpm dev          # API + Web UI in dev mode
pnpm test         # Run tests
pnpm typecheck    # TypeScript check
pnpm lint         # ESLint

Looking for a way to contribute?

See CONTRIBUTING.md for full guidelines.


License

Markus is dual-licensed:

  • Open Source: AGPL-3.0 — free for self-hosting and community contributions
  • Commercial: Available — for SaaS deployments and proprietary modifications

Agent templates and skills shared through the marketplace may use their own licenses (typically MIT).


Website · Blog · Discussions · Issues

Markus — Where AI Agents Work as a Team