chengyongru
8f4baaa5ce
feat(gateway): support multiple instances with --workspace and --config options
...
- Add --workspace/-w flag to specify workspace directory
- Add --config/-c flag to specify config file path
- Move cron store to workspace directory for per-instance isolation
- Enable running multiple nanobot instances simultaneously
2026-03-02 23:18:54 +08:00
David Markey
ecdfaf0a5a
feat(custom-provider): add x-session-affinity header for prompt caching
2026-03-02 11:03:12 +00:00
Re-bin
3c79404194
fix(providers): sanitize thinking_blocks by provider and harden content normalization
2026-03-02 06:58:10 +00:00
Re-bin
1601470436
Merge PR #1399 : reload cron store on timer tick
2026-03-02 06:38:00 +00:00
Re-bin
9877195de5
chore(cron): remove redundant timer comment
2026-03-02 06:37:57 +00:00
Re-bin
f3979c0ee6
Merge branch 'main' into pr-1399
2026-03-02 06:30:43 +00:00
Re-bin
3f79245b91
Merge PR #1406 : normalize Matrix media metadata and attachment upload call
2026-03-02 06:28:48 +00:00
Re-bin
be4f83a760
Merge branch 'main' into pr-1406
2026-03-02 06:24:53 +00:00
Re-bin
b575606c9e
Merge PR #1403 : deny-by-default allowFrom with startup validation
2026-03-02 06:13:40 +00:00
Re-bin
bbfc1b40c1
security: deny-by-default allowFrom with wildcard support and startup validation
2026-03-02 06:13:37 +00:00
Wenjie Lei
2c63946519
fix(matrix): normalize media metadata and keyword-call attachment upload
2026-03-01 21:56:08 -08:00
chengyongru
d447be5ca2
security: deny by default in is_allowed for all channels
...
When allow_from is not configured, block all access by default
instead of allowing everyone. This prevents unauthorized access
when channels are enabled without explicit allow lists.
2026-03-02 13:18:43 +08:00
Joel Chan
e9d023f52c
feat(discord): add group policy to control group respond behaviour
2026-03-02 12:16:49 +08:00
yzchen
dba93ae83a
cron: reload jobs store on each timer tick
2026-03-02 11:19:45 +08:00
chengyongru
aed1ef5529
fix: add SIGTERM, SIGHUP handling and ignore SIGPIPE
...
- Add handler for SIGTERM to prevent "Terminated" message on Linux
- Add handler for SIGHUP for terminal closure handling
- Ignore SIGPIPE to prevent silent process termination
- Change os._exit(0) to sys.exit(0) for proper cleanup
Fixes issue #1365
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:04:53 +08:00
chengyongru
ae788a17f8
chore: add .worktrees to .gitignore
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:03:54 +08:00
Sense_wang
521217a7f5
fix(telegram): enforce group_policy in _on_message
...
When `group_policy` is set to "mention", skip messages in group chats
unless the bot is @mentioned or the message is a reply to the bot.
Fixes #1380
2026-03-01 16:50:36 +00:00
Sense_wang
43329018f7
fix(telegram): add group_policy config for Telegram groups
...
Add `group_policy` field to `TelegramConfig` with "open" (default) and
"mention" options, consistent with Slack and Matrix channel configs.
2026-03-01 16:50:02 +00:00
zerone0x
8571df2e63
fix(feishu): split card messages when content has multiple tables
...
Feishu rejects interactive cards that contain more than one table element
(API error 11310: card table number over limit).
Add FeishuChannel._split_elements_by_table_limit() which partitions the flat
card-elements list into groups of at most one table each. The send() method
now iterates over these groups and sends each as its own card message, so all
tables are delivered to the user instead of the entire message being dropped.
Single-table and table-free messages are unaffected (one card, same as before).
Fixes #1382
2026-03-01 15:13:44 +01:00
Re-bin
a5962170f6
Merge PR #1370 : add web tools proxy support
2026-03-01 12:53:20 +00:00
Re-bin
15529c668e
fix(web): sanitize proxy logs and polish search key hint
2026-03-01 12:53:18 +00:00
Re-bin
f5c0c75648
Merge branch 'main' into pr-1370
2026-03-01 12:48:01 +00:00
Re-bin
1109fdc682
Merge PR #1375 : improve cron reminder context handling
2026-03-01 12:46:06 +00:00
Re-bin
a7d24192d9
fix(cron): route scheduled jobs through process_direct with english reminder prefix
2026-03-01 12:45:53 +00:00
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
Tink
80219baf25
feat(api): add OpenAI-compatible endpoint with x-session-key isolation
2026-03-01 10:53:45 +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
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