Documentation¶
daimon is an open source data science agent that joins a team's Discord, Slack or Microsoft Teams, runs the analysis in the thread, and posts back charts, models and a reproducible notebook. Start with self-hosting.md to get a deployment running, or architecture.md to see how the pieces fit together.
- architecture.md — what the packages are and why the boundaries hold, how a message becomes a turn, tenancy and sessions.
- self-hosting.md — run the stack: Compose, Discord, Slack and Teams setup, Claude Code login mounts, chart storage, connecting MCP servers.
- configuration.md — every environment variable, with type, default and description. Generated from the settings models.
- mcp-tools.md — every MCP tool the agent can call, grouped by module, with who may call it. Generated from the tool registry.
- permissions.md — channel and agent rules: who may read and write a channel, where an agent runs, and what each limits.
- routines.md — scheduled routines: creating one, how the scheduler fires it, the timeouts, permissions and what a failure leaves.
- billing.md — the credit model: metering, pricing, the balance and cap gates, the signup credit, top-ups and the ledger tables.
- defaults.md — authoring
defaults/: agents, environments and skills,daimon defaults applyandverify, the seeded-skill fingerprint. - slack.md — the Slack adapter's trust model: file delivery and per-user access.
- teams.md — the Teams adapter: where it answers, admins, channel history and files, agent tools, restarts and current limits.
- plugin.md — the Claude Code plugin: what the hub login mounts are and what has to be configured before installing it.
- mux.md — what
packages/muxis for, and that it is a scaffold nothing imports yet. - slack-app-manifest.yaml — paste-in manifest for creating the Slack app.
- teams-app-manifest.yaml — the Teams app manifest template, with the registration steps in short.
configuration.md and mcp-tools.md are generated by scripts/ and checked
in CI; edit the model field or the tool docstring, then re-run the generator.