Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
하나의 브라우저 탭에서 Claude Code 에이전트 팀을 운영, 작업 할당·협업·조정, 무료 오픈소스, 로컬 실행
Run a team of Claude Code agents from one browser tab: see who needs you, hand out work on a shared board, let agents coordinate. Free, open source, runs on your machine.
개발 도구JavaScript · PythonGitHub @molory온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Organise your agent teams. Boost the productivity of your Claude Code agents: run them side by side, see who needs you, and hand out work on a shared board. Free, open source, and it runs on your machine.
Website · Quick start · Guide · Changelog · Contributing
One agent is an assistant. Several agents are a team. A team needs a place to work together, and a terminal per agent is not one: you lose track of who is working, who is stuck on a permission prompt, and who is doing what. Ziggy One gives your agents that place.
127.0.0.1,
using your existing Claude Code login.Each agent is the real, interactive Claude Code running in its own terminal, in the browser. Ziggy One keeps them
organised (workspaces, pins, names, avatars), shows what they are doing (live status, context usage, a readable
view of the conversation), lets them coordinate (shared activity, an agent directory, a Kanban board they can use
through MCP), and tracks your plan usage, all from one page served on 127.0.0.1.
Zero third-party dependencies. The server is the Python standard library; the front end is vanilla HTML/CSS/JS with no npm and no build step. The only vendored code is xterm.js (MIT), pinned and checksummed, with its full TypeScript source in the published source map, plus 42 Twemoji SVGs (CC-BY 4.0) used as avatars.
The interface is in English by default and also available in Chinese, Hindi, Spanish, Arabic and French (Configuration › General). More languages are welcome: see CONTRIBUTING.md. Every module is described in the detailed guide.
claude in a pseudo-terminal (xterm.js in the page), so every
command, slash command and permission prompt works exactly as in your own terminal. Closing the browser tab does
not stop the agent.!! shell console.SessionStart hook, which agents exist and how to reach them (SendMessage).kanban_* tools) to read, create, update and move tickets, and (agents_* tools) to list
agents, create new ones (they start only when you open them) and group them into workspaces.pty and a controlling terminal per agent. Windows is not supported yet:
there, ziggy only says so and exits.claude on your
PATH). Ziggy One uses your existing Claude Code account and never sees your credentials.git (Git tab), Chrome/Chromium (PDF export), Node.js 22+
(front-end tests only).git clone https://github.com/molory/ziggy-one.git
cd ziggy-one
ln -s "$PWD/ziggy" ~/.local/bin/ziggy # once: the `ziggy` command, from any folder
~/.local/bin must be on your PATH (it usually is on Linux; on macOS, create it and add it to your shell profile if needed):
mkdir -p ~/.local/bin && echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # macOS, then open a new terminal
Then, in the folder you want your agents to work in:
ziggy # or: ziggy --permission-mode auto, any option below
ziggy does not start a second one: it just opens the interface (from any folder).ziggy says so: choose another one with --port.Whenever Ziggy One starts with no agent (first launch included), the sidebar gets ZiggyBoss: the agent that customizes Ziggy One and fixes its bugs (open it, it introduces itself); on the first launch, Tasks also has a "Board" with a welcome checklist. Then click New agent. Stop Ziggy One with Ctrl+C in its terminal; agents' terminals are closed cleanly.
The access token never shows up: not in the terminal, not in the browser's address bar or history, not on a
command line, not in a cookie. ziggy opens the browser on a single-use login link (/?login=…), signed with
the token, that expires after 5 minutes and is exchanged for a session of that browser only. Once used, the
link is worthless wherever it was copied: shell scrollback, ps, browser history, a log file.
ziggy --link prints a fresh single-use link
instead of opening the default browser; paste it into the other one. From a browser that is already logged in,
the account window (click your avatar) has Sign in another browser: it copies such a link, no terminal needed.python3 server.py (no --open), or when no browser can be opened, the server
prints the login link instead. Run ziggy --link for a fresh one.http://127.0.0.1:6767/, never a login link. If the browser is signed out (cookie lost, session
ended), the page says so and shows how to get back in: run ziggy again.--new-token: every browser is signed out, ticket links and agent
keys are invalidated./?token=… no longer signs in (it only goes back to /). A script
signs in with a single-use link, then uses the cookie jar:
curl -c jar "$(ziggy --link | grep -o 'http[^ ]*login=[^ ]*')". The token is in ~/.local/share/ziggy-one/token (0600).| Option | Meaning |
|---|---|
--port 6767 | Port to listen on (always 127.0.0.1). |
--cwd DIR | Default folder for new agents (default: current directory). |
--model MODEL | Default model of the agents (default: Claude Code's own). |
--permission-mode MODE | Default permission mode: default, acceptEdits, plan, auto or dontAsk. |
--allowed-tools "Bash(git status)" Edit … | Tools allowed without asking. |
--chrome | Enable Claude in Chrome for the agents. |
--open | Open the interface in the browser with a login link (ziggy always passes it). |
--link | Print a single-use login link instead of opening the browser, to paste into another browser. |
--new-token | Generate a new access token (invalidates open tabs, ticket links and agent keys). |
Every agent can override the model, permission mode and Chrome setting in its Configuration tab.
Everything stays on your machine, in ~/.local/share/ziggy-one/ (or $XDG_DATA_HOME/ziggy-one/), with 0700
directories and 0600 files: agents and their settings, workspaces, pins, shortcuts, Kanban boards and their
attachments, the activity journal and the access token. Ziggy One only reads Claude Code's own files
(~/.claude/sessions/, ~/.claude/projects/) to list sessions and render discussions.
Ziggy One is a single-user tool for your own machine.
127.0.0.1 only and checks the Host header (DNS rebinding protection).HttpOnly; SameSite=Strict cookie (the server keeps only its SHA-256), which can be signed out alone and ends
after 30 days unused. Every POST must carry a local Origin (CSRF protection).innerHTML with untrusted content.0600 files and never passed on a
command line.deny rules on Ziggy One's data folder (token, sessions, keys): its file
tools cannot read or change them. This does not stop a shell command you approve, which runs as you.~/.ssh, ~/.gnupg or ~/.aws, even inside an agent's folder.core.fsmonitor, external diff and
textconv programs: opening a repository does not run its code./copy) only within 5 seconds of something you did in that terminal;
terminal links open only http(s) addresses.See SECURITY.md to report a vulnerability.
browser (vanilla JS + xterm.js) ── HTTP + Server-Sent Events ── server.py (Python stdlib, 127.0.0.1)
│
pty (own session) ────────────┼──> claude (one per agent)
hooks (ziggy_hook.py) <───────┤ ├─ SessionStart / UserPromptSubmit / Stop …
MCP over HTTP (/mcp) <───────┘ └─ kanban_* / agents_* tools
server.py serves the page, the JSON API and an SSE stream; terminal.py runs claude in a pseudo-terminal
and streams its screen; ziggy_hook.py is the Claude Code hook that reports turns and injects context.transcripts.py reads them defensively, so a format
change can at worst make the Discussion view incomplete. The terminal itself never depends on it.The detailed guide describes every module and behaviour.
python3 -m unittest discover -s tests # server tests (use a fake `claude`, no quota spent)
node --test tests/*.test.mjs # front-end logic tests (Node 22+)
ruff check . # lint (optional locally, enforced by CI: pipx install ruff)
CI runs both suites on Linux (Python 3.10 to 3.14) and macOS, the linters, and CodeQL. Releases are published from
a vX.Y.Z tag with that version's notes from CHANGELOG.md.
Contributions are welcome: please read CONTRIBUTING.md first, especially the no-dependency rule.
MIT © 2026 Marc Olory. Third-party components keep their own licenses, see THIRD_PARTY_NOTICES.md.
Ziggy One is an independent project, not affiliated with or endorsed by Anthropic. "Claude" and "Claude Code" are trademarks of Anthropic.