HN 표시: CLI 논의 – 더 이상 터미널에서 에이전트 계획을 검토하지 않습니다.
hackernews
|
|
🔧 개발도구
#claude
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
'discuss' CLI는 마크다운 파일이나 터미널 입력을 브라우저에서 열어 PR 스타일의 댓글 기능을 제공하는 도구입니다. 엔지니어가 작성하는 설계 문서나 분석 노트 등을 복사 없이 터미널 세션 내에서 AI 에이전트와 함께 검토할 수 있도록 지원합니다. 이 도구는 문서 자체를 작업 공간으로 만들어 단락별로 스레드가 포함된 피드백을 주고받을 수 있는 기능을 특징으로 합니다.
본문
Stop reviewing agent plans in the terminal. discuss opens any Markdown file (or piped stdin) in your browser with PR-style comment threads on every paragraph. Your Codex or Claude Code session reads your comments and replies in the margins — same terminal session, no copy-paste. Anchored. Threaded. Bidirectional. No cloud. Markdown is how engineers share everything that isn't code — PRDs, design docs, RFCs, incident post-mortems, analysis notes. But review tools assume the thing being reviewed is a diff. Docs either get copy-pasted into a chat window, marked up in Google Docs comments no agent can read, or ignored. discuss makes the doc itself the workspace: - Inline anchored threads — click any paragraph, drop a comment, get a threaded response. - Syntax highlighting — tag fenced code blocks with a language (e.g. ```rust ,```diff-typescript ) for browser-side highlighting. See Prism's supported languages for the full set. - Takes vs replies — the agent posts takes (its view), humans post replies. Rendered distinctly so you can tell who said what at a glance. - Bidirectional — the browser writes through a local REST API; the agent reads stdout events and writes back through the same API. - No cloud. One Rust binary, one localhost server, one browser tab. curl -sSL https://raw.githubusercontent.com/codesoda/discuss-cli/main/install.sh | sh Downloads the latest release tarball from GitHub, installs the binary to ~/.discuss/bin/ , symlinks ~/.local/bin/discuss , fetches the /discuss skill files into ~/.discuss/skills/discuss/ , and links them into every agent root present (~/.claude/skills/ , ~/.codex/skills/ , ~/.agents/skills/ ). git clone https://github.com/codesoda/discuss-cli.git cd discuss-cli ./install.sh Same outcome as the curl path, but builds the binary from source with cargo build --release and links the skill directly out of the clone so git pull updates it. In Claude Code, Codex, or any agent with the /discuss skill, just ask: Can you discuss ./plan.md with me? The agent invokes the skill. If discuss isn't on your PATH yet, it'll prompt before running the installer: discuss isn't on your PATH. Install it now? (runscurl -sSL https://raw.githubusercontent.com/codesoda/discuss-cli/main/install.sh | sh ) Confirm — the installer self-bootstraps in the background, the server launches on http://127.0.0.1:7777 , your browser opens with the rendered doc, and the agent starts streaming events. Drop an inline thread anywhere and the agent replies with a take. discuss ./plan.md Browser opens on http://127.0.0.1:7777 . You get the full review UI — inline threads, replies, resolution — without any agent participation. Useful for solo review. | Command | Description | |---|---| discuss | Open a markdown file in a browser-based review session | discuss update --check | Check GitHub for a newer release | discuss update -y | Download the latest release, verify checksum, self-replace | | Flag | Default | Description | |---|---|---| --port | 7777 | Bind port. No free-port fallback — fails fast if already bound. | --no-open | off | Don't auto-launch the browser | --history-dir | ~/.discuss/history | Where transcripts get written | --no-save | off | Don't persist transcripts | While the server is running: | Method | Path | Purpose | |---|---|---| GET | /api/state | Current snapshot: threads, replies, takes, drafts | GET | /api/events | SSE event stream (browser UI) | POST | /api/threads | Create a thread | POST | /api/threads/{id}/replies | Add a human reply | POST | /api/threads/{id}/takes | Add an agent take | POST | /api/threads/{id}/resolve | Resolve a thread | POST | /api/threads/{id}/unresolve | Unresolve | DELETE | /api/threads/{id} | Soft-delete (kind = "user" only) | One newline-delimited JSON object per line. Consumed by the /discuss skill via Monitor; any line-reader works. | Kind | When | |---|---| session.started | Server bound and listening | thread.created | User opened a new thread | reply.added | Human posted a reply | thread.resolved / thread.unresolved | Resolution toggled | thread.deleted | Soft-delete | prompt.suggest_done | Idle timeout fired | session.done | Server exited cleanly | Draft keystrokes and agent takes broadcast via SSE only — they never surface on stdout. The skill lives at skills/discuss/SKILL.md and targets: - Claude Code — ~/.claude/skills/discuss - Codex — ~/.codex/skills/discuss - Cline / Warp / anything respecting ~/.agents/skills/ What the skill handles: - Launching discuss as a background task - Streaming stdout events via the agent's Monitor primitive - Posting takes in response to user-opened threads - Self-bootstrapping the binary if it isn't installed MIT
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유