@Agent Tag

An open AI teammate that lives in your @Lark groups.

Self-hosted, runs on any model, and reads your organization's own docs. Tag it in a channel and it answers from your knowledge — and you decide exactly what it can see.

Open source·Self-hosted·Any model·Lark-first


What it is

Shared, not personal.
One teammate the whole channel talks to — with memory scoped to that channel, and nowhere else.
It knows your org.
Point it at your Lark wiki; it indexes the docs and answers from them, with the source attached.
Yours to govern.
Per-channel tools, token budgets, an audit log, and outbound redaction. Self-hosted, bring your own model.

Onboard your organization on Lark

  1. Install
    Get Agent Tag and the Lark CLI — that's the whole toolchain.
    git clone https://github.com/alwayset/agent-tag && cd agent-tag
    pip install -e '.[all]'
    npm install -g @larksuite/cli
  2. Authorize Lark
    Run one command, click the link it prints, sign in as a workspace admin. That's the consent — no app scopes to hand-configure.
    lark-cli auth login   # opens a link → approve in your browser
  3. Connect a model
    Bring your own API key, or use the Claude Code / Codex plan you already pay for. Set it once in the console.
    agent-tag serve            # open localhost:8765 → Connections
    # paste an API key, or pick your local coding-plan CLI
  4. Ingest your knowledge
    Index a Lark wiki space so the teammate answers from your real docs. One command, or one click on the Knowledge page.
    agent-tag lark-spaces             # list your wiki spaces
    agent-tag ingest --space <space_id>
  5. Go live
    Add the bot to a Lark group and tag it. Anyone in the channel can ask; it replies in the thread, grounded in your knowledge.
    agent-tag serve   # add the bot to a group, then:  @Agent Tag what's our deploy process?

Already on Slack or Discord too? Same teammate, same setup — flip the adapter. Lark is just where it starts.