GE

gqqi/edgesidekick

Browser automation
22 stars 0 forks Quality 71 Trend 30MIT

Local-first multi-agent AI workbench. Offline installers for Windows and Kylin/Linux (x86_64 and ARM64), with Skills, MCP, and a browser sandbox. Your data stays on your machine.

Overview

EdgeSidekick — local-first multi-agent AI workbench for your own machine is an open-source . Open a folder on your disk, chat in the browser or desktop shell, and let a main agent plus sub-agents search and edit files — with human approval, drop-in Skills, Memory that sticks, MCP tools, and a browser sandbox. Built to be (clear Python + Vite layers) and (context compression, on-demand Skills, separate main / sub / compress models). More product pages and the bilingual marketing site live under website/. Requirements: - Python - Node.js (UI / desktop build) - Optional: Playwright Chromium for the browser sandbox / agent browser tools Open → pick a workspace folder → Settings → Model → API key. scripts/mock_llm.py is an OpenAI-compatible offline demo model that understands the Social-mode planner and member prompts, so you can try the full group collaboration flow without a key (for real use, configure your own model in Settings → Model): Then open http://127.0.0.1:18787.

README

English | 简体中文

EdgeSidekick — local-first multi-agent AI workbench for your own machine

GitHub Pages · MIT License

EdgeSidekick is an open-source local multi-agent AI workbench. Open a folder on your disk, chat in the browser or desktop shell, and let a main agent plus sub-agents search and edit files — with human approval, drop-in Skills, Memory that sticks, MCP tools, and a browser sandbox.

Built to be forked (clear Python + Vite layers) and cheap to run (context compression, on-demand Skills, separate main / sub / compress models).

Windows · macOS · Linux · default API http://127.0.0.1:8787

Screenshots

More product pages and the bilingual marketing site live under website/.

Quick start

Requirements:

  • Python 3.10+
  • Node.js 18+ (UI / desktop build)
  • Optional: Playwright Chromium for the browser sandbox / agent browser tools

Run the API + web UI

Windows (PowerShell)

cd path\to\Sidekick
python -m pip install -r requirements.txt
python main.py

Or double-click start.bat.

macOS / Linux

cd /path/to/Sidekick
python3 -m pip install -r requirements.txt
python3 main.py

Open http://127.0.0.1:8787 → pick a workspace folder → Settings → Model → API key.

Offline demo without an API key

scripts/mock_llm.py is an OpenAI-compatible offline demo model that understands the Social-mode planner and member prompts, so you can try the full group collaboration flow without a key (for real use, configure your own model in Settings → Model):

python scripts/mock_llm.py --port 18931
SIDEKICK_DATA_DIR=/tmp/sidekick-demo META_PORT=18787 \
OPENAI_API_KEY=mock OPENAI_BASE_URL=http://127.0.0.1:18931/v1 OPENAI_MODEL=mock-team \
python main.py

Then open http://127.0.0.1:18787. After changing the UI, rebuild it with cd ui && npm install && npm run build.

If you save a model in Settings → Model, that account uses it instead of the environment variables. Leaving its API key empty switches to Demo mode, where every member only replies “【Demo 模式】…”; when pointing at the mock model, any key (e.g. mock) works.

Tests

python -m pytest tests -q                 # plugin system
cd ui && npm test && npm run typecheck    # Social-mode orchestration and other UI logic

Desktop app

.\start-desktop.bat

Creates a project-local .venv, installs Python + Playwright Chromium if needed, builds the UI, and launches Electron with a live embedded browser preview.

See desktop/README.md and docs/browser-sandbox.md.

Offline installers

Installed app data defaults to %APPDATA%\EdgeSidekick\ (Windows) or ~/.config/EdgeSidekick/ (Linux).

Never commit real API keys, .env, chat sessions, or model.json (see .gitignore).

Local security (defaults)

  • Binds 127.0.0.1 only; non-loopback bind requires META_ALLOW_REMOTE=1 (unsafe).
  • Local token auth (X-Sidekick-Token); UI bootstraps via /api/bootstrap.
  • Model API keys encrypted at rest under the local data dir.
  • Shell tools go through the agent approval gate (disable with META_ALLOW_SHELL=0).

Key features

1. Workbench
Streaming chat (SSE), attachments, stop / edit-resend, content search, and a detail panel tied to your workspace files.

2. Social mode with multi-agent collaboration
Every group message is first planned by your main model: one member answers, members split work in parallel, hand off in a pipeline, or discuss from different angles — each with a concrete task and deliverable, plus review and a final synthesis when useful. A plan card shows who does what; failures are reassigned and explained so someone always answers. See docs/multi-agent-collaboration.md (Chinese).

3. Browser sandbox
Desktop: live Electron BrowserView. Web: Playwright-backed preview. Select Mode sends DOM picks to the agent; agents can use browser_* tools.

4. Skills
Drop skill packs under src/skills/ (or tenant skill dirs) and invoke with /skill . Book → Skill can distill PDF/EPUB offline — see docs/book-to-skill.md.

5. Desktop shell
One-click Electron app with embedded preview, packaging for Windows and Kylin/Linux, no cloud account required to run locally.

6. MCP
Discover and connect Model Context Protocol servers from Settings → MCP (META_MCP_ENABLED=1).

7. Plugin marketplace (GitHub / GitLab / Gmail …)
Install third-party plugin packages from Settings → Plugins (built-in marketplace, zip upload, URL, or your own marketplace index). Plugins run in a separate process, credentials are encrypted at rest, and write actions ask for confirmation. Package format: docs/plugins.md (Chinese).

8. Light / dark + bilingual UI
Chinese / English interface and light / dark themes (local preference keys).

9. Local-first
History, Memory (MEMORY.md), workspaces, and configs stay on disk you control. Bring your own model API (OpenAI-compatible, DeepSeek, Ollama, etc.).

Slash commands

/help · /new · /clear · /skills · /skill · /memory · /history · /browser · /stop

Using EdgeSidekick

Architecture (short)

flowchart TB
  subgraph Client["Clients"]
    UI["Web UI (ui/, Vite + React)"]
    DESK["Desktop shell (desktop/, Electron)"]
  end
  subgraph Server["Backend: python main.py (127.0.0.1:8787)"]
    API["REST + SSE API (src/metateam/api)"]
    AGENT["Main agent: plan, tools, approval, compression"]
    SUB["Sub-agents (delegate)"]
    BROWSER["Browser sandbox (Playwright / CDP)"]
    MCP["MCP servers"]
  end
  subgraph Disk["Local disk"]
    WS["Workspace folder"]
    SKILLS["Skills (src/skills)"]
    MEM["Memory (src/memory)"]
    DATA["Runtime data and model config (src/data, not committed)"]
  end
  LLM["Your model API (OpenAI-compatible)"]
  UI --> API
  DESK --> API
  API --> AGENT
  AGENT --> SUB
  AGENT --> BROWSER
  AGENT --> MCP
  AGENT --> WS
  AGENT --> SKILLS
  AGENT --> MEM
  AGENT --> DATA
  AGENT --> LLM
  SUB --> LLM

Contributing

Contributions of all kinds are welcome:

  • Code / docs — read CONTRIBUTING.md.
  • Ideas — GitHub Discussions (placeholder until the public repo is live).
  • Translations — keep README.md (EN) and README_CN.md (中文) in sync for short user-facing copy.

Community

Placeholders until channels are published:

  • GitHub Discussions — Q&A and ideas
  • GitHub Issues — reproducible bugs
  • Discord / chat — real-time help (link TBD)
  • X / social — release notes (handle TBD)

Security disclosure

Please report vulnerabilities privately per SECURITY.md. Do not post exploits in public issues.

License

EdgeSidekick is released under the MIT License.


Product name: EdgeSidekick · Default bind: 127.0.0.1:8787

View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →