Commit Graph

109 Commits

Author SHA1 Message Date
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 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 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
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 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 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 4176923bac support external skill sources (#981) 2026-05-24 19:47:52 +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 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
ekko f8a1b2f6ae Add default credential reset safeguards 2026-05-24 10:11:03 +08:00
ekko 9708a6a521 Scope files jobs and plugins to request profile 2026-05-24 10:11:03 +08:00
Codex 771d122f44 Restore synced queued message UI 2026-05-24 10:11:03 +08:00
Codex 238dbb507e Fix peer chat queue sync 2026-05-24 10:11:03 +08:00
Codex 7b05731d44 Refine user profile access and chat sync 2026-05-24 10:11:03 +08:00
ekko 3f6a25d8f1 Add user-scoped Hermes profile access 2026-05-24 10:11:03 +08:00
ekko c184519c5d add bridge performance monitoring 2026-05-23 09:09:54 +08:00
w770583069 bf74745b83 feat: add inline file preview for text-based files
- Add fetchFileText() to download API
- Add preview modal to MarkdownRenderer for .txt/.md/.json/.csv etc.
- File card: click card body → preview, click download button → download
2026-05-22 19:11:04 +08:00
ekko ff1f471745 Persist custom Hermes models (#913) 2026-05-21 20:55:19 +08:00
ekko 39ead94352 Account for full context tokens in compression (#908)
* Account for full context tokens in compression

* Fix group chat final context updates

---------

Co-authored-by: Codex <codex@openai.com>
2026-05-21 19:40:52 +08:00
ekko b2ec321990 Fix group chat agent connection failures (#900) 2026-05-21 14:54:41 +08:00
ekko 529065f023 scope session search by selected profile (#889) 2026-05-21 09:48:31 +08:00
ekko 3612a76735 show chat run errors as agent messages (#887) 2026-05-21 09:05:17 +08:00
ekko 40109e9c42 [codex] fix profile scoped model selection (#881)
* fix profile scoped model selection

* test profile scoped provider refresh
2026-05-20 18:26:01 +08:00
Zhicheng Han 6578873d9e [verified] Fix group chat agent member sync (#877) 2026-05-20 17:13:15 +08:00
ekko c90eba226d [codex] add customizable profile avatars (#870)
* add customizable profile avatars

* keep profile avatar visible when sidebar collapses

* simplify collapsed profile avatar styling

* force managed gateway startup in docker

* limit gateway autostart to active profile

* restore all profile gateway autostart

* fix managed gateway runtime detection
2026-05-20 14:15:01 +08:00
ekko 663afb61ff Improve profile runtime controls (#868)
* Improve profile runtime controls

* Restore profile selector test id

* Update profile switch e2e flow
2026-05-20 12:59:34 +08:00
Zhicheng Han 5fc7dce9c8 Fix file browser absolute path copy (#860) 2026-05-20 10:36:49 +08:00
ekko 0547fd6b6a [codex] Harden context compression history handling (#848)
* Use token threshold for chat compression

* Add compression settings controls

* Use config for chat compression

* Cover protected messages in compression tests

* Remove message-count compression limit

* Harden compression window fallback

* Rebuild stale compression snapshots

* Harden stale compression snapshots

* Update changelog for compression hardening

* Prefer local history session details
2026-05-19 17:58:39 +08:00
ekko 9a9416c99c Fix bridge history, profile models, and Windows gateway handling (#845)
* feat: support profile-aware group chat bridge flows

* feat: route cron jobs through hermes cli

* Fix group chat routing and isolate bridge tests

* Add Grok image-to-video media skill

* Default Grok videos to media directory

* Fix bridge profile fallback and cron repeat clearing

* Refine bridge chat and gateway platform handling

* Filter bridge tool-call text deltas

* Preserve structured bridge chat history

* Prepare beta release build artifacts

* Fix Windows run profile resolution

* Fix Windows path compatibility checks

* Fix profile-scoped model page display

* Hide Windows subprocess windows for jobs and updates

* Hide Windows file backend subprocess windows

* Avoid Windows gateway restart lock conflicts

* Treat Windows gateway lock as running on startup

* Force release Windows gateway lock on restart

* Tighten Windows gateway lock cleanup

* Update chat e2e source expectation

* Bump package version to 0.5.30

---------

Co-authored-by: Codex <codex@openai.com>
2026-05-19 16:09:59 +08:00
ekko 5e8f8bd4a1 Add session-level bridge model settings (#811) 2026-05-17 12:20:53 +08:00
ekko 53f0301da4 Add Hermes Agent package fallback and xAI OAuth (#808) 2026-05-17 09:45:56 +08:00
luSkyl 8571a7d0ac Explain gateway stopped states with Web UI diagnostics (#663)
* feat: add gateway diagnostics to Web UI status

* fix: improve gateway diagnostics mobile layout
2026-05-16 21:24:48 +08:00
ekko db0c23bf5e [codex] add QQBot and DingTalk channel settings (#787)
* add qqbot and dingtalk channel settings

* remove history session context menu
2026-05-16 13:54:38 +08:00
ekko 07257a8964 [codex] proxy provider model fetches (#777)
* proxy provider model fetches

* add provider model proxy e2e
2026-05-16 08:57:00 +08:00
ekko 8196e49478 [codex] Add group chat room reset and clone (#756)
* Add group chat room reset and clone

* Clean npm cache before self update
2026-05-15 15:52:16 +08:00
ekko 48dcaee6c2 feat: add bridge session commands (#743) 2026-05-15 12:04:03 +08:00
ekko 9170e11715 fix: SkillsUsage 页面样式修复与 API server skill usage 统计 (#698)
* Reapply "feat: 新增 Skills Usage 监控统计与图表 (#668)" (#670)

This reverts commit 91de3b12a1.

* fix: count API-server skill usage

* fix: align SkillsUsageView header with other pages and update sidebar icon

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Zhicheng Han <zhicheng.han@mathematik.uni-goettingen.de>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 09:28:51 +08:00
ekko eae7195ba8 Update CLI chat session bridge (#697)
* feat: add CLI chat sessions with Python agent bridge

Introduce a new CLI chat mode that connects Web UI directly to Hermes
Agent's AIAgent via a Python bridge subprocess and Socket.IO, bypassing
the API Server /v1/responses path. Supports streaming, slash commands
(/new, /undo, /retry, /branch, /compress, /save, /title), interrupt,
and steer.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat: update CLI chat session bridge

* fix: extend agent bridge startup timeouts

* docs: update bridge chat session design

* feat: align bridge compression and provider registry

* chore: bump version to 0.5.20

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 09:03:57 +08:00
ekko 91de3b12a1 Revert "feat: 新增 Skills Usage 监控统计与图表 (#668)" (#670)
This reverts commit ce08d2b05a.
2026-05-13 07:51:29 +08:00
Zhicheng Han ce08d2b05a feat: 新增 Skills Usage 监控统计与图表 (#668)
* feat: add skills usage monitoring

* fix: localize Skills Usage page copy

* fix: keep Skills Usage labels compact
2026-05-13 07:43:25 +08:00
Zhicheng Han 57cdf87bef Kanban:补齐看板事件、链接与批量操作闭环 (#634)
* feat(kanban): add board-scoped event stream bridge

* test(kanban): align event refresh expectation

* feat(kanban): add links and partial bulk bridge

* test(kanban): align links bulk refresh expectation

* fix(kanban): treat mutation stderr as failed
2026-05-13 07:32:38 +08:00
Zhicheng Han b8be47d8d6 feat(models): 增加模型显示名重命名 (#614)
* feat(models): add WUI model display aliases

Persist display-only model aliases in Web UI app config, surface them in the model selector/search, and keep canonical model IDs for Hermes calls.

* fix(models): improve WUI model alias editing

* fix(models): clarify unlisted model picker

* fix(models): scope aliases to providers
2026-05-11 22:18:13 +08:00
memeflyfly a68b9bf01f feat: add Edge TTS rate/pitch sliders to voice settings (#629)
Add speed (rate) and pitch controls for Edge TTS provider:
- Frontend: speedToEdgeRate()/hzToEdgePitch() helpers + UI sliders
- Backend: rate/pitch passthrough in OpenaiTtsRequest and controller
- i18n: add edgeRate/edgePitch keys across all 8 languages
- Rate: 0.5x-2.0x slider, Pitch: -20Hz to +20Hz slider
2026-05-11 21:56:11 +08:00