{"id":"40e65edf-6801-4b0b-b7ef-fb06e9d2bab7","slug":"micro-multi","kind":"mcp","name":"Micro-Multi","summary":"Local multi-agent desktop workspace compatible with deepseek-harness (dsh) plugins. 本地多 Agent 桌面工作台，兼容 deepseek-harness（dsh）插件体系。","owner":"LKDenchin","repoUrl":"https://github.com/LKDenchin/Micro-Multi","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":4,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-02T10:10:42.000Z","addedAt":"2026-10-21T09:48:02.952Z","logoUrl":"https://avatars.githubusercontent.com/u/69336052?u=a33db392d08403339bcddad59cd19732ce3e9ce6&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra"],"tags":["agentic-ai","agentic-workflow","ai-agent","appimage","artificial-intelligence","cordis","deepseek","deepseek-harness"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-21T09:50:27.014Z","sample":false,"url":"https://conduits.dev/tools/micro-multi","language":"Python","transports":["stdio"],"install":{"pypi":"masp-workspace"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n  <img src=\"src/masp/web/micro-multi.svg\" alt=\"Micro-Multi\" width=\"88\" />\n  <h1>Micro-Multi</h1>\n  <p>Split work across agents in one project. Compatible with DeepSeek Harness plugins.</p>\n  <p>English · <a href=\"README.zh-CN.md\">简体中文</a></p>\n  <p><a href=\"https://lkdenchin.github.io/Micro-Multi/\">Website</a> · <a href=\"#installation\">Install</a> · <a href=\"#your-first-task\">Get started</a> · <a href=\"https://lkdenchin.github.io/Micro-Multi/docs/readme.html\">Documentation</a></p>\n</div>\n\nMicro-Multi is a local desktop workspace built around **multi-agent collaboration**. You describe the job; the lead agent splits it into assignments. After you approve the plan, members work within their file ownership and task dependencies, and the lead combines their results. Plans, member progress, tool output and code diffs share one workspace.\n\nFor an order API change, one member implements pagination, another writes boundary tests, and a third documents the parameters. Independent assignments can run together. A test task that needs the implementation waits for its report. The scheduler coordinates concurrent writes to the same file.\n\n**DeepSeek Harness (dsh) plugin compatibility** is the other core part of the project. Native Cordis Host and the dsh client module system load declared services, tools, settings forms and interface contributions. Enabled tools are available to team members as well as the lead. Skills and MCP services also work alongside these plugins.\n\nWindows / Linux · English and Chinese · Your choice of model service · Apache-2.0\n\n## Why coordinate agents?\n\nA single agent works well for short jobs. When implementation, tests and review share one execution loop, they usually happen in sequence and share one context. A prompt that says “divide the work” does not enforce who can edit which files, which task must wait, or whether an assignment has already started. That needs a scheduler.\n\n| A single agent, or agents without a coordinator | What Micro-Multi does |\n| --- | --- |\n| Implementation, tests and docs run in sequence | Runs independent tasks concurrently; dependencies wait for predecessor reports. Concurrency is bounded. |\n| Several members edit the same file | Uses declared file ownership, path locks and dependencies to coordinate writes. |\n| Every role uses the same model | Members inherit the lead model; you can change individual models in the plan. |\n| Retries dispatch the same assignment again | Reuses running or completed assignments; an approved revision starts once. |\n| Plugins are only wired to the lead | Enabled dsh, MCP and command tools are available to the lead and members. |\n\nThis compares execution models, not benchmark results. Parallel work can reduce waiting for independent tasks, but extra members can increase model calls and cost. Use the lead alone for a small edit; use a team when the responsibilities are clear.\n\n## Installation\n\nDownload a package from [GitHub Releases](https://github.com/LKDenchin/Micro-Multi/releases/latest).\n\n| System | Package |\n| --- | --- |\n| Windows x64 | [NSIS installer](https://github.com/LKDenchin/Micro-Multi/releases/download/v0.1.0/Micro-Multi-Setup-0.1.0-x64.exe) |\n| Debian / Ubuntu x64 | [Debian package](https://github.com/LKDenchin/Micro-Multi/releases/download/v0.1.0/Micro-Multi-0.1.0-amd64.deb) |\n| Linux x64 | [AppImage](https://github.com/LKDenchin/Micro-Multi/releases/download/v0.1.0/Micro-Multi-0.1.0-x86_64.AppImage) |\n| Checksums | [SHA256SUMS.txt](https://github.com/LKDenchin/Micro-Multi/releases/download/v0.1.0/SHA256SUMS.txt) |\n\nOn Windows, run the installer and open Micro-Multi from the Start menu. On Debian or Ubuntu, install the downloaded package with `sudo apt install ./<package>.deb`. For AppImage, make the file executable with `chmod +x <file>.AppImage` and run it. If FUSE is unavailable, add `--appimage-extract-and-run`.\n\nThe packages include Python and Node.js. Install Git for repository work. Docker and any CLI required by a plugin are installed separately. The [desktop guide](docs/DESKTOP_RELEASE.md) covers Linux keyring requirements, Ubuntu AppImage setup, checksums and building your own package.\n\n## Your first task\n\n1. Open **Settings → Models → Add or edit model**. Enter a name, API base URL, model ID and API key, then test the connection.\n2. Add a local project folder. Keep **Link this directory** selected to work in the original folder. A folder without Git is initialized as a repository.\n3. Start a conversation in that project. Select the model, **Multi-agent collaboration**, and the permissions you want to allow.\n4. Describe the change and how to check it. For example:\n\n   ```text\n   Add pagination to the order API, keeping the existing response fields.\n   Assign implementation, boundary tests and parameter docs to separate members.\n   List their files and dependencies. The lead combines changes and runs tests.\n   ```\n\n5. Review the plan in the chat. Adjust members, models or files, then confirm execution.\n6. Follow member progress and inspect the diff and test output. Send a follow-up in the same conversation if the result needs adjustment.\n\nYou can attach files to a conversation and open the right-hand inspector to browse files, reviews, previews and terminal activity. See [projects and conversations](docs/WORKSPACE.md) for the main controls and [model setup](docs/MODELS.md) for connection details.\n\n## Working with a team\n\nThe lead prepares a plan with member roles, tasks, file ownership, dependencies and models. Use **Adjust team** to change it, then **Confirm execution** to start that revision. Member tasks do not run before approval. Each new task or round of feedback needs its own confirmation.\n\nConfirmation checks the saved server revision. If a plan has changed, the chat card shows the updated assignments for review and confirmation in place. You do not need to open the collaboration map.\n\nMembers follow the lead model unless you select another model for them. The team view shows their status and reports; tool records show what they actually ran. You can add instructions while they work, pause the conversation or stop it. Before accepting the result, inspect the changes and the test output. The [collaboration guide](docs/AUTONOMOUS_COLLABORATION.md) walks through this process.\n\n## Adding instructions and tools\n\nOpen **Customization** to manage extensions.\n\n| Extension | Use it for |\n| --- | --- |\n| Skills | Reusable instructions in a `SKILL.md` file. Project Skills live in `.agents/skills/`. |\n| MCP servers | Tools provided by a configured local or remote server. |\n| dsh plugins | Native Cordis services and tools, model providers, settings forms and conversation interface components. |\n| Command plugins | Tools implemented by a local command. |\n\nOpen an installed plugin's details to configure it. A plugin may need its own account, API key or external program before its tools can be used. The composer **+** menu lists enabled capabilities. Read the [extension guide](docs/extensions.md) to choose an extension type, or the [dsh guide](docs/NATIVE_CORDIS.md) to install or develop a plugin.\n\nCompatibility depends on a package's declared entries, dependencies and required services; it does not mean every third-party package has been tested. Startup restores the chat before loading optional plugin clients. Probing a plugin without a client does not boot its Host. Native services keep dsh's dependency and lifecycle rules.\n\n## Permissions and data\n\nThe composer offers three permission levels: **Ask for approval** asks before file changes and commands; **Allow file edits** allows file editing but still asks before commands; **Full access** permits file operations, commands and enabled external tools. The [permissions guide](docs/sandbox.md) explains what these settings control.\n\nProjects, conversations and attachments are stored locally. Requests to your configured model service include the context needed for the task; enabled extensions may also send data to their services. Model-profile API keys use the operating system credential store. Local commands and native plugins run with your user account's system permissions.\n\nInstalled data lives in `%APPDATA%\\Micro-Multi\\data` on Windows and `${XDG_CONFIG_HOME:-~/.config}/Micro-Multi/data` on Linux. Source mode uses `.masp` in the working directory. Set `MASP_HOME` to choose another directory. Updates and uninstall preserve the data; back it up separately from the application files.\n\n## Run from source\n\nUse Python 3.11+, Node.js 24+, npm and Git. From the repository root:\n\n```bash\npython -m venv .venv\n```\n\nActivate the environment with `.\\.venv\\Scripts\\Activate.ps1` in Windows PowerShell, or `source .venv/bin/activate` on Linux. Then run:\n\n```bash\npython -m pip install -e \".[dev]\"\nnpm ci\nnpm run desktop\n```\n\nTo use a browser instead, run `python -m masp.cli serve` and open `http://127.0.0.1:3080/`. The [deployment guide](docs/deployment.md) explains configuration and data storage.\n\n## Technology\n\n| Layer | Implementation |\n| --- | --- |\n| Desktop | Electron, with a sandboxed renderer and a preload bridge for desktop actions. |\n| Backend | Python, FastAPI, Uvicorn and Pydantic for local APIs and agent execution. |\n| Interface | HTML, CSS and JavaScript; React renders native plugin components. |\n| Agent and plugin runtime | Node.js, Cordis and deepseek-harness packages. |\n| Storage | SQLite for application records, local files for attachments and the OS credential store for model keys. |\n| Connections | HTTP APIs, SSE for streamed conversation events and WebSocket for plugin subscriptions. |\n| Builds and documentation | electron-builder, esbuild and a static site generated from Markdown. |\n\nThe [architecture guide](docs/architecture.md) describes how these parts communicate and points to the relevant source directories.\n\n## Documentation and contributing\n\nStart with [model setup](docs/MODELS.md), [projects and conversations](docs/WORKSPACE.md), [team collaboration](docs/AUTONOMOUS_COLLABORATION.md) and [extensions](docs/extensions.md). If something does not work as expected, see [troubleshooting](docs/TROUBLESHOOTING.md).\n\nReport reproducible bugs in [Issues](https://github.com/LKDenchin/Micro-Multi/issues), including the steps and sanitized logs. Questions and ideas belong in [Discussions](https://github.com/LKDenchin/Micro-Multi/discussions). Read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting code. Report vulnerabilities through the private channel in [SECURITY.md](SECURITY.md).\n\nMicro-Multi is licensed under [Apache-2.0](LICENSE). Third-party components retain their own licenses; see [NOTICE](NOTICE) and [runtime provenance](docs/UPSTREAM_RUNTIME_PROVENANCE.md).\n"}