Open-source, channel-native agent gateway for teams.
Bring AI agents into Slack threads with shared context, approvals, audit trails, and pluggable agent runtimes.
English · 简体中文 · User Guide · Security · Contributing
OpenTag brings AI agents into the place where team work already happens: Slack channels and threads.
Instead of running an agent from one person's terminal and pasting results back into chat, a team can mention @OpenTag, discuss the task in the same thread, approve risky actions when needed, and keep the outcome visible to everyone who has access to that channel.
- Ask an agent to investigate a bug from a Slack thread.
- Let teammates add context before or during the agent run.
- Route work to different agent backends such as Codex, Claude Code, OpenCode, Docker-based agents, HTTP agents, or custom CLIs.
- Use channel-level rules so different projects can have different permissions, memories, and default agents.
- Require approvals before write actions or risky operations.
- Keep a record of sessions, decisions, outputs, and generated artifacts.
OpenTag is designed for team workflows where context, permission, and accountability matter.
@OpenTag summarize why this deployment failed
@OpenTag check this thread and draft the fix plan
/runtime codex-readonly explain the current project structure
/opentag sessions
/opentag approvals
/opentag status <session_id>
The agent replies in the same Slack thread, so the work stays connected to the original discussion.
Most AI coding and automation tools are built around a single local operator. OpenTag is built around shared channels.
- Shared by default: the conversation, context, and result stay in the team thread.
- Channel-aware: each channel can have its own project, instructions, memory, permissions, and default runtime.
- Agent-flexible: use the agent runtime that fits the task instead of locking the team into one backend.
- Approval-ready: sensitive actions can pause for human review.
- Auditable: sessions, messages, approvals, outputs, and artifacts can be reviewed later.
OpenTag requires Node.js >=20.11.0.
npm install
npm run smokeTry OpenTag locally without Slack:
npm run start:consoleStart the Slack gateway with the example configuration:
npm link
opentag init --project . --runtime mock --open-slack
$EDITOR ~/.opentag/.env
opentag doctor --strict
opentag daemon startRun this any time to see the next setup step:
opentag nextFor detailed Slack setup, start with:
- Slack gateway for mentions, thread replies, DMs, slash commands, and approvals.
- Local console mode for trying OpenTag without Slack.
- Runtime options for mock runs, Codex, Claude Code, OpenCode, Docker, HTTP agents, and generic CLI agents.
- Channel configuration for default runtime, allowed runtimes, allowed users, approvers, instructions, memory, and workspace roots.
- Local storage for sessions, messages, approvals, runs, audit records, and artifacts.
- Admin and integration surfaces for teams that want to build deeper workflows.
docs/user-guide/README.md- guide indexdocs/user-guide/01-install.md- install and visual Slack setupdocs/user-guide/02-use-in-slack.md- day-to-day Slack usagedocs/user-guide/03-projects-and-runtimes.md- projects and runtime choicesdocs/user-guide/04-admin-and-safety.md- approvals, safety, and operationsdocs/user-guide/05-troubleshooting.md- common issuesdocs/user-guide/06-faq.md- FAQ
For implementation details, see docs/developer-guide.md.
OpenTag is meant to make agent work visible and controllable in a team setting.
- Secrets should be supplied through environment variables, not committed to the repository.
- Channels can limit who can use OpenTag and which runtimes are allowed.
- Write-capable or risky actions can require approval.
- Workspaces and filesystem roots can be restricted by configuration.
- Runs, approvals, artifacts, and audit records are kept for review.
See SECURITY.md for security reporting and project security guidance.
OpenTag is an MVP for Slack-first team agent workflows. It is suitable for local trials, internal team experiments, and runtime integration work.
It is not yet a hosted production SaaS. Planned improvements include Slack OAuth installation, stronger multi-instance storage, a web admin UI, hardened sandboxing, and more channel integrations.
Apache-2.0. See LICENSE.
