Skip to content

Repository files navigation

Agent Overlay for OpenCode

A sleek, transparent desktop overlay that automatically triggers a beautiful Warp Speed particle animation when using OpenCode — any provider (xAI/Grok, and more).

✨ Features

  • Auto show/hide animation when OpenCode is generating (any provider: xAI/Grok, …)
  • Canvas particle field: 11 styles (default Hyperspace + Signal waves, Datastream, Orbit, …)
  • Reactive motion: start kick · idle shimmer · token heartbeat · multi-session tint · completion bloom
  • Multi-process: several OpenCode windows at once — overlay stays up until all gens end
  • Fully transparent overlay · does not steal IDE focus on generation start
  • Works with your existing OpenCode setup (no extra API key)
  • Tauri 2 (Rust) + Svelte 5 + Python bridge (logs + SQLite token poll)
  • Token flow chips · per-style alpha · Windows & macOS
  • Shim/oc keep your project cwd (OpenCode opens the folder you ran from)

🛠 Tech Stack

  • Tauri 2 + Svelte 5 + TypeScript + Vite · Canvas 2D particles
  • Rust (tiny_http localhost event server)
  • Python 3 bridge (opencode_bridge: detect, emit, log claims, DB poll)

⚠️ Actively developed. Contributions and feedback are welcome!

Status: stable for daily use — OpenCode TUI works normally, particles auto show/hide, no [EVENT] spam on chat (logs go to file / settings diagnostics).

Preview

Agent Overlay demo

Settings panelGenerating (warp particles)
Settings — animation styles, alpha, speedOverlay particles while AI generates
  • demo.gif — End-to-end animation demo
  • demo-1 — Settings (styles, Style alpha, Token flow, intensity, speed, Test warp)
  • demo-2 — Transparent overlay, full-bleed particles while generating

Media: public/. Full setup guide (Windows + macOS) below.

📖 Docs site (GitHub Pages):sonht113.github.io/overlayagent-opencode


Mục lục / Full guide

  1. Tổng quan
  2. Yêu cầu
  3. Setup Windows
  4. Setup macOS
  5. Dùng hàng ngày
  6. Settings overlay
  7. Lệnh & API
  8. Kiến trúc
  9. Cấu trúc thư mục
  10. Troubleshooting
  11. Gỡ cài đặt

1. Tổng quan

Agent Overlay là cửa sổ desktop trong suốt (Tauri) hiển thị animation particles khi OpenCode đang generate. Có 11 style (mặc định Hyperspace; Signal = sóng đồng tâm) và chỉnh alpha theo style.

Trạng tháiHành vi
IdleWindow ẩn — chỉ còn icon tray
GeneratingWindow hiện, chỉ particles (không cướp focus IDE) — xem demo-2
Multi-genNhiều process OpenCode cùng lúc → overlay any-active (ẩn khi tất cả xong)
SettingsRight-click / tray → panel (style, alpha, speed, …) — xem demo-1

Luồng tự động (Windows / macOS giống nhau):

Login
→ start-overlay (autostart) → tray, window ẩn, HTTP :9876
Terminal (cwd = project của bạn)
→ gõ: opencode (hoặc oc)
→ shim/oc set PYTHONPATH + AGENT_TOOL_ROOT (không cd tool root)
→ opencode_bridge → OpenCode TUI (thật, đúng project)
→ generate → POST event (+ bridge_pid, session_id) → Overlay particles
→ generation_end (per session) → khi không còn session → fade → ẩn
OSInstall / launcherShim
Windows*.ps1, oc.cmdshim\opencode.cmd
macOS*.sh, oc.shshim/opencode

Env chung: AGENT_TOOL_ROOT, OPENCODE_CMD, OPENCODE_REAL, TAURI_EVENT_URL, OPENCODE_DB / OPENCODE_DATA_DIR / OPENCODE_LOG_DIR.


2. Yêu cầu

Thành phầnWindowsmacOS
OSWindows 10/11 (đã test)macOS 12+ (Apple Silicon / Intel)
Node.js 18+✓ (brew install node)
Rust+ MSVC Build Toolsrustup + Xcode CLT
Python 3.xpy -3 hoặc pythonpython3
OpenCodenpm i -g opencode-aicùng / brew
curlcó sẵn (health check scripts)

Tool root: clone repo bất kỳ đâu. oc.ps1 / shim / start-overlay resolve root theo vị trí script (hoặc AGENT_TOOL_ROOT). Không bắt buộc C:\Work\Tool — các ví dụ bên dưới dùng path đó chỉ mang tính minh họa.


3. Setup Windows

Làm tuần tự. Sau bước 2–4 nên đóng hết terminal rồi mở lại.

Bước 1 — Build / chạy Overlay

# Clone repo rồi cd vào thư mục đó (ví dụ $env:AGENT_TOOL_ROOT)
cd $env:AGENT_TOOL_ROOT\agent-overlay # hoặc: cd path\to\overlayagent-opencode\agent-overlay
npm install
# Production binary (khuyến nghị cho dùng thật)
npm run tauri build
# Hoặc dev (hot reload, chậm lần đầu)# npm run tauri dev

Thành công: icon Agent Overlay trên system tray, window ẩn.

Kiểm tra HTTP bridge:

Invoke-RestMethod http://127.0.0.1:9876/health
# Kỳ vọng: ok=true, service=agent-overlay, port=9876

Nếu chưa có exe release, start-overlay.ps1 vẫn dùng target\debug\agent-overlay.exe nếu đã tauri dev / cargo build trước đó.

Bước 2 — PATH shim (opencode = monitored)

cd C:\Work\Tool
powershell -ExecutionPolicy Bypass -File .\install-shim.ps1

Script sẽ:

  • Tìm OpenCode thật (ưu tiên …\opencode-ai\bin\opencode.exe)
  • Ghi config: C:\Work\Tool\.agent-bridge\config.json
  • Bật monitoring: .agent-bridge\monitoring.enabled
  • Prepend C:\Work\Tool\shim (+ Tool root) vào User PATH

Bước 3 — Autostart khi login (khuyến nghị)

powershell -ExecutionPolicy Bypass -File .\install-autostart.ps1

Optional — thêm daemon giữ overlay sống:

powershell -ExecutionPolicy Bypass -File .\install-autostart.ps1-WithDaemon

Tạo shortcut trong thư mục Startup của Windows.

Bước 4 — Profile Warp / PowerShell

notepad $PROFILE

Thêm:

. C:\Work\Tool\profile-snippet.ps1

Lưu → restart Warp / PowerShell.

Profile cung cấp:

  • oc, Start-AgentOverlay
  • Enable-AgentMonitor / Disable-AgentMonitor / Get-AgentStatus
  • PATH shim + Tool root trong session

Bước 5 — Xác nhận

Trong terminal mới:

where.exe opencode
# Dòng đầu: C:\Work\Tool\shim\opencode.cmdGet-Content C:\Work\Tool\.agent-bridge\config.json
# opencode_cmd trỏ tới ...\opencode.exe (không phải shim)Invoke-RestMethod http://127.0.0.1:9876/health
# Mở TUI (phải vào giao diện OpenCode, chat sạch)
opencode

4. Setup macOS

Làm trên MacBook (bash/zsh). Repo path ví dụ: ~/Tool hoặc clone git.

4.1 Dependencies

# Xcode command line tools (nếu chưa)
xcode-select --install
# Node, Python (Homebrew)
brew install node python rustup
rustup default stable
# OpenCode
npm install -g opencode-ai
# hoặc theo hướng dẫn opencode.ai

4.2 Build Overlay

export AGENT_TOOL_ROOT=/path/to/Tool # thư mục chứa opencode_bridge + agent-overlaycd"$AGENT_TOOL_ROOT/agent-overlay"
npm install
npm run tauri build
# → …/src-tauri/target/release/bundle/macos/Agent Overlay.app

Dev (hot reload):

npm run tauri dev

4.3 Shim + PATH

cd"$AGENT_TOOL_ROOT"
chmod +x start-overlay.sh oc.sh install-shim.sh install-autostart.sh shim/opencode
./install-shim.sh

Script sẽ:

  • Tìm OpenCode thật (PATH, npm global, Homebrew)
  • Ghi .agent-bridge/config.json
  • Thêm shim + AGENT_TOOL_ROOT vào ~/.zshrc (hoặc .bashrc)
source~/.zshrc
which opencode
# …/Tool/shim/opencode

4.4 Autostart (tuỳ chọn)

./install-autostart.sh
# LaunchAgent: ~/Library/LaunchAgents/com.agent.overlay.plist

4.5 Profile helpers (tuỳ chọn)

# ~/.zshrcexport AGENT_TOOL_ROOT=/path/to/Tool
source$AGENT_TOOL_ROOT/profile-snippet.zsh

Helpers: oc, start-agent-overlay, enable-agent-monitor, get-agent-status.

4.6 Xác nhận

./start-overlay.sh
curl -s http://127.0.0.1:9876/health
# {"ok":true,"service":"agent-overlay",…}
opencode
# hoặc: ./oc.sh

4.7 Workaround không install shim

export AGENT_TOOL_ROOT=/path/to/Tool
export OPENCODE_CMD="$(command -v opencode)"# binary thật, trước khi prepend shimcd"$AGENT_TOOL_ROOT"
./start-overlay.sh
python3 -m opencode_bridge run

5. Dùng hàng ngày

5.1 Luồng chuẩn

  1. Login → overlay chạy nền (tray) nếu đã autostart.
  2. Mở terminal.
  3. Chạy:
opencode

hoặc:

oc
  1. Làm việc / generate với OpenCode như bình thường (mọi provider).
  2. Overlay tự hiện khi generate, tự ẩn khi xong.
  3. Không còn dòng [EVENT] … đè lên ô chat (đã tắt print console).

5.2 Phân biệt lệnh

LệnhÝ nghĩa
opencode / ocMở TUI interactive (+ monitor overlay)
opencode run "prompt" / oc run "prompt"Chạy một prompt non-interactive
oc "hello"OpenCode hiểu "hello"project path, không phải nội dung chat

5.3 Tray menu

MụcViệc
Show settings / double-click trayHiện window + mở panel settings
Hide overlayẨn window
QuitThoát app

5.4 Debug verbose (tuỳ chọn)

Mặc định im lặng trên console để không phá TUI. Muốn xem log event trên terminal:

# Windows$env:AGENT_BRIDGE_VERBOSE="1"
opencode
# macOSexport AGENT_BRIDGE_VERBOSE=1
opencode

Event vẫn luôn được ghi vào:

  • $AGENT_TOOL_ROOT/.agent-bridge/last_events.jsonl (Win: C:\Work\Tool\…)
  • Settings → Recent events
  • GET http://127.0.0.1:9876/events

5.5 Test overlay không cần OpenCode

# WindowsInvoke-RestMethod-Method POST http://127.0.0.1:9876/event `-ContentType "application/json"`-Body '{"event":"generation_start","data":{"model":"test","provider":"xai"}}'
# macOS
curl -s -X POST http://127.0.0.1:9876/event \
-H "Content-Type: application/json" \
-d '{"event":"generation_start","data":{"model":"test","provider":"xai"}}'

Hoặc tray → Show settings → Test warp.


6. Settings overlay

Mở panel: Right-click lên overlay (khi đang generate) · tray → Show settings · double-click tray.

Settings được persist trong localStorage (agent-overlay.settings) — style, alpha từng style, opacity, intensity, speed, hướng. (Debounce khi kéo slider.)

SettingPhạm viMặc địnhÝ nghĩa
Animation style11 presetsHyperspaceKiểu particle field
Style alpha0.15–1.5×Độ sáng particle của style đang chọn (nhớ riêng từng style)
Token flow on streamon/offonChip +N / total trôi theo particle stream khi token tăng
Show token counton/offoffSố token tĩnh giữa màn (bổ sung)
Opacity25–100%100%Độ mờ shell (cả cửa sổ)
Particle intensity0.35–1.5×Mật độ / độ mạnh field (kết hợp token)
Speed0.4–2×Tốc độ particle
Motion direction0–360° + presettheo styleHướng chính (ẩn với style radial)
Motion spread0–60°theo styleĐộ xòe (ẩn với style radial)
Test warpBật/tắt animation tay
Hide overlayẨn window (force-idle)
Recent eventsLog event gần đây
OpenCode bridge statusPort / model / generating

Phân biệt Opacity vs Style alpha

ControlTác động
OpacityCSS cả window (mờ toàn shell)
Style alphaChỉ độ sáng/alpha particle style hiện tại
Particle intensityMật độ + strength field (token-driven)

6.1 Animation styles

StyleIDMô tảDirection UI
HyperspacetunnelRadial từ tâm, burst lúc start (default)Ẩn (radial)
SignalsignalVòng sóng đồng tâm · ambient soft bloomẨn (radial)
ClassicstreaksStreaks theo hướngHiện
AuroraauroraCong, glow mềmHiện
Neon rainrainMưa dọc, mật độ caoHiện (mặc định ↓)
EmbersembersTàn lửa bay lên, size to dầnHiện (mặc định ↑)
CometcometÍt particle, đuôi dàiHiện
SparksparkNổ ngắn từ nhiều điểmẨn
OrbitorbitVòng quanh tâmẨn
VortexvortexXoáy bung raẨn
DatastreamdatastreamLàn packet (data flow), soft bloomHiện (mặc định →)
  • Style alpha · {tên}: chỉnh riêng style đang chọn; nút Reset → 1.0×.
  • Datastream / Signal dùng draw “soft” — chỉnh Style alpha nếu muốn sáng/tối hơn.
  • Default vẫn Hyperspace; chọn Signal trong Settings để xem waves.

6.1b Reactive behavior (tự động, không cần setting)

Giai đoạn / sự kiệnHiệu ứng
StartBurst + intensity kick ~0.55s
0 tokens (đang gen)Idle shimmer / breath (field nhẹ hơn full peak)
Token tăngHeartbeat intensity; Signal: ring có cooldown (không spam)
Nhiều sessionDensity + hue tint theo số gen concurrent
EndCompletion bloom (ring ngắn) → fade → ẩn khi không còn session
Stuck sessionStale TTL ~90s → clear + có thể auto-hide

6.2 Hướng chuyển động (degrees, canvas)

Chỉ áp dụng style không ẩn motion (Classic, Aurora, Rain, Embers, Comet, Datastream).
Radial (không hiện direction): Hyperspace, Signal, Spark, Orbit, Vortex.

GócHướng
270°↑ Lên
→ Phải
90°↓ Xuống
180°← Trái
  • Spread thấp (6–15°): tia/làn gọn.
  • Spread cao (30–45°): tỏa rộng.

Preset nút: ↑ Up / → Right / ↓ Down / ← Left.


7. Lệnh & API

7.1 CLI bridge (opencode_bridge)

Từ repo root (set PYTHONPATH hoặc cd vào root):

# Windows
cd C:\Work\Tool
py -3-m opencode_bridge status
py -3-m opencode_bridge enable
py -3-m opencode_bridge disable
py -3-m opencode_bridge run
py -3-m opencode_bridge daemon
# macOScd"$AGENT_TOOL_ROOT"
python3 -m opencode_bridge status
python3 -m opencode_bridge enable|disable|run|daemon

Profile helpers:

Windows (profile-snippet.ps1)macOS (profile-snippet.zsh)
Get-AgentStatusget-agent-status
Enable-AgentMonitorenable-agent-monitor
Disable-AgentMonitordisable-agent-monitor
Start-AgentOverlaystart-agent-overlay
ococ

7.2 Launcher scripts

WindowsmacOSViệc
oc.cmd / oc.ps1oc.shHealth overlay → bridge run
start-overlay.ps1start-overlay.shChỉ bật overlay
install-shim.ps1install-shim.shPATH shim
install-autostart.ps1install-autostart.shLogin autostart
profile-snippet.ps1profile-snippet.zshShell helpers
shim\opencode.cmdshim/opencodeIntercept opencode

7.3 Biến môi trường

BiếnÝ nghĩa
AGENT_TOOL_ROOTRoot repo (chứa opencode_bridge, agent-overlay)
AGENT_BRIDGE_STATEThư mục state (mặc định $ROOT/.agent-bridge)
OPENCODE_CMD / OPENCODE_REALBinary OpenCode thật
OPENCODE_DBPath SQLite OpenCode (override)
OPENCODE_DATA_DIRRoot data OpenCode (DB/logs parent; auto-detect XDG / LocalAppData)
OPENCODE_LOG_DIRThư mục *.log structured logs
TAURI_EVENT_URLMặc định http://127.0.0.1:9876/event
AGENT_OVERLAY_HEALTHMặc định http://127.0.0.1:9876/health
AGENT_OPENCODE_SHIM_DIRShim dir (strip khỏi PATH child process)
AGENT_BRIDGE_VERBOSE1 = log event ra stderr
AGENT_BRIDGE_FORCE_LOG_TAIL1 = force tail log sớm hơn

7.4 HTTP API (trong process Tauri)

Base: http://127.0.0.1:9876 (chỉ localhost)

EndpointMethodMô tả
/healthGETLiveness
/eventPOSTNhận event từ monitor
/eventsGETRing buffer event (diagnostics)

Payload event:

{
"event": "generation_start",
"timestamp": "2026-07-16T00:00:00",
"data": {
"provider": "xai",
"model": "grok-4.5",
"session_id": "ses_xxx",
"bridge_pid": 12345
}
}
eventHành vi overlay
generation_startTrack session (bridge_pid + session_id), show particles, không setFocus
tokens_updateCập nhật tokens theo session; intensity = tổng active; bridge coalesce tick
generation_endKết thúc một session; ẩn window chỉ khi không còn session (fade ~0.9s+, min-visible)

Token realtime: log INFO không còn emit tokens.* giữa stream. Bridge poll OpenCode SQLite (message + stream estimate + session delta) ~0.4s khi có session_id. Path: OPENCODE_DB hoặc $OPENCODE_DATA_DIR/opencode.db (mặc định ~/.local/share/opencode/…).


8. Kiến trúc

8.1 Sơ đồ

┌─────────────────────────────────────────────────────────┐
│ Agent Overlay (Tauri 2 + Svelte 5) │
│ • Tray + autostart + single-instance │
│ • HTTP 127.0.0.1:9876 (/health /event /events) │
│ • Canvas: 11 styles + reactive phases + multi-session │
└──────────────────────────▲──────────────────────────────┘
│ POST JSON (+ bridge_pid)
┌──────────────────────────┴──────────────────────────────┐
│ opencode_bridge (Python) │
│ • detect: stream start/end (legacy + OpenCode ≥1.15) │
│ • emit: HTTP (config cache, coalesce tokens) + jsonl │
│ • runner: TUI inherit + stderr + claimed log tail │
│ • log_claims / status.bridges[pid] (multi-process) │
│ • db_tokens: SQLite RO poll │
└──────────────────────────▲──────────────────────────────┘
│
shim (opencode.cmd | opencode) hoặc oc
(giữ cwd caller + PYTHONPATH)
│
OpenCode binary (TUI)

8.2 Vì sao TUI không bị vỡ

Sai (cũ)Đúng (hiện tại)
stdout=PIPE → OpenCode không vào UIstdout/stdin inherit → TUI đầy đủ
print([EVENT]) đè chatKhông print console; log file + overlay panel
Binary mơ hồ / shim đệ quyƯu tiên binary thật; strip shim khỏi PATH child
cd tool root khi ocGiữ cwd project + PYTHONPATH / AGENT_TOOL_ROOT

Detect generation:

  1. Start: legacy message=stream providerID=… modelID=…hoặc OpenCode ≥1.15 service=llmstream
  2. End:exiting loop / session.idle / abort / dispose (session-scoped khi có session.id)
  3. Sources: stderr (--print-logs) + tail log file (claim theo process, dedup)
  4. Tokens: poll opencode.db (không dựa log tokens.* trên INFO)
  5. Bỏ qua small=true; mọi providerID (xai, aibox, …)

Multi-process:

  • log_claims.json — mỗi bridge claim 1 log; PID liveness (Windows: không dùng os.kill làm probe)
  • status.jsonbridges[pid]
  • Overlay activeSessions keyed pid:session

8.3 Kill switch

python3 -m opencode_bridge disable # hoặc py -3 trên Windows
python3 -m opencode_bridge enable

File: $AGENT_TOOL_ROOT/.agent-bridge/monitoring.enabled (1 / 0).

8.4 Cross-platform notes

Thành phầnPortable?
opencode_bridge (Python)Có — TOOL_ROOT từ env hoặc script/repo parent
Overlay UI (Svelte)Có — build per OS
Tauri tray / transparentCó — mac cần macOSPrivateApi (đã bật)
Install / launcher scriptsTách: .ps1 Win · .sh mac · root script-relative
OpenCode data pathsOPENCODE_DATA_DIR / auto XDG + Windows LocalAppData candidates

9. Cấu trúc thư mục

Tool/ (AGENT_TOOL_ROOT — script-relative hoặc env)
├── README.md / README-oc.md
├── public/ # demo media (README)
│ ├── demo.gif # Animation demo
│ ├── demo-1.png # Settings panel
│ └── demo-2.png # Generating particles
├── docs/ # GitHub Pages site
│ ├── index.html
│ ├── guide.html
│ ├── content.md
│ └── assets/
├── tests/ # test_detect, test_log_claim, test_session_keys
├── oc.cmd / oc.ps1 / oc.sh
├── start-overlay.ps1 / .bat / start-overlay.sh
├── install-shim.ps1 / install-shim.sh
├── install-autostart.ps1 / install-autostart.sh
├── profile-snippet.ps1 / profile-snippet.zsh
├── opencode_monitor.py
├── opencode_bridge/ # Python (cross-platform)
│ ├── config.py # paths, status, log claims, PID liveness
│ ├── runner.py # TUI + dual feed + claim log
│ ├── detect.py / emit.py / daemon.py / db_tokens.py
├── shim/
│ ├── opencode.cmd / opencode.ps1 # Windows
│ └── opencode # macOS / Linux
├── .agent-bridge/ # config, status, log_claims, last_events
└── agent-overlay/ # Tauri app
├── src/ # Svelte + particles
└── src-tauri/

10. Troubleshooting

Triệu chứngCách xử
where/which opencode không ra shimChạy lại install-shim (.ps1 / .sh), mở terminal mới
Chỉ in path rồi thoát, không vào TUIBinary thật trong config.json; không pipe stdout
Vào TUI nhưng chat bị đè [EVENT]Quiet default; tắt AGENT_BRIDGE_VERBOSE
Generate nhưng không có particlesHealth :9876; tray còn sống? enable monitoring?
Overlay không tự bậtstart-overlay + install-autostart
Path OpenCode saiSửa opencode_cmd trong .agent-bridge/config.json
Python không chạyWin: py -3; Mac: python3
Hai instance overlaySingle-instance: lần 2 mở settings
Port 9876 bậnTắt process overlay; hoặc đổi port (khớp URL monitor)
Mac: không tìm thấy .appcd agent-overlay && npm run tauri build
Mac: transparent/tray lạĐã bật macOSPrivateApi; thử tauri dev log
Win/Mac: đổi UI nhưng bản cũnpm run tauri build + Quit tray rồi mở lại release
Signal “không thấy”Settings → chọn Signal (default vẫn Hyperspace)
2 OpenCode · overlay ẩn sớm / lộn sessionCần bridge multi-session; xem log_claims.json + bridge_pid
Overlay kẹt sau genTray Hide; stale session TTL ~90s; restart overlay
Log/token miss (đặc biệt Win)OPENCODE_LOG_DIR / OPENCODE_DATA_DIR / OPENCODE_DB; AGENT_BRIDGE_VERBOSE=1
oc mở sai projectCập nhật shim/oc (giữ cwd); không cd tool root
Unit tests bridgepython3 -m tests.test_detect · test_log_claim · test_session_keys

Kiểm tra nhanh health + event log

Invoke-RestMethod http://127.0.0.1:9876/health
Invoke-RestMethod http://127.0.0.1:9876/events
Get-Content$env:AGENT_TOOL_ROOT\.agent-bridge\last_events.jsonl -Tail 10
py -3-m opencode_bridge status
curl -s http://127.0.0.1:9876/health
tail -10 "$AGENT_TOOL_ROOT/.agent-bridge/last_events.jsonl"
python3 -m opencode_bridge status

11. Gỡ cài đặt

# Windows (từ repo root)
powershell -File .\install-shim.ps1-Uninstall
powershell -File .\install-autostart.ps1-Uninstall
# Tray → Quit# Remove-Item -Recurse .\.agent-bridge
# macOS
./install-shim.sh --uninstall
./install-autostart.sh --uninstall
# Tray → Quit# rm -rf "$AGENT_TOOL_ROOT/.agent-bridge"

Gỡ dòng source …/profile-snippet trong shell profile nếu đã thêm.


Dev overlay (developer)

cd agent-overlay
npm install
npm run tauri dev # hot reload UI
npm run check
# Sau khi đổi particles/UI cho bản cài đặt:
npm run tauri build # rồi Quit tray + mở lại Agent Overlay.app / exe# start-overlay ưu tiên release bundle — không hot-reload bản release
FileViệc
src/lib/particles/config.tsTunables WARP + reactive/signal
src/lib/particles/presets.ts11 styles + palette / softBloom
src/lib/particles/ParticleSystem.tsEngine spawn/update/draw · phases · rings
src/lib/stores/generation.svelte.tsactiveSessions, style alpha, localStorage
src/lib/components/SettingsPanel.svelteUI settings
src/lib/bridge/opencode.tsListen Tauri events · show/hide
src-tauri/src/event_server.rsHTTP :9876
opencode_bridge/*detect / emit / runner / claims

Chi tiết app: agent-overlay/README.md.

About

A beautiful, minimalist desktop overlay for OpenCode that automatically displays a smooth Warp Speed particle animation whenever you're generating responses with OpenCode. Built with Tauri + Svelte. No extra API key required.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages