feat: publish xianyu hunter hermes skill package

This commit is contained in:
2026-05-06 19:26:45 +08:00
commit 6384156097
59 changed files with 9627 additions and 0 deletions
@@ -0,0 +1,49 @@
# 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.