 Xubin RenandGitHub
|
e16fa7c6b1
|
Merge PR #3561: fix: origin_message_id support and outbound deduplication
fix: origin_message_id support and outbound deduplication
|
2026-05-01 19:52:10 +08:00 |
|
Xubin Ren
|
26e953f0b9
|
Revert "fix(feishu): streaming card and tool hint respect reply_to_message in…"
This reverts commit 651b6b933f.
|
2026-04-30 13:27:37 +08:00 |
|
 Xubin RenandGitHub
|
58f8c04bd5
|
Merge PR #3382: feat(web-tools): Improve to allow bypassing Cloudflare captchas
feat(web-tools): Improve to allow bypassing Cloudflare captchas
|
2026-04-28 15:27:47 +08:00 |
|
 Xubin RenandGitHub
|
b8932bc041
|
Merge PR #3397: fix(discord): full thread support with session isolation and allowlist enforcement
fix(discord): full thread support with session isolation and allowlist enforcement
|
2026-04-27 17:36:53 +08:00 |
|
 Xubin RenandGitHub
|
2fe8d21b6e
|
Merge PR #3459: feat(session): enforce replay/file-cap invariants for history lifecycle
feat(session): enforce replay/file-cap invariants for history lifecycle
|
2026-04-27 16:17:23 +08:00 |
|
 Xubin RenandGitHub
|
537c66a3f8
|
Merge PR #3440: fix: Automatically clean up unsupported or expired MSTeams session
fix: Automatically clean up unsupported or expired MSTeams session
|
2026-04-27 15:45:31 +08:00 |
|
 Xubin RenandGitHub
|
ca66dd8cd1
|
Merge PR #3463: fix(agent): expose session timestamps in model context
fix(agent): expose session timestamps in model context
|
2026-04-27 02:22:37 +08:00 |
|
 Xubin RenandGitHub
|
c64ec3e73c
|
Merge PR #3454: feat(webui): add ask-user choices and model settings
feat(webui): add ask-user choices and model settings
|
2026-04-26 22:19:39 +08:00 |
|
 Xubin RenandGitHub
|
d920f07715
|
Merge PR #3310: feat(webui): add initial browser UI with websocket chat and i18n
feat(webui): add initial browser UI with websocket chat and i18n
|
2026-04-19 21:41:07 +08:00 |
|
 Xubin RenandGitHub
|
9773d4b8ab
|
Merge PR #3112: fix(config): return provider default api base in config resolution
fix(config): return provider default api base in config resolution
|
2026-04-19 04:14:46 +08:00 |
|
 Xubin RenandGitHub
|
3218307f80
|
Merge PR #3125: fix: harden cron tool contract
fix: harden cron tool contract
|
2026-04-19 04:01:27 +08:00 |
|
 Xubin RenandGitHub
|
92a5125108
|
Merge PR #3141: fix(skills): use yaml.safe_load for frontmatter parsing to handle multiline descriptions
fix(skills): use yaml.safe_load for frontmatter parsing to handle multiline descriptions
|
2026-04-16 20:07:15 +08:00 |
|
 Xubin RenandGitHub
|
cbc1161f75
|
Merge PR #2938: feat(api): support file uploads via JSON base64 and multipart/form-data
feat(api): support file uploads via JSON base64 and multipart/form-data
|
2026-04-14 21:23:28 +08:00 |
|
 Xubin RenandGitHub
|
12c12869b4
|
Merge PR #2625: feat: add HTTP health endpoint on gateway port
feat: add HTTP health endpoint on gateway port
|
2026-04-14 15:24:35 +08:00 |
|
 Xubin RenandGitHub
|
a81e4c1791
|
Merge PR #2959: feat(skills): add disabled_skills config to exclude skills from loading
feat(skills): add disabled_skills config to exclude skills from loading
|
2026-04-12 10:46:50 +08:00 |
|
 Xubin RenandGitHub
|
a70928cc5c
|
Merge PR #3045: fix(agent): preserve tool results on fatal error to prevent orphan tool_calls
fix(agent): preserve tool results on fatal error to prevent orphan tool_calls (#2943)
|
2026-04-11 23:08:03 +08:00 |
|
 Xubin RenandGitHub
|
e0b9edf985
|
Merge PR #3017: feat(tool): improve file editing and add notebook tool
feat(tool): improve file editing and add notebook tool
|
2026-04-11 18:02:25 +08:00 |
|
 Xubin RenandGitHub
|
e7bbbe98f4
|
Merge PR #3019: fix(mcp): support multiple MCP servers
fix(mcp): support multiple MCP servers
|
2026-04-11 17:35:47 +08:00 |
|
 Xubin RenandGitHub
|
1263869c0a
|
Merge PR #3038: fix(cron): guard _load_store against reentrant reload during job execution
fix(cron): guard _load_store against reentrant reload during job execution
|
2026-04-11 16:28:47 +08:00 |
|
 Xubin RenandGitHub
|
3361ac9dd1
|
Merge PR #2637: fix(providers): enforce role alternation for non-Claude providers
fix(providers): enforce role alternation for non-Claude providers
|
2026-04-09 12:47:41 +08:00 |
|
 Xubin RenandGitHub
|
f65f788ab1
|
Merge PR #2762: fix: make app-layer retry classification structured
fix: make app-layer retry classification structured (408/409/timeout/connection)
|
2026-04-06 16:47:49 +08:00 |
|
 Xubin RenandGitHub
|
9174a85b4e
|
Merge PR #2520: fix(telegram): split oversized final streamed replies
fix(telegram): split oversized final streamed replies
|
2026-04-06 14:41:00 +08:00 |
|
 Xubin RenandGitHub
|
b92d54140d
|
Merge PR #2449: fix: cron reminder notifications being suppressed
fix: cron reminder notifications being suppressed
|
2026-04-06 14:33:20 +08:00 |
|
 Xubin RenandGitHub
|
219c9c6137
|
Merge PR #2531: fix(whatsapp): detect phone vs LID by JID suffix, not field name
fix(whatsapp): detect phone vs LID by JID suffix, not field name
|
2026-04-06 14:21:06 +08:00 |
|
 Xubin RenandGitHub
|
4c6a4321e0
|
Merge PR #2530: feat: unify voice message transcription via OpenAI/Groq Whisper
feat: unify voice message transcription via OpenAI/Groq Whisper
|
2026-04-06 14:16:09 +08:00 |
|
 Xubin RenandGitHub
|
ee71d8a31f
|
Merge PR #121: fix typos in readme
|
2026-04-06 04:01:25 +08:00 |
|
 Xubin RenandGitHub
|
5e01a910bf
|
Merge PR #1940: feat: sandbox exec calls with bwrap and run container as non-root
feat: sandbox exec calls with bwrap and run container as non-root (minimally fixes #1873)
|
2026-04-06 03:33:53 +08:00 |
|
 Xubin RenandGitHub
|
04a41e31ac
|
Merge PR #2754: feat(agent): add built-in grep and glob search tools
feat(agent): add built-in grep and glob search tools
|
2026-04-04 23:30:18 +08:00 |
|
 Xubin RenandGitHub
|
cf56d15bdf
|
Merge PR #2722: perf(cache): stabilize tool prefix caching under MCP tool churn
perf(cache): stabilize tool prefix caching under MCP tool churn
|
2026-04-04 21:57:15 +08:00 |
|
 Xubin RenandGitHub
|
193eccdac7
|
Merge PR #2779: feat: integrate Jinja2 templating for agent responses and memory
feat: integrate Jinja2 templating for agent responses and memory
|
2026-04-04 19:17:56 +08:00 |
|
 Xubin RenandGitHub
|
b9ee236ca1
|
Merge PR #2717: feat(memory): two-stage memory system with Dream consolidation
feat(memory): two-stage memory system with Dream consolidation
|
2026-04-04 18:18:43 +08:00 |
|
 Xubin RenandGitHub
|
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 RenandGitHub
|
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 RenandGitHub
|
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 RenandGitHub
|
4d7493dd4a
|
Merge PR #2646: fix(weixin): restore weixin typing indicator
fix: restore Weixin typing indicator
|
2026-04-04 02:00:47 +08:00 |
|
 Xubin RenandGitHub
|
7113ad34f4
|
Merge PR #2733: harden agent runtime for long-running tasks
|
2026-04-02 22:34:00 +08:00 |
|
 Xubin RenandGitHub
|
63d646f731
|
Merge PR #2676: fix(test): fix flaky test_fixed_session_requests_are_serialized
fix(test): fix flaky test_fixed_session_requests_are_serialized
|
2026-03-31 22:08:47 +08:00 |
|
 Xubin RenandGitHub
|
a4dfbdf996
|
Merge PR #2614: feat(weixin): weixin multimodal capabilities and align with version 2.1.1
feat(weixin): weixin multimodal capabilities and align with version 2.1.1
|
2026-03-31 19:43:02 +08:00 |
|
 Xubin RenandGitHub
|
1814272583
|
Merge PR #1362: feat: add OpenAI-compatible API
feat: add OpenAI-compatible API
|
2026-03-30 23:40:04 +08:00 |
|
 Xubin RenandGitHub
|
c00e64a817
|
Merge PR #2386: feat(channel): enhance Telegram, QQ, Feishu, and WhatsApp
feat: telegram/qq/whatsapp/feishu enhancement
|
2026-03-24 11:40:15 +08:00 |
|
 Xubin RenandGitHub
|
b5c95b1a34
|
Merge PR #2204: fix(cron): scope cron state to each workspace with safe default-only migration
fix(cron): scope cron state to each workspace with safe default-only migration
|
2026-03-24 10:46:49 +08:00 |
|
 Xubin RenandGitHub
|
5fd66cae5c
|
Merge PR #1109: perf: optimize prompt cache hit rate for Anthropic models
perf: optimize prompt cache hit rate for Anthropic models
|
2026-03-22 14:23:41 +08:00 |
|
 Xubin RenandGitHub
|
064ca256f5
|
Merge PR #1985: feat: add /status command to show runtime info
feat: add /status command to show runtime info
|
2026-03-22 00:11:34 +08:00 |
|
 Xubin RenandGitHub
|
ec2e12b028
|
Merge PR #1824: feat(tools): enhance ExecTool with enable flag
feat(tools): enhance ExecTool with enable flag
|
2026-03-21 01:54:18 +08:00 |
|
 Xubin RenandGitHub
|
b939a916f0
|
Merge PR #1763: align onboard with config and workspace overrides
align onboard with config and workspace overrides
|
2026-03-17 14:03:50 +08:00 |
|
 Xubin RenandGitHub
|
a9621e109f
|
Merge PR #1136: fix: workspace path in onboard command ignores config setting
fix: workspace path in onboard command ignores config setting
|
2026-03-17 13:10:32 +08:00 |
|
 Xubin RenandGitHub
|
f1a82c0165
|
Merge PR #1963: feat(feishu): implement message reply/quote support
feat(feishu): implement message reply/quote support
|
2026-03-14 23:10:45 +08:00 |
|
 Xubin RenandGitHub
|
37b994202d
|
Merge PR #1796: fix(telegram): avoid media filename collisions
fix(telegram): avoid media filename collisions
|
2026-03-14 21:29:07 +08:00 |
|
 Xubin RenandGitHub
|
58389766a7
|
Merge PR #1981: chore: bump wecom-aibot-sdk-python to >=0.1.5
chore: bump wecom-aibot-sdk-python to >=0.1.5
|
2026-03-13 23:42:43 +08:00 |
|
 Xubin RenandGitHub
|
3ee80b000c
|
Merge PR #1949: docs: correct BaiLian dashscope apiBase endpoint
docs: correct BaiLian dashscope apiBase endpoint
|
2026-03-13 12:18:00 +08:00 |
|
 Xubin RenandGitHub
|
62a2e71748
|
Merge PR #1958: fix(restart): use -m nanobot for Windows compatibility
fix(restart): use -m nanobot for Windows compatibility
|
2026-03-13 11:19:57 +08:00 |
|
 Xubin RenandGitHub
|
ba045f56d8
|
Merge PR #1941: fix(qq): restore plain text replies for legacy clients
fix(qq): restore plain text replies for legacy clients
|
2026-03-13 10:57:58 +08:00 |
|
 Xubin RenandGitHub
|
aab909e936
|
Merge PR #1953: fix: catch BaseException in MCP connection to handle CancelledError
fix: catch BaseException in MCP connection to handle CancelledError
|
2026-03-13 10:57:11 +08:00 |
|
 Xubin RenandGitHub
|
fc4f7cca21
|
Merge PR #1909: fix: raise tool result history limit to 16k and force save_memory in consolidation
fix: raise tool result history limit to 16k and force save_memory in consolidation
|
2026-03-12 11:11:01 +08:00 |
|
 Xubin RenandGitHub
|
d313765442
|
Merge PR #1897: fix: wecom-aibot-sdk-python should use pypi version
fix: wecom-aibot-sdk-python should use pypi version
|
2026-03-12 10:52:37 +08:00 |
|
 Xubin RenandGitHub
|
214693ce6e
|
Merge PR #1895: enhance: improve filesystem & shell tools with pagination, fallback matching, and smarter output
enhance: improve filesystem & shell tools with pagination, fallback matching, and smarter output
|
2026-03-12 00:22:32 +08:00 |
|
 Xubin RenandGitHub
|
ff10d01d58
|
Merge PR #1885: feat: allow direct references in hatch metadata for wecom dep
feat: allow direct references in hatch metadata for wecom dep
|
2026-03-11 22:53:56 +08:00 |
|
 Xubin RenandGitHub
|
0321fbe2ab
|
Merge PR #1888: refactor: auto-discover channels via pkgutil, eliminate hardcoded registry
refactor: auto-discover channels via pkgutil, eliminate hardcoded registry
|
2026-03-11 22:24:25 +08:00 |
|
 Xubin RenandGitHub
|
4f7613d608
|
Merge PR #1855: fix: bump litellm version to 1.82.1 for Moonshot provider support
fix: bump litellm version to 1.82.1 for Moonshot provider support
|
2026-03-11 11:31:14 +08:00 |
|
 Xubin RenandGitHub
|
81b22a9e3a
|
Merge PR #1741: fix: ensure feishu audio file has .opus extension for Groq Whisper compatibility
fix: ensure feishu audio file has .opus extension for Groq Whisper compatibility
|
2026-03-10 00:26:30 +08:00 |
|
 Xubin RenandGitHub
|
51d113d5a5
|
Merge PR #1727: feat(qq): send messages using markdown payload
feat(qq): send messages using markdown payload
|
2026-03-08 23:40:30 +08:00 |
|
 Xubin RenandGitHub
|
55fb771e1e
|
Merge PR #1677: fix(auth): prevent allowlist bypass via sender_id token splitting
fix(auth): prevent allowlist bypass via sender_id token splitting
|
2026-03-08 00:37:09 +08:00 |
|
 Xubin RenandGitHub
|
7b676962ed
|
Merge PR #1568: fix(feishu): isolate lark ws Client event loop from main asyncio loop
fix(feishu): isolate lark ws Client event loop from main asyncio loop
|
2026-03-05 17:38:57 +08:00 |
|
 Xubin RenandGitHub
|
fb74281434
|
Merge PR #1499: fix(qq): add msg_seq to prevent message deduplication error
fix(qq): add msg_seq to prevent message deduplication error
|
2026-03-05 10:39:45 +08:00 |
|
 Xubin RenandGitHub
|
2484dc5ea6
|
Merge PR #1533: fix(tests): resolve failing tests
fix(tests): resolve failing tests
|
2026-03-05 10:28:39 +08:00 |
|
 Xubin RenandGitHub
|
4e9f08cafa
|
Merge PR #1511: fix: add size limit to ReadFileTool to prevent OOM
fix: add size limit to ReadFileTool to prevent OOM
|
2026-03-05 01:12:40 +08:00 |
|
 Xubin RenandGitHub
|
fd3b4389d2
|
Merge PR #1531: fix(feishu): convert audio type to file for API compatibility
fix(feishu): convert audio type to file for API compatibility
|
2026-03-05 00:38:15 +08:00 |
|
 Xubin RenandGitHub
|
a156a8ee93
|
Merge PR #1507: fix: guard validate_params against non-dict input
fix: guard validate_params against non-dict input
|
2026-03-05 00:36:29 +08:00 |
|
 Xubin RenandGitHub
|
d9ce3942fa
|
Merge PR #1508: fix: handle invalid ISO datetime in CronTool gracefully
fix: handle invalid ISO datetime in CronTool gracefully
|
2026-03-05 00:35:16 +08:00 |
|
 Xubin RenandGitHub
|
522cf89d53
|
Merge PR #1521: test: fix test failures from refactored cron and context builder
test: fix test failures from refactored cron and context builder
|
2026-03-05 00:34:01 +08:00 |
|
 Xubin RenandGitHub
|
a2762351b3
|
Merge PR #1525: fix(codex): pass reasoning_effort to Codex API
fix(codex): pass reasoning_effort to Codex API
|
2026-03-05 00:31:09 +08:00 |
|
 Xubin RenandGitHub
|
1303cc6669
|
Merge PR #1485: fix: add missed openai dependency
fix: add missed `openai` dependency
|
2026-03-04 00:14:52 +08:00 |
|
 Xubin RenandGitHub
|
c69e45f987
|
Merge PR #1371 to auto-reload jobs.json when modified externally
fix(cron): auto-reload jobs.json when modified externally
|
2026-03-01 14:02:37 +08:00 |
|
 Xubin RenandGitHub
|
422969d468
|
Merge PR #1348: fix(lark): Remove non-existent stop() call on Lark ws.Client when enable lark channel
fix(lark): Remove non-existent stop() call on Lark ws.Client when enable lark channel
|
2026-03-01 01:23:27 +08:00 |
|
 Xubin RenandGitHub
|
8c1627c594
|
Merge PR #1351 to add reasoning_effort config to enable LLM thinking mode
feat: add reasoning_effort config to enable LLM thinking mode
|
2026-03-01 01:20:49 +08:00 |
|
 Xubin RenandGitHub
|
76c3144c7c
|
Merge PR #1347 to streamline subagent prompt
refactor: streamline subagent prompt by reusing ContextBuilder and SkillsLoader
|
2026-03-01 00:38:44 +08:00 |
|
 Xubin RenandGitHub
|
9e546442d2
|
Merge PR #1326: use WeakValueDictionary for consolidation locks
refactor: use WeakValueDictionary for consolidation locks
|
2026-02-28 16:31:16 +08:00 |
|
 Xubin RenandGitHub
|
08752fab2f
|
Merge PR #1307 to pass msg_id in QQ C2C reply
fix: pass msg_id in QQ C2C reply to avoid proactive message permissio…
|
2026-02-28 15:54:39 +08:00 |
|
 Xubin RenandGitHub
|
44e120dd0b
|
Merge PR #1317: modify Feishu bot permissions in README
Modify Feishu bot permissions in README
|
2026-02-28 15:48:59 +08:00 |
|
 Xubin RenandGitHub
|
32f42df7ef
|
Merge PR #1316 to remove overly broad "codex" keyword from openai_codex provider
fix: remove overly broad "codex" keyword from openai_codex provider
|
2026-02-28 12:14:30 +08:00 |
|
 Xubin RenandGitHub
|
a4d95fd064
|
Merge PR #1293 to generate short alphanumeric tool_call_id for Mistral compatibility
fix: generate short alphanumeric tool_call_id for Mistral compatibility
|
2026-02-28 00:15:52 +08:00 |
|
 Xubin RenandGitHub
|
ef09add825
|
Merge PR #1278 to guide llm grep using timestamp
Fix(prompt): guide llm grep using timestamp
|
2026-02-27 23:42:05 +08:00 |
|
 Xubin RenandGitHub
|
e86cfcde22
|
Merge PR #1200 to update heartbeat tests to match two-phase tool-call architecture
fix: update heartbeat tests to match two-phase tool-call architecture
|
2026-02-27 18:10:35 +08:00 |
|
 Xubin RenandGitHub
|
cffba8d0be
|
Merge PR #1214 to support explicit provider selection in config
feat: support explicit provider selection in config
|
2026-02-26 10:17:08 +08:00 |
|
 Xubin RenandGitHub
|
8d1eec114a
|
Merge PR #1102 to replace HEARTBEAT_OK token with virtual tool-call decision
fix(heartbeat): replace HEARTBEAT_OK token with virtual tool-call decision
|
2026-02-24 19:07:55 +08:00 |
|
 Xubin RenandGitHub
|
54e350a496
|
Merge PR #1054 to deliver agent response to user and fix HEARTBEAT_OK detection
fix(heartbeat): deliver agent response to user and fix HEARTBEAT_OK detection
|
2026-02-23 21:52:08 +08:00 |
|
 Xubin RenandGitHub
|
b2a1d1208e
|
Merge PR #1046 to improve agent reliability: behavioral constraints, full tool history, error hints
improve agent reliability: behavioral constraints, full tool history, error hints
|
2026-02-23 17:16:09 +08:00 |
|
 Xubin RenandGitHub
|
e69ff8ac0e
|
Merge pull request #1043 to move workspace/ to nanobot/templates/ for packaging
refactor: move workspace/ to nanobot/templates/ for packaging
|
2026-02-23 16:11:44 +08:00 |
|
 Xubin RenandGitHub
|
fff6207c6b
|
Merge PR #982 to add DingTalk, QQ, and Email to channels status output
feat(cli): add DingTalk, QQ, and Email to channels status output
|
2026-02-22 14:57:44 +08:00 |
|
 Xubin RenandGitHub
|
6a9152f0c4
|
Merge PR #947 to Fix 'Missing reasoning_content field' error for deepseek provider.
fix(context): Fix 'Missing `reasoning_content` field' error for deepseek provider.
|
2026-02-22 00:47:58 +08:00 |
|
 Xubin RenandGitHub
|
9b4273f6a4
|
Merge PR #951 to change VolcEngine litellm prefix from openai to volcengine
fix: change VolcEngine litellm prefix from openai to volcengine
|
2026-02-22 00:45:49 +08:00 |
|
 Xubin RenandGitHub
|
4dca2872bf
|
Merge pull request #930 to slim down agent loop
refactor: extract memory consolidation to MemoryStore, slim down agent loop
|
2026-02-21 16:19:08 +08:00 |
|
 Xubin RenandGitHub
|
6076f98527
|
Merge pull request #928 to remove interim text retry, use system prompt constraint instead
refactor(loop): remove interim text retry, use system prompt constraint instead
|
2026-02-21 15:35:35 +08:00 |
|
 Xubin RenandGitHub
|
21dd9e4112
|
Merge pull request #908 to route CLI interactive mode through message bus
refactor: route CLI interactive mode through message bus
|
2026-02-21 00:46:06 +08:00 |
|
 Xubin RenandGitHub
|
cd0a5affd5
|
Merge pull request #879 to make Telegram reply-to-message behavior configurable (default false)
feat: make Telegram reply-to-message behavior configurable, default false
|
2026-02-20 19:14:15 +08:00 |
|
 Xubin RenandGitHub
|
8de36d398f
|
docs: update news about release information
|
2026-02-18 23:09:55 +08:00 |
|
 Xubin RenandGitHub
|
92d279924f
|
Merge pull request #802 to enable stream intermediate progress
feat: stream intermediate progress to user during tool execution
|
2026-02-18 22:28:37 +08:00 |
|
 Xubin RenandGitHub
|
95fead24e0
|
Merge pull request #786 to add custom provider with direct openai-compatible support
feat: add custom provider with direct openai-compatible support
|
2026-02-18 10:40:26 +08:00 |
|
 Xubin RenandGitHub
|
831eb07945
|
docs: update security guideline
|
2026-02-18 02:00:30 +08:00 |
|
 Xubin RenandGitHub
|
23726cb802
|
Merge pull request #758 to add ClawHub skill
feat: add ClawHub skill
|
2026-02-17 16:15:47 +08:00 |
|