Xubin Ren and Xubin Ren
dbdb43faff
feat: channel plugin architecture with decoupled configs
...
- Add plugin discovery via Python entry_points (group: nanobot.channels)
- Move 11 channel Config classes from schema.py into their own channel modules
- ChannelsConfig now only keeps send_progress + send_tool_hints (extra=allow)
- Each built-in channel parses dict->Pydantic in __init__, zero internal changes
- All channels implement default_config() for onboard auto-population
- nanobot onboard injects defaults for all discovered channels (built-in + plugins)
- Add nanobot plugins list CLI command
- Add Channel Plugin Guide (docs/CHANNEL_PLUGIN_GUIDE.md)
- Fully backward compatible: existing config.json and sessions work as-is
- 340 tests pass, zero regressions
2026-03-14 16:13:38 +08:00
Xubin Ren
65cbd7eb78
docs: update web search configuration instruction
2026-03-13 05:54:51 +00:00
Xubin Ren
3040102c02
Merge PR #398 : multi-provider web search
2026-03-13 05:44:16 +00:00
Xubin Ren
ca5047b602
feat(web): multi-provider web search + Jina Reader fetch
2026-03-13 05:44:16 +00:00
Xubin Ren
511a335e82
Merge branch 'main' into pr-398
2026-03-13 05:12:10 +00:00
Xubin Ren
04b45e0e5c
Merge PR #1920 : langsmith integration
2026-03-13 04:54:22 +00:00
Xubin Ren
20b4fb3bff
fix: langsmith callback 防覆盖 + 加 optional dep
2026-03-13 04:54:22 +00:00
Xubin Ren
da325e4532
Merge branch 'main' into pr-1920
2026-03-13 04:20:14 +00:00
Xubin Ren
bd4ec46681
merge: PR #1916 add CI workflow + fix matrix init + test cleanup
2026-03-13 04:05:11 +00:00
Xubin Ren
84b107cf6c
fix(ci): upgrade setup-python, add system deps, simplify test assertions
2026-03-13 04:05:08 +00:00
Xubin Ren
4b50a7b6c0
Merge branch 'main' into pr-1916
2026-03-13 03:57:09 +00:00
Xubin Ren
2490af99d4
merge: PR #1810 validate save_memory payload + raw-archive fallback
2026-03-13 03:54:53 +00:00
Xubin Ren
6d3a0ab6c9
fix(memory): validate save_memory payload and raw-archive on repeated failure
...
- Require both history_entry and memory_update, reject null/empty values
- Fallback to tool_choice=auto when provider rejects forced function call
- After 3 consecutive consolidation failures, raw-archive messages to
HISTORY.md without LLM summarization to prevent context window overflow
2026-03-13 03:53:50 +00:00
Xubin Ren
60c29702cc
Merge branch 'main' into pr-1810
...
# Conflicts:
# nanobot/agent/memory.py
# tests/test_memory_consolidation_types.py
2026-03-13 03:29:16 +00:00
Xubin Ren
4f77b9385c
fix(memory): fallback to tool_choice=auto when provider rejects forced function call
...
Some providers (e.g. Dashscope in thinking mode) reject object-style
tool_choice with "does not support being set to required or object".
Retry once with tool_choice="auto" instead of failing silently.
Made-with: Cursor
2026-03-13 03:18:08 +00:00
Xubin Ren
e30d19e94d
merge: PR #1919 reorder Hatch build tables in pyproject
2026-03-13 03:07:27 +00:00
Xubin Ren
4f05e30331
Merge remote-tracking branch 'origin/main' into pr-1919
2026-03-13 03:02:17 +00:00
Xubin Ren
fb9d54da21
docs: update .gitignore to add .docs
2026-03-13 02:41:52 +00:00
Re-bin
774452795b
fix(memory): use explicit function name in tool_choice for DashScope compatibility
2026-03-12 16:09:24 +00:00
Re-bin
109ae13301
Merge PR #1930 : fix async interactive CLI formatting with prompt_toolkit
2026-03-12 15:38:39 +00:00
Re-bin
3fa62e7fda
fix: remove duplicate dim/arrow prefix in interactive progress line
2026-03-12 15:38:39 +00:00
Re-bin
48c74a11d4
Merge remote-tracking branch 'origin/main' into pr-1930
2026-03-12 15:28:57 +00:00
Re-bin
ab087ed05f
Merge PR #1608 : add VolcEngine/BytePlus providers and improve local provider auto-selection
2026-03-12 15:22:15 +00:00
Re-bin
3467a7faa6
fix: improve local provider auto-selection and update docs for VolcEngine/BytePlus
2026-03-12 15:22:15 +00:00
Re-bin
c38579dc22
Merge PR #1900 : telegram reply context and media forwarding
2026-03-12 06:16:57 +00:00
Re-bin
64888b4b09
Simplify reply context extraction, fix slash commands broken by reply injection, attach reply media regardless of caption
2026-03-12 06:16:57 +00:00
Re-bin
869149ef1e
Merge branch 'main' into pr-1900
2026-03-12 06:06:26 +00:00
Re-bin
6141b95037
fix: feishu bot mention detection — user_id can be None, not just empty string
2026-03-12 06:00:39 +00:00
Re-bin
af4e3b2647
Merge PR #1768 : feishu group mention policy
2026-03-12 04:45:57 +00:00
Re-bin
bd1ce8f144
Simplify feishu group_policy: default to mention, clean up mention detection
2026-03-12 04:45:57 +00:00
Re-bin
94e9b06086
Merge branch 'main' into pr-1768
2026-03-12 04:38:49 +00:00
Re-bin
95c741db62
docs: update nanobot key features
2026-03-12 04:35:34 +00:00
Re-bin
ad2be4ea8b
Merge PR #1751 : add /restart command
2026-03-12 04:33:51 +00:00
Re-bin
64aeeceed0
Add /restart command: restart the bot process from any channel
2026-03-12 04:33:51 +00:00
Re-bin
231b02963d
Merge branch 'main' into pr-1751
...
Made-with: Cursor
# Conflicts:
# nanobot/agent/loop.py
2026-03-12 03:53:59 +00:00
Re-bin
0a0017ff45
fix: raise tool result history limit to 16k and force save_memory in consolidation
2026-03-12 03:08:53 +00:00
Re-bin
35260ca157
fix: raise persisted tool result limit to 16k
2026-03-12 02:50:28 +00:00
Re-bin
6155a43b8a
Merge PR #1845 : absorb shell path guard improvements
2026-03-11 17:27:17 +00:00
Re-bin
dff1643fb3
Merge branch 'main' into pr-1845
2026-03-11 17:25:22 +00:00
Re-bin
0d94211a93
enhance: improve filesystem & shell tools with pagination, fallback matching, and smarter output
2026-03-11 16:20:11 +00:00
Re-bin
f869a53531
Merge PR #1827 : tighten shell path guard for quoted home paths
2026-03-11 15:43:07 +00:00
Re-bin
9d0db072a3
fix: guard quoted home paths in shell tool
2026-03-11 15:43:04 +00:00
Re-bin
85609c99b3
Merge remote-tracking branch 'origin/main' into pr-1827
2026-03-11 15:32:52 +00:00
Re-bin
d954e774dd
Merge PR #1874 : preserve provider-specific tool-call fields
2026-03-11 15:30:33 +00:00
Re-bin
9fc74bde9a
Merge remote-tracking branch 'origin/main' into pr-1874
2026-03-11 15:26:39 +00:00
Re-bin
254cfd48ba
refactor: auto-discover channels via pkgutil, eliminate hardcoded registry
2026-03-11 14:23:19 +00:00
Re-bin
b957dbc4cf
Merge PR #1868 : generation settings owned by provider, loop/memory/subagent agnostic
2026-03-11 09:47:04 +00:00
Re-bin
c72c2ce7e2
refactor: move generation settings to provider level, eliminate parameter passthrough
2026-03-11 09:47:04 +00:00
Re-bin
a180e84536
Merge remote-tracking branch 'origin/main' into pr-1868
2026-03-11 09:10:29 +00:00
Re-bin
89eff6f573
chore: remove stray nano backup files
2026-03-11 08:44:38 +00:00
Re-bin
e7761aae5b
Merge PR #1863 : add Ollama as a local LLM provider
2026-03-11 08:42:12 +00:00
Re-bin
4478838424
fix(pr-1863): complete Ollama provider routing and README docs
2026-03-11 08:42:12 +00:00
Re-bin
a6f37f61e8
Merge remote-tracking branch 'origin/main' into pr-1863
2026-03-11 08:22:02 +00:00
Re-bin
ec87946c04
docs: update table of contents position
2026-03-11 08:11:28 +00:00
Re-bin
486df1ddbd
docs: update table of contents in README
2026-03-11 08:10:38 +00:00
Re-bin
7ceddcded6
fix(wecom): await async disconnect, add SDK attribution in README
2026-03-11 08:04:14 +00:00
Re-bin
0dff7d374e
Merge PR #1327 : add WeCom channel
2026-03-11 07:57:12 +00:00
Re-bin
d0b4f0d70d
feat(wecom): add WeCom channel with SDK pinned to GitHub tag v0.1.2
2026-03-11 07:57:12 +00:00
Re-bin
eb6310c438
merge origin/main into pr-1327
...
Made-with: Cursor
2026-03-11 07:30:38 +00:00
Re-bin
82f4607b99
merge: PR #1856 exclude hidden files when syncing workspace templates
2026-03-11 03:50:54 +00:00
Re-bin
76c6063141
chore: normalize helpers.py file mode
2026-03-11 03:50:54 +00:00
Re-bin
f339f505cd
Merge remote-tracking branch 'origin/main' into pr-1856
2026-03-11 03:48:05 +00:00
Re-bin
40721a7871
merge: PR #1848 preserve subagent reasoning fields across tool turns
2026-03-11 03:47:24 +00:00
Re-bin
ddccf25bb1
fix(subagent): preserve reasoning fields across tool turns
...
Share assistant message construction between the main agent and subagents, and add a regression test to keep reasoning_content and thinking_blocks in follow-up tool rounds.
2026-03-11 03:47:24 +00:00
Re-bin
1d611f9bf3
Merge remote-tracking branch 'origin/main' into pr-1848
2026-03-11 03:42:14 +00:00
Re-bin
df5c0496d3
merge: PR #1859 support DingTalk voice recognition text
2026-03-11 03:40:33 +00:00
Re-bin
91f17cad00
feat(dingtalk): support voice recognition text fallback
...
Read DingTalk recognition text when text.content is empty, and add a handler-level regression test for voice transcript delivery.
2026-03-11 03:40:33 +00:00
Re-bin
ef88a5be00
Merge remote-tracking branch 'origin/main' into pr-1859
2026-03-11 03:32:07 +00:00
Re-bin
6747b23c00
merge: PR #1704 switch memory consolidation to token-based context windows
2026-03-10 19:55:06 +00:00
Re-bin
62ccda43b9
refactor(memory): switch consolidation to token-based context windows
...
Move consolidation policy into MemoryConsolidator, keep backward compatibility for legacy config, and compress history by token budget instead of message count.
2026-03-10 19:55:06 +00:00
Re-bin
4784eb4128
merge origin/main into pr-1704
2026-03-10 18:09:15 +00:00
Re-bin
947ed508ad
chore: exclude skills from core agent line count
2026-03-10 10:13:46 +00:00
Re-bin
a3b617e602
Merge PR #1512 : share transient LLM retry across agent paths
2026-03-10 10:10:40 +00:00
Re-bin
b0a5435b87
refactor(llm): share transient retry across agent paths
2026-03-10 10:10:37 +00:00
Re-bin
46b31ce7e7
Merge remote-tracking branch 'origin/main' into pr-1512
2026-03-10 09:40:48 +00:00
Re-bin
417a8a22b0
Merge PR #1416 : sync missing scripts from upstream openclaw repository and restore skill-creator validation
2026-03-10 09:20:22 +00:00
Re-bin
b7ecc94c9b
fix(skill-creator): restore validation and align packaging docs
2026-03-10 09:16:23 +00:00
Re-bin
6abd3d10ce
Merge remote-tracking branch 'origin/main' into pr-1416
2026-03-10 09:00:02 +00:00
Re-bin
a1b5f21b8b
merge: PR #1389 add Telegram groupPolicy support
2026-03-10 04:34:18 +00:00
Re-bin
4f9857f85f
feat(telegram): add configurable group mention policy
2026-03-10 04:34:15 +00:00
Re-bin
8aa754cd2e
Merge branch 'main' into pr-1389
2026-03-10 04:26:12 +00:00
Re-bin
d803144f44
merge: PR #1785 respect gateway port from config when --port omitted
2026-03-10 04:08:00 +00:00
Re-bin
0ecfb0a9d6
Merge branch 'main' into pr-1785
2026-03-10 04:07:53 +00:00
Re-bin
39d21bc19d
merge: PR #1797 let gateway use configured port by default
2026-03-10 03:54:46 +00:00
Re-bin
99b896f5d4
merge: PR #1784 refine Slack thread handling
2026-03-09 17:18:13 +00:00
Re-bin
28330940d0
fix(slack): skip thread_ts for direct messages
2026-03-09 17:18:10 +00:00
Re-bin
757921fb27
Merge branch 'main' into pr-1784
2026-03-09 16:35:10 +00:00
Re-bin
f19cefb1b9
docs: update v0.1.4.post4 release news
2026-03-08 17:00:46 +00:00
Re-bin
4147d0ff9d
docs: update v0.1.4.post4 release news
2026-03-08 17:00:09 +00:00
Re-bin
998021f571
docs: refresh install/update guidance and bump v0.1.4.post4
2026-03-08 16:57:28 +00:00
Re-bin
a0bb4320f4
chore: bump version to 0.1.4.post4
2026-03-08 16:44:47 +00:00
Re-bin
cd2b0f74c9
Merge PR #1579 : refine platform policy and memory skill docs
2026-03-08 16:39:40 +00:00
Re-bin
4715321319
Merge branch 'main' into pr-1579 and tighten platform guidance
2026-03-08 16:39:37 +00:00
Re-bin
ce9b516b11
Merge branch 'main' into pr-1579
2026-03-08 16:29:54 +00:00
Re-bin
e7bd5140c3
Merge PR #1728 : harden MCP tool cancellation handling
2026-03-08 16:03:24 +00:00
Re-bin
5eb67facff
Merge branch 'main' into pr-1728 and harden MCP tool cancellation handling
2026-03-08 16:01:06 +00:00
Re-bin
4e197dc18e
Merge branch 'main' into pr-1728
2026-03-08 15:51:06 +00:00
Re-bin
7cbb254a8e
fix: remove stale IDENTITY bootstrap entry
2026-03-08 15:39:40 +00:00
Re-bin
0b68360286
Merge PR #1635 : add agent config/workspace CLI support
2026-03-08 03:26:30 +00:00
Re-bin
bf0ab93b06
Merge branch 'main' into pr-1635
2026-03-08 03:24:15 +00:00