Show HN: Tandem, real-time collaboration with Claude Code
hackernews
|
|
📦 오픈소스
#ai 문서 검토
#claude
#claude code
#ide
#tandem
#실시간 협업
#ai문서검토
#anthropic
#개발도구
#실시간협업
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
탠덤(Tandem)은 개발자가 클로드(Claude) 코드와 함께 실시간으로 문서를 검토할 수 있도록 지원하는 오픈소스 협업 에디터입니다. 이 도구는 클로드가 문서에 직접 하이라이트, 코멘트, 제안 등의 주석을 달아주며, 원본 파일은 저장하지 않는 한 수정되지 않습니다. Node.js 22+ 버전이 필요하며, 다중 문서 탭 지원, 워드(.docx) 파일 읽기, 키보드 단축키를 활용한 리뷰 모드 등 다양한 편의 기능을 제공합니다. 또한 30개의 MCP 도구를 활용해 사용자의 채팅 메시지와 텍스트 선택 내용을 클로드로 즉각적으로 전달하여 원활한 상호작용을 보장합니다.
본문
An AI document reviewer — open a progress report, RFP, or compliance filing and Claude reviews it alongside you in real time. Highlights, comments, suggestions, and questions appear as first-class annotations you accept, dismiss, or discuss. The original file is never modified unless you save. - Node.js 22+ (download) - Claude Code ( irm https://claude.ai/install.ps1 | iex ) npm install -g tandem-editor tandem setup # registers MCP tools + installs Claude Code skill tandem # starts server + opens browser tandem setup auto-detects Claude Code and Claude Desktop, writes MCP configuration, and installs a skill (~/.claude/skills/tandem/SKILL.md ) that teaches Claude how to use Tandem's tools effectively. Re-run after upgrading (npm update -g tandem-editor && tandem setup ). Start Claude Code with channel push for real-time notifications: claude --dangerously-load-development-channels server:tandem-channel Then try: "Review the welcome document with me" Claude calls tandem_open , the document appears in the browser, and annotations start flowing. Chat messages, annotation actions, and text selections push to Claude instantly. Without channels: Use the /loop skill in Claude Code to poll: /loop 30s check tandem inbox and respond to any new messages npm run doctor # checks Node.js, MCP config, server health, ports Or check the raw health endpoint: curl http://localhost:3479/health # → {"status":"ok","version":"0.1.2","transport":"http","hasSession":false} hasSession becomes true once Claude Code connects. Development Setup (contributing / building from source) git clone https://github.com/bloknayrb/tandem.git cd tandem npm install npm run dev:standalone # starts server (:3478/:3479) + browser client (:5173) Open http://localhost:5173 — you'll see sample/welcome.md loaded automatically on first run. The .mcp.json in the repo configures Claude Code automatically when run from this directory. Claude adds highlights, comments, suggestions, and flags directly in the document. The side panel lists all annotations with filtering by type, author, and status. Accept, dismiss, or edit each one individually — or use bulk actions to process them in batches. Send freeform messages to Claude alongside annotation review. Select text before sending to attach it as a clickable anchor — clicking it later scrolls back to that passage. Press Ctrl+Shift+R to enter keyboard review mode. Navigate with Tab, accept with Y, dismiss with N, examine with E. A 10-second undo window lets you reverse accidental accepts. The side panel tracks your position. - Multi-document tabs — open .md ,.txt ,.docx files side by side; drag to reorder - .docx review-only mode — open Word documents for annotation; imported Word comments appear alongside Claude's - Session persistence — documents and annotations survive server restarts - Real-time channel push — annotation actions, chat, and selections push to Claude instantly - Keyboard shortcuts — press ? for the full reference - Unsaved-changes indicator — dot on tab title when a document has pending edits - Configurable display name — set your name so Claude knows who's reviewing - Atomic file saves — write to temp, then rename, preventing partial writes - E2E tested — Playwright tests cover the annotation lifecycle end-to-end - User Guide — How to use Tandem: browser UI, annotations, chat, review mode, keyboard shortcuts - MCP Tool Reference — 30 MCP tools + channel API endpoints - Architecture — System design, data flows, coordinate systems, channel push - Workflows — Claude Code usage patterns: document review, cross-referencing, multi-model - Roadmap — Phase 2+ roadmap, known issues, future extensions - Design Decisions — ADR-001 through ADR-021 - Lessons Learned — 31 implementation lessons | Command | What it does | |---|---| tandem | Start server and open browser (global install) | tandem setup | Register MCP tools with Claude Code / Claude Desktop | tandem setup --force | Register to default paths regardless of auto-detection | tandem --version | Show installed version | tandem --help | Show usage | Tandem uses two MCP connections: HTTP for document tools (28 tools including annotation editing), and a channel shim for real-time push notifications. Global install (tandem setup ): Automatically writes both entries to ~/.claude/mcp_settings.json (Claude Code) and/or claude_desktop_config.json (Claude Desktop) with absolute paths. No manual configuration needed. Development setup (.mcp.json ): The repo includes a .mcp.json that configures both entries automatically when Claude Code runs from the repo directory: { "mcpServers": { "tandem": { "type": "http", "url": "http://localhost:3479/mcp" }, "tandem-channel": { "command": "npx", "args": ["tsx", "src/channel/index.ts"], "env": { "TANDEM_URL": "http://localhost:3479" } } } } Both entries are cross-platform — no platform-specific configuration needed. All optional — defaults work out of the box. | Variable | Default | Description | |---|---|---| TANDEM_POR
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유