Commit Graph

22 Commits

Author SHA1 Message Date
ekko 29f19ddb30 fix: unify page header styles across all views
- Extract shared .page-header and .header-title to global.scss
- Standardize padding to 21px 20px matching sidebar logo height
- Fix Usage page layout to flex column with standard header
- Fix Logs page header CSS selector after class rename
- Normalize button sizes to small across all headers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 08:50:10 +08:00
ekko 1f45254dd0 feat: add token auth, login page, skill toggle, and route restructure
- Add token-based authentication with auto-generated token stored in server/data/.token
- Add login page with URL token auto-fill support
- Add route guards requiring auth for all pages except login
- Restructure routes: / for login, /chat for conversations
- Add skill enable/disable toggle via config.yaml skills.disabled
- Unify logo to /logo.png across sidebar, login, messages, and empty state
- Hide sidebar on login page, prevent flash with router.isReady()
- Fix session export JSON parse error when CLI returns non-JSON output
- Display token in CLI on server start

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 21:48:53 +08:00
ekko 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
ekko 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
cuiliang 600ec054cb feat(chat): 修复输入法回车发送消息的问题
- 添加 isComposing 状态跟踪输入法组合事件
- 实现 handleCompositionStart 和 handleCompositionEnd 方法
- 新增 isImeEnter 函数判断是否为输入法回车
- 修改 handleKeydown 方法,在输入法状态下阻止回车发送
- 在 textarea 上添加 compositionstart 和 compositionend 事件监听
2026-04-13 17:48:47 +08:00
ekko 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 80c9f21be4 Merge branch 'dev' 2026-04-13 15:26:18 +08:00
ekko 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 691631084f Merge branch 'dev'
# Conflicts:
#	README.md
#	src/assets/output.gif
2026-04-13 15:19:48 +08:00
ekko 11e0b65934 chore: update demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 15:18:56 +08:00
ekko 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
ekko 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
ekko 48a1c5bf91 chore: add demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:31:17 +08:00
ekko 7c2e718a4c chore: add demo GIF
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:31:14 +08:00
ekko 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
ekko 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
ekko 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
cuiliang 17a667c947 feat(sessions): 添加会话重命名功能和工具调用详情展示
- 实现了后端 API 接口 /api/sessions/:id/rename 用于重命名会话
- 添加了 Hermes CLI renameSession 方法来处理会话重命名逻辑
- 在前端添加了会话右键菜单,支持复制会话ID和重命名操作
- 新增重命名模态框组件供用户输入新标题
- 增强了消息项组件,支持展开查看工具调用的参数和结果详情
- 改进了工具消息的UI展示,包括运行状态指示器和错误标记
- 更新了会话列表显示源标识(如 Telegram、API 等)
- 优化了工具调用数据的映射逻辑,正确关联参数和执行结果
2026-04-12 23:59:18 +08:00
ekko 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
ekko 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
ekko 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
ekko 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