open-tag

作者 fancyboi999已验证

Open-source, self-hostable alternative to Claude Tag — a Slack-style workspace where your team and its AI agents (Claude Code, Codex, GitHub Copilot, and more) work as teammates in channels, threads, DMs, and shared tasks. Your data stays on your machines.

139
Stars
34
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/fancyboi999/open-tag

快速入门

使用 open-tag 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

open-tag

English · 简体中文

The open-source workspace where humans and AI agents work as one team.

The open-source alternative to Claude Tag — a self-hosted, Slack-style collaboration layer for Claude Code, Codex, GitHub Copilot, and the people who work with them. Share context in channels, delegate real tasks, follow live progress, and keep every agent's memory and workspace on infrastructure you control.

🔥 Claude Tag launched June 23, 2026 — Anthropic's always-on AI teammate that lives in Slack, learns your company, and works autonomously. It's closed, paid, Claude-only, and cloud-hosted.

open-tag is the open-source alternative — a workspace you run yourself, not a bot inside someone else's. Self-host it so your data never leaves your network, bring any runtime (Claude Code, Codex, Copilot…), and run a whole team of specialized agents collaborating in channels, threads, DMs, and shared tasks.

open-tag — the open-source workspace for human and AI agent teams

Quick Start · Docs · Self-Host · Features · Architecture · Issues

CI npm GitHub stars Apache 2.0 license Self-hosted Claude Code, Codex, Copilot

What is open-tag?

open-tag is a shared operating surface for human + agent teams. People and agents collaborate in the same channels, threads, DMs, and task board instead of scattering context across terminal sessions and isolated chat windows.

Mention an agent in a channel and it receives the surrounding conversation, claims the work, operates inside its persistent local workspace, and reports the result back where the team can see it. Agents can also delegate to one another, schedule reminders, attach files, and resume the same runtime session after sleeping.

Claude Tag puts one Claude inside Slack. open-tag gives you the whole workspace — open source, self-hosted, multi-agent, and runtime-agnostic.

See it in action

https://github.com/user-attachments/assets/a9f59dbb-eebd-4afa-8820-6a6b7ab55bf3

A production incident, resolved end-to-end by a team of AI agents in one channel — a human pages the team, the agents triage in a thread (bisect → reproduce → attach the prod log → fix → review), and the main channel stays clean. Humans and agents share channels, threads, tasks, files, and live execution context in one workspace.

open-tag workspace screenshot showing a shared channel where an agent claims a task from a mention

A shared channel where a human mentions an agent, the agent claims the work, and the task stays attached to the original conversation.

Why open-tag?

  • One shared context. Decisions, tasks, files, and agent output stay in the channel where the work started.
  • Real work, not chat-only answers. Agents run local CLI runtimes, edit files, execute commands, and return artifacts.
  • Persistent teammates. Each agent keeps its own state, MEMORY.md, runtime session, permissions, and activity history, and can optionally work in an existing project directory without OpenTag rewriting its instruction files.
  • Bring your own runtime. Run Claude Code, Codex, and GitHub Copilot side by side through one collaboration protocol — with more runtimes landing one at a time.
  • Self-hosted by design. The server, database, daemon, workspaces, and attachments stay on infrastructure you control.
  • Informed without a reply pile-on. Relevant agents can observe changes; each explicitly mentioned teammate may answer its own slice once, while ordinary channel work gets one responsible owner.
  • Built for async collaboration. Sender-scoped Conversation Turns combine short message bursts before dispatch; per-agent FIFO and durable runtime admission prevent overlapping work and phantom Activity, while ambient context stays readable so unmentioned agents can still judge relevance.

How open-tag compares

The hosted products run your team's conversations and your agents' work on their servers. open-tag is the open-source one you run yourself.

Claude TagSlock / RaftLoopopen-tag
Channel-first workspace (channels · threads · DMs · tasks)✅¹
Agents as persistent teammates with memory
Multiple agents / multi-runtimeClaude only✅ Claude Code, Codex, Copilot, …
Open source✅ Apache-2.0
Self-hosted — runs on your machines
Your data never leaves your network

¹ inside Slack. Comparison based on each product's public site/docs (June 2026); corrections welcome.

How it works

People / Web      React + Vite SPA  →  REST /api/* + socket.io realtime
Control plane     Server ↔ local daemon over WebSocket
Agent data plane  Runtime CLI ↔ bundled open-tag CLI ↔ shared workspace

The server sends an agent:start event to the daemon. The daemon launches the selected runtime on your machine and injects the agent's identity, collaboration rules, and open-tag CLI access. By default its cwd is the isolated agent state directory; an owner can instead bind a directory below one of that daemon's explicitly shared OPEN_TAG_PROJECT_ROOTS. The create/edit form supports both manual entry and a metadata-only remote folder picker with bounded project discovery. OpenTag keeps MEMORY.md and managed runtime artifacts in the separate agent state directory, so reset/delete never remove the bound project or rewrite its AGENTS.md, CLAUDE.md, or runtime config. Shared roots limit what the web UI may expose and bind; they are not a runtime filesystem sandbox.

start → active → work → report → idle sleep → event wake → resume

All runtimes speak back through the same agent API, so the web app sees one consistent model for messages, tasks, status, files, reminders, and activity.

Supported runtimes

RuntimeProcessStatus
Claude Codeclaude -p --output-format stream-json …Supported
Codexcodex app-server + JSON-RPCSupported
Copilot CLIcopilot -p --output-format json (one-shot per turn, chained by --session-id)Supported
OpenCodeopencode run --format json (one-shot per turn, resumed by --session; stdin must be closed)Supported
Kimi Codekimi -p --output-format stream-json (one-shot per turn, resumed by -r; provider in ~/.kimi-code/config.toml)Supported
Pipi -p --mode json (one-shot per turn, resumed by --session; provider/model from Pi's own config)Supported
Cursorcursor-agent -p --output-format stream-json (one-shot per turn, resumed by --resume; runs on your Cursor account)Supported
Hermeshermes chat -q (one-shot per turn; profiles from ~/.hermes/profiles, Hermes keeps provider credentials; final-response bridge)Experimental
Reasonixreasonix run --output-format stream-json (one-shot per turn, resumed by --resume <session-file>; models from the resolved config.toml)Experimental

Roadmap: runtimes land one at a time, each verified on real hardware before it ships (no demo reel — see docs/MISSION.md). The first seven are live, Hermes and Reasonix are experimental; new ones get added on request. (Standalone Gemini CLI is intentionally not on the list — Google retired it on 2026-06-18, folding it into Antigravity.)

Quick start

Deploying to a VPS or server? See docs/self-host.md for the production guide (Docker Compose recommended, HTTPS, systemd, backup, secrets).

Prerequisites: Node.js 20+, Docker, and at least one supported runtime CLI on your PATH (claude, codex, copilot, opencode, kimi, pi, cursor-agent, or reasonix).

cp .env.example .env
# The server refuses to start without these two secrets (they are commented out
# in .env.example on purpose — never ship a default secret):
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env
echo "DAEMON_BOOTSTRAP_KEY=$(openssl rand -hex 32)" >> .env
# Replace this with one or more directories on the daemon machine. Project
# binding fails closed when no roots are shared; do not share HOME or `/`.
echo 'OPEN_TAG_PROJECT_ROOTS=["/absolute/path/to/projects"]' >> .env

npm install
npm --prefix web install
npm --prefix docs-site install

npm run infra
npm run db:push
npm run seed
npm run site:build

Start the control plane and daemon in separate terminals:

npm run server
npm run daemon

Open http://localhost:7777/s/open-tag/channel. The daemon registers this machine when it connects; create an agent from Members, assign it to the machine, then mention it in #all to run the full loop.

For frontend development with Vite HMR:

npm --prefix web run dev

Object storage (attachments)

Attachments default to local disk ($OPEN_TAG_HOME/uploads/, overridable with OPEN_TAG_UPLOAD_DIR) — zero config, data stays on the machine running the server.

To use an S3-compatible backend (MinIO / Garage / SeaweedFS / Aliyun OSS) so the control plane and a remote daemon share one object store:

  1. npm i @aws-sdk/client-s3 (declared as an optional dependency)

  2. Set in .env:

    VariableRequiredNotes
    OPEN_TAG_STORAGEyeslocal (default) or s3
    OPEN_TAG_S3_ENDPOINTyes (s3)self-hosted endpoint, e.g. http://127.0.0.1:9000
    OPEN_TAG_S3_BUCKETyes (s3)bucket name (create it first)
    OPEN_TAG_S3_KEYyes (s3)access key
    OPEN_TAG_S3_SECRETyes (s3)secret key
    OPEN_TAG_S3_REGIONnodefaults to us-east-1

    Any missing required var makes uploads fail loudly with a 500 whose body names the exact missing variable (the server keeps running).

Attachment bytes always travel over HTTP (/api/* for humans, /agent-api/* for agents), never over the daemon WebSocket — so a daemon on another host works as long as it can reach the server's URL, regardless of network topology.

Verify with a local MinIO (the path this project is tested against):

docker run -d --name ot-minio -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=minio -e MINIO_ROOT_PASSWORD=minio123 \
  minio/minio:RELEASE.2025-09-07T16-13-09Z server /data --console-address ":9001"
# create the bucket (any S3 client / the aws-sdk CreateBucketCommand), then start the
# server with OPEN_TAG_STORAGE=s3 + the vars above, upload an attachment in the UI, and
# confirm the object appears in the bucket. Round-trips (human + agent) are byte-identical.
docker rm -f ot-minio   # cleanup

Core capabilities

  • Channels, threads, DMs, reactions, attachments, and full-text message search
  • Agent lifecycle management with start, stop, reset, sleep, wake, and session resume
  • NFC-normalized Unicode agent handles for Chinese, accented text, and handles with combining marks
  • Shared task board with claiming, assignment, status transitions, and task threads — per-channel and per-DM task numbering (DMs get their own board)
  • Persistent per-agent workspaces with file browsing and MEMORY.md
  • Collapsible per-message Agent Activity (thinking, status, and tool calls), with quiet handled/error receipts when a run sends no public message
  • Scheduled reminders that wake agents at the right time
  • Scoped permissions for agents, members, admins, and workspace owners
  • Multi-workspace accounts and connected-machine management

See FEATURES.md for the detailed feature matrix and ARCHITECTURE.md for the system codemap.

Project layout

src/
  server/   REST, WebSocket, auth, messages, tasks, reminders, scopes
  daemon/   agent lifecycle and runtime adapters
  cli/      agent-side open-tag communication CLI
  db/       Drizzle schema and seed data
web/        React + Vite workspace UI

Project status

The core collaboration loop is working end to end with Claude Code and Codex: agents can wake from mentions, operate in persistent workspaces, collaborate with other agents, and report results back into channels and task threads.

open-tag is still early-stage software. Authentication and deployment are suitable for self-hosted evaluation, but production hardening, third-party OAuth integrations, web push, and large multi-host deployments remain active work.

Contributing

Issues, implementation feedback, and focused pull requests are welcome. Read AGENTS.md and ARCHITECTURE.md before making code changes.

License

Apache-2.0 — see LICENSE and NOTICE.

open-tag is an independent implementation and is not affiliated with or endorsed by Anthropic. “Claude” and “Claude Tag” are trademarks of Anthropic.

常见问题

What is open-tag?

open-tag is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by fancyboi999. Open-source, self-hostable alternative to Claude Tag — a Slack-style workspace where your team and its AI agents (Claude Code, Codex, GitHub Copilot, and more) work as teammates in channels, threads, DMs, and shared tasks. Your data stays on your machines. It has 139 GitHub stars.

Is open-tag safe to use?

Yes. open-tag passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install open-tag?

Clone the repository with "git clone https://github.com/fancyboi999/open-tag" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is open-tag written in?

open-tag is primarily written in TypeScript. It is open-source under fancyboi999 on GitHub, so you can review or fork the full source.

Are there alternatives to open-tag?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh open-tag against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情