Commit Graph

211 Commits

Author SHA1 Message Date
ekko 737c631836 add bridge performance monitoring 2026-05-23 09:15:36 +08:00
ekko 3f16c4a20e Allow bridge sessions to run concurrently (#932)
* Allow bridge sessions to run concurrently

* Stabilize bridge concurrency test

* Set bridge approval timeout to 120 seconds

* harden bridge approval concurrency

---------

Co-authored-by: Codex <codex@openai.com>
2026-05-22 15:52:00 +08:00
ekko f90e79fd2f fix: sync bundled skills across profiles (#926) 2026-05-22 10:41:14 +08:00
ekko 4b759c4d8a cache group chat fixed context usage (#925) 2026-05-22 10:20:39 +08:00
ekko c3538a6b44 fix compression context usage accounting (#924) 2026-05-22 09:46:50 +08:00
ekko 254573400d Fix final context and tool status updates (#917)
Co-authored-by: Codex <codex@openai.com>
2026-05-21 23:21:26 +08:00
ekko ff1f471745 Persist custom Hermes models (#913) 2026-05-21 20:55:19 +08:00
ekko 4d89767847 Clean multimodal tool results before storage (#911) 2026-05-21 20:19:06 +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 ab7dd00e8c Fix profile list column parsing (#897) 2026-05-21 14:08:58 +08:00
ekko 3b4e0cec74 Update Nous provider model preset (#896) 2026-05-21 13:20:26 +08:00
ekko dd3320d1ce Fix Windows netstat encoding in agent bridge (#894) 2026-05-21 12:25:38 +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
Zhicheng Han 6578873d9e [verified] Fix group chat agent member sync (#877) 2026-05-20 17:13:15 +08:00
ekko 51c3f0c62a [codex] harden recursive skill scan (#876)
* fix: recursive skill scan for nested sub-category directories

The Web UI skill scanner (scanSkillsDir) only checked one level deep:
skills/<category>/<subdir>/SKILL.md. Sub-category containers like
mlops/evaluation/ (which has DESCRIPTION.md + subdirs but no SKILL.md)
were skipped entirely, hiding all 12 nested skills under mlops.

Changes:
- scanSkillsDir: extract collectSkills() recursive helper that depth-first
  searches for SKILL.md at every level under a category directory.
  Directories without SKILL.md but with subdirectories are recursively
  descended into.
- listFiles handler: replace hardcoded join(category, skill) path with
  recursive findSkillDir() search, so nested skill file browsing works
  (e.g., mlops/evaluation/lm-evaluation-harness).

Fixes mlops category showing 1 skill instead of 13. All 20 other
categories verified with zero regression.

* fix: pA handler also needs recursive search for nested skill file content

The readFile_ (pA) handler was constructing direct paths like
skills/category/skill/... which fails for nested sub-category
skills (mlops/evaluation/lm-evaluation-harness). Added fallback
recursive search when direct path returns 404.

Also fixed listFiles (sA) handler to use recursive search for
the same reason - previous fix to dist was not in source TS.

Verified:
- lm-evaluation-harness SKILL.md content: 200 
- vllm SKILL.md: 200 
- huggingface-hub (non-nested): 200 
- reference file in nested skill: 200 

* fix: pA handler also needs recursive search for nested skill file content

The readFile_ (pA) handler was constructing direct paths like
skills/category/skill/... which fails for nested sub-category
skills (mlops/evaluation/lm-evaluation-harness). Added fallback
recursive search when direct path returns 404.

Also fixed listFiles (sA) handler to use recursive search for
the same reason - previous fix to dist was not in source TS.

Verified:
- lm-evaluation-harness SKILL.md content: 200 
- vllm SKILL.md: 200 
- huggingface-hub (non-nested): 200 
- reference file in nested skill: 200 

* harden recursive skill lookup

---------

Co-authored-by: gs <gs@localhost>
Co-authored-by: gutanulaif <gutanulaifa@gmail.com>
2026-05-20 15:38:56 +08:00
ekko 204058502e add apikey image generation media endpoint (#872) 2026-05-20 15:10:30 +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
Zhicheng Han 904ca8c648 feat(group-chat): add @all mention routing (#857)
Add modular group-chat mention routing helpers for the reserved @all token, route it to every non-sender agent, and strip routing tokens before model input.

Expose @all in mention autocomplete, highlight it in group messages, reserve literal all agent names, and cover boundary/partial-match regressions with tests.
2026-05-20 10:21:57 +08:00
ekko 210b0ee6c2 Harden bridge broker restart (#862) 2026-05-20 10:02:15 +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 bbfd818106 update zai models and sidebar divider (#819) 2026-05-17 20:47:52 +08:00
ekko aff3546677 fix: route fun codex through responses api (#815) 2026-05-17 16:17:32 +08:00
ekko ce5a9bb012 Harden env parsing and writes (#814) 2026-05-17 15:39:31 +08:00
ekko 5e8f8bd4a1 Add session-level bridge model settings (#811) 2026-05-17 12:20:53 +08:00
ekko fa035f348e Fix Windows local file download paths (#810) 2026-05-17 11:09:28 +08:00
ekko 53f0301da4 Add Hermes Agent package fallback and xAI OAuth (#808) 2026-05-17 09:45:56 +08:00
WenhuaXia f2c8ace7c2 fix: custom_providers base_url and dynamic deliver targets (#801)
- custom_providers: always use user's base_url instead of
  PROVIDER_PRESETS matching by name that overwrites local URLs
- JobFormModal: dynamically add connected platform channels
  (Telegram, Discord, Slack, WhatsApp, Matrix, WeChat, WeCom,
  Feishu, DingTalk) to job deliver target dropdown

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 22:07:02 +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 f7556e6204 fix plugin discovery python env (#798) 2026-05-16 20:58:44 +08:00
ekko 8357c8ed84 Fix bridge profile environment isolation (#796) 2026-05-16 20:27:23 +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 67723d9315 [codex] add locked file updates for config writes (#785)
* add locked file updates for config writes

* add glm vision turbo preset
2026-05-16 13:11:59 +08:00
ekko c5380c4ab5 filter empty assistant history (#781) 2026-05-16 11:01:33 +08:00
ekko 61c10997fa clarify windows media path prompt (#779) 2026-05-16 10:12:18 +08:00
ekko cf9d0c6008 prepare 0.5.25 changelog (#778) 2026-05-16 09:40:25 +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 3f8461d9eb suppress bridge CLI platform hint (#776) 2026-05-16 08:31:18 +08:00
ekko 8bb71b5592 fix tool approval flow (#773) 2026-05-16 00:11:51 +08:00
ekko e0bfa828cb make web ui state directory configurable (#764) 2026-05-15 17:30:27 +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 94f1061734 align bridge multimodal handling (#755) 2026-05-15 14:47:29 +08:00
ekko 84e98cfb5e fix command compression token estimate (#751) 2026-05-15 14:10:49 +08:00
ekko 3d49f778fb align compression token estimates (#749) 2026-05-15 13:50:27 +08:00
ekko f6a6c1c228 fix: reserve web ui port for gateways (#746) 2026-05-15 12:52:45 +08:00
ekko 876aa9ee83 fix: isolate gateway profile environment (#745) 2026-05-15 12:44:36 +08:00