linxidnju
OpenTag
JavaScriptโœจ New

Open-source, channel-native agent gateway for Slack. Route team threads to Claude Code, Codex, OpenCode, Docker, HTTP agents, and custom CLIs with policy, approvals, memory, audit logs, and artifacts.

Last updated Jul 9, 2026
222
Stars
0
Forks
0
Issues
+99
Stars/day
Attention Score
74
Language breakdown
JavaScript 100.0%
โ–ธ Files click to expand
README

OpenTag banner

OpenTag

Open-source, channel-native multiplayer AI gateway with shared, auditable team knowledge.

Tag local AI agents into Slack threads, with local execution, visible progress, approvals, audit trails, and pluggable agent runtimes.

English ยท ็ฎ€ไฝ“ไธญๆ–‡ ยท User Guide ยท Security ยท Contributing

License Node Slack first Status

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.


โœจ What You Can Do

  • 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.
  • Teach OpenTag an explicit team fact, decision, convention, preference, or procedure; corrections are versioned, scoped, sourced, and reused by every configured runtime.
  • Use Channel Profiles / Access Bundles so different projects can have different permissions, memories, default agents, and run limits.
  • 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.

๐Ÿ’ฌ How It Feels In Slack

@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.


๐Ÿš€ Why OpenTag

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, default runtime, and run limits.
  • Shared team knowledge: correct a fact once and future threads receive the latest active version, with provenance and revision history under your control.
  • 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.

โšก Quick Start

OpenTag requires Node.js >=20.11.0.

npm install
npm run smoke

Try OpenTag locally without Slack:

npm run start:console

Start the Slack gateway with the example configuration:

npm link
opentag init --project . --runtime mock --open-slack
opentag setup launch
opentag doctor --strict

opentag setup launch starts the local daemon when needed and opens a step-by-step setup wizard at http://127.0.0.1:8787/setup. The wizard walks through agent selection, Slack manifest import, local token saving, and final verification.

Run this any time to see the next setup step:

opentag next

For detailed Slack setup, start with:


๐Ÿ“ฆ What Is Included

  • 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.
  • Versioned Team Knowledge with workspace/private-channel boundaries, source references, archive/restore, and permanent deletion.
  • Channel Profiles / Access Bundles for per-channel runtime, memory, approval, and limit boundaries.
  • Local storage for sessions, messages, approvals, runs, audit records, and artifacts.
  • Admin and integration surfaces for teams that want to build deeper workflows.

๐Ÿ“š User Guide

For implementation details, see docs/developer-guide.md.

๐Ÿ” Safety Model

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.

๐Ÿงญ Current Status

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.


๐Ÿ“„ License

Apache-2.0. See LICENSE.

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท linxidnju/OpenTag ยท Updated daily from GitHub