50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
# Web home dashboard polish and verification (2026-05)
|
|
|
|
Use this note when continuing productization of BOSS's local `xianyu-hunter` Web dashboard.
|
|
|
|
## Context
|
|
|
|
BOSS disliked an empty/weak landing page and prefers productized, visible Web UI improvements over backend-only work. The local fork's homepage was changed from a plain empty state into a dashboard in `public/index.html`, with runtime data populated by `renderHomeDashboard()` in `public/app.js`.
|
|
|
|
## Implemented shape
|
|
|
|
- `public/index.html`
|
|
- Main content empty state is now `.home-dashboard`.
|
|
- Includes hero card, overview grid `#home-overview`, recent task list `#home-task-list`, and workflow panel.
|
|
- Cache-busting versions bumped to `style.css?v=17` and `app.js?v=17`.
|
|
- `public/app.js`
|
|
- `renderHomeDashboard()` computes totals: task count, running count, raw cached products, fine candidates, Hermes recommendations, scheduled task count.
|
|
- Renders recent tasks sorted by `updatedAt || createdAt`.
|
|
- Called after WebSocket connect/task create/update/finish and when no active task is selected.
|
|
- `public/style.css`
|
|
- Added `/* Home dashboard */` section: hero card, overview cards, recent task cards, workflow cards, responsive breakpoints, light/dark theme support.
|
|
|
|
## Verification commands
|
|
|
|
Run from `/Users/chick/.Hermes/workspace/research/xianyu-hunter`:
|
|
|
|
```bash
|
|
node --check public/app.js
|
|
node --check server.mjs
|
|
git diff --check -- public/index.html public/style.css public/app.js
|
|
node tools/xianyu_ops.mjs status --port 3000
|
|
node --input-type=module <<'JS'
|
|
const base = 'http://127.0.0.1:3000';
|
|
for (const path of ['/', '/style.css?v=17', '/app.js?v=17', '/api/tasks']) {
|
|
const res = await fetch(base + path);
|
|
const text = await res.text();
|
|
console.log(path, res.status, text.length, text.slice(0, 80).replace(/\n/g, ' '));
|
|
if (!res.ok) process.exitCode = 1;
|
|
}
|
|
JS
|
|
```
|
|
|
|
Expected: all syntax/diff checks pass, service is running on port 3000, and all HTTP probes return 200.
|
|
|
|
## Pitfalls
|
|
|
|
- After executing tool calls, always convert results into a visible response for BOSS; an empty assistant message after tools is treated as a failure.
|
|
- Use `git diff --check -- <paths>` directly; do not combine `--cached --no-index` incorrectly.
|
|
- When adding UI assets, bump query-string cache versions in `public/index.html` so BOSS sees changes immediately.
|
|
- Keep dashboard changes directly visible at `http://127.0.0.1:3000/` or LAN address; BOSS values immediately inspectable Web UI.
|