Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Muster your agents and humans into persistent teams — across any harness, framework, model, or surface, with a shared communication protocol.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Muster your agents and humans into persistent teams.
Named, persistent teams of agents and humans — across any harness, framework, model, or surface — with a shared communication protocol. Humans are first-class members, not approvers. Every act on the roster carries a member's name, and who occupies a seat is what the harness observed, not what the agent declared. musterd names the work that goes through the team; it does not contain the agent.查看完整 README ↗Agents that work as a team alongside you.
Agents and the people they work with are named members of one team. The record shows what landed and who stands behind it: every piece of work names who did it and who accepted it.
Your agents and the people you work with join one team as named members — across any harness, framework, model, or surface. Humans are first-class members, not approvers. Every act on the roster carries a member's name, and who occupies a seat is what the harness observed, not what the agent declared. A member can decline, and a lane records who claimed it, which model did it, and who accepted it. The record shows the chain. musterd names the work that goes through the team; it does not contain the agent.
· Contributing · Code of Conduct · Security · Privacy · SPEC · Roadmap · Architecture
Status: v0.3, designed in the open. Packages ship on their own semver (
npm view @musterd/cli version) — the protocol version names the trust model, not the package release. Local-first. No account, no cloud, no phone-home. See PRIVACY.md.
A scripted walkthrough — real server, protocol, presence, and CLI rendering; the agents' lines are scripted. See docs/demo.md for the full cut and how to record the real 3-pane version.
A Member is an identity, not a session. Presence is where that member is currently attached — a Claude Code session, a Codex session, a CLI, later an app — like a person on desktop + phone. The team server routes messages to wherever members are present; offline members get a durable Inbox. Coordination outlives any single task or session.
You need Node 22 or later, and an agent tool you already use.
# 1. Install the command line tool.
npm install -g @musterd/cli
# Or with Homebrew: brew install SandRiseStudio/musterd/musterd
# 2. Run it in your project’s folder.
cd your-project
musterd init
# 3. Start a chat with your agent there, then take the tour.
musterd tour
musterd init is the one-command path: it finds the agent tools you already use (Claude Code, Codex, Cursor, OpenCode, Grok), asks if it can configure the musterd MCP server for you, then shows a live spinner that flips to ● Ada is online via claude-code the instant your agent connects. Then it offers a five-minute tour (musterd tour): you give your agent a small lane, judge what comes back, and read the record it leaves.
Then bring your work in: ask your agent to "bring this repo's work into musterd". Its musterd-import skill reads the repo (and its GitHub issues, if gh is signed in), writes a file of goals and lanes, and shows you musterd import's preview. Nothing is created until you say yes and it runs musterd import save. You can also fill in a CSV yourself — see musterd help import.
To give each member a job, from a built-in role like designer or one you build yourself, see Give your agents a role.
Claude Code is registered at its project-local scope (keyed by the folder), so it works whether you use the terminal (
claude) or the editor extension in VS Code / Cursor — just open that same folder and start a new chat (reload the window if it was already open; check with/mcp).
Any MCP-capable harness joins by running the @musterd/mcp adapter with the member's environment (musterd init writes it for the harnesses it finds) — its agent becomes a Member with the team tools — the six core (team_join, team_leave, team_send, team_inbox_check, team_status, team_members) plus the lane, goal, seat-memory and report tools (18 total). The adapter is dormant until it calls team_join (explicit activation), and acting (team_send/team_inbox_check) is gated on having joined. Harness-agnosticism for free.
Messages carry a typed Act, grounded in the Co-Gym collaboration-act taxonomy — not ad-hoc text:
message · status_update · request_help · handoff · accept · decline · wait · resolve · steer · challenge · defer
resolve closes a thread when its work is done — the open-vs-done axis that makes threads computable as work items. Typed acts and durable inboxes are the point: MAST found ~79% of multi-agent failures are coordination failures — lost context in handoffs, misalignment — not capability failures. musterd is exactly that coordination layer: explicit identity, durable inboxes, typed acts instead of improvised handoffs.
The bet that agents-as-teammates beats agents-as-tools is empirical, not just stylistic: in controlled study, collaborative agents beat fully autonomous ones on real-user preference (86% / 74% / 66% across three tasks), and removing the notification protocol — forcing turn-taking — more than halves the win rate. See
research-foundation.md(Co-Gym, arXiv:2412.15701).
Humans are members, not approvers. Same envelope, same acts, same inbox as agents — no bolted-on "human-in-the-loop" mode.
An agent is an identity, not a session. Sessions come and go; the member persists. Presence is where you are, not who you are.
Teams are persistent. Coordination outlives any single task or session.
Protocol over framework. We don't run your agent — we connect it. Small core, adapters at the edge.
One member does the work; the team does the coordination. Multi-agent isn't magic — gains over a single strong agent are often marginal, and most failures are coordination failures. musterd never forces decomposition: a team of one agent (plus optionally a human) is first-class, even default. Add members for true parallelism, separate surfaces, or human collaboration — not to split tasks for its own sake.
Local-first. SQLite + a local daemon. No account, no cloud required to use it. Telemetry is off until you point an OTLP endpoint; the product does not phone home (PRIVACY.md).
Secure by default. Identities are claimed, not assumed: occupying a seat takes an authorized, audited step, and the safe defaults (live approval, least-privilege credentials, dormant sessions) are the defaults — convenience is an explicit opt-in. (The seat/grant model — agent key + admin grants + human credentials — shipped in v0.3: membership-model.md, security.md, SPEC Appendix A.)
The boundary is explicit: musterd does not yet sandbox agent tools, encrypt its SQLite database at rest, use mTLS, or sign its audit log. See SECURITY.md for supported versions, private vulnerability reporting, and the current security boundary.
| what it is | musterd's relation | |
|---|---|---|
| MCP | agent ↔ tools | musterd uses MCP as its universal join adapter; it is not a tool server |
| A2A | agent ↔ agent, per-request | musterd adds the persistent team: identity, presence, durable inbox, humans as peers |
| Fleet / orchestrators | run & schedule agent fleets | musterd doesn't run agents; it's the coordination membrane they talk through |
| CrewAI / frameworks | build a multi-agent app in one framework | musterd is cross-framework: members join over MCP or the WS/HTTP protocol, whatever harness they live in |
| package | what |
|---|---|
@musterd/cli | the CLI + daemon launcher (human surface); installs the musterd command |
@musterd/server | the team server: SQLite store, WS + HTTP API, presence + inbox |
@musterd/mcp | the universal harness adapter (one MCP server, 18 tools) |
@musterd/protocol | shared types + zod schemas — the wire contract |
@musterd/telemetry | shared OTLP bootstrap for server, MCP, and CLI |
The protocol is the only thing imported across boundaries; the server is replaceable by anything that speaks SPEC.md.
Team — a named, persistent group of Members; a standing roster, not a project (reused across folders). Member — a durable identity (agent/human), not a session. Presence — where a Member is currently attached. Surface — a kind of place a Member can be present (cli, claude-code, codex, …). Act — the typed intent of a message. Workspace — where a Member stands: every member stands in a Workspace of their own, ~/musterd/<team>/<repo>/<member> (ADR 447). musterd agent <name> gives an agent an isolated workspace backed by a git worktree (it writes code); musterd human <name> gives a person one the same way (what they need is somewhere their identity resolves, so musterd board and musterd send are simply them, with no --as and nothing pasted). The team root ~/musterd/<team> is the roof over that team's trees and holds no identity. (Canonical definitions: docs/design/brand.md §5; the four-layer model: docs/design/install-topology.md.)
pnpm install
pnpm -r build
pnpm test # unit + integration + scenarios
pnpm test:scenarios # the flagship 3-pane scenario (Scenario C)
Contributors and implementing agents: start with CONTRIBUTING.md, then AGENTS.md and docs/architecture/00-overview.md. The docs are prescriptive and the deviation/ADR protocol is enforced — docs and code never disagree at the end of a commit.
Changes land through one enforced git workflow (ADR 106): branch from main, open a PR, and squash-merge once the gates CI is green — main is protected (PR-only, linear history). The playbook is in CONTRIBUTING.md and AGENTS.md.
MIT.