ekko
0cc31bb09b
Prepare 0.6.31 release and unify desktop Runtime storage ( #2134 )
...
* prepare 0.6.31 release changelog
* add desktop runtime storage migration
* unify desktop runtime and web ui storage
* fix bundled web ui production dependencies
* fix packaged architecture validation
* keep desktop responsive during runtime migration
* make packaged web ui verification self contained
* reuse validated desktop runtime storage
2026-07-19 11:38:10 +08:00
王.W
d165840e07
fix(chat): attach workspace diffs to assistant turns ( #2127 )
...
* fix(chat): attach workspace diffs to assistant turns
* fix(chat): preserve workspace diff attribution on reload
---------
Co-authored-by: Lux <wangw9475@agent.qq.com >
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-18 18:29:29 +08:00
ekko
08caa227fd
Support background delegate task delivery ( #2126 )
...
* support background delegate task delivery
* document background delegate task PR
* settle stopped background tasks
* configure background delegation at agent creation
2026-07-18 16:20:42 +08:00
Zhicheng Han
065329554e
fix(mcp): skip transient launcher autoinject ( #2121 )
2026-07-18 09:36:37 +08:00
牧濑红莉栖(BOT)
ff8d78f613
feat(providers): add revisioned provider editor ( #2114 )
...
Allow admins to edit custom and API-key providers without changing
stable IDs or echoing stored credentials. Adds profile-scoped labels,
preferred models, context lengths, draft testing, and redacted audit.
Co-authored-by: x1051445024 <x1051445024@users.noreply.github.com >
2026-07-17 20:55:13 +08:00
ekko
621663157b
Add generated file previews and group workspaces ( #2113 )
2026-07-17 15:38:51 +08:00
牧濑红莉栖(BOT)
062a5cb5b3
feat(channels): add credential clearing action ( #2109 )
...
Co-authored-by: x1051445024 <x1051445024@users.noreply.github.com >
2026-07-17 11:41:46 +08:00
ekko
30d404508d
fix history session loading and pagination ( #2107 )
2026-07-17 10:54:06 +08:00
王.W
10ecdb2bea
feat(workflow): add structured routing and execution playback ( #2099 )
...
* feat(workflow): add structured JSON conditions
* feat(workflow): visualize execution paths
* fix(workflow): fail closed on ambiguous run evidence
* feat(workflow): improve connection authoring UX
---------
Co-authored-by: Lux <wangw9475@agent.qq.com >
2026-07-17 09:56:30 +08:00
ekko
15be6f37a4
fix cron delivery target selection ( #2106 )
2026-07-17 09:42:48 +08:00
ekko
d246455ed7
feat: add message references to single and group chat ( #2098 )
...
* Add message reference replies
* Link chat chain fragment to PR 2098
2026-07-16 20:19:44 +08:00
ekko
68379cb2dd
Hide Windows chat console windows and prepare 0.6.30 ( #2080 )
2026-07-15 10:23:44 +08:00
ekko
3decc0e9c3
Support MoA presets in chat model selection ( #2078 )
2026-07-15 09:38:45 +08:00
mo
5eb1b94138
feat(workflow): add orchestration v2 ( #2073 )
...
* chore: initialize upstream-based workflow orchestration v2 draft
* feat(workflow): validate declarative edge orchestration
* feat(workflow): evaluate edge conditions safely
* feat(workflow): support declarative condition operators
* feat(workflow): evaluate edge route decisions
* feat(workflow): skip unmatched success branches
* feat(workflow): route failed node outcomes
* feat(workflow): validate node join mode
* feat(workflow): support all and any joins
* feat(workflow): schedule nodes on completion
* feat(workflow): store append-only edge evidence
* feat(workflow): persist edge decisions fail closed
* feat(workflow): expose edge evidence in run history
* feat(workflow): validate bounded feedback edges
* feat(workflow): compile single-entry natural loops
* feat(workflow): validate laminar nested loops
* feat(workflow): fail closed during graph preflight
* feat(workflow): preflight reruns and freeze loops
* feat(workflow): identify loop execution instances
* feat(workflow): execute bounded top-level loops
* feat(workflow): audit conditional loop exits
* feat(workflow): record loop iteration limits
* feat(workflow): identify edge iteration evidence
* feat(workflow): audit loop forward edges
* feat(workflow): persist loop epoch evidence
* feat(workflow): expose loop epochs in run history
* feat(workflow): record failed loop epochs
* feat(workflow): audit canceled loop epochs
* feat(workflow): audit loop agent timeouts
* feat(workflow): gate loop executions on approval
* feat(workflow): enforce run execution budget
* feat(workflow): enforce loop run deadline
* feat(workflow): bound loop approval waits
* feat(workflow): enforce DAG run deadline
* feat(workflow): enforce rerun deadline
* feat(workflow): guard rerun execution budget
* feat(workflow): run one downstream node after loop exit
* feat(workflow): dispatch persisted loop exit targets
* feat(workflow): honor conditional routing inside loop bodies
* feat(workflow): continue through post-loop DAGs
* feat(workflow): route post-loop failures
* feat(workflow): add secure definition portability
* feat(workflow): expose portability client API
* feat(workflow): add import and export controls
* feat(workflow): execute disjoint and nested loops
* feat(workflow): edit edge orchestration from canvas
* feat(workflow): show execution evidence in run history
* feat(workflow): edit node join policy
* feat(workflow): create connected nodes atomically
* test(workflow): cover orchestration canvas in browser
* refactor(workflow): unify laminar loop runtime
* fix(workflow): bind approvals to executions
* test(workflow): verify canvas interactions in browser
* feat(workflow): enforce execution identity policies
* feat(workflow): harden lifecycle recovery
* refactor(workflow): share fresh and rerun schedulers
* feat(workflow): harden orchestration evidence and portability
* fix(workflow): close final acceptance and canvas gaps
* test(workflow): add disposable live acceptance
* fix(workflow): migrate legacy execution evidence
* refactor(workflow): use icons for import and export
* refactor(workflow): use ctrl-z for canvas undo
* refactor(workflow): restore profile-default agent context
* fix(workflow): strip legacy policy from edge node copies
* feat(workflow): guide ordinary users through routing
* refactor(workflow): move field help into tooltips
* feat(workflow): validate typed condition values
* feat(chat): align maximum reasoning effort
* test(workflow): isolate manager SQLite runtime
Keep the WorkflowManager suite on a disposable SQLite directory so coverage workers cannot race the shared test-runtime database. Production and development database paths are unchanged.
* fix(workflow): keep Hermes API mode profile-owned
* fix(workflow): make imports portable across environments
Strip source runtime bindings from exports and legacy imports while keeping capability and skill checks at execution time. Address runtime subscription, feedback routing, approval cancellation, durable Session evidence, SQLite index migration, and compact evidence rendering.
* fix(bridge): reject unsupported reasoning effort
Keep Hermes API mode profile-owned while restoring explicit failure when the runtime cannot parse or apply a requested reasoning effort.
* test(workflow): use writable Session fixture workspace
* fix(workflow): align import export icon semantics
* feat(workflow): make execution details user friendly
* fix workflow replay and presentation regressions
---------
Co-authored-by: Lux <wangw9475@agent.qq.com >
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-15 08:52:17 +08:00
ekko
937d0d8dd5
perf: optimize first-screen loading ( #2068 )
2026-07-14 09:21:01 +08:00
ekko
84d6d0e601
fix mobile voice transcription and Codex duplicate messages ( #2066 )
...
* fix Codex duplicate assistant messages
* fix mobile realtime voice transcription
* document mobile realtime voice behavior
2026-07-13 23:03:09 +08:00
ekko
ea64f92cc5
fix: disable production Ekko memory database ( #2060 )
2026-07-13 16:07:24 +08:00
ekko
f0399f4c11
feat: add durable Ekko Agent memory ( #2057 )
...
* add Ekko Agent chained memory
* harden Ekko agent provider integrations
* add model-driven Ekko memory review
* fix: harden Ekko memory summaries
2026-07-13 12:44:39 +08:00
Abner
defa013298
fix: preserve custom provider state in Studio bridge ( #2054 )
...
* fix: preserve custom provider state in Studio bridge
* docs: record Studio provider alias fix commit
* docs: link Studio provider fix PR
---------
Co-authored-by: abner <nimengbo@qq.com >
2026-07-13 08:55:02 +08:00
Zhicheng Han
f1d1f90b46
fix(models): 同步 Provider 静态目录与缓存优先级 ( #2051 )
...
* feat(models): sync static provider catalogs
* fix(models): prefer live catalogs over static manifests
2026-07-13 08:05:40 +08:00
ekko
521bd426eb
fix MiMo voice clone audio upload ( #2046 )
2026-07-12 09:49:16 +08:00
ekko
8e8c6a3f4b
add ESP32-C3 v2 firmware ( #2044 )
2026-07-12 08:47:35 +08:00
ekko
b11098e815
feat: unify model usage analytics ( #2039 )
...
* record unified session usage
* record Ekko model call usage
* record Hermes usage and add usage analytics
2026-07-11 13:35:03 +08:00
ekko
904ee7f9fe
fix Bridge tool result context limits ( #2036 )
2026-07-11 11:10:07 +08:00
ekko
c4082ee661
fix: guide Docker users through image upgrades ( #2033 )
...
* fix(docker): guard update button in Docker with structured guidance
Docker 环境下 UI 升级按钮不可用的问题修复:
后端:
- handleUpdate 中添加 Docker 环境检测,返回结构化的 Docker 升级指引
(docker compose pull && docker compose up -d --force-recreate)
- health 接口添加 is_docker 字段,告知前端当前运行环境
- Docker 环境下自动禁用 npm registry 版本检查,消除每 30 分钟的外网请求
(性能优化:减少不必要的网络 I/O 和重复的版本检查)
前端:
- AppSidebar 中在 Docker 模式下隐藏原有升级按钮,改为显示 Docker 专属
升级按钮,点击后弹出包含 docker compose 命令的指引弹窗
- VersionManagementModal 的 isDesktopShell 条件保持不变
- 添加 9 种语言的 i18n 翻译键 (dockerUpdateTitle / dockerUpdateGuide
/ dockerUpdateNote)
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com >
* fix docker update guidance tests
* reuse update button for Docker guidance
* test Docker update routing
---------
Co-authored-by: suantea <suantea@users.noreply.github.com >
Co-authored-by: AtomCode (deepseek-v4-flash) <noreply@atomgit.com >
2026-07-11 10:24:39 +08:00
ekko
c99ccc5005
[codex] collapse workspace diffs and restore chat input background ( #2032 )
...
* restore dark chat input background
* collapse workspace diff details
* link workspace diff change record
2026-07-11 09:55:15 +08:00
ekko
3d401dd907
[codex] compress MCU uplink audio with IMA-ADPCM ( #2024 )
...
* add MCU uplink ADPCM compression
* link MCU ADPCM change record
2026-07-10 20:10:21 +08:00
ekko
ca2b62e5eb
sort preview version tags ( #2015 )
2026-07-10 11:26:02 +08:00
ekko
1dbc0aac2a
Release Web UI 0.6.28 and improve MCU recovery ( #2013 )
...
* chore: release webui 0.6.28
* feat: improve mcu wifi reprovisioning
* feat: update mcu firmware recovery and tts segmentation
2026-07-10 10:43:52 +08:00
mo
d81b0644cc
fix: allow selecting models for scheduled jobs ( #2009 )
...
* fix: allow selecting models for scheduled jobs
* fix: avoid unsupported cron model flags
* fix: persist scheduled job model selection
* fix: resolve default provider/model in job list response
* fix: resolve custom provider name in job defaults
* docs: temp verification screenshot
* chore: remove temp verification screenshot
---------
Co-authored-by: 王.W <kingboyandgirl@users.noreply.github.com >
Co-authored-by: 王.W <wangw9475@agent.qq.com >
2026-07-10 08:55:37 +08:00
mo
ac184a0e27
fix: keep new files in workspace diffs ( #2008 )
...
Co-authored-by: 王.W <kingboyandgirl@users.noreply.github.com >
2026-07-10 08:50:32 +08:00
mo
6b1967e4a6
fix: hide SQLite sidecars from workspace diffs ( #2003 )
...
* fix: hide sqlite sidecars from workspace diffs
* docs: note sqlite sidecar diff filtering
* fix: filter sqlite sidecars in git workspace diffs
---------
Co-authored-by: 王.W <kingboyandgirl@users.noreply.github.com >
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-09 18:28:12 +08:00
Kagura
bde8f2b0eb
fix: write session ended_at/end_reason when bridge run terminates ( #2004 )
...
* fix: write session ended_at/end_reason when bridge run terminates (#1998 )
When an agent run completes (normally or with error), the session's
ended_at and end_reason fields were never written to the database.
This caused the UI to permanently show 'thinking' for completed sessions.
Add updateSession calls at three run termination points:
- handleBridgeRun catch block (early error, empty queue)
- resumeBridgeRun catch block (stream error, empty queue)
- applyBridgeChunkAsync normal completion (no queued runs)
Each call is wrapped in try-catch to prevent masking the original
error or producing unhandled rejections.
Closes #1998
* fix: reopen bridge sessions when runs restart
---------
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-09 12:41:28 +08:00
ekko
f367515eb9
fix workflow approval rerun states ( #2002 )
2026-07-09 11:09:25 +08:00
ekko
b7d282f59b
add workflow node approval gates ( #2001 )
2026-07-09 10:40:34 +08:00
ekko
cc21e0ba6a
[codex] Fix session workspace file drawer ( #1999 )
...
* Fix session workspace file drawer
* Fix session workspace test mocks
2026-07-09 09:57:16 +08:00
mo
524cc0e306
fix: route workflow coding agent aborts correctly ( #1995 )
...
Co-authored-by: 王.W <wangw9475@agent.qq.com >
2026-07-09 08:44:57 +08:00
mo
9d047915f5
fix: inherit external MCP in scoped coding agents ( #1983 )
...
* fix: inherit external MCP in scoped coding agents
* fix: normalize inherited scoped MCP configs
* fix: collapse repeated codex mcp tables
---------
Co-authored-by: 王.W <kingboyandgirl@users.noreply.github.com >
2026-07-09 08:39:36 +08:00
Zhicheng Han
90b7a3c461
Persist group chat workspace diff runs ( #1981 )
2026-07-09 07:55:10 +08:00
ekko
f5e831d0d0
Add MCU device management ( #1994 )
2026-07-08 16:40:11 +08:00
ekko
a575266a84
[codex] require MCU API token for global agent events ( #1991 )
...
* require MCU API token for global agent events
* fix MCU relay auth tests
2026-07-08 12:37:47 +08:00
ekko
a4173df72b
skip empty workspace diff changes ( #1986 )
2026-07-08 09:33:15 +08:00
Zhicheng Han
904130de32
[codex] 拆分 Group Chat 房间工作区绑定 ( #1980 )
...
* Add group chat room workspace binding
* fix group chat workspace modal width
---------
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-08 09:00:51 +08:00
ekko
e42275640a
[codex] Stabilize MCU voice relay and firmware ( #1979 )
...
* fix mcu voice stream recording
* tune mcu voice capture buffering
* decouple mcu voice capture upload
* stabilize remote mcu audio relay
* Overlap MCU speech preparation with playback
* Update ESP32-C3 release firmware
* Label remote MCU login as free test
* Buffer MCU TTS playback startup
* Reduce MCU voice stream chunk size
* Restore small MCU voice stream chunks
* Use balanced MCU voice stream chunks
* Restore strict MCU speech playback order
* Relax MCU voice stream queue backpressure
* Stabilize MCU voice stream recording
* stabilize mcu voice streaming
* use binary mcu voice stream chunks
* stabilize mcu tts playback
* pipeline mcu tts synthesis
* pipeline tts generation before playback
* fix mcu relay test and firmware status
2026-07-08 08:07:55 +08:00
ekko
8118ec3129
Add remote MCU relay over Socket.IO ( #1976 )
2026-07-07 12:33:13 +08:00
ekko
8ec624327a
fix windows desktop runtime trampolines ( #1972 )
2026-07-06 19:59:31 +08:00
ekko
2c94b0fd2e
Add journey Hermes version guidance ( #1961 )
2026-07-06 11:15:41 +08:00
ekko
09e6806fe8
[codex] Stabilize Codex context usage ( #1960 )
...
* Stabilize Codex context usage
* Update coding agent failure tests
2026-07-06 10:50:36 +08:00
ekko
a7ed55e150
[codex] release 0.6.26 changelog ( #1959 )
...
* release 0.6.26 changelog
* stabilize MCU audio enqueue test
2026-07-06 10:43:04 +08:00
ekko
950d7d8e39
compact available models MCP response ( #1958 )
2026-07-06 09:48:06 +08:00