context-attachment-manager
Claude Desktop용 플러그인, 다음 메시지에 사용할 과거 이미지 선택 가능
코딩 에이전트가 만든 평문 노트·스크린샷·실시간 데모를 GitHub·GitLab·Bitbucket diff에 표시, 무료 오픈소스 자체 호스팅
Plain-language notes, screenshots and live demos from your coding agent, inside the diff on GitHub, GitLab and Bitbucket. Free, open source (MIT) and self-hosted.
플러그인TypeScript · JavaScriptGitHub @igorkasyanchuk온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Your coding agent explains its pull request; your team reads the notes, screenshots and live demos inside the diff on GitHub, GitLab and Bitbucket. Self-hosted, MIT.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗curl | sh, one extension.| Review faster | Reviewers read why a block changed before reading how. Fewer “what does this do?” round trips. |
| Context from the author | The agent that wrote the code explains it while it still knows the decisions and trade-offs. |
| Screenshots in the diff | UI changes come with before/after or mobile/desktop shots next to the lines that caused them. |
| Zero noise | Nothing is posted to the PR. The conversation stays for humans. |
| Your data | Self-hosted, invite-only (or sign-up with GitHub), per-account access. Code context never leaves your infrastructure. |
| Any agent, any team | One skill for every Agent Skills tool; one extension for several servers (teams, clients). |
| On GitHub | |
|---|---|
| Summary box above the files: the PR's summary, linked reports, a notes on/off switch, expand/collapse all. | |
| Gallery: several images in one note (mobile + desktop), ← → to flip, Esc to close. | |
Previews of attached .md, .csv and .txt files, rendered in place. | |
Live demos: a small .html file runs in a locked sandbox under its note (no network, no access to GitHub); expand it at phone, tablet or desktop width. | |
| Floating dock once you scroll: note count, notes switch, summary popover. Long notes get show more / less. |
| In the app | |
|---|---|
| Every annotated PR, with its notes and attachments. | |
| Accounts with roles (owner, admin, member), invitations, repositories, storage per repository. | |
| Super admin: users, accounts, uploads, disk, and where files are stored. |
# 1. the server (any Docker host: a VPS, Coolify, Dokku…)
git clone https://github.com/igorkasyanchuk/diffnotes && cd diffnotes
docker build -t diffnotes . && docker run -d -p 3000:3000 -v diffnotes:/data \
-e [email protected] -e PUBLIC_URL=https://reviews.example.com diffnotes
docker logs <container> | grep "first admin" # the generated password
# or: docker compose up -d (docker-compose.yml), or Render / Fly.io / Railway / Coolify: docs/deploy.md
# 2. the skill, on every developer machine (Claude Code, Codex, Cursor, other Agent Skills tools)
curl -fsSL https://reviews.example.com/install.sh | sh
export DIFFNOTES_URL=https://reviews.example.com DIFFNOTES_TOKEN=dn_… # token from /settings
# 3. the extension: https://chromewebstore.google.com/detail/fmnbgmeahjhfakpcmhimjjjplimdiibd
# (or chrome://extensions → Developer mode → Load unpacked → extension/)
# then its popup: server + token → Connect
Then ask your agent: “annotate this PR with diffnotes” and open the PR's Files changed tab. No skills in your agent?
Use the MCP endpoint instead: claude mcp add --transport http diffnotes https://reviews.example.com/mcp --header "Authorization: Bearer $DIFFNOTES_TOKEN" (more).
| Install & configure | Docker, environment variables, first admin, password reset, upgrades, backups |
| Deploy | Docker Compose, Coolify, Render (one-click), Fly.io, Railway; one instance only |
| Agent skill | Install, token, how the agent writes notes, payload format, allowed files |
| Browser extension | Install (Chrome, Firefox, Safari), several servers, GitHub / GitLab / Bitbucket, what you see, troubleshooting |
| Accounts & roles | Owner / admin / member, invitations, repository rules, super admin, overview pages |
| File storage | Disk or S3-compatible (Backblaze B2, Cloudflare R2, AWS S3, MinIO), expiry |
| Security | Access model, upload checks, sandboxing, tokens, secrets; report a vulnerability: SECURITY.md |
| API | The HTTP API the skill and the extension use |
| Development | Stack, layout, commands, code rules |
| Changelog |
MIT: use it, change it, host it, sell it; keep the copyright notice.
What changed in each version; releases are tagged vX.Y.Z |
| Privacy | What the extension and a server keep (every server also serves it at /privacy) |