ekko
0f33b4dafc
Make desktop update downloads optional ( #2094 )
2026-07-16 10:03:38 +08:00
ekko
2b3e84a0af
Open workflow execution records in a detail modal ( #2093 )
...
* Open workflow execution details in modal
* Update workflow detail E2E interaction
2026-07-16 09:23:22 +08:00
ekko
9e4164c113
fix group chat input background ( #2092 )
2026-07-16 09:14:04 +08:00
王.W
acb12729fa
fix(workflows): explain blocked execution paths ( #2088 )
...
Co-authored-by: Lux <wangw9475@agent.qq.com >
2026-07-16 08:51:52 +08:00
ekko
8e242c4bb0
fix(desktop): allow macOS microphone input ( #2087 )
2026-07-15 17:01:21 +08:00
ekko
db9e63ccd8
fix cross-platform voice capture and captions ( #2086 )
...
* fix cross-platform voice capture captions
* link voice capture changelog
v0.6.30
2026-07-15 16:11:09 +08:00
ekko
77af609da3
add cross-platform PCM voice capture ( #2084 )
2026-07-15 15:44:32 +08:00
ekko
0dabbda394
Add 0.6.30 frontend changelog ( #2081 )
2026-07-15 10:51:21 +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
3636f9603b
inject Ekko provider and model context ( #2071 )
2026-07-14 17:12:42 +08:00
ekko
d218d1fe81
add provider setup guidance ( #2070 )
...
* add provider setup guidance
* fix provider prompt e2e fixtures
2026-07-14 11:57:01 +08:00
ekko
640304375a
fix: replay chat fade on session switch ( #2069 )
...
* fix: replay chat fade on session switch
* docs: link chat fade change fragment
2026-07-14 10:17:02 +08:00
ekko
937d0d8dd5
perf: optimize first-screen loading ( #2068 )
2026-07-14 09:21:01 +08:00
ekko
3fe9535e57
fix realtime voice recovery and approval overlay ( #2067 )
2026-07-14 08:46:21 +08:00
IvanShang
e70c7bb186
fix: preserve extensions for Markdown downloads ( #2058 )
2026-07-14 08:45:58 +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
160412cdef
fix: add mobile browser speech fallback ( #2064 )
2026-07-13 21:57:18 +08:00
ekko
42c6b2c255
feat: add realtime voice mode for single chat ( #2063 )
2026-07-13 21:28:50 +08:00
ekko
2ea11ac440
feat: show MCU device code during provisioning ( #2062 )
2026-07-13 17:49:22 +08:00
ekko
dd97da48e3
fix: auto-select MCU microphone channel ( #2059 )
2026-07-13 16:07:50 +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
ekko
70465210f6
add session model switch loading state ( #2056 )
2026-07-13 09:08:43 +08:00
Zhicheng Han
fb16bbf529
feat(journey): improve graph exploration ( #2055 )
2026-07-13 09:08:12 +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
4b9cd7113f
fix(mcu): synchronize remote disconnects and bound TLS discovery ( #2049 )
...
* fix(mcu): clear stale remote login
* fix(mcu): bound remote discovery TLS
v0.6.29
2026-07-12 16:51:06 +08:00
ekko
5c0854778e
release Web UI 0.6.29 changelog ( #2047 )
2026-07-12 12:23:48 +08:00
ekko
521bd426eb
fix MiMo voice clone audio upload ( #2046 )
2026-07-12 09:49:16 +08:00
ekko
934b116709
boost ESP32-C3 v2 playback volume ( #2045 )
2026-07-12 09:33:24 +08:00
ekko
8e8c6a3f4b
add ESP32-C3 v2 firmware ( #2044 )
2026-07-12 08:47:35 +08:00
ekko
846178f816
add Hermes 0.18.2 website version ( #2042 )
2026-07-11 16:04:41 +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
hermes-0.18.2-runtime
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
IvanShang
657e1e1013
fix(client): handle malformed session export filenames ( #2026 )
...
* fix(client): handle malformed session export filenames
* docs: add session export chain fragment
2026-07-11 10:02:08 +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
01f3c78c3c
restore MCU OLED to LAN IP ( #2025 )
2026-07-10 21:39:02 +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
thursdaycapital
6a2da07e72
[codex] replace ESP32 intro page ( #2020 )
...
* replace ESP32 intro page
* refine ESP32 connection section
* polish ESP32 intro interactions
---------
Co-authored-by: ekko <fqsy1416@gmail.com >
2026-07-10 17:05:03 +08:00
ekko
ca2b62e5eb
sort preview version tags ( #2015 )
2026-07-10 11:26:02 +08:00
ekko
ff206cecc4
unify frontend visual styles ( #2014 )
2026-07-10 11:23:27 +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
v0.6.28
2026-07-10 10:43:52 +08:00
mo
a375b9dc06
fix: export completed coding agent sessions ( #2010 )
...
Co-authored-by: 王.W <kingboyandgirl@users.noreply.github.com >
2026-07-10 08:59:04 +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