Commit Graph
271 Commits
Author SHA1 Message Date
xmanrui e2484e0b28 Normalize agent model refs to stable strings in config API 2026-02-28 19:34:02 +08:00
yyy22335 44df0f5302 fix: use browser hostname instead of hardcoded localhost for gateway URLs
When accessing the dashboard over LAN (e.g. http://192.168.x.x:3000),
clicking session links would redirect to http://localhost:18789/... which
is unreachable from other devices.

Changes:
- Add lib/gateway-url.ts helper to build gateway URLs using window.location.hostname
- Replace hardcoded localhost in page.tsx, sessions/page.tsx, pixel-office/page.tsx
- Add resolveGatewayUrl() in gateway-status.tsx to fix gateway health link
2026-02-28 19:27:49 +08:00
xmanrui e289678fa0 Merge pull request #2 from xmanrui/pr-2 2026-02-28 19:21:02 +08:00
yyy22335 8b201ddf3d fix: handle object-type model field in agent config
OpenClaw supports both string and object formats for agent model config:
- String: "provider/model-name"
- Object: { primary: "provider/model-name", fallbacks: [...] }

The dashboard assumed model is always a string, causing
'TypeError: t.model.startsWith is not a function' when the
object format is used.

Changes:
- Extract model string from object format (primary/default fallback)
- Add typeof guard before .startsWith() calls on agent.model
2026-02-28 18:38:30 +08:00
xmanrui 94faa156b6 Disable pixel office zoom and use fixed canvas scale 2026-02-28 18:12:30 +08:00
xmanrui 21fe3b8c9b Show model access mode suffix on agent cards 2026-02-28 05:22:05 +08:00
xmanrui 9ce3a19d28 Unify agent model tests with openclaw probe flow 2026-02-28 05:15:40 +08:00
xmanrui 1da5a209ec Fix model list auth merge and unify model testing via probe 2026-02-28 05:07:04 +08:00
xmanrui 04feff63a0 update readme 2026-02-27 15:56:25 +08:00
xmanrui 2e6044c787 refactor home header and gateway controls layout 2026-02-27 14:56:37 +08:00
xmanrui cd311ebdaa feat: split DM Session test into separate button with per-platform status display
- New API endpoint /api/test-dm-sessions for independent DM session testing
- Remove Phase 2 DM session logic from test-platforms API
- Add "测试 DM Session" button in header
- Show DM Session status (right-aligned) next to each platform badge
- Persist DM session test results in localStorage
2026-02-27 08:57:36 +08:00
xmanrui 3b6270930f feat: add WhatsApp platform support with real message testing
- Add WhatsApp platform detection, session parsing, and UI badges
- Use `openclaw message send` CLI for real WhatsApp message delivery
- Add WhatsApp DM session test in Phase 2
- Unify platform detection: treat config existence as enabled unless explicitly disabled
- Add WhatsApp group chat detection and i18n labels
2026-02-27 08:32:42 +08:00
xmanrui 5dcd3fa95f feat: photo comment bubbles float to page top via DOM rendering
Switch photo comments from canvas to DOM elements so they can
float above the canvas through the top bar to the page top.
Also enlarge bubble font size for readability.
2026-02-26 23:52:58 +08:00
xmanrui 14b2696670 feat: boost rm -rf /* snippet probability to 30x 2026-02-26 23:24:53 +08:00
xmanrui 045c6f8789 fix: enlarge code snippet font size by 100% for readability 2026-02-26 23:20:32 +08:00
xmanrui a223a9a38d feat: click sofa to show slacking leaderboard (摸鱼排行榜)
Add idle rank panel triggered by clicking the sofa furniture.
Parses JSONL session files to calculate online/active/idle time
per agent, sorted by idle percentage with medals and progress bars.
2026-02-26 22:49:57 +08:00
xmanrui 0c6751c76e feat: click phone to show OpenClaw latest release info
Fetches latest release from GitHub API with 24h server cache.
Preloads on page mount, click phone emoji to view version, date,
release notes and GitHub link.
2026-02-26 22:24:38 +08:00
xmanrui 05df073995 fix: rename pixel office title to OpenClaw Agents Office 2026-02-26 21:51:51 +08:00
xmanrui 2f68ad75e4 feat: idle characters show photography compliment bubbles when visiting wall photo
Characters walking to the photograph now display floating photo critique
slang (e.g. 毒!, 刀锐奶化, 德味大师学习了). Multiple bubbles float up
simultaneously like code snippets. Also tuned wander/rest timers for
more lively idle behavior and increased interaction chance.
2026-02-26 18:03:53 +08:00
xmanrui fa5cec4981 feat: boost rm -rf /* snippet probability to 10x 2026-02-26 17:01:02 +08:00
xmanrui 9434abcb81 feat: add floating code snippet bubbles above working pixel characters
Working characters now emit floating code snippets that drift upward and
fade out. Snippet pool includes JS/TS, Python, LLM/AI, prompt patterns,
dev slang, Chinese programmer memes, and OpenClaw CLI commands.
2026-02-26 16:59:15 +08:00
xmanrui 3297ef8ce8 feat: click clock to show per-agent activity heatmap (24h × 7d) with server cache 2026-02-26 13:54:59 +08:00
xmanrui 59d700716e feat: add office broadcast notification when agent comes online/offline 2026-02-26 13:20:06 +08:00
xmanrui 348b54f3dc feat: click whiteboard to show token consumption ranking in pixel office 2026-02-26 12:43:40 +08:00
xmanrui 43c05172cf feat: click bookshelf to show AI model list panel in pixel office 2026-02-26 05:19:26 +08:00
xmanrui 82b665c913 feat: click PC to open main agent chat session in pixel office 2026-02-26 05:07:29 +08:00
xmanrui b1b5f84549 feat: click GitHub heatmap to open profile page in pixel office 2026-02-26 05:00:10 +08:00
xmanrui afc3f33467 feat: click wall photograph to view fullscreen in pixel office 2026-02-26 04:56:47 +08:00
xmanrui 1bd5364d7d feat: click pixel character to show detail card with weekly sparklines
Click on a pixel office character to open a detail card showing session
count, messages, token usage and response time with 7-day trend charts.
2026-02-26 04:52:30 +08:00
xmanrui 6ee123b4cf style: faster pulse animation for working agents in pixel office v2.0.0 2026-02-26 04:31:14 +08:00
xmanrui f9195a2db9 feat: click camera to switch wall photograph randomly
Add interactive camera furniture in pixel office - clicking the camera
in non-edit mode loads a random photo from my-photographic-works (13 WebP
images) onto the wall. Also converts original PNGs to WebP format.
2026-02-26 04:22:17 +08:00
xmanrui 5b12e07afc feat: add agent stats tooltip on hover in pixel office
Show session count, message count, token usage and today's avg response
time when hovering over pixel characters. Data fetched from /api/config
with 30s polling. Supports i18n.
2026-02-26 03:43:47 +08:00
xmanrui 71c046886a feat: add Telegram platform support and fix Suspense build errors
- Detect Telegram channel in config API (main + binding-based)
- Add Telegram group topology detection
- Add Telegram session type recognition (DM/group)
- Add testTelegram() with /getMe + /sendMessage for connectivity test
- Update PlatformBadge with sky-blue Telegram style
- Add i18n keys for Telegram (zh/en)
- Wrap useSearchParams in Suspense for /sessions and /stats pages
2026-02-26 03:26:19 +08:00
xmanrui d7be96f675 style: compact bot card layout to fit 6 cards on one screen
Reduce page padding, header size, card spacing and internal margins
to prevent second row from being clipped in English locale.
2026-02-26 02:47:03 +08:00
xmanrui 4e951d7c66 feat: integrate real GitHub contribution heatmap in pixel office
Extract GitHub username from git remote URL, fetch public contributions
page, parse into 52×7 week format with 24h cache. Falls back to mock
data when fetch fails.
2026-02-26 00:05:08 +08:00
xmanrui 944fb35a53 feat: add reset view button to pixel office canvas 2026-02-25 23:43:23 +08:00
xmanrui b6c391d2d5 docs: add Pixel Office to README preview and feature list 2026-02-25 21:58:36 +08:00
xmanrui c985a104c1 perf: optimize API endpoints with caching, async I/O and O(n) algorithms
- Add 30s in-memory cache to /api/config, /api/stats-all, /api/stats-models
- Eliminate duplicate sessions.json reads in /api/config (3N → N)
- Replace O(n²) response time calculation with O(n) single-pass
- Convert stats-all and stats-models to async parallel file reads
- Filter JSONL files by 7-day mtime in /api/config
2026-02-25 21:53:34 +08:00
xmanrui f84ea4b176 feat: add vending machine and photograph as interaction points
Idle characters can now stop at the vending machine and admire
the photograph on the right room wall.
2026-02-25 20:43:18 +08:00
xmanrui 9fa48be961 feat: add coffee emoji, rearrange right room and lounge furniture
- Add  coffee cup on left room desk
- Move clock to wall (row 0), swap plant/bookshelf in right room
- Rotate right room PC to 270°
- Adjust lounge lamp, plant positions
2026-02-25 20:28:34 +08:00
xmanrui 487b081d44 perf: compress photograph from PNG (1.9MB) to WebP (206KB)
90% size reduction with cwebp quality 80.
2026-02-25 19:58:44 +08:00
xmanrui 1f67240653 fix: render heatmap and photograph as z-sorted wall decorations
Add them as drawables with zY = TILE_SIZE + 0.5 so they render
on top of wall sprites but below characters. Fixes occlusion issue.
2026-02-25 19:46:03 +08:00
xmanrui 274c19db6f feat: display photograph on right room wall
Load photograph.png and render it on the right work room's top wall,
scaled 4/3x with bottom-anchored positioning.
2026-02-25 18:49:41 +08:00
xmanrui 374b3f4711 feat: add sofa to lounge, rearrange rest area furniture
- Add 🛋️ sofa (5x scale, 180° rotation) on carpet center
- Move vending machine, water cooler, fridge, bookshelf to wall
- Remove two small paintings
- Fix fractional coords crash in getInteractionPoints
2026-02-25 18:17:59 +08:00
xmanrui 6f23076a33 feat: add sofa emoji to bottom-right lounge area
🛋️ sofa at (14.5, 13.5) with 180° rotation and 5x scale.
2026-02-25 17:25:56 +08:00
xmanrui f47b5d5ddc feat: add pixel cat that wanders the office
Orange pixel cat spawns at a random walkable tile and continuously
wanders around the office at 60% walk speed with short pauses.
Cat cannot be selected or assigned to seats.
2026-02-25 17:10:43 +08:00
xmanrui f75fe3f4a8 feat: add phone emoji with emojiScale support on left room desk
Add PHONE furniture type with 📱 emoji at 2/3 scale. Add emojiScale
field to FurnitureCatalogEntry and FurnitureInstance for per-item
emoji sizing.
2026-02-25 16:57:49 +08:00
xmanrui c6f3246ea0 fix: use white background for heatmap so gray cells are visible 2026-02-25 16:37:07 +08:00
xmanrui 0e36beb073 feat: add GitHub-style contribution heatmap on left room top wall
Mock 52×7 green heatmap rendered on the top wall of the left room,
using GitHub's 5-level color scheme. Follows zoom and pan.
2026-02-25 16:32:20 +08:00
xmanrui f820792b41 feat: add page title, PC emoji with rotation support
- Add i18n title "OpenClaw Agents 两室一厅办公室" to pixel office page
- Replace PC sprites with 💻 emoji, camera-only flash effect
- Add rotation field to PlacedFurniture/FurnitureInstance for emoji rotation
- Adjust PC positions for better visual alignment with desks
2026-02-25 15:42:08 +08:00