Commit Graph

1086 Commits

Author SHA1 Message Date
VITOHJL
468dfc406b feat(cron): improve cron job context handling
Improve cron job execution context to ensure proper message delivery and
session history recording.

Changes:
- Add [绯荤粺瀹氭椂浠诲姟] prefix to cron reminder messages to clearly mark
  them as system-driven, not user queries
- Use user role for cron reminder messages (required by some LLM APIs)
- Properly handle MessageTool to avoid duplicate message delivery
- Correctly save turn history with proper skip count
- Ensure Runtime Context is included in the message list

This ensures that:
1. Cron jobs execute with proper context
2. Messages are correctly delivered to users
3. Session history accurately records cron job interactions
4. The LLM understands these are system-driven reminders, not user queries
2026-03-01 17:05:04 +08:00
chengyongru
82be2ae1a5 feat(tool): add web search proxy 2026-03-01 16:51:54 +08:00
Re-bin
aff8d8e9e1 Merge PR #1361: fix(feishu): parse post wrapper payload for rich text messages 2026-03-01 06:36:32 +00:00
Re-bin
4752e95a24 merge origin/main into pr-1361 2026-03-01 06:36:29 +00:00
Re-bin
c2bbd6d20d Merge branch 'main' into pr-1361 2026-03-01 06:30:10 +00:00
Re-bin
7eae842132 Merge PR #1339: style: unify code formatting 2026-03-01 06:13:29 +00:00
Re-bin
3c6c49cc5d Merge branch 'main' into pr-1339
Made-with: Cursor

# Conflicts:
#	nanobot/cron/service.py
2026-03-01 06:06:01 +00:00
Xubin Ren
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
Re-bin
89e5a28097 fix(cron): auto-reload jobs.json when modified externally 2026-03-01 06:01:47 +00:00
Jack Lu
3ee061b879 Merge branch 'main' into main 2026-03-01 13:35:24 +08:00
yzchen
2fc16596d0 fix(feishu): parse post wrapper payload for rich text messages 2026-03-01 02:17:10 +08:00
Re-bin
f172c9f381 docs: reformat release news with v0.1.4.post3 release 2026-02-28 18:06:56 +00:00
Re-bin
ee9bd6a96c docs: update v0.1.4.post3 release news 2026-02-28 18:04:12 +00:00
Re-bin
4f0530dd61 release: v0.1.4.post3 2026-02-28 17:55:18 +00:00
Re-bin
925302c01f Merge PR #1330: fix thinking mode support (reasoning_content + thinking_blocks) 2026-02-28 17:37:15 +00:00
Re-bin
5ca386ebf5 fix: preserve reasoning_content and thinking_blocks in session history 2026-02-28 17:37:12 +00:00
Re-bin
a47c2e9a37 Merge branch 'main' into pr-1330
Made-with: Cursor

# Conflicts:
#	nanobot/providers/litellm_provider.py
2026-02-28 17:25:53 +00:00
Xubin Ren
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 Ren
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
Re-bin
f9d72e2e74 feat: add reasoning_effort config to enable LLM thinking mode 2026-02-28 17:18:05 +00:00
zhangxiaoyu.york
9e2f69bd5a tidy up 2026-03-01 00:51:17 +08:00
Re-bin
0a5f3b6194 Merge PR #1346: fix(qq): disable botpy file log on read-only fs 2026-02-28 16:45:08 +00:00
Re-bin
c34e1053f0 fix(qq): disable botpy file log to fix read-only filesystem error 2026-02-28 16:45:06 +00:00
Re-bin
e0a78d78f9 Merge branch 'main' into pr-1346 2026-02-28 16:43:45 +00:00
Xubin Ren
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
zerone0x
cfe33ff7cd fix(qq): disable botpy file log to fix read-only filesystem error
When nanobot is run as a systemd service with ProtectSystem=strict,
the process cwd defaults to the read-only root filesystem (/). botpy's
default Client configuration includes a TimedRotatingFileHandler that
writes 'botpy.log' to os.getcwd(), which raises [Errno 30] Read-only
file system.

Pass ext_handlers=False when constructing the botpy Client subclass to
suppress the file handler. nanobot already routes all log output through
loguru, so botpy's file handler is redundant.

Fixes #1343

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-28 17:35:07 +01:00
Re-bin
8545d5790e refactor: streamline subagent prompt by reusing ContextBuilder and SkillsLoader 2026-02-28 16:32:50 +00:00
zhangxiaoyu.york
5d829ca575 bugfix: remove client.stop 2026-03-01 00:30:03 +08:00
Re-bin
a422c606d8 Merge PR #1337: feat(dingtalk): send images and media as proper message types 2026-02-28 16:23:44 +00:00
Re-bin
73a708770e refactor: compress DingTalk helpers 2026-02-28 16:23:43 +00:00
zhangxiaoyu.york
b3af59fc8e bugfix: remove client.stop 2026-03-01 00:20:32 +08:00
JK_Lu
977ca725f2 style: unify code formatting and import order
- Remove trailing whitespace and normalize blank lines
- Unify string quotes and line breaks for long lines
- Sort imports alphabetically across modules
2026-02-28 20:55:43 +08:00
siyuan.qsy
cfc55d626a feat(dingtalk): send images as image messages, keep files as attachments 2026-02-28 20:34:23 +08:00
fengxiaohu
52222a9f84 fix(providers): allow reasoning_content in message history for thinking models 2026-02-28 18:46:15 +08:00
Re-bin
bfc2fa88f3 Merge PR #1325: add message deduplication to WhatsApp channel 2026-02-28 08:38:29 +00:00
Re-bin
95ffe47e34 refactor: use OrderedDict for WhatsApp dedup, consistent with Feishu 2026-02-28 08:38:29 +00:00
Re-bin
d8d954ad46 Merge remote-tracking branch 'origin/main' into pr-1325 2026-02-28 08:33:13 +00:00
Xubin Ren
9e546442d2 Merge PR #1326: use WeakValueDictionary for consolidation locks
refactor: use WeakValueDictionary for consolidation locks
2026-02-28 16:31:16 +08:00
Re-bin
8410f859f7 refactor: use WeakValueDictionary for consolidation locks — auto-cleanup, no manual pop 2026-02-28 08:26:55 +00:00
spartan077
c0ad986504 fix: add message deduplication to WhatsApp channel
Prevent infinite loops by tracking processed message IDs in WhatsApp
channel. The bridge may send duplicate messages which caused the bot
to respond repeatedly with the same generic message.

Changes:
- Add _processed_message_ids deque (max 2000) to track seen messages
- Skip processing if message_id was already processed
- Align WhatsApp dedup with other channels (Feishu, Email, Mochat, QQ)

This fixes the issue where WhatsApp gets stuck in a loop sending
identical responses repeatedly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 13:44:22 +05:30
Re-bin
e1832e75b5 Merge PR #1286: fix Windows path regex truncation in ExecTool 2026-02-28 08:09:56 +00:00
Re-bin
b89b5a7e2c refactor: compress _extract_absolute_paths comments 2026-02-28 08:09:56 +00:00
Re-bin
05e0d271fc Merge remote-tracking branch 'origin/main' into pr-1286 2026-02-28 08:07:07 +00:00
Re-bin
b1f0335090 Merge PR #1294: fix tool hint crash when arguments is a list (Kimi K2.5) 2026-02-28 08:06:20 +00:00
Re-bin
89c0f4cae9 refactor: compress tool hint args handling to two lines 2026-02-28 08:06:20 +00:00
Re-bin
90eb90335a Merge remote-tracking branch 'origin/main' into pr-1294 2026-02-28 08:01:04 +00:00
Xubin Ren
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 Ren
44e120dd0b Merge PR #1317: modify Feishu bot permissions in README
Modify Feishu bot permissions in README
2026-02-28 15:48:59 +08:00
Re-bin
72b47446eb Merge PR #1323: fix Feishu interactive card content extraction 2026-02-28 07:40:31 +00:00
Re-bin
7bb7b85788 Merge remote-tracking branch 'origin/main' into pr-1323 2026-02-28 07:36:31 +00:00