ekko
aa7c1c4fbb
fix windows bridge logs and mobile headers ( #1198 )
2026-06-01 11:58:54 +08:00
VTxyer
3f7242aee8
fix(client): fix mobile layout width overflow on virtual keyboard toggle ( #1197 )
2026-06-01 11:44:23 +08:00
Qiang Han
48c35c20e8
fix(chat): preserve unsent input draft ( #1173 )
...
* fix(chat): preserve unsent input draft
* fix(chat): store drafts by session id
2026-05-31 20:06:18 +08:00
ekko
e1027ec5d7
Fix nonblocking preview actions ( #1188 )
2026-05-31 19:47:04 +08:00
ekko
d2b69baf7f
Align profiles header height ( #1182 )
2026-05-31 17:25:26 +08:00
ekko
9d1da73434
update 0.6.7 changelog and provider url handling ( #1174 )
2026-05-31 10:24:27 +08:00
ekko
e5c5f98fbd
fix message list session transitions ( #1172 )
2026-05-31 09:53:58 +08:00
ekko
c998a53566
[codex] add MCP tools visibility management ( #1170 )
...
* feat(mcp): add tools visibility management
## Features
- Tools visibility modal with 3 modes: All, Include, Exclude
- 'Manage Tools' button on McpServerCard (enabled only when connected)
- 'Fetch Tools List' button to refresh available tools (raw mode)
- Responsive design for mobile (480px), tablet (768px), desktop (1280px)
- i18n translations for 9 languages (zh/en/zh-TW/ja/ko/de/es/fr/pt)
## Technical Details
- Add raw parameter to fetchMcpTools API for unfiltered tools
- Pass raw parameter through controller → bridgeMcpAction → client
- Backend _mcp_tools_list supports raw_mode to skip include/exclude filter
- 28 MCP unit tests pass (23 controller + 5 bridge action)
## Files Changed
- McpManagerView.vue: Tools visibility modal with mode selector
- McpServerCard.vue: Add manage tools button
- mcp.ts (client): Add raw parameter to fetchMcpTools
- mcp.ts (controller): Pass raw parameter to bridge
- mcp.ts (services): Pass raw parameter to client.mcpTools
- client.ts: Add raw parameter to mcpTools
- hermes_bridge.py: Support raw_mode in _mcp_tools_list
- 9 locale files: Add 14 translation keys each
- mcp-controller.test.ts: Add 3 new test cases
- bridge-mcp-action.test.ts: New test file for parameter passing
* Delete projects directory
chore: remove accidentally committed projects/ directory
* fix MCP tools visibility edge cases
* remove MCP docs screenshots
---------
Co-authored-by: Crafter-feng <succeed_happu@163.com >
Co-authored-by: Crafter-feng <37255449+Crafter-feng@users.noreply.github.com >
2026-05-31 09:00:38 +08:00
ekko
fc35c74eb3
fix node npm detection ( #1163 )
2026-05-30 20:19:01 +08:00
ekko
f7991572af
fix desktop preload build and rename app ( #1150 )
...
* fix desktop preload fetch typing
* rename desktop app to Hermes Studio
* rename desktop package to Hermes Studio
* update Hermes Studio desktop icons
* configure desktop signing and app id
* force desktop api calls to local server
* isolate desktop agent bridge ports
* bundle MCP support in desktop Python
* change desktop default port to 8748
* restore webui production port copy
2026-05-30 15:59:52 +08:00
sir1st
cbae8e8c3f
Add desktop (Electron) packaging and release distribution ( #1147 )
...
* Add desktop packaging workflow
* Add desktop package homepage
* Fix desktop default credential prompt
* Suppress default credential prompt on desktop
* Publish desktop artifacts on release; reduce CI to PR smoke test
Add desktop-release.yml triggered on release publish (mirroring
docker-publish.yml) to build all platforms and upload .dmg/.exe/
.AppImage/.deb to the GitHub Release.
Trim build.yml desktop job to a PR-only Linux x64 smoke test, since
release artifacts are now produced by desktop-release.yml. This drops
per-push and macOS/Windows packaging from regular CI.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* Fix desktop Hermes data home on Windows
---------
Co-authored-by: xingzhi <chuzihao.czh@alibaba-inc.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-05-30 14:20:04 +08:00
ekko
818e7f751f
fix chat scroll jitter ( #1146 )
2026-05-30 11:46:32 +08:00
ekko
b015e70b9d
[codex] fix MCP management lifecycle ( #1144 )
...
* feat(mcp): add MCP server management UI
- Server CRUD: add/edit/remove with YAML/JSON Monaco editor
- raw_config passthrough: zero field loss on edit/toggle
- tool_details embedding: single-request card data (1+N → 1)
- Auto-retry exponential backoff (2s→32s, max 5 retries)
- Route safety guards (hasRoute) for dynamic sidebar
- i18n: 9 languages (de/en/es/fr/ja/ko/pt/zh/zh-TW)
- 19 unit tests + 8 UX browser tests
- 35 files, +2933 lines
* fix mcp management lifecycle
---------
Co-authored-by: Crafter-feng <succeed_happu@163.com >
2026-05-30 11:06:08 +08:00
ekko
675ddb8282
fix profile runtime status loading ( #1142 )
2026-05-30 09:17:37 +08:00
ekko
a1f06b8a42
fix virtual list empty state centering ( #1141 )
2026-05-30 08:53:06 +08:00
ekko
b5b7d55958
[codex] update coding agents i18n and changelog ( #1129 )
...
* update coding agents i18n and changelog
* move virtual scroller to dev dependencies
2026-05-29 21:07:00 +08:00
ekko
285f623d6f
[codex] 修复 Coding Agents 的 Codex 启动和代理隔离 ( #1123 )
...
* feat: add coding agent install status
* chore: add latest claude opus model preset
* feat: add coding agent config editing
* Add scoped coding agent launch proxy
* Add Codex proxy plan
* fix coding agents codex launch proxy
* fix codex catalog context test
---------
Co-authored-by: Codex <codex@openai.com >
2026-05-29 19:06:54 +08:00
ekko
74d0c3509b
[codex] try vue virtual scroller for messages ( #1103 )
...
* try vue virtual scroller for messages
* hide inactive virtual scroller rows
2026-05-28 21:59:55 +08:00
GoldenFishX
5f5c5faa25
fix(tts): require authentication for TTS endpoints ( #1101 )
...
Move TTS routes behind auth middleware and attach JWT to local
proxy requests from the frontend. Previously both /api/hermes/tts
and /api/tts/proxy/audio/speech were publicly accessible without
authentication, allowing unauthenticated callers to consume Edge
TTS resources through the server.
Changes:
- server: move ttsRoutes from public to protected route section
- client: auto-attach JWT when baseUrl is a local path (/...)
and no external API key is configured
- client: import getApiKey() instead of raw localStorage access
2026-05-28 21:46:31 +08:00
ekko
e89c192488
fix session bottom scroll alignment ( #1100 )
2026-05-28 21:12:01 +08:00
ekko
932c913d63
page history session messages ( #1099 )
2026-05-28 19:47:24 +08:00
ekko
9d2e82cd06
fix virtual message list scrolling ( #1089 )
...
Co-authored-by: Codex <codex@openai.com >
2026-05-28 15:22:18 +08:00
ekko
d610c3d1b9
fix preview runtime isolation and shutdown ( #1088 )
2026-05-28 13:50:52 +08:00
ekko
1734bac9b4
[codex] add version preview workflow ( #1086 )
...
* add version preview workflow
* fix sidebar group test
* fix legacy usage schema migration
2026-05-28 12:30:49 +08:00
ekko
a6b3bec29b
Add virtualized chat pagination ( #1080 )
2026-05-28 09:34:30 +08:00
ekko
6a9cb2450a
docs: update 0.6.3 changelog ( #1060 )
...
* update 0.6.3 changelog
* bump package version to 0.6.3
2026-05-27 12:21:37 +08:00
daqiege
1ec9568502
feat(dingtalk): add AI card template ID input ( #1056 )
...
Adds an input field for the DingTalk AI Card template ID under
Platform Settings, plus the matching DINGTALK_CARD_TEMPLATE_ID
env mapping so the value is persisted to the active profile and
forwarded to the hermes agent (which already supports AI Cards
via extra.card_template_id).
Closes #1035
2026-05-27 11:32:26 +08:00
GoldenFishX
6647dc9bc8
fix(auth): remove username leak from public /api/auth/status endpoint ( #1055 )
...
The authStatus() controller previously returned the first users
username to unauthenticated clients. The frontend never used this
value — `fetchAuthStatus()` in LoginView.vue discards the return
value entirely. Remove the field to prevent username enumeration.
Changes:
- server: drop `username` from authStatus response body
- server: remove unused `findFirstUser` import
- client: remove `username` from AuthStatus interface
2026-05-27 11:25:29 +08:00
ekko
07c4c1ddd5
fix provider base URL env handling ( #1054 )
2026-05-27 10:41:29 +08:00
ekko
a10e171082
Add history import controls ( #1053 )
2026-05-27 10:05:52 +08:00
ekko
42f7b64ffb
update changelog and context default ( #1045 )
2026-05-26 19:35:48 +08:00
ekko
82680f5c0b
fix clarify replay and compression timeout ( #1044 )
2026-05-26 19:15:22 +08:00
ekko
e926a8e2fb
fix chat queue promotion ( #1042 )
2026-05-26 17:39:38 +08:00
ekko
ad1cab277a
fix context token resume ( #1039 )
2026-05-26 16:32:07 +08:00
ekko
689237f0fd
fix job deliver target options ( #1026 )
2026-05-25 20:04:50 +08:00
ekko
badb17cf8e
[codex] integrate goal command workflow ( #1025 )
...
* feat: integrate goal command workflow
* fix: keep goal done visible
* fix: add goal done slash command
* fix: promote queued message on run start
2026-05-25 19:26:23 +08:00
ekko
0eab6a1125
Fix plan command support in web bridge ( #1018 )
...
* fix: support plan command in web bridge
* fix: preserve queued bridge messages
* fix: avoid duplicate queued plan messages
* fix: preserve plan command semantics
---------
Co-authored-by: Codex <codex@openai.com >
2026-05-25 15:48:17 +08:00
ekko
e1438490b8
docs: update changelog after 0.6.0 ( #1014 )
2026-05-25 13:06:06 +08:00
ekko
56c6cf3e2d
fix profile-aware session history actions ( #1011 )
2026-05-25 12:32:42 +08:00
ekko
9e35d81f48
fix mobile chat run reconnect ( #993 )
2026-05-25 11:08:54 +08:00
ekko
61b41512d4
[codex] increase login lock threshold ( #984 )
...
* increase login ip lock threshold
* show login lock recovery commands
2026-05-24 22:36:21 +08:00
ekko
4176923bac
support external skill sources ( #981 )
2026-05-24 19:47:52 +08:00
ekko
6763721545
fix session links profile filtering ( #979 )
2026-05-24 19:30:32 +08:00
Maxim Kirilyuk
acdf18793c
feat: make navigation use native links ( #973 )
2026-05-24 19:13:42 +08:00
ekko
e743c81ad3
[codex] add clarify support with response path tests ( #972 )
...
* feat: 新增 clarify(澄清/确认)交互支持
* test clarify response bridge path
---------
Co-authored-by: GoldenFish123321 <golden_fish@foxmail.com >
2026-05-24 18:09:39 +08:00
ekko
a7f0a92fe6
fix session profile listing and cli sqlite warning ( #971 )
2026-05-24 17:54:17 +08:00
ekko
f61a1d9454
[codex] fix auth startup and profile model defaults ( #966 )
...
* docs release 0.6.0 changelog
* fix auth startup and profile model defaults
2026-05-24 14:00:31 +08:00
ekko
634a622934
[codex] fix media skill profile auth and run events ( #965 )
...
* fix media skill profile auth and run events
* test bridge run profile context
2026-05-24 12:52:14 +08:00
ekko
df41d6b051
[codex] Fix profile-aware session deep links ( #962 )
...
* feat: add session deep links for chats
* feat: add deep links for history and group chat
* Fix profile-aware session deep links
---------
Co-authored-by: Maxim Kirilyuk <werserk@inbox.ru >
2026-05-24 10:55:55 +08:00
Maxim Kirilyuk
070de2499e
feat(chat): render fenced latex math blocks
2026-05-24 10:19:08 +08:00