Herdr UI
Herdr의 TUI가 뛰어나며, 창을 통해 추가되는 기능
AI 에이전트에 시각적 피드백을 제공해 UI·웹·슬라이드·이메일을 캡처하고, 표시한 부분을 승인·수정 요청합니다
Visual feedback for your AI agent. It captures UI, a website, slides or an email; you mark what matters and approve or ask for changes; it reads your marks and keeps going. Connect Claude, ChatGPT, Cu
개발 도구PHP · BladeGitHub @heyderekj온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Mark feedback for your agent — human-in-the-loop design review over Laravel MCP
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Mark feedback for your agent.
Hosted MCP server: https://revisemy.com/mcp/revisemy — Claude and ChatGPT add it as a custom connector and click Connect; no account. Claude Code:
Or install the Claude Code plugin, which adds the server plus a design-checkup skill. In Claude Code:README 전문 보기 ↗Mark feedback for your agent.
Hosted MCP server: https://revisemy.com/mcp/revisemy — Claude and ChatGPT add it as a custom connector and click Connect; no account. Claude Code:
claude mcp add --transport http revisemy https://revisemy.com/mcp/revisemy
Or install the Claude Code plugin, which adds the server plus a design-checkup skill. In Claude Code:
/plugin marketplace add heyderekj/revisemy
/plugin install revisemy@revisemy
The plugin also carries seven skills for the marketing site of an app or tool, drawn from feedback on real landing pages. They work in any agent on their own, and turn a critique into a ReviseMy review you can mark up when the server is connected.
| Skill | What it does |
|---|---|
homepage-craft | The rules: five-second test, show the product, one action, less homepage, one brand. Plus a reference shelf |
review-homepage | A full critique: what's working, the strongest section, up to seven changes, two or three references |
find-strongest-section | Finds the section that already works and lifts the rest with it |
show-dont-tell | Turns text-heavy sections into visuals that carry the point |
cut-homepage | What to cut, where it goes instead, and the order for what's left |
brand-pass | Finds the brand element that works and carries it through the page |
faith-homepage | Extra rules for church, ministry and Bible software |
For Cursor, Codex and other agents:
npx skills add heyderekj/revisemy
See revisemy.com/skills.
ReviseMy is an open-source human-in-the-loop design review tool. Your agent captures UI, websites, slides, or email from screenshots, a URL, PDF, or HTML over Laravel MCP, you open a review link, mark what matters like a design critique, then approve or request changes. The agent reads structured work packets and keeps going.
Built with Laravel, Livewire, Flux, Sanctum, and Laravel MCP — ready for Laravel Cloud.
pins for compatibility.ui, website, presentation (Slide in the UI), or email: each gets its own checklist and vision lens (emails get CTA/dark-mode/client checks, slides get slide-density checks, sites get above-the-fold/responsive checks).images (https URL, data URL, or base64), capture_url + page_url (desktop, mobile and tablet screenshots), pdf (one shot per page), or raw html (email at ~600px). URL capture also stores a DOM snapshot for grounding.after_image when resolving a mark; the review page and board show a before/after crop next to the resolution note./r/{token}/board groups marks Open → In progress → Resolved → Verified. Agents call resolve_marks as they fix code; only the human verifies or reopens. When marks await verify, the review page surfaces an Awaiting your verify focus (with verify-all).get_review work packets for the agent.add_findings drops suggestion / a11y / polish notes into the same review before you look. Accept/dismiss (including batch and accept-as severity) promotes hints to marks with provenance (guest / checklist / vision / agent).next_action — agents know whether to wait, apply marks, open the next pass, or stop./connect on the hosted app and pick your assistant.create_review.get_review and follow next_action — or listen on your webhook_url if you set one.No account required for the human reviewer.
| Tool | Purpose |
|---|---|
create_review | title + one source — images, capture_url (renders page_url), pdf, or html — (+ optional type, page_url, parent_id, webhook_url) → review URL; starts second opinion |
get_review | work packets + next_action (wait_for_human / apply_pins_then_next_pass / apply_decision_note / open_next_pass / done), plus work_packets.carried_over for previous-pass marks the human reopened |
list_reviews | recent reviews for this try token (summaries: status, pass, outstanding / awaiting-verification counts — call get_review for pins) |
add_screenshot | append a shot to an open review |
add_findings | agent subagent — push suggestion/a11y/polish into the review |
resolve_marks | agent progress on human marks: in_progress → resolved (+ note, optional after_image); never verified. Check skipped in the response — marks listed there did not land |
reply_to_marks | reply in a mark's thread: answer a question, explain a fix, or ask before guessing. Labelled as your agent's for the owner and guests; never changes the mark. Check skipped |
request_second_opinion | refresh checklist (+ vision if keyed) |
get_billing | plan, credits remaining, burn table, and when credits refill |
add_mark | MCP Apps UI only — human leaves a mark inline (agents must not call) |
decide_review | MCP Apps UI only — human approves or requests changes |
verify_mark | MCP Apps UI only — human verifies or reopens a resolved mark |
Three more tools — create_checkout, create_portal, and cancel_subscription — are registered only when REVISEMY_PRICING_ENABLED=true (billing runs through Polar). Paid pricing is off by default, so a default install advertises 11 tools, not 14. Keeping the dead ones off the list keeps them out of every agent's context.
Prompt: design_checkup_loop — full agent↔human checkup cycle.
Screenshots accept https URLs, data URLs, or base64. URLs are fetched server-side, so they must be public https on standard ports — loopback, private, and link-local addresses are rejected (including via redirect). For anything on localhost, pass a data URL instead.
Every create_review costs credits, so this is the limit you'll hit first:
| Source | Cost |
|---|---|
images | 1 |
pdf | 1 |
html | 3 |
capture_url | 5 |
Try (the default, no account) grants 40 credits per month, rolling, with no rollover — about 40 screenshot reviews or 8 full website captures. Plus ($9/mo) grants 100 credits per billing month. A credit pack ($5 one-time) adds 50 credits that never expire, on either plan; pack credits are spent after the monthly grant. get_billing reports what's left and when it refills; a create_review that can't afford its source returns [insufficient_credits]. Self-hosting? Set REVISEMY_FREE_CREDITS and REVISEMY_TRY_TOKEN_PER_DAY to whatever you like.
Terminology: UI copy uses marks; JSON still uses work_packets.pins, related_pin, and apply_pins_then_next_pass. Second opinion is suggestions only — see docs/SECOND-OPINION.md. Webhooks and MCP Apps details — see docs/CONNECTORS.md.
After you get a try token from the homepage:
{
"mcpServers": {
"revisemy": {
"url": "https://YOUR-APP.laravel.cloud/mcp/revisemy",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
The homepage also copies configs for Claude Desktop, Copilot, Claude Code, and ChatGPT/Grok hints. Same URL + Bearer header works for any MCP host — see docs/CONNECTORS.md.
The same reviews over plain HTTP, for scripts and CI: POST /api/try-token, then /api/reviews and its screenshots, findings, marks/resolve and second-opinion endpoints. Every endpoint with a curl example is in the REST API docs.
composer setup # install, .env, key, migrate, npm build
composer dev # server + queue + logs + vite (all-in-one)
Or step by step:
composer install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate
php artisan storage:link
npm install && npm run build
php artisan serve
Run a queue worker (php artisan queue:listen) only if you are testing decision webhooks or other queued jobs locally. Vision second opinion does not need one.
Visit http://127.0.0.1:8000, get a try token, and create a review.
composer test # 122 tests
Key suites for contributors:
| File | What it covers |
|---|---|
tests/Feature/McpCreateReviewTest.php | create_review / get_review over MCP for every input type |
tests/Feature/McpAppTest.php | MCP Apps UI tools (add_mark, decide_review, verify_mark) |
tests/Feature/CaptureIngestionTest.php | same ingestion paths via REST |
tests/Feature/ReviseMyFlowTest.php | try token, guest share, findings, multi-pass loop |
MCP tests use ReviseMyServer::actingAs($user)->tool(...) — no Cursor config required.
APP_NAME=ReviseMyFILESYSTEM_DISK / REVISEMY_DISK to the Cloud object storage diskAPP_URL to your https://….laravel.cloud URLQUEUE_CONNECTION) — not required for vision second opinionANTHROPIC_API_KEY (or OPENAI_API_KEY) for the vision second opinion — REVISEMY_VISION_PROVIDER=auto prefers Claude when both are set. Just the key; no worker needed.REVISEMY_VISION_PROVIDER=openai, REVISEMY_OPENAI_BASE_URL=http://localhost:11434/v1, and REVISEMY_OPENAI_MODEL=llama3.2-vision (blank key is fine). Local/OSS models give helpful hints, not Claude/GPT-4o quality.REVISEMY_CAPTURE_DRIVER=hosted + REVISEMY_CAPTURE_ENDPOINT/REVISEMY_CAPTURE_KEY (Browserless-compatible API) for server-side URL/email/PDF capture — Cloud containers have no Chrome, so use the hosted driver thereREVISEMY_CAPTURE_DPR=2 (default) — retina URL captures via Browserless deviceScaleFactorBROADCAST_CONNECTION=reverb + REVERB_*/VITE_REVERB_*) for live updates — without it the UI pollsphp artisan migrate --forceSee docs/DEPLOY.md for Postgres pooler tips, Neon wake timeouts, and contest checklist.
Point MCP at your own origin. Use S3-compatible storage for screenshots in production. Rate limits and review expiry are built in — retention is per plan (REVISEMY_FREE_RETENTION_DAYS, 7 by default; 90 on Plus), and guest share links expire on their own 7-day clock.
For free pixel vision without a cloud API key, point REVISEMY_OPENAI_BASE_URL at Ollama (or another OpenAI-compatible /v1 host) as in .env.example.
/mcp/revisemy)/llms.txt and /llms-full.txt — agent-oriented site index, and every page in one file (on your deployed origin)/{page}.md — any public page as markdown, e.g. /board.md/.well-known/mcp/server-card.json — endpoint, auth, tools and prompts as JSON/sitemap.xml — public pages for search engines/changelog — versioned release notesProduct SemVer lives in config/revisemy.php. To cut a release: php artisan revisemy:bump {major|minor|patch} [--title=…] → fill highlights in config/changelog.php → commit (and tag if you want). The homepage badge, MCP app, /changelog and the server card read that version automatically; the command also updates server.json and the Claude plugin's plugin.json.
O'Saasy License — see LICENSE. Use, fork, and contribute freely; hosted SaaS rights are reserved for the copyright holder.
get_reviewcreate_review with parent_id for pass 2+ after you request changes (type and webhook inherit from the parent).webhook_url on create_review; ReviseMy POSTs a signed review.decided event when the human approves or requests changes, so CI/CD can gate without polling.guest_share_url lets stakeholders leave suggestions (not authoritative marks); the owner accepts or dismisses them./reviews and enriched list_reviews show pass #, outstanding counts, and awaiting-verification without an account (same try token).create_review / get_review render the review inline so humans can mark and decide without leaving chat. Cursor and Claude Code use the review_url link instead./r/{token} without signing up.