Commit Graph
43 Commits
Author SHA1 Message Date
ekko be4624b8b4 Merge branch 'dev' into feat/official-api 2026-04-14 20:19:30 +08:00
ekkoandClaude Opus 4.6 c0f1453c62 fix: graceful shutdown for nodemon restart to prevent EADDRINUSE
- Add unified shutdown handler for SIGUSR2/SIGINT/SIGTERM
- Add uncaughtException/unhandledRejection handlers
- Use --signal SIGTERM in nodemon config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 20:17:12 +08:00
ekkoandClaude Opus 4.6 456a7effd0 docs: add official API integration TODO checklist
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 19:01:42 +08:00
ekkoandClaude Opus 4.6 2487e147ab fix: prevent Windows terminal popups with windowsHide option
Add windowsHide: true to all spawn/execFile calls in bin and server code
to prevent new console windows from appearing on Windows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 17:17:15 +08:00
ekkoandClaude Opus 4.6 9dd5fca9f9 feat: add usage statistics page, CLI improvements, and UI enhancements
- Add Usage Stats page with token breakdown, model distribution, and 30-day trend
- Pass through cache/cost token fields in BFF (cache_read/write_tokens, reasoning_tokens, actual_cost_usd)
- Add CLI commands: -v/--version, -h/--help, update/upgrade with auto-restart
- Auto-open browser on startup, auto-kill port conflicts (cross-platform)
- Validate all api_server config fields on startup (enabled, host, port, key, cors_origins)
- Add streaming thinking video animation with tool calls panel
- Add context token usage display (used / total) in chat header
- Sidebar: white logo area with shadow, dance video beside logo (canvas seamless loop)
- Fix sidebar nav scroll (app-main overflow-y: auto)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 14:48:58 +08:00
ekkoandClaude Opus 4.6 f8fc64ff5c fix: remove set -e from setup script to prevent early exit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 10:26:35 +08:00
ekkoandClaude Opus 4.6 8f8cf629bb feat: WSL support, js-yaml migration, and stability improvements
- PID/log files moved to ~/.hermes-web-ui/ for WSL compatibility
- Replace all regex YAML parsing with js-yaml in filesystem.ts
- Auto-detect WSL and use hermes gateway run for background startup
- Stop command: SIGTERM with SIGKILL fallback, clean stale PIDs
- Setup script: auto-install Node.js and hermes-web-ui

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 10:22:29 +08:00
ekkoandClaude Opus 4.6 60056e771a feat: auto-install hermes-web-ui via npm in setup script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 09:04:54 +08:00
ekkoandClaude Opus 4.6 91e5f637dc feat: add environment setup script for auto-detecting and installing Node.js
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 09:02:49 +08:00
ekkoandClaude Opus 4.6 e19b532e47 chore: bump version to 0.2.0-beta.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 20:53:05 +08:00
ekkoandClaude Opus 4.6 0ff04758b6 feat: add gateway auto-start on boot and real health detection
- Auto-detect gateway connectivity on server startup, start gateway if not running
- Fix /health endpoint to actually check gateway reachability instead of just CLI version
- Fix MiniMax CN base_url from /anthropic to /v1
- Frontend connection status now reflects real gateway state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 20:08:32 +08:00
ekkoandClaude Opus 4.6 f22a497115 fix: add missing axios dependency and bump version to 0.1.9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:59:17 +08:00
ekkoandClaude Opus 4.6 94329adc4f fix: remove duplicate sourceLabel declaration in ChatPanel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:30:08 +08:00
ekko f828c73a23 Merge branch 'dev' 2026-04-13 15:28:21 +08:00
ekko 4793b919a6 add 2026-04-13 15:27:53 +08:00
ekko 80c9f21be4 Merge branch 'dev' 2026-04-13 15:26:18 +08:00
ekkoandClaude Opus 4.6 32060a530d docs: update demo GIF and link
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:26:10 +08:00
ekko f0d2ed7ddd Merge branch 'dev' 2026-04-13 15:22:19 +08:00
ekkoandClaude Opus 4.6 cf41d790f4 docs: format README tables and spacing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:22:12 +08:00
ekko 691631084f Merge branch 'dev'
# Conflicts:
#	README.md
#	src/assets/output.gif
2026-04-13 15:19:48 +08:00
ekkoandClaude Opus 4.6 11e0b65934 chore: update demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:18:56 +08:00
ekkoandClaude Opus 4.6 e89a240f1d feat: add i18n, platform channels page, and WeChat QR login
- Add vue-i18n with auto-detect browser language and manual toggle (EN/中文)
- Move platform channels to separate page with credential management
- Support Telegram, Discord, Slack, WhatsApp, Matrix, Feishu, Weixin, WeCom
- Add WeChat QR code login (opens in browser, polls status, auto-saves)
- Write platform credentials to ~/.hermes/.env matching hermes gateway setup
- Auto restart gateway after platform config changes
- Add settings store with per-section save for all config categories
- Persist session group collapse state across navigation
- Fix pre-existing TypeScript build errors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:15:14 +08:00
ekkoandClaude Opus 4.6 9e069a20a1 feat: add model management module with provider CRUD
- New /models page with provider list (built-in + custom)
- Add provider via preset selection or custom URL with auto-fetch models
- Delete provider removes from auth.json credential_pool + config.yaml custom_providers
- Auto-switch model on add, fallback switch on delete
- Sync sidebar ModelSelector on all provider changes
- Unified provider presets in shared/providers.ts (frontend + backend)
- Backend uses hardcoded catalog first, live probe as fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 12:15:16 +08:00
ekkoandClaude Opus 4.6 9a3d5ef8d2 docs: fix Hermes Agent repo link
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:35:47 +08:00
ekkoandClaude Opus 4.6 3a17d8ac51 docs: fix Hermes Agent repo link
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:35:40 +08:00
ekkoandClaude Opus 4.6 7737fe1f66 docs: add demo GIF to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:34:39 +08:00
ekkoandClaude Opus 4.6 50b9185ece docs: add demo GIF to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:34:29 +08:00
ekkoandClaude Opus 4.6 48a1c5bf91 chore: add demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:31:17 +08:00
ekkoandClaude Opus 4.6 7c2e718a4c chore: add demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:31:14 +08:00
ekkoandClaude Opus 4.6 30590d2f0a fix: resolve TDZ error when switching back to chat page
Move sourceLabel and getSourceLabel before groupedSessions computed
to fix "Cannot access before initialization" in production build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 01:13:11 +08:00
ekkoandClaude Opus 4.6 e1d4219fb1 fix: resolve TDZ error when switching back to chat page
Move sourceLabel and getSourceLabel before groupedSessions computed
to fix "Cannot access before initialization" in production build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 01:11:07 +08:00
ekkoandClaude Opus 4.6 c421158d9c chore: bump version to 0.1.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 00:55:05 +08:00
ekkoandClaude Opus 4.6 081c60a15f feat: add session grouping by source with collapsible accordion
- Group sessions by source in sidebar (api_server first, cron last)
- Accordion behavior: only one group expanded at a time
- Auto-select first session when expanding a group
- Backfill session titles from first user message in listSessions
- Remove chat header model badge
- Fix toolPreview type error for non-string values
- New chats default to api_server source

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 00:52:34 +08:00
ekkoandClaude Opus 4.6 5887462f7d feat: add model selector, skills/memory pages, and config management
- Add model selector in sidebar that discovers models from auth.json credential pool
- Add per-session model display (badge in chat header and session list)
- Add skills browser page and memory editor page
- Add BFF routes for skills, memory, and config model management
- Model switching updates config.yaml provider field to bypass env auto-detection
- Refactor Settings page, simplify ChatInput with file upload
- Add attachment upload support via BFF /upload endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 23:23:50 +08:00
ekkoandClaude Opus 4.6 ee9f56dfbd feat: add Koa2 BFF server, CLI management, sessions CLI integration, and logs page
- Add Koa2 BFF layer for API proxy, file upload, session management
- Auto-check and enable api_server in ~/.hermes/config.yaml on startup
- Integrate sessions with Hermes CLI (list, get, delete)
- Add Logs page with level filtering, log file selection, and search
- Add CLI commands: start/stop/restart/status for daemon management
- Unify package.json for frontend and server dependencies
- Default port changed to 8648

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 21:33:04 +08:00
ekkoandClaude Opus 4.6 a2f8f6aec5 feat: add attachment upload UI and local file upload endpoint
- Add attachment button, file picker, and preview area to ChatInput
- Render image/file attachments in user message bubbles (MessageItem)
- Add Attachment type and attachments field to Message interface
- Add POST /__upload endpoint to both Vite dev server and production server
  for saving files to temp directory and returning local file paths
- Translate README to English

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 18:54:46 +08:00
ekkoandClaude Opus 4.6 07e80cc210 chore: bump version to 0.1.2, add favicon
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:29:24 +08:00
ekkoandClaude Opus 4.6 a4f3093201 chore: add repository, homepage, license to package.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:22:43 +08:00
ekkoandClaude Opus 4.6 fe8a06591b fix: read request body before forwarding in API proxy
Node.js fetch requires duplex option when streaming request body.
Read body chunks first, then forward as Buffer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:19:52 +08:00
ekkoandClaude Opus 4.6 7ea54efb01 refactor: replace Vite runtime with lightweight Node.js server
Use native http module to serve built static files and proxy API
requests. No Vite dependency at runtime — only needed for building.
This fixes SFC compilation errors on global install.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:13:36 +08:00
ekkoandClaude Opus 4.6 c58767cc7c fix: remove deprecated compress option for Vite 8 compat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:09:46 +08:00
ekkoandClaude Opus 4.6 c4df531cef fix: use Vite API directly for global CLI
Spawn-based approach fails on global install because node_modules
is hoisted. Use programmatic Vite API instead. Move vite, plugin-vue,
and sass to dependencies so they're available at runtime.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 16:08:58 +08:00
ekkoandClaude Opus 4.6 cd58797f4c init: hermes-web-ui v0.1.0
Hermes Agent Web 管理面板,支持对话交互和定时任务管理。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 15:59:14 +08:00