arizuko › products › Discord team agent
Discord team agent
One agent in a Discord guild, with channel-scoped persona and thread context but per-member memory, grants, and a full web workspace.
what you get
- Personal cloud storage. Each member gets a private workspace accessible via WebDAV. Mount it in Finder, VS Code, or any file manager. Store notes, uploads, agent outputs — persistent across sessions.
-
Web interface. A browser-based chat at
/chat/<token>/against the same agent. Take the conversation off Discord onto a phone or laptop without losing context. - Google Docs and web page access. The agent can read public web pages and Google Docs you share with it — paste a URL and it fetches the content. Private docs require sharing the link; no OAuth into your Google account.
-
Dashboard. Operators and members with dashboard access
see usage, privileges, routing rules, and scheduled tasks at
/dash/. Per-member usage tracking shows turns, tokens, and tool calls. - Per-member memory. The agent maintains a memory file per member — preferences, recurring tasks, prior conclusions. Alice has hers, Bob has his.
- Per-member grants. Per-member grant rules decide which actions each person can ask the agent to take. Operators set defaults; individuals can have overrides.
-
Linked identities. Channel use needs no sign-in
— guild membership is the fence. A member who signs in at
/auth/loginwith GitHub, Google, or Discord links that identity to one user record, so the same person reaches the same memory and grants from the web chat or a DM.
system shape
-
Channel as workspace. A Discord channel maps to an
arizuko group folder. The product ships its base persona and rules in
~/.claude/CLAUDE.md; the channel’s own~/CLAUDE.mdoverrides and extends them — allowed tools, citation rules, refusals, voice for this channel. - Thread context. Discord threads behave like conversation branches. The agent sees thread history as context, replies stay in-thread.
- Customisable, upgradable in place. Persona, skills, and channel rules are plain Markdown edited via WebDAV or chat. Each release ships migrations the agent applies as a per-group 3-way merge, preserving local edits.
This page is the Discord twin of the Slack team agent — same folder model, same grants, same web workspace. The three platform deltas (no AI sidebar, mention syntax, JID shapes) are listed in that page’s same shape on Discord section.
example: shared thread, member-scoped state
#dev-chat · thread
alice @bot summarize the fix from the cold-start runbook for this thread
bot Bundle growth after deploy is coming from broad SDK imports.
Recommended: switch back to per-service imports.
source: /docs/runbooks/lambda-cold-start.md:67
bob @bot save that conclusion to my notes
bot Wrote notes/lambda-cold-start.md in your workspace.
alice @bot remember: prefer per-service imports for any new lambda
bot Saved to your memory.
Same thread, same channel CLAUDE.md, different resolved
member state. The answer is visible to the team; Bob’s write lands
in Bob’s workspace; Alice’s preference lands in her memory
file. Shared deliberation, member-scoped state.
how members use it
-
In a channel. The bot stays quiet by default.
@botmentions fire a turn. With the recommended routing rule (see setup), channel chatter lands in#observe— agent reads for context but doesn’t reply unless called on. - In a thread. Replying to one of the bot’s messages counts as a mention — the agent answers in the same thread, with the thread’s history as context.
- In a DM. Every message is for the bot. No mention needed; replies come back in the same DM.
- File uploads. Drop a file on the bot or in a mentioned thread. The agent reads it and replies in-thread.
-
Web interface. Sign in at
/auth/loginto get a personal chat URL. Same agent, same memory, browser-based. -
WebDAV workspace. Mount your personal cloud at
/dav/<your-folder>/. Access agent outputs, notes, and uploads from any file manager.
use cases
support and analysis agent
A support agent answers questions from a knowledge base, cites sources, and escalates when it doesn't know. Useful for community support channels, internal help desks, or documentation Q&A.
- Searches a
facts/directory of markdown files for answers - Cites the source file and line when answering
- Says "I don't know" rather than guessing
- Can triage and tag issues, track resolution status
- Escalates to human operators when stuck or when the user requests it
#help-desk
user How do I reset my API key?
bot To reset your API key:
1. Go to Settings → API Keys
2. Click "Regenerate" next to the key you want to reset
3. Copy the new key immediately — it won't be shown again
source: docs/api-keys.md:45
user What about enterprise SSO setup?
bot I don't have documentation on enterprise SSO in my knowledge base.
I've flagged this for the team. Someone will follow up.
trading and market analysis agent
A collaborative research agent that ingests news, tracks market data, and synthesizes analysis. Works best when multiple members contribute observations and the agent aggregates them.
- Fetches and summarizes news from URLs you paste
- Tracks observations members share over time
- Maintains a shared research diary with timestamped entries
- Cross-references multiple sources to identify patterns
- Produces synthesis reports on request
#market-watch
alice https://example.com/article-about-earnings
bot Summarized: Q2 earnings beat estimates by 12%. Key drivers:
cloud revenue +34% YoY, hardware flat. Guidance raised for Q3.
Logged to research diary.
bob I noticed unusual options activity on XYZ today
bot Noted. Adding to today's observations. You've logged 3 observations
this week on XYZ — want me to compile a summary?
alice Yes, give us the weekly synthesis
bot Weekly synthesis for XYZ:
- Monday: Earnings beat, guidance raised (source: earnings article)
- Wednesday: Insider filing showed CEO sold 10k shares
- Today: Unusual options activity (Bob's observation)
Pattern: Mixed signals. Fundamentals strong but insider selling
and options activity suggest caution.
general team assistant
The default configuration: Q&A, summarization, file processing, and task tracking for a team channel.
data & trust
-
Your server. Conversation history, channel files,
per-member memory, channel-scoped secrets, agent state — all live
under
/srv/data/arizuko_<name>/. Backup is onetarof the directory; no DB dump. - Default outbound paths. Discord for bot traffic; Anthropic for model calls. Any extra agent egress goes through crackbox and only reaches hosts you allowlist per channel.
-
Channel-scoped secrets. API keys for tools the agent
calls live in the
secretstable, AES-256-GCM encrypted at rest. Folder-scoped values are merged into the container's spawn env; guild channels get folder secrets only. - Channel boundary. A member in #dev-chat sees that channel’s context and their own workspace; #marketing’s files and persona are inaccessible unless granted explicitly.
setup
arizuko create acme
cd /srv/data/arizuko_acme
$EDITOR .env # set Discord token; enable the adapter
arizuko run acme
# in Discord:
# create the bot at discord.com/developers/applications
# set DISCORD_BOT_TOKEN in .env
# invite the bot to your guild with the OAuth2 URL generator
# members sign in via OAuth at /auth/login for linked identities
Full step-by-step is in the
operator setup guide.
Per-channel CLAUDE.md override lives in the channel folder;
edit via WebDAV or directly on the server.
go deeper
- primitives — the same pipeline as every other agent
- grants — per-member and per-group action scoping
- personas — how voice + skills + frontmatter shape one channel’s agent
- auth — OAuth providers, account linking, identity resolution
- webdav — mounting the channel workspace
- crackbox — per-channel egress isolation
- deployment guide — first instance, first channel, first invite