santhreal and Xubin Ren
1e505ff405
fix(triggers): coerce string lastRunAtMs when loading local triggers
2026-07-26 23:05:19 +08:00
Xubin Ren
30750060ce
test(feishu): cover null post metadata fields
2026-07-26 22:51:49 +08:00
santhreal and Xubin Ren
a7cac65c76
fix(feishu): move post extract test import to module top
2026-07-26 22:51:49 +08:00
santhreal and Xubin Ren
fb88154377
fix(feishu): tolerate null text fields when extracting post content
2026-07-26 22:51:49 +08:00
chengyongru and chengyongru
d576804f23
feat(channels): enable tool hints by default
2026-07-26 21:22:12 +08:00
chengyongru and GitHub
ee93725e83
fix(webui): restore file edit diff display ( #5096 )
2026-07-26 19:05:53 +08:00
santhreal and chengyongru
7c94ba9643
fix(session): coerce null session metadata to empty dict
2026-07-26 17:47:16 +08:00
santhreal and chengyongru
745757cc37
fix(memory): skip non-dict history.jsonl lines when reading
2026-07-26 17:45:51 +08:00
santhreal and chengyongru
259d8a018c
fix(skills): tolerate null requires/bins/env in skill metadata
2026-07-26 17:44:41 +08:00
chengyongru and chengyongru
55405f6cd6
feat: open WebUI after fresh desktop install
2026-07-26 03:28:15 +08:00
chengyongru and GitHub
b0ef759e2c
Smooth WebUI streaming with state-driven viewport motion ( #4696 )
2026-07-26 00:18:24 +08:00
Xubin Ren
9a7debcb48
chore: defer compatibility cleanup to v0.3.1
2026-07-25 21:07:33 +08:00
Xubin Ren
922c49246d
docs(readme): streamline quick start workflows
2026-07-25 20:49:22 +08:00
Xubin Ren
df1a0ed889
docs: mark v0.3.0 as latest release
2026-07-25 16:18:53 +08:00
Xubin Ren
3f602fbc8c
docs(readme): fold Render into deployment guide
2026-07-25 15:46:46 +08:00
Xubin Ren
d6f6bbddbf
docs(readme): preview the agency release
2026-07-25 15:46:46 +08:00
Xubin Ren
ac7b8cf4b4
fix(webui): preserve preset widths while switching
2026-07-25 15:46:46 +08:00
Xubin Ren
88cb22dd79
fix(webui): show full model preset labels
2026-07-25 15:46:46 +08:00
Xubin Ren
5328a95add
chore(release): prepare v0.3.0
2026-07-25 15:46:46 +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
d1ago and Xubin Ren
944de867a0
Add nanobot logo as SVG
...
Add a vector (SVG) version of the nanobot logo under images/, alongside
the existing raster logo. SVG scales cleanly at any size for docs, the
webui, and README use.
2026-07-24 22:30:42 +08:00
chengyongru and GitHub
6e0eb46705
feat: launch first-time setup in webui ( #5078 )
2026-07-24 21:16:43 +08:00
Xubin Ren
e260d9b31c
fix(agent): apply execution policy to existing workspaces
2026-07-24 19:25:52 +08:00
Xubin Ren
51f11a8548
docs(agent): execute authorized tasks through verification
2026-07-24 19:25:52 +08:00
Xubin Ren
7e15c4c447
fix(agent): track inline subagent lifecycle
2026-07-24 19:13:51 +08:00
Xubin Ren
3a400e0207
feat(agent): support inline subagent consultation
2026-07-24 19:13:51 +08:00
Xubin Ren
8e4fe9cfaf
fix(providers): preserve non-multimodal tool lists
2026-07-24 18:58:32 +08:00
Xubin Ren
07a81d70be
fix(providers): preserve multimodal tool outputs
2026-07-24 18:58:32 +08:00
chengyongru and GitHub
d3e4b35f2b
fix(webui): honor custom gateway port with Vite ( #5076 )
2026-07-24 18:40:09 +08:00
chengyongru and GitHub
5be176a6a0
feat(webui): switch model presets from the composer ( #5077 )
2026-07-24 17:34:26 +08:00
chengyongru
9aab94c766
Revert "fix: preserve pending message runtime context"
...
This reverts commit cad368f585 .
2026-07-24 14:47:50 +08:00
chengyongru and GitHub
9957de5226
fix(webui): show quoted context after follow-up send ( #5071 )
2026-07-24 14:19:33 +08:00
hamb1y and Xubin Ren
cad368f585
fix: preserve pending message runtime context
2026-07-24 12:28:13 +08:00
George Pickett and Xubin Ren
0b38c48399
feat(webui): add Parallel Search MCP preset
2026-07-24 12:26:37 +08:00
chengyongru and chengyongru
6a9157f477
feat(webui): present chats as topics
2026-07-24 10:29:13 +08:00
8bcab8885e
test(agent): use python3 in ExecTool workspace scope tests ( #5064 )
...
* test(agent): use python3 in ExecTool workspace scope tests (fixes #5062 )
* test(agent): use python on Windows and python3 on POSIX in ExecTool workspace scope tests (fixes #5062 )
* test(agent): share Python command fixture
---------
Co-authored-by: chengyongru <chengyongru.ai@gmail.com >
2026-07-24 09:42:38 +08:00
chengyongru and GitHub
aae259c790
feat(webui): simplify model preset settings ( #5061 )
2026-07-24 00:55:06 +08:00
chengyongru and chengyongru
d993c81f08
test(webui): cover restricted media previews
2026-07-24 00:30:49 +08:00
seteiro and chengyongru
4490f8cfe4
fix(webui): allow media directory access when restrictToWorkspace is enabled
...
Add get_media_dir() as an extra allowed root in file_preview path resolution so uploaded images and documents remain previewable even with workspace restrictions on. Closes #5028
2026-07-24 00:30:49 +08:00
AxelRay and GitHub
78f4c132d9
fix(exec): extract absolute paths after equals sign in shell guard ( #4594 )
2026-07-23 23:58:01 +08:00
santhreal and chengyongru
7e9426d9bd
fix(telegram): hard-cut when fence body cut lands on the prefix
...
A leading space in the fenced body made the soft cut land at min_code_pos
and re-emit the same fence forever. Require progress past the fence line.
2026-07-23 23:56:18 +08:00
santhreal and chengyongru
98d661775e
fix(telegram): hard-cut fence splits when the closer cannot fit
...
Adaptive HTML limits can shrink max_len to the fence prefix size. Treat
budget <= min_code_pos as a hard cut so the splitter still advances.
2026-07-23 23:56:18 +08:00
santhreal and chengyongru
017a4946e2
fix(telegram): advance markdown split on long single-line fences
...
When a fenced code body has no interior newlines, the splitter cut at the
opening fence line and re-emitted the same content forever. Prefer breaks
inside the body after the fence so long JSON/minified blocks still split.
2026-07-23 23:56:18 +08:00
KDB and chengyongru
648fc92673
fix(exec): retain stale sessions after cleanup failure
...
Only remove idle exec sessions after process termination succeeds so later cleanup and shutdown paths can retry failed kills.
2026-07-23 23:55:00 +08:00
KDB and chengyongru
274613f064
fix(session): tolerate files removed during listing
2026-07-23 23:53:56 +08:00
Xubin Ren
754f457a94
fix(webui): keep composer model badge in sync
2026-07-23 23:11:40 +08:00
chengyongru and chengyongru
6c0f151f6e
fix(webui): polish responsive layout
2026-07-23 18:22:02 +08:00
chengyongru and GitHub
4b1547db7d
style(webui): unify settings and dark mode surfaces ( #5058 )
2026-07-23 17:47:20 +08:00
Xubin Ren
c3ec2e665f
test(documents): preserve nested block order
2026-07-23 16:53:59 +08:00