Skip to main content

avc

Use AVC (Agent View Controller) to present complex execution plans, architecture changes, and multi-step operations as interactive visual UIs. Instead of dumping walls of text, pipe structured JSON to `avc` for human visual review and confirmation. The human can drag-to-reorder, edit, skip, delete, and add steps before confirming.

Quellinformationen

Repository
study8677/Agent_View_Controller-AVC
Letzte Quellaktivität
19. Mai 2026 um 01:33
Erkannte Sprache von SKILL.md
Englisch
Sterne
68
Forks
6

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
avc
description
Use AVC (Agent View Controller) to present complex execution plans, architecture changes, and multi-step operations as interactive visual UIs. Instead of dumping walls of text, pipe structured JSON to `avc` for human visual review and confirmation. The human can drag-to-reorder, edit, skip, delete, and add steps before confirming.
# AVC — Agent View Controller AVC is a visual interaction tool that transforms JSON into interactive native WebView UIs. Use it when you need human approval for complex decisions. ## When to Use Use `avc` instead of printing plain text when: - **Execution plans** with more than 3 steps - **Architecture changes** involving multiple modules - **Multi-file refactoring** plans - **Deployment sequences** that need human review - **Any complex plan** where the human should visually review and reorder steps ## Prerequisites `avc` must be installed and available in PATH: ```bash # From source git clone https://github.com/study8677/Agent_View_Controller-AVC.git cd Agent_View_Controller-AVC && go build -o avc . && sudo cp avc /usr/local/bin/ ``` ## How to Use ### Step 1: Construct JSON Build a JSON object with `view` type and structured data: ```json { "view": "plan", "title": "Your Plan Title", "lang": "en", "editable": true, "token_count": 4500, "data": { "steps": [ {"id": 1, "label": "Step description", "status": "pending"}, {"id": 2, "label": "Another step", "status": "pending"} ] } } ``` > **Tip — `lang` field:** Localizes UI chrome (buttons / status bar / tooltips) only — not step content. Supported: `en` (default), `zh`, `ja`, `ko`, `es`, `fr`, `de`. Match it to the language of your step labels for a consistent UI. ### Step 2: Pipe to AVC ```bash echo '<json>' | avc ``` ### Step 3: Read the Result - Exit code `0` = human confirmed → stdout contains modified JSON - Exit code `130` = human cancelled ```bash RESULT=$(echo '{"view":"plan","title":"My Plan","token_count":5000,"data":{"steps":[{"id":1,"label":"Step 1","status":"pending"}]}}' | avc) if [ $? -eq 0 ]; then # Parse $RESULT — human may have reordered, edited, or removed steps echo "$RESULT" else echo "Human cancelled" fi ``` ## Important Behavior 1. `avc` **blocks** until the human clicks Confirm or Cancel 2. **stdout** contains the human-modified JSON (may have reordered/edited/removed steps) 3. If `token_count` ≤ 3000 (default threshold), AVC **passes through** without opening a window 4. Use `--no-threshold` to always show the WebView window 5. Use `--threshold=N` to set a custom threshold ## Token Threshold AVC has a smart filter: short content passes through directly. - If JSON contains `token_count` field → uses that value - Otherwise → estimates from byte length (`bytes / 3`) - If ≤ threshold → pass-through (no window, exit `0`, original JSON on stdout) **Include `token_count` in your JSON for accurate control.** ## What the Human Can Do When the human sees your plan in AVC, they can: - **Drag & drop** to reorder steps - **Edit** step descriptions by clicking on text - **Skip** steps they don't want executed - **Delete** steps entirely - **Add** new steps **Always respect the human's modifications in the returned JSON.** ## Supported Views | view | Use for | Data shape | |---------|------------------------------------------------------------------|---------------------------------------| | `plan` | Linear step-by-step execution plans (deploys, migrations, TODOs) | `data.steps[]` | | `graph` | Architecture topology / dependency map / ER / workflow | `data.nodes[]` + `data.edges[]` | **Pick `graph` when the agent's output is a relationship**, not a sequence — e.g., microservice architecture, module dependency map, database ER diagram, data flow. Nodes are `{ id, label, type?, x?, y? }` with `type ∈ { service, gateway, database, external, default }`. Edges are `{ from, to, label? }`. Positions persist on round-trip (so the human's layout survives). ## Example: Full Agent Workflow ```bash # 1. Agent generates a plan as JSON PLAN='{"view":"plan","title":"Refactor Auth","token_count":5000,"editable":true,"data":{"steps":[ {"id":1,"label":"Extract auth middleware","status":"pending"}, {"id":2,"label":"Create JWT service","status":"pending"}, {"id":3,"label":"Update route handlers","status":"pending"}, {"id":4,"label":"Add integration tests","status":"pending"} ]}}' # 2. Pipe to AVC for human review APPROVED=$(echo "$PLAN" | avc) # 3. If confirmed, execute only approved steps if [ $? -eq 0 ]; then echo "$APPROVED" | jq -r '.data.steps[] | select(.skipped != true) | .label' fi ```
Auf GitHub ansehen