Xubin Ren
04419326ad
fix(memory): migrate legacy HISTORY.md even when history.jsonl is empty
2026-04-04 10:11:53 +00:00
Xubin Ren
0a3a60a7a4
refactor(memory): simplify Dream config naming and rename gitstore module
2026-04-04 10:01:45 +00:00
Xubin Ren
a166fe8fc2
docs: clarify memory design and source-vs-release features
2026-04-04 09:34:37 +00:00
Xubin Ren
408a61b0e1
feat(memory): protect Dream cron and polish migration UX
2026-04-04 09:01:42 +00:00
Xubin Ren
6e896249c8
feat(memory): harden legacy history migration and Dream UX
2026-04-04 08:41:46 +00:00
Xubin Ren
7e0c196797
fix(memory): repair Dream follow-up paths and move GitStore to utils
...
Made-with: Cursor
2026-04-04 04:49:42 +00:00
Xubin Ren
30ea048f19
Merge remote-tracking branch 'origin/main' into pr-2717-review
2026-04-04 04:42:52 +00:00
Xubin Ren
7229a81594
fix(providers): disable Azure SDK retries by default
...
Made-with: Cursor
2026-04-04 12:36:45 +08:00
pikaxinge
dbdf7e5955
fix: prevent retry amplification by disabling SDK retries
2026-04-04 12:36:45 +08:00
Xubin Ren
6fbcecc880
Merge PR #2761 : fix: Retry-After was ignored, causing premature retries
...
fix: Retry-After was ignored, causing premature retries (now honors header/json hints)
2026-04-04 03:10:14 +08:00
Xubin Ren
91a9b7db24
Merge origin/main into fix/retry-after-robust
...
Made-with: Cursor
2026-04-03 19:07:30 +00:00
Xubin Ren
9840270f7f
test(tools): cover media dir access under workspace restriction
...
Made-with: Cursor
2026-04-04 03:03:58 +08:00
Shiniese
84c4ba7609
refactor: use unified get_media_dir() to get media path
2026-04-04 03:03:58 +08:00
Shiniese
624f607872
fix(filesystem): add media directory exemption to filesystem tool path checks
2026-04-04 03:03:58 +08:00
Shiniese
bc879386fe
fix(shell): allow media directory access when restrict_to_workspace is enabled
2026-04-04 03:03:58 +08:00
Xubin Ren
ca3b918cf0
docs: clarify retry behavior and web search defaults
2026-04-03 18:57:44 +00:00
Xubin Ren
b084122f9e
Merge PR #2643 : feat: unify web tool config under WebToolsConfig
...
feat: unify web tool config under WebToolsConfig + add web tool toggle controls
2026-04-04 02:51:40 +08:00
Xubin Ren
400f8eb38e
docs: update web search configuration information
2026-04-03 18:44:46 +00:00
Xubin Ren
652377bee9
Merge origin/main into feat/web-disable-flag
...
Made-with: Cursor
2026-04-03 18:41:43 +00:00
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
pikaxinge
5d1ea43858
fix: robust Retry-After extraction across provider backends
2026-04-02 18:39:24 +00:00
chengyongru
f824a629a8
feat(memory): add git-backed version control for dream memory files
...
- Add GitStore class wrapping dulwich for memory file versioning
- Auto-commit memory changes during Dream consolidation
- Add /dream-log and /dream-restore commands for history browsing
- Pass tracked_files as constructor param, generate .gitignore dynamically
2026-04-03 00:32:54 +08:00
chengyongru
a9e01bf838
fix(memory): extract successful solutions in consolidate prompt
...
Add "Solutions" category to consolidate prompt so trial-and-error
workflows that reach a working approach are captured in history for
Dream to persist. Remove overly broad "debug steps" skip rule that
discarded these valuable findings.
2026-04-02 23:02:42 +08:00
chengyongru
b9616674f0
feat(agent): two-stage memory system with Dream consolidation
...
Replace single-stage MemoryConsolidator with a two-stage architecture:
- Consolidator: lightweight token-budget triggered summarization,
appends to HISTORY.md with cursor-based tracking
- Dream: cron-scheduled two-phase processor that analyzes HISTORY.md
and updates SOUL.md, USER.md, MEMORY.md via AgentRunner with
edit_file tools for surgical, fault-tolerant updates
New files: MemoryStore (pure file I/O), Dream class, DreamConfig,
/dream and /dream-log commands. 89 tests covering all components.
2026-04-02 22:42:25 +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