imfondof
896d578677
fix(restart): show restart completion with elapsed time across channels
2026-04-04 02:21:42 +08:00
imfondof
ba7c07ccf2
fix(restart): send completion notice after channel is ready and unify runtime keys
2026-04-04 02:21:42 +08:00
Lingao Meng
a05f83da89
test(providers): cover reasoning_content extraction in OpenAI compat provider
...
Add regression tests for the non-streaming (_parse dict branch) and
streaming (_parse_chunks dict and SDK-object branches) paths that extract
reasoning_content, ensuring the field is populated when present and None
when absent.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-04-04 02:09:57 +08:00
Lingao Meng
210643ed68
feat(provider): support reasoning_content in OpenAI compat provider
...
Extract reasoning_content from both non-streaming and streaming responses
in OpenAICompatProvider. Accumulate chunks during streaming and merge into
LLMResponse, enabling reasoning chain display for models like MiMo and DeepSeek-R1.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-04-04 02:09:57 +08:00
Xubin Ren
0a31e84044
Merge PR #2495 : feat(provider): add Xiaomi MiMo LLM support
...
feat(provider): add Xiaomi MiMo LLM support
2026-04-04 02:02:16 +08:00
Xubin Ren
4d7493dd4a
Merge PR #2646 : fix(weixin): restore weixin typing indicator
...
fix: restore Weixin typing indicator
2026-04-04 02:00:47 +08:00
Xubin Ren
f409337fcf
Merge remote-tracking branch 'origin/main' into pr-2646
2026-04-03 17:53:52 +00:00
Flo
3ada54fa5d
fix(telegram): change drop_pending_updates to False on startup ( #2686 )
2026-04-04 01:52:39 +08:00
Flo
8b4d6b6512
fix(tools): strip <think> blocks from message tool content ( #2621 )
2026-04-04 01:52:39 +08:00
daliu858
06989fd65b
feat(qq): add configurable instant acknowledgment message ( #2561 )
...
Add ack_message config field to QQConfig (default: Processing...). When non-empty, sends an instant text reply before agent processing begins, filling the silence gap for users. Uses existing _send_text_only method; failure is logged but never blocks normal message handling.
Made-with: Cursor
2026-04-04 01:52:39 +08:00
Flo
49c40e6b31
feat(telegram): include author context in reply tags ( #2605 ) ( #2606 )
...
* feat(telegram): include author context in reply tags (#2605 )
* fix(telegram): handle missing attributes in reply_user safely
2026-04-04 01:52:39 +08:00
Flo
2e5308ff28
fix(telegram): remove acknowledgment reaction when response completes ( #2564 )
2026-04-04 01:52:39 +08:00
Flo
0709fda568
fix(telegram): handle RetryAfter delay internally in channel ( #2552 )
2026-04-04 01:52:39 +08:00
Flo
0fa82298d3
fix(telegram): support commands with bot username suffix in groups ( #2553 )
...
* fix(telegram): support commands with bot username suffix in groups
* fix(command): preserve metadata in builtin command responses
2026-04-04 01:52:39 +08:00
Xubin Ren
cb84f2b908
docs: update nanobot news section
2026-04-03 16:18:36 +00:00
Xubin Ren
3c3a72ef82
update .gitignore
2026-04-03 16:02:23 +00:00
Lingao Meng
cf6c979339
feat(provider): add Xiaomi MiMo LLM support
...
Register xiaomi_mimo as an OpenAI-compatible provider with its API base URL,
add xiaomi_mimo to the provider config schema, and document it in README.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-04-03 14:42:57 +08:00
Xubin Ren
7113ad34f4
Merge PR #2733 : harden agent runtime for long-running tasks
2026-04-02 22:34:00 +08:00
Xubin Ren
e4b335ce81
refactor: extract runtime response guards into utils runtime module
2026-04-02 13:54:40 +00:00
Xubin Ren
714a4c7bb6
fix(runtime): address review feedback on retry and cleanup
2026-04-02 10:57:12 +00:00
Xubin Ren
eefd7e60f2
Merge remote-tracking branch 'origin/main' into feat/runtime-hardening
2026-04-02 10:40:49 +00:00
Xubin Ren
3558fe4933
fix(cli): honor custom config path in channel commands
2026-04-02 18:37:46 +08:00
masterlyj
11ba733ab6
fix(test): update load_config mock to accept config_path parameter
2026-04-02 18:37:46 +08:00
masterlyj
7332d133a7
feat(cli): add --config option to channels login and status commands
...
Allows users to specify custom config file paths when managing channels.
Usage:
nanobot channels login weixin --config .nanobot-feishu/config.json
nanobot channels status -c .nanobot-qq/config.json
- Added optional --config/-c parameter to both commands
- Defaults to ~/.nanobot/config.json when not specified
- Maintains backward compatibility
2026-04-02 18:37:46 +08:00
haosenwang1018
7a6416bcb2
test(matrix): skip cleanly when optional deps are missing
2026-04-02 18:17:00 +08:00
cypggs
ca68a89ce6
merge: resolve conflicts with upstream/main, preserve typing indicator
2026-04-02 14:28:23 +08:00
Xubin Ren
cc33057985
refactor(providers): rename openai responses helpers
2026-04-02 13:43:34 +08:00
Xubin Ren
ded0967c18
fix(providers): sanitize azure responses input messages
2026-04-02 13:43:34 +08:00
Kunal Karmakar
61d7411238
Fix failing test
2026-04-02 13:43:34 +08:00
Kunal Karmakar
76226274bf
Failing test
2026-04-02 13:43:34 +08:00
Kunal Karmakar
e206cffd7a
Add tests and handle json
2026-04-02 13:43:34 +08:00
Kunal Karmakar
ac2ee58791
Add tests and logs
2026-04-02 13:43:34 +08:00
Kunal Karmakar
7c44aa92ca
Fill up gaps
2026-04-02 13:43:34 +08:00
Kunal Karmakar
8c0607e079
Use SDK for stream
2026-04-02 13:43:34 +08:00
Kunal Karmakar
0417c3f03b
Use OpenAI responses API
2026-04-02 13:43:34 +08:00
Xubin Ren
9ba413c82e
test(cron): cover deliver flag on scheduled jobs
2026-04-02 13:03:46 +08:00
lucario
15faa3b115
fix(cron): fix extra indent for properties closing brace and required field
2026-04-02 13:03:46 +08:00
lucario
35b51c0694
fix(cron): fix extra indent for deliver param
2026-04-02 13:03:46 +08:00
lucario
5f2157baeb
fix(cron): move deliver param before job_id in parameters schema
2026-04-02 13:03:46 +08:00
archlinux
2e3cb5b20e
fix default value True
2026-04-02 13:03:46 +08:00
lucario
73e80b199a
feat(cron): add deliver parameter to support silent jobs, default true for backward compatibility
2026-04-02 13:03:46 +08:00
Xubin Ren
a3e4c77fff
fix(providers): normalize anthropic cached token usage
2026-04-02 12:51:45 +08:00
chengyongru
da08dee144
feat(provider): show cache hit rate in /status ( #2645 )
2026-04-02 12:51:45 +08:00
Tejas1Koli
42fa8fa933
fix(providers): only apply cache_control for Claude models on OpenRouter
2026-04-02 04:04:18 +08:00
Tejas1Koli
05fe73947f
fix(providers): only apply cache_control for Claude models on OpenRouter
2026-04-02 04:04:18 +08:00
Xubin Ren
485c75e065
test(exec): verify windows drive-root workspace guard
2026-04-02 04:00:03 +08:00
zhangxiaoyu.york
bc2e474079
Fix ExecTool to block root directory paths when restrict_to_workspace is enabled
2026-04-02 04:00:03 +08:00
WormW
ddc9fc4fd2
fix: also check channel match before inheriting default message_id
...
Different channels could theoretically share the same chat_id.
Check both channel and chat_id to avoid cross-channel reply issues.
Co-authored-by: layla <111667698+04cb@users.noreply.github.com>
2026-04-02 03:46:54 +08:00
WormW
6973bfff24
fix(agent): message tool incorrectly replies to original chat when targeting different chat_id
...
When the message tool is used to send a message to a different chat_id
than the current conversation, it was incorrectly including the default
message_id from the original context. This caused channels like Feishu
to send the message as a reply to the original chat instead of creating
a new message in the target chat.
Changes:
- Only use default message_id when chat_id matches the default context
- When targeting a different chat, set message_id to None to avoid
unintended reply behavior
2026-04-02 03:46:54 +08:00
Xubin Ren
7e719f41cc
test(providers): cover github copilot lazy export
2026-04-02 03:46:40 +08:00