78 Commits

Author SHA1 Message Date
Re-bin
491739223d fix: lower default temperature from 0.7 to 0.1 2026-02-23 08:24:53 +00:00
Re-bin
df2c837e25 feat(channels): split send_progress into send_progress + send_tool_hints 2026-02-23 07:12:41 +00:00
Yingwen Luo-LUOYW
31a873ca59 Merge branch 'main' of https://github.com/HKUDS/nanobot 2026-02-23 09:41:56 +08:00
Yingwen Luo-LUOYW
0c412b3728 feat(channels): add send_progress option to control progress message delivery
Add a boolean config option `channels.sendProgress` (default: false) to
control whether progress messages (marked with `_progress` metadata) are
sent to chat channels. When disabled, progress messages are filtered
out in the outbound dispatcher.
2026-02-23 09:41:13 +08:00
Re-bin
437ebf4e6e feat(mcp): make tool_timeout configurable per server via config 2026-02-22 18:04:13 +00:00
Re-bin
e1854c4373 feat: make Telegram reply-to-message behavior configurable, default false 2026-02-20 11:13:10 +00:00
Re-bin
bbd76e8f5b Merge branch 'main' into pr-807 2026-02-20 08:47:13 +00:00
Re-bin
82a318759f Merge branch 'main' into pr-812 2026-02-20 08:42:31 +00:00
Re-bin
73fdd0dd45 fix: complete ensure_ascii=False and UTF-8 encoding migration 2026-02-20 07:59:32 +00:00
Re-bin
b11f0ce6a9 fix: prefer explicit provider prefix over keyword match to fix Codex routing 2026-02-19 17:39:44 +00:00
PiEgg
9789307dd6
Fix Codex provider routing for GitHub Copilot models 2026-02-19 13:30:02 +08:00
chtangwin
a2379a08ac Fix: Ensure UTF-8 encoding and ensure_ascii=False for remaining file/JSON operations 2026-02-18 18:37:17 -08:00
chtangwin
c7b5dd9350 Fix: Ensure UTF-8 encoding for all file operations 2026-02-18 18:28:54 -08:00
Your Name
1663517998 feat: Add VolcEngine LLM provider support
- Add VolcEngine ProviderSpec entry in registry.py
- Add volcengine to ProvidersConfig class in schema.py
- Update model providers table in README.md
- Add description about VolcEngine coding plan endpoint
2026-02-19 03:02:16 +08:00
dxtime
c5b4331e69 feature: Added custom headers for MCP Auth use. 2026-02-19 01:21:17 +08:00
Re-bin
df09ba1232 Merge branch 'main' into pr-630 2026-02-18 03:13:00 +00:00
ras_bot
e5e5f02e73 merge: upstream/main into feat/add-siliconflow-provider, resolve schema conflict
- Keep siliconflow in ProvidersConfig
- Keep openai_codex and github_copilot from upstream/main

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 10:50:15 +08:00
Hyudryu
72db01db63 slack: Added replyInThread logic and custom react emoji in config 2026-02-17 13:42:57 -08:00
Re-bin
941c3d9826 style: restore single-line formatting for readability 2026-02-17 17:34:24 +00:00
Simon Guigui
4d4d629928 fix(config): mcpServers env variables should not be converted to snake case 2026-02-17 15:19:21 +01:00
Darye
5033ac1759 Added Github Copilot Provider 2026-02-16 15:02:12 +01:00
Re-bin
1ce586e9f5 fix: resolve Codex provider bugs and simplify implementation 2026-02-16 11:43:36 +00:00
Re-bin
9e5f7348fe Merge branch 'main' into pr-151 2026-02-16 09:19:40 +00:00
Re-bin
54d5f637e7 merge main into pr-554 2026-02-15 06:12:15 +00:00
Zhiwei Li
66cd21e6ec feat: add SiliconFlow provider support
Add SiliconFlow (硅基流动) as an OpenAI-compatible gateway provider.
SiliconFlow hosts multiple models (Qwen, DeepSeek, etc.) via an
OpenAI-compatible API at https://api.siliconflow.cn/v1.

Changes:
- Add ProviderSpec for siliconflow in providers/registry.py
- Add siliconflow field to ProvidersConfig in config/schema.py

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 20:27:10 +11:00
Re-bin
b76cf05c3a feat: add custom provider and non-destructive onboard 2026-02-13 16:05:00 +00:00
Re-bin
fd7e477b18 fix(security): bind WhatsApp bridge to localhost + optional token auth 2026-02-13 05:37:56 +00:00
Re-bin
94c21fc235 feat: redesign memory system — two-layer architecture with grep-based retrieval 2026-02-12 15:02:52 +00:00
Sergio Sánchez Vallés
e89afe61f1
feat(tools): add mcp support 2026-02-12 10:09:00 +01:00
Sergio Sánchez Vallés
cbab72ab72 fix: pydantic deprecation configdict 2026-02-11 13:01:29 +01:00
Re-bin
39dd7feb28 resolve conflicts with main and adapt MiniMax 2026-02-10 16:27:10 +00:00
Re-bin
d1f0615282 resolve conflicts with main; remove test_mochat_channel.py 2026-02-10 06:52:52 +00:00
Re-bin
ec4340d0d8 feat: add App Home step to Slack guide, default groupPolicy to mention 2026-02-09 16:49:13 +00:00
pinhua33
c6915d27e9 Merge remote-tracking branch 'upstream/main' into feature/codex-oauth 2026-02-10 00:44:03 +08:00
Re-bin
2c45657b14 resolve merge conflicts: keep all channels and add QQ 2026-02-09 11:58:38 +00:00
Re-bin
74e3c411a1 resolve merge conflicts: keep all channels and add slack 2026-02-09 11:17:07 +00:00
tjb-tech
866942eedd fix: update agentUserId in README and change base_url to HTTPS in configuration 2026-02-09 09:12:53 +00:00
tjb-tech
ef7972b6d3 Merge origin/main into feat/mochat-channel 2026-02-09 09:01:25 +00:00
tjb-tech
3779225917 refactor(channels): rename moltchat integration to mochat 2026-02-09 08:50:17 +00:00
tjb-tech
20b8a2fc58 feat(channels): add Moltchat websocket channel with polling fallback 2026-02-09 08:46:47 +00:00
yinwm
34dc933fce feat: add QQ channel integration with botpy SDK
Add official QQ platform support using botpy SDK with WebSocket connection.

Features:
- C2C (private message) support via QQ Open Platform
- WebSocket-based bot connection (no public IP required)
- Message deduplication with efficient deque-based LRU cache
- User whitelist support via allow_from configuration
- Clean async architecture using single event loop

Changes:
- Add QQChannel implementation in nanobot/channels/qq.py
- Add QQConfig schema with appId and secret fields
- Register QQ channel in ChannelManager
- Update README with QQ setup instructions
- Add qq-botpy dependency to pyproject.toml
- Add botpy.log to .gitignore

Setup:
1. Get AppID and Secret from q.qq.com
2. Configure in ~/.nanobot/config.json:
   {
     "channels": {
       "qq": {
         "enabled": true,
         "appId": "YOUR_APP_ID",
         "secret": "YOUR_APP_SECRET",
         "allowFrom": []
       }
     }
   }
3. Run: nanobot gateway

Note: Group chat support will be added in future updates.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-09 15:54:14 +08:00
pinhua33
ae908e0dcd Merge upstream/main: resolve conflicts with OAuth support 2026-02-09 15:13:11 +08:00
Re-bin
994f5601e9 resolve merge conflicts: keep both dingtalk and email channels 2026-02-09 06:02:36 +00:00
Re-bin
eb2fbf80da fix: use config key to detect provider, prevent api_base misidentifying as vLLM 2026-02-08 19:31:25 +00:00
Re-bin
499f602223 Merge branch 'main' into pr-219 2026-02-08 17:34:06 +00:00
pinhua33
08efe6ad3f refactor: add OAuth support to provider registry system
- Add is_oauth and oauth_provider fields to ProviderSpec
- Update _make_provider() to use registry for OAuth provider detection
- Update get_provider() to support OAuth providers (no API key required)
- Mark OpenAI Codex as OAuth-based provider in registry

This improves the provider registry architecture to support OAuth-based
authentication flows, making it extensible for future OAuth providers.

Benefits:
- OAuth providers are now registry-driven (not hardcoded)
- Extensible design: new OAuth providers only need registry entry
- Backward compatible: existing API key providers unaffected
- Clean separation: OAuth logic centralized in registry
2026-02-08 16:48:11 +08:00
pinhua33
c1dc8d3f55 fix: integrate OpenAI Codex provider with new registry system
- Add OpenAI Codex ProviderSpec to registry.py
- Add openai_codex config field to ProvidersConfig in schema.py
- Mark Codex as OAuth-based (no API key required)
- Set appropriate default_api_base for Codex API

This integrates the Codex OAuth provider with the refactored
provider registry system introduced in upstream commit 299d8b3.
2026-02-08 16:33:46 +08:00
Re-bin
299d8b33b3 refactor: replace provider if-elif chains with declarative registry 2026-02-08 07:29:31 +00:00
w0x7ce
240db894b4 feat(channels): add DingTalk channel support and documentation 2026-02-08 11:58:49 +08:00
Vincent Wu
3c8eadffed feat: add MiniMax provider support via LiteLLM 2026-02-08 03:55:24 +08:00