3726 Commits

Author SHA1 Message Date
Xubin Ren
9ceacc540c fix(webui): avoid parsing currency as math 2026-07-30 01:13:37 +08:00
Xubin Ren
ba0ba4749d feat(webui): add skills marketplace 2026-07-30 01:13:37 +08:00
chengyongru
129b74b4cf
feat(webui): track optimistic message delivery status (#5162) 2026-07-29 23:15:45 +08:00
Zhou
5a28a6165c
fix(shell): preserve UTF-8 native input on PowerShell 5 (#5160)
Windows PowerShell 5.1 defaults $OutputEncoding to US-ASCII, corrupting non-ASCII strings piped to native commands. Set it from the console encoding only on legacy versions so PowerShell 7 keeps its defaults.
2026-07-29 21:47:01 +08:00
chengyongru
757ad9c764
refactor: enforce BasedPyright strict type checking (#5158) 2026-07-29 21:37:11 +08:00
chengyongru
e703481755
fix(memory): expose media references to session consolidation (#5157)
Co-authored-by: shakewingo <yaoyingshakewin@gmail.com>
Co-authored-by: bingqilinweimaotai <111987281+bingqilinweimaotai@users.noreply.github.com>
2026-07-29 15:18:44 +08:00
chengyongru
393d429e0a
fix(ci): stabilize and speed up CI (#5145) 2026-07-28 22:55:59 +08:00
chengyongru
9070d7489a fix(ci): scope PR path detection to head changes 2026-07-28 20:24:52 +08:00
chengyongru
019d7816a7
fix(webui): animate reasoning drawer transitions (#5143) 2026-07-28 19:13:16 +08:00
chengyongru
24a392b671
fix(webui): open threads at latest message (#5142) 2026-07-28 18:52:34 +08:00
chengyongru
0c6c0438d4
feat(config): add actionable startup diagnostics and WebUI recovery (#5110) 2026-07-28 18:52:05 +08:00
chengyongru
76ab04ac48
fix(webui): keep streaming tail visible (#5140) 2026-07-28 18:18:44 +08:00
chengyongru
1faf0826f6 fix(webui): keep composer stable while scrolling 2026-07-28 17:13:47 +08:00
chengyongru
ae089aa3ae fix(webui): reconcile threads after browser resume 2026-07-28 16:25:08 +08:00
chengyongru
78cf68c291 fix(agent): snapshot active tasks before cancellation 2026-07-28 15:42:52 +08:00
Xubin Ren
ce3e532643 fix(sdk): use shared runtime event publisher 2026-07-28 15:30:28 +08:00
chengyongru
ae7b4c8792 fix(sdk): narrow persisted turn callback API 2026-07-28 15:30:28 +08:00
chengyongru
fd17c1352a fix(sdk): harden host integration contracts 2026-07-28 15:30:28 +08:00
chengyongru
c050955ae3 feat(sdk): add host integration extension points 2026-07-28 15:30:28 +08:00
chengyongru
12f828ea3d
fix(agent): read document attachments on demand (#5122) 2026-07-28 13:33:06 +08:00
chengyongru
096a86a7f4 docs: move README title above introduction 2026-07-28 13:06:09 +08:00
Xubin Ren
8ef5bc414d docs(readme): preserve Render launch anchor 2026-07-28 12:44:45 +08:00
Xubin Ren
328251289d docs(deploy): explain Render setup and updates 2026-07-28 12:44:45 +08:00
Xubin Ren
7a741e2b50 docs(readme): add one-click deployment section 2026-07-28 12:44:45 +08:00
Xubin Ren
60e67fbe0f docs(readme): surface one-click Render deployment 2026-07-28 12:44:45 +08:00
chengyongru
fa5d27696a fix(webui): rank skill autocomplete results 2026-07-28 11:36:10 +08:00
chengyongru
ef9e687f19
refactor(core): remove redundant runtime scaffolding (#5127) 2026-07-28 11:07:58 +08:00
chengyongru
4c77126b3d docs: improve README landing page 2026-07-28 01:48:34 +08:00
chengyongru
6bc454dab4
fix(webui): prevent composer resize scroll jitter (#5121) 2026-07-28 01:01:49 +08:00
chengyongru
b99e0f937e fix(webui): soften model selector emphasis 2026-07-27 23:13:14 +08:00
chengyongru
f78ad59ed0
fix(memory): preserve Dream input integrity (#5114) 2026-07-27 21:37:13 +08:00
chengyongru
e819b7eea4 fix(webui): stabilize repeated model preset rows 2026-07-27 18:11:10 +08:00
chengyongru
3f808d0a68 docs: improve README discoverability 2026-07-27 15:57:03 +08:00
yu-xin-c
7fd28c9f06 fix(memory): preserve unprocessed dream history 2026-07-27 15:47:21 +08:00
chengyongru
c13df29457
feat(memory): restore Dream model preset override (#5107) 2026-07-27 14:43:25 +08:00
chengyongru
281b4b7f0b
chore: remove expired v0.3.1 compatibility shims (#5106) 2026-07-27 13:53:04 +08:00
chengyongru
39348dfafe refactor(agent): remove dead lifecycle scaffolding 2026-07-27 12:00:06 +08:00
chengyongru
b3d3a3e6c3 fix(image): delegate DNS to explicit proxy 2026-07-27 10:06:19 +08:00
chengyongru
d73794bc68 fix(image): honor provider proxy for URL downloads 2026-07-27 10:06:19 +08:00
Xubin Ren
cc3dbbe804 fix(security): block IPv6 unspecified SSRF targets 2026-07-27 10:06:19 +08:00
Xubin Ren
4408cde019 fix(security): harden generated image downloads 2026-07-27 10:06:19 +08:00
Xubin Ren
cf1e801a29 fix(image): align Gemini hints with model capabilities 2026-07-27 03:07:41 +08:00
Xubin Ren
a8604a3172 fix(image): scope Gemini image sizes by model 2026-07-27 03:07:41 +08:00
stupidloud
ef445cc246 fix(image): narrow Gemini Flash aspect-ratio and image-size scoping
Address review feedback that the capability checks were broader than the
documented per-model matrix:

- Drop the extreme aspect ratios (1:4, 4:1, 1:8, 8:1) from the Flash
  allow-list. They are only documented for 3.1 Flash / Flash Lite, so the
  global set could send an unsupported ratio to 2.5 Flash Image or 3.1 Pro
  Image. Keep the ratios common to every Flash image model.
- Identify imageSize support positively via "gemini-3" instead of excluding
  "2.5". The old predicate also matched gemini-2.0-flash-preview-image-
  generation, which (with the default 1K size) altered that model's request
  shape even though only Gemini 3+ image models accept a configurable size.

Add tests for the gemini-2.0 image-size drop and the extreme-ratio drop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 03:07:41 +08:00
stupidloud
4986590bd7 fix(image): pass aspect ratio and size to Gemini Flash image models
The Gemini Flash image path (`generateContent`) dropped both `aspect_ratio`
and `image_size`: `generate()` never forwarded them and
`_generate_gemini_flash` did not accept them, so every request fell back to
1:1 / input-matched output. The Imagen path was unaffected.

Forward the hints and emit them under
`generationConfig.responseFormat.image` per the current Gemini API. Aspect
ratio is validated against the accepted set; `imageSize` is validated against
{512,1K,2K,4K} and only sent to Gemini 3+ image models, since
`gemini-2.5-flash-image` supports only `aspectRatio`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 03:07:41 +08:00
Xubin Ren
b695a7e875 fix(cli): harden quick start OAuth handling 2026-07-27 02:51:04 +08:00
Xubin Ren
a4ec83fb0d fix(cli): scope Codex proxy env resolution 2026-07-27 02:51:04 +08:00
chengyongru
2a1f840ce2 fix(cli): support Codex OAuth in quick start 2026-07-27 02:51:04 +08:00
Xubin Ren
addaf2d3fc fix(dingtalk): harden group reply sender labels 2026-07-27 02:33:41 +08:00
李明振
9f3dee0192 docs(dingtalk): clarify disable_private_chat intent in comments
Addresses automated review: document that the guard is an intentional hard group-only switch (allowlisted DMs blocked by design) and that str() guards a None sender_id. Comment-only.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-27 02:33:41 +08:00