chengyongru and chengyongru
2ac802b2d5
feat(usage): add unified provider usage backend
2026-08-25 01:22:25 +08:00
chengyongru and chengyongru
8bb3828487
fix(tui): preserve usage telemetry fields
2026-08-25 01:04:25 +08:00
chengyongru and chengyongru
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +08:00
chengyongru and chengyongru
89c94d8744
test(exec): remove Windows process timing races
2026-08-25 00:53:54 +08:00
chengyongru and chengyongru
b1cadf53c5
fix(codex): reuse TLS contexts across requests
2026-08-24 11:25:02 +08:00
chengyongru and chengyongru
ffa58aa5ef
fix(webui): keep answer text outside reasoning shell
2026-08-23 21:29:42 +08:00
chengyongru and chengyongru
9807e9cf37
test: remove stale Mattermost config input
2026-08-23 19:08:00 +08:00
chengyongru and chengyongru
961b1fdd7d
refactor: remove remaining dead code
2026-08-23 19:08:00 +08:00
chengyongru and chengyongru
dbc1801d3c
fix(cron): report reconciled startup job count
2026-08-22 02:38:47 +08:00
chengyongru and chengyongru
1fe36d5dec
fix(dream): gate cursor on run completion
2026-08-22 02:05:40 +08:00
chengyongru and chengyongru
dd993b4f70
fix(tui): bound Markdown math preprocessing
2026-08-22 01:46:12 +08:00
chengyongru and chengyongru
cbe4316e4b
perf(tui): avoid repeated LaTeX scans
2026-08-22 01:46:12 +08:00
chengyongru and chengyongru
375185210b
feat(tui): render LaTeX as Unicode
2026-08-22 01:46:12 +08:00
chengyongru and chengyongru
9ae3ae17da
feat(providers): support DeepSeek V4 vision
2026-08-21 23:18:09 +08:00
chengyongru and chengyongru
d7b3abe589
test(exec): wait deterministically for truncation output
2026-08-19 01:34:48 +08:00
chengyongru and chengyongru
ae85a52968
docs(webui): call conversations topics
2026-08-19 01:15:56 +08:00
chengyongru and chengyongru
9e046815bc
fix(webui): assign readable session handles
2026-08-19 01:15:56 +08:00
chengyongru and chengyongru
c27b1f14c3
fix(webui): preserve mutation order after reconnect
2026-08-16 21:40:14 +08:00
chengyongru and chengyongru
32cc861f2a
test(webui): harden mutation replay coverage
2026-08-16 21:40:14 +08:00
chengyongru and chengyongru
2b6a0443c0
fix(webui): snapshot mutation replay frames
2026-08-16 21:40:14 +08:00
chengyongru and chengyongru
e51ffc8978
fix(webui): make mutations reconnect-safe
2026-08-16 21:40:14 +08:00
chengyongru and chengyongru
edec29e997
feat(providers): support DeepSeek V4 Pro Responses
2026-08-13 01:02:41 +08:00
chengyongru and chengyongru
3778e7e628
fix(webui): soften form control focus rings
2026-08-11 14:39:07 +08:00
chengyongru and chengyongru
b3b0517611
fix(files): reject no-op edits
2026-08-10 21:39:00 +08:00
chengyongru and chengyongru
113e8d67ad
refactor: remove verified dead code
2026-08-08 21:10:34 +08:00
chengyongru and chengyongru
fc73d5ff39
fix(webui): avoid false microphone silence errors
2026-07-30 09:02:40 +08:00
chengyongru and chengyongru
b99e0f937e
fix(webui): soften model selector emphasis
2026-07-27 23:13:14 +08:00
chengyongru and Xubin Ren
b3d3a3e6c3
fix(image): delegate DNS to explicit proxy
2026-07-27 10:06:19 +08:00
chengyongru and chengyongru
be43a54570
fix(webui): prevent mobile thread overflow
2026-07-26 23:59:28 +08:00
chengyongru and chengyongru
d576804f23
feat(channels): enable tool hints by default
2026-07-26 21:22:12 +08:00
chengyongru and chengyongru
55405f6cd6
feat: open WebUI after fresh desktop install
2026-07-26 03:28:15 +08:00
chengyongru and chengyongru
c6dbeb97d8
feat(brand): migrate README and WebUI assets to SVG
2026-07-24 22:45:13 +08:00
chengyongru and Xubin Ren
0bbb74b1ee
feat(brand): add SVG mark and wordmark
2026-07-24 22:30:42 +08:00
chengyongru and chengyongru
d993c81f08
test(webui): cover restricted media previews
2026-07-24 00:30:49 +08:00
chengyongru and chengyongru
afc65c086e
refactor(session): simplify directory fsync handling
2026-07-21 10:11:53 +08:00
chengyongru and chengyongru
b67f4b1371
fix(qq): account for SDK reconnect pacing
...
Use per-session retry deadlines so botpy's post-connect delay counts toward backoff, and keep unexpected failures on the channel logger.
2026-07-20 23:24:03 +08:00
chengyongru and chengyongru
e3de01c9f6
fix(webui): resolve build runner executable
2026-07-19 23:59:34 +08:00
chengyongru and chengyongru
7aaac37bca
fix(triggers): require channel enablement predicate
2026-07-19 22:33:29 +08:00
chengyongru and chengyongru
b1232fdaf4
fix(gitstore): preserve staged symlinks
2026-07-19 16:01:11 +08:00
chengyongru and chengyongru
ffb7ddfa1e
refactor(triggers): clarify stored integer coercion
2026-07-19 15:46:00 +08:00
chengyongru and chengyongru
cf00f537bd
fix(agent): guide recovery from oversized tool results
...
Use the existing in-flight context governor to replace tool output that cannot fit the next model request with a bounded, actionable instruction. The model can retry with narrower arguments, use another tool, or explain the context limit without a second recovery state machine.
2026-07-19 01:08:36 +08:00
chengyongru and chengyongru
d4e0294734
fix(gateway): stop channels before draining tasks
2026-07-15 22:25:08 +08:00
chengyongru and chengyongru
681edfa6f3
fix(providers): honor Codex proxy config consistently
2026-07-15 20:01:48 +08:00
chengyongru and chengyongru
0fd4d0ab29
fix(prompts): handle undecodable overrides
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
c1fd76add3
refactor(prompts): share workspace override handling
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
63a6d5d07d
fix(heartbeat): retain history after empty runs
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
2116e32013
test: speed up CI and harden the suite
2026-07-15 00:18:37 +08:00
chengyongru and chengyongru
905da8e34a
ci(webui): verify npm and bun lockfiles
2026-07-14 23:16:21 +08:00
chengyongru and chengyongru
f718c69b2d
feat(webui): add copy action to user messages
2026-07-14 22:41:17 +08:00
chengyongru and Xubin Ren
3b14d59dcd
fix(telegram): fall back on overflow HTML rejection
2026-07-14 12:25:28 +08:00
chengyongru and Xubin Ren
a335ce07db
fix(telegram): bound streamed HTML overflow chunks
2026-07-14 12:25:28 +08:00
chengyongru and chengyongru
6e462e62a6
fix(dream): limit newline normalization to CRLF
2026-07-14 00:30:50 +08:00
chengyongru and chengyongru
6b5820ea89
fix(webui): sync localized preboot copy
2026-07-13 23:28:19 +08:00
chengyongru and Xubin Ren
c339ce8bba
refactor(agent): remove obsolete MCP prompt annotations
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
12b88d3872
docs(agent): summarize full my tool capability
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
8ccb2a451b
docs(agent): advertise request metadata in my skill
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
20748bc4e3
perf(agent): load my skill on demand
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
93de413432
feat(agent): expose request routing metadata through my
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
d349b65713
test(agent): remove obsolete runtime context assertions
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
54b250430d
fix(session): stop synthesizing MCP preset prompt context
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
5794d481c3
refactor(agent): remove MCP runtime context provider
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
e206ee4e70
refactor(agent): remove legacy image mode prompt injection
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
2eb7398f34
fix(agent): close runtime context persistence gaps
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
f75d3519db
feat(agent): add persistent runtime context providers
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
7f8c3453e1
refactor(agent): gate sustained goals behind explicit /goal
...
Replace the legacy long-goal skill contract with command-scoped goal tools and runtime guidance. Keep goal state durable across continuations while restricting create and replace mutations to explicit user /goal turns.
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
7675364eae
fix(tools): enforce edit_file line hints
2026-07-11 01:14:50 +08:00
chengyongru and Xubin Ren
052fdc132d
feat(tools): guard edit_file target lines
2026-07-11 01:14:50 +08:00
chengyongru and Xubin Ren
47d498bab0
fix(webui): disarm queued prompt for voice shortcut
2026-07-11 01:02:14 +08:00
chengyongru and Xubin Ren
04328f8129
feat(webui): guide queued prompt with second Enter
2026-07-11 01:02:14 +08:00
chengyongru and Xubin Ren
137fbf875e
fix(webui): keep syntax highlighting chunks acyclic
2026-07-11 00:57:37 +08:00
chengyongru and Xubin Ren
1ee4349a08
feat(webui): highlight file previews and diffs
2026-07-11 00:57:37 +08:00
chengyongru and Xubin Ren
0b9ca744c2
docs(webui): mention file edit previews in guide
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
7685a89dcc
docs(webui): describe file edit diffs
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
bbd4f4054b
fix(webui): respect full access in file preview
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
0ae28571e7
fix(agent): close file edit activity on cancellation
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
6851a6ebd4
fix(webui): sync file edit display preference
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
207813d3b5
fix(webui): tighten localhost bootstrap check
2026-07-09 10:42:00 +08:00
chengyongru and Xubin Ren
e0c2d28f90
fix(webui): issue localhost bootstrap api tokens
2026-07-09 10:42:00 +08:00
chengyongru and Xubin Ren
0f88927364
fix(webui): show generic tool arguments in activity
2026-07-07 15:41:45 +08:00
chengyongru and Xubin Ren
dd014b50a7
docs(mattermost): finish channel ordering cleanup
...
Maintainer edit: move remaining Mattermost documentation mentions to the end of named channel lists.
2026-07-06 12:14:57 +08:00
chengyongru and Xubin Ren
595d789c6f
docs(mattermost): list new channel last
...
Maintainer edit: keep Mattermost at the end of documented channel lists so existing channel order remains first-come-first-served.
2026-07-06 12:14:57 +08:00
chengyongru and Xubin Ren
cf35238834
fix(mattermost): harden channel lifecycle and streaming
...
Maintainer edit: keep the Mattermost adapter running under the gateway, fail closed when team filtering cannot verify the team, isolate new thread sessions immediately, and make buffered stream finalization retry-safe.
2026-07-06 12:14:57 +08:00
chengyongru and Xubin Ren
5e51c5014f
feat(feishu): render new session divider
...
maintainer edit: remove out-of-scope reasoning panel changes and keep this PR focused on the /new session divider.
2026-07-06 12:14:54 +08:00
chengyongru and Xubin Ren
72c8a47ac9
docs: update Windows exec shell gotcha
...
Maintainer edit: document that Windows exec defaults to PowerShell and cmd.exe syntax now requires shell='cmd'.
2026-07-06 12:11:25 +08:00
chengyongru and Xubin Ren
122cf4213b
fix: harden Windows exec shell edge cases
...
Maintainer edit: preserve raw cmd.exe quoting for shell='cmd', propagate native exit codes through the default PowerShell path, and keep quoted Windows executable paths invokable under PowerShell.
2026-07-06 12:11:25 +08:00
chengyongru and Xubin Ren
acb0e853ff
refactor(trigger): share automation turn delivery
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
55b550ee01
fix(trigger): hide external trigger inputs
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
b690a48336
fix(trigger): require names for trigger creation
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
7178ea3f13
docs: explain local triggers
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
2a0cd19a74
feat(trigger): add session-bound local triggers
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
5f4cfbcb16
refactor(bus): type outbound runtime events
2026-07-01 20:17:00 +08:00
chengyongru and Xubin Ren
21aa900d64
fix: honor MCP tool error results
2026-07-01 13:03:47 +08:00
chengyongru and Xubin Ren
b0258e8b20
fix: preserve legacy plugin tool errors
2026-07-01 13:03:47 +08:00
chengyongru and Xubin Ren
a6a489e0fa
refactor: tighten session recency cleanup
...
maintainer edit: remove defensive branches that normal session storage cannot produce and keep the idle-expiry helper direct.
2026-06-30 23:38:32 +08:00
chengyongru and Xubin Ren
840ba5af33
fix: simplify session recency activity tracking
...
maintainer edit: remove the _last_compacted_at maintenance state, gate idle compaction on whether a session still has a removable tail, and sort WebUI sessions by the latest visible transcript activity.
2026-06-30 23:38:32 +08:00
chengyongru and Xubin Ren
3460ca3cb9
fix(agent): gate microcompaction on context pressure
...
Extract model-facing context governance from AgentRunner.
Only compact in-flight tool results when the model request is over budget, keep compacted IDs stable within a turn, and allow the newest result to be compacted as a last resort when it is the remaining source of overflow.
2026-06-27 11:04:41 +08:00
chengyongru and Xubin Ren
9b45fc1172
fix(session): remove message time replay prefixes
2026-06-27 11:04:36 +08:00
chengyongru and Xubin Ren
9ce9d2235a
docs: clarify heartbeat versus cron delivery
2026-06-27 11:04:08 +08:00
chengyongru and Xubin Ren
6d989de336
docs: document OpenCode provider setup
...
Maintainer edit: document OpenCode Zen and Go configuration, keep their registry entries with gateway providers, and add focused provider registration tests.
2026-06-24 10:25:12 +08:00
chengyongru and Xubin Ren
23dc253f89
refactor: simplify Anthropic tool id remapping
...
maintainer edit: remove duplicate counter state and use the seen id set directly when choosing duplicate suffixes.
2026-06-24 10:21:48 +08:00