This website requires JavaScript.
53ba410e49
feat(read_file): add DOCX, XLSX, PPTX support via document.extract_text()
aiguozhi123456
2026-04-20 23:57:47 +08:00
46864b0911
fix: use try/finally in _extract_xlsx to prevent resource leak
彭星杰
2026-04-21 16:16:27 +08:00
a00beebd06
fix: use context manager in _extract_xlsx to prevent resource leak
彭星杰
2026-04-21 14:44:37 +08:00
e15705b471
fix(tests): add _cancel_active_tasks mock to cmd_new test fixtures
chengyongru
2026-04-21 21:33:55 +08:00
d4e34f8c67
fix(commands): intercept non-priority commands during active turn
chengyongru
2026-04-21 21:28:58 +08:00
f8a023218d
fix(telegram): improve markdown rendering for modern LLM output
hussein1362
2026-04-21 10:44:06 +03:00
37ea8b8f5b
fix(retry): recognize ZhiPu 1302 rate-limit error for retry
chengyongru
2026-04-21 17:37:10 +08:00
1b692debdc
docs(webui): revise README to clarify WebSocket channel setup and sequence of startup steps
Xubin Ren
2026-04-21 12:46:17 +00:00
c1957e14ff
refactor(memory): centralize cursor validation behind a single gate
Xubin Ren
2026-04-21 05:54:17 +00:00
c0a11c7cf4
fix(memory): harden cursor recovery against non-integer corruption
Muata Kamdibe
2026-04-20 16:28:03 -04:00
409afe1a3d
test(tools): add basic regression tests for ContextVar routing context
chengyongru
2026-04-21 11:18:14 +08:00
ff8c28d5a8
agent: use ContextVar for tool routing context
jr_blue_551
2026-03-18 19:10:57 +00:00
82aa9efc02
test(mcp): pin CancelledError short-circuits the retry loop
Xubin Ren
2026-04-21 05:21:39 +00:00
368752e707
fix(mcp): retry once on transient connection errors
hussein1362
2026-04-20 21:19:26 +03:00
6c24f24e9e
feat(models): add support for kimi-k2.6 with temperature override and update documentation
Xubin Ren
2026-04-20 18:18:06 +00:00
009cce78ad
fix(anthropic): also enforce leading-user + empty-array recovery
Xubin Ren
2026-04-20 17:31:12 +00:00
2f02342083
fix(anthropic): strip trailing assistant messages to prevent prefill error
hussein1362
2026-04-19 09:17:27 +03:00
00de55072d
test(agent): exercise /stop cancellation through _dispatch
Xubin Ren
2026-04-20 17:13:04 +00:00
847c50b2de
fix(loop): preserve partial context when /stop cancels a task
hussein1362
2026-04-19 09:35:34 +03:00
899a9073ce
fix(memory): do not fall back to raw entry when strip_think empties it
hlg
2026-04-20 16:32:38 +08:00
8e7d8bef6a
fix(utils): handle malformed think tags and channel markers in strip_think
hlg
2026-04-20 16:28:26 +08:00
f900c5bb8e
fix(telegram): address code review issues from cherry-pick merge
chengyongru
2026-04-20 11:59:28 +08:00
2eea82f5ee
fix(telegram): split oversized stream buffer mid-flight
stutiredboy and stutiredboy
2026-04-20 11:33:44 +08:00
fd8f08cc83
fix(telegram): convert markdown to HTML before splitting to avoid message length overflow
himax12
2026-04-20 11:32:24 +08:00
297b852f6e
feat(telegram): change to mid-stream split per review feedback(#2967 PR)
jhkim43
2026-04-11 15:49:12 +09:00
ecfbb0ed4f
refactor(email): use _remember_processed_uid in SPF/DKIM reject paths
chengyongru
2026-04-20 14:50:44 +08:00
ffac8d3b0a
fix: deduplicate SPF/DKIM-rejected emails to stop log spam
flobo3
2026-04-19 20:28:32 +03:00
26fd2c099a
build: ship THIRD_PARTY_NOTICES and fix webui packaging in wheel
Xubin Ren
2026-04-20 08:22:10 +00:00
68466b1c2a
fix(agent): propagate effective session key through subagent pipeline
chengyongru
2026-04-20 11:53:29 +08:00
2193a64c80
fix(agent): align subagent result session key with main agent for mid-turn injection
chengyongru
2026-04-20 10:56:27 +08:00
79821a571f
fix: suppress intermediate progress output in cron jobs
chengyongru
2026-04-20 09:46:16 +08:00
8eddacf2f8
fix(webui): sync code block theme with dark mode toggle instantly
chengyongru
2026-04-20 00:17:22 +08:00
a3adec08a9
style(webui): improve typography with Apple-inspired font stack and CJK support
chengyongru
2026-04-20 00:03:38 +08:00
56a779c128
fix(session): repair read-only corrupt session paths
Xubin Ren
2026-04-19 15:25:37 +00:00
efb04a1712
fix(session): use atomic writes and add corrupt-file repair
aiguozhi123456
2026-04-19 22:36:16 +08:00
5d976d79ff
test(discord): update tests for bot-to-bot fix (#3217 )
Alfredo Arenas
2026-04-18 08:11:27 -06:00
3fd24c72fd
fix(discord): allow bot-to-bot messaging, only drop self-loops (#3217 )
Alfredo Arenas
2026-04-18 07:15:38 -06:00
7527961b19
fix(cron): drop top-level oneOf so OpenAI Codex/Responses accept tool schema
coldxiangyu and factory-droid[bot]
2026-04-19 11:07:34 +08:00
97ae9cb318
docs: refine README for WebUI development workflow clarity
Xubin Ren
2026-04-19 13:42:02 +00:00
d920f07715
Merge PR #3310 : feat(webui): add initial browser UI with websocket chat and i18n
Xubin Ren
2026-04-19 21:41:07 +08:00
b3049f7323
fix(webui): stabilize empty session history state
Xubin Ren
2026-04-19 13:38:47 +00:00
f9e1d92abd
docs: update README and webui documentation for WebUI development workflow
Xubin Ren
2026-04-19 13:10:36 +00:00
c4b3837c5f
Merge remote-tracking branch 'origin/main' into nanobot-webui
Xubin Ren
2026-04-19 12:36:52 +00:00
46e11a68a7
test: speed up cron and restart timing tests
Xubin Ren
2026-04-19 12:35:57 +00:00
b6d63fb1ec
fix: normalize responses circuit breaker keys
Xubin Ren
2026-04-19 12:15:21 +00:00
3036b16140
style: fix import sorting (ruff I001)
Mohamed Elkholy
2026-04-16 05:58:27 -04:00
4aad6b737d
style: move loguru import to module top level
Mohamed Elkholy
2026-04-16 05:52:25 -04:00
baba3b2160
fix(providers): add circuit breaker for Responses API fallback
Mohamed Elkholy
2026-04-16 00:11:43 -04:00
ccd6c05f71
fix: include pending summaries in consolidation estimates
Xubin Ren
2026-04-19 11:57:03 +00:00
54b659929e
test: cover summary persistence after token consolidation
Xubin Ren
2026-04-19 11:34:45 +00:00
d95bc9c9c4
fix: unify summary injection strategy between consolidation paths
Jiajun Xie
2026-04-19 09:54:31 +00:00
107eae14d7
docs: add badges for commit activity and closed issues in README
Xubin Ren
2026-04-19 09:53:37 +00:00
508e247c82
docs: remove feature showcase and update memory and Python SDK documentation for clarity and completeness
Xubin Ren
2026-04-19 09:51:54 +00:00
ed150a4228
docs: enhance README installation instructions for better readability
Xubin Ren
2026-04-19 09:48:16 +00:00
622c467839
docs: refine README description for clarity
Xubin Ren
2026-04-19 09:47:21 +00:00
53fb3c199a
docs: update README and docs for clarity and consistency
Xubin Ren
2026-04-19 09:46:35 +00:00
8ff7b56cb2
docs: refactor README into a docs-first landing page
Xubin Ren
2026-04-19 09:42:17 +00:00
4650b23d75
feat(webui): add i18n support and locale switcher
Xubin Ren
2026-04-19 06:39:06 +00:00
be10ba1f0d
Merge remote-tracking branch 'origin/main' into nanobot-webui
Xubin Ren
2026-04-19 05:15:27 +00:00
2d0442976e
test(cli): update _make_console tests for isatty-based fix (#3265 )
Alfredo Arenas
2026-04-18 08:23:20 -06:00
261b843839
fix(cli): respect sys.stdout.isatty() in stream renderer (#3265 )
Alfredo Arenas
2026-04-18 00:09:20 -06:00
9773d4b8ab
Merge PR #3112 : fix(config): return provider default api base in config resolution
Xubin Ren
2026-04-19 04:14:46 +08:00
384bad17b4
Merge origin/main into fix/config-default-api-base
Xubin Ren
2026-04-18 20:08:21 +00:00
3218307f80
Merge PR #3125 : fix: harden cron tool contract
Xubin Ren
2026-04-19 04:01:27 +08:00
9c0dc8b276
fix: drop generic repeated tool-call guard
Xubin Ren
2026-04-18 19:59:58 +00:00
adc1e843b4
Merge origin/main into fix/cron-contract-repeat-guard
Xubin Ren
2026-04-18 19:42:48 +00:00
e08507f3ce
fix: handle git worktrees in GitStore nested repo protection
Xubin Ren
2026-04-18 19:35:06 +00:00
ff5b97dc34
Remove .oss from .gitignore
Lê Bảo Long
2026-04-18 23:24:25 +07:00
fb28678b64
fix: prevent GitStore from creating nested repos and overwriting .gitignore (#2980 )
longle325
2026-04-18 23:16:04 +07:00
1b211c7d3a
Merge branch 'main' into nanobot-webui
Xubin Ren
2026-04-18 19:17:16 +00:00
8f8e41fe06
chore: ignore tsbuildinfo cache files
Xubin Ren
2026-04-18 18:55:05 +00:00
9ed3031a42
feat(webui): add initial webui with websocket chat flow
Xubin Ren
2026-04-18 18:51:53 +00:00
48692afa38
chore: remove PR template, keep only issue templates
chengyongru
2026-04-19 00:00:48 +08:00
8f383655b5
feat: add issue and PR templates
chengyongru
2026-04-18 23:48:05 +08:00
5818569e8f
feat(wizard): auto-detect Literal fields as select menus
chengyongru
2026-04-18 17:57:42 +08:00
ebb5179cab
feat(wizard): add Channel Common, API Server menus and field constraint validation
chengyongru
2026-04-18 17:50:40 +08:00
58110afb88
fix(templates): keep Search & Discovery heading in identity.md
chengyongru
2026-04-18 17:54:25 +08:00
34e8f97b1f
refactor(templates): separate identity and SOUL responsibilities
chengyongru
2026-04-18 17:50:11 +08:00
6bfb75ed03
feat(websocket): multiplex multiple chat_ids over a single connection
Xubin Ren
2026-04-18 08:44:12 +00:00
70a1279b86
test: pin retry-wait callback routing so internal heartbeats stay off channels
Xubin Ren
2026-04-18 05:48:15 +00:00
9c19de67bf
fix: 错误消息流转路径:1. 当 LLM 服务出现临时性错误(如网络波动、超时、429限流等)时, base.py 中的 _run_with_retry 方法会启动重试机制。2. 在重试等待期间, _sleep_with_heartbeat 方法会周期性调用 on_retry_wait 回调函数,发送类似 'Model request failed, retry in 1s (attempt 1)' 的心跳消息。3. 之前 on_retry_wait 参数被错误地绑定到 _bus_progress ,导致这些内部诊断消息被当作普通进度消息发送到飞书客户端。4. manager.py 的消息分发器没有过滤这类重试心跳消息。 修复方案:1. loop.py - 新增重试等待回调- 新增独立的 _on_retry_wait 回调函数,为重试消息添加 _retry_wait: True 元数据标识- 在 AgentRunSpec 中传入 retry_wait_callback 参数。2. runner.py - 支持重试回调参数- 在 AgentRunSpec 数据类中新增 retry_wait_callback 字段- 在 _build_request_kwargs 中将 on_retry_wait 参数从 progress_callback 改为 retry_wait_callback。3. manager.py - 过滤重试心跳消息- 在 _dispatch_outbound 方法中新增过滤逻辑,丢弃所有带 _retry_wait 标识的消息,确保重试心跳不会发送到任何客户端。
chengjun.zhu
2026-04-17 09:02:24 +08:00
c8d834a504
fix(loop): document subagent-followup persistence and guard empty content
Xubin Ren
2026-04-18 05:24:36 +00:00
1c939e8a5f
fix(loop): persist subagent follow-up events in history
xzq.xu
2026-04-17 13:40:27 +08:00
c27b4d07c4
fix(utils): recurse into PPTX groups and tables when extracting text (#3250 )
04cb
2026-04-18 11:09:29 +08:00
34fccb2ee9
Prevent self-inspection from leaking configured secrets
JunghwanNA
2026-04-18 00:33:36 +09:00
c196b5b0c2
Prevent failed SSE requests from masquerading as successful completions
JunghwanNA
2026-04-18 00:33:51 +09:00
39dd59f2ba
fix(cron): state per-action requirements in descriptions, keep list/remove callable
Steve
2026-04-17 14:23:32 +00:00
19dada927a
fix: make cron tool schema require message for add action
Your Name and Claude Sonnet 4.6
2026-04-15 17:13:27 +08:00
14ee7cb121
style: revert unrelated Black-style formatting churn (#3220 )
Xubin Ren
2026-04-17 12:35:30 +00:00
9a569fdc6a
style: collapse should_execute_tools docstring to one line
Xubin Ren
2026-04-17 12:26:03 +00:00
b8d327dc41
test + docs: lock should_execute_tools guard semantics (#3220 )
Xubin Ren
2026-04-17 12:24:06 +00:00
b7de21131f
fixed the CI issue and reverted the formating changes
Subal
2026-04-17 14:08:54 +05:30
322da6ca06
fix: guard tool execution against non-compliant API gateway injection
Subal
2026-04-17 00:13:44 +05:30
aabc3d5017
fix(memory): fall back to raw_archive on LLM error response
Cheng Yongru
2026-04-17 17:33:18 +08:00
ebbed1cbe2
fix(docs): depend on nanobot-ai, not the unrelated nanobot package
Xubin Ren
2026-04-17 08:58:32 +00:00
19c1facf7f
fix(docs): update channel plugin build backend to hatchling
Jiajun Xie
2026-04-16 08:44:08 +08:00
d0e65ebf70
fix(exec): pass allowed_env_keys to exec tool calls in subagents
Mariano Campo
2026-04-17 00:28:14 -03:00
3ae4333cef
test(email): cover smtp_username / imap_username / case-insensitive self-address match
Xubin Ren
2026-04-17 05:51:28 +00:00
1011ea5ac8
fix(email): ignore self-sent mailbox messages
yorkhellen
2026-04-17 08:54:04 +08:00
8c0c4e5b31
refactor(agent): tighten comments, extract constant, strengthen edge case test
chengyongru
2026-04-17 11:11:39 +08:00