Flo
1331084873
fix(providers): make max_tokens and max_completion_tokens mutually exclusive ( #2491 )
...
* fix(providers): make max_tokens and max_completion_tokens mutually exclusive
* docs: document supports_max_completion_tokens ProviderSpec option
2026-03-27 21:19:23 +08:00
longyongshen
813de554c9
feat(provider): add Step Fun (阶跃星辰) provider support
...
Made-with: Cursor
2026-03-25 22:43:47 +08:00
Xubin Ren
f0f0bf02d7
refactor(channel): centralize retry around explicit send failures
...
Make channel delivery failures raise consistently so retry policy lives in ChannelManager rather than being split across individual channels. Tighten Telegram stream finalization, clarify sendMaxRetries semantics, and align the docs with the behavior the system actually guarantees.
2026-03-25 22:37:11 +08:00
chengyongru
5e9fa28ff2
feat(channel): add message send retry mechanism with exponential backoff
...
- Add send_max_retries config option (default: 3, range: 0-10)
- Implement _send_with_retry in ChannelManager with 1s/2s/4s backoff
- Propagate CancelledError for graceful shutdown
- Fix telegram send_delta to raise exceptions for Manager retry
- Add comprehensive tests for retry logic
- Document channel settings in README
2026-03-25 22:37:11 +08:00
Xubin Ren
4a7d7b8823
feat(cron): inherit agent timezone for default schedules
...
Make cron use the configured agent timezone when a cron expression omits tz or a one-shot ISO time has no offset. This keeps runtime context, heartbeat, and scheduling aligned around the same notion of time.
Made-with: Cursor
2026-03-25 22:07:14 +08:00
Xubin Ren
13d6c0ae52
feat(config): add configurable timezone for runtime context
...
Add agent-level timezone configuration with a UTC default, propagate it into runtime context and heartbeat prompts, and document valid IANA timezone usage in the README.
2026-03-25 22:07:14 +08:00
Seeratul
321214e2e0
Update group policy explanation in README
...
Clarified instructions for group policy behavior in README.
2026-03-25 09:08:10 +08:00
Seeratul
b7df3a0aea
Update README with group policy clarification
...
Clarify group policy behavior for bot responses in group channels.
2026-03-25 09:08:10 +08:00
xcosmosbox
0ccfcf6588
fix(WeiXin): version migration
2026-03-25 02:58:19 +08:00
Xubin Ren
7b31af2204
docs: update news section
2026-03-24 18:11:50 +00:00
Xubin Ren
c3031c9cb8
docs: update news section about litellm
2026-03-24 18:11:03 +00:00
Xubin Ren
3dfdab704e
refactor: replace litellm with native openai + anthropic SDKs
...
- Remove litellm dependency entirely (supply chain risk mitigation)
- Add AnthropicProvider (native SDK) and OpenAICompatProvider (unified)
- Merge CustomProvider into OpenAICompatProvider, delete custom_provider.py
- Add ProviderSpec.backend field for declarative provider routing
- Remove _resolve_model, find_gateway, find_by_model (dead heuristics)
- Pass resolved spec directly into provider — zero internal lookups
- Stub out litellm-dependent model database (cli/models.py)
- Add anthropic>=0.45.0 to dependencies, remove litellm
- 593 tests passed, net -1034 lines
2026-03-25 01:58:48 +08:00
Xubin Ren
38ce054b31
fix(security): pin litellm and add supply chain advisory note
2026-03-24 15:55:43 +00:00
Xubin Ren
d454386f32
docs(weixin): clarify source-only installation in README
2026-03-24 02:51:50 +00:00
Xubin Ren
1d58c9b9e1
docs: update channel table and add plugin dev note
2026-03-23 17:17:10 +00:00
Xubin Ren
bef88a5ea1
docs: require explicit channel login command
2026-03-24 01:11:33 +08:00
Xubin Ren
d164548d9a
docs(weixin): add setup guide and focused channel tests
2026-03-24 01:11:33 +08:00
chengyongru
a46803cbd7
docs(provider): add mistral intro
2026-03-23 11:07:46 +08:00
Desmond Sow
f64ae3b900
feat(provider): add OpenVINO Model Server provider ( #2193 )
...
add OpenVINO Model Server provider
2026-03-23 11:07:46 +08:00
Xubin Ren
32f4e60145
refactor(providers): hide oauth-only providers from config setup
...
Exclude openai_codex alongside github_copilot from generated config,
filter OAuth-only providers out of the onboarding wizard, and clarify in
README that OAuth login stores session state outside config. Also unify
the GitHub Copilot login command spelling and add regression tests.
Made-with: Cursor
2026-03-21 03:20:59 +08:00
Harvey Mackie
055e2f3816
docs: add github copilot oauth channel setup instructions
2026-03-21 03:20:59 +08:00
Xubin Ren
1c39a4d311
refactor(tools): keep exec enable without configurable deny patterns
...
Made-with: Cursor
2026-03-20 17:46:08 +00:00
Xubin Ren
dc1aeeaf8b
docs: document exec tool enable and denyPatterns
...
Made-with: Cursor
2026-03-20 17:24:40 +00:00
Xubin Ren
c3a4b16e76
refactor: optimize onboard wizard - mask secrets, remove emoji, reduce repetition
...
- Mask sensitive fields (api_key/token/secret/password) in all display
surfaces, showing only the last 4 characters
- Replace all emoji with pure ASCII labels for consistent cross-platform
terminal rendering
- Extract _print_summary_panel helper, eliminating 5x duplicate table
construction in _show_summary
- Replace 3 one-line wrapper functions with declarative _SETTINGS_SECTIONS
dispatch tables and _MENU_DISPATCH in run_onboard
- Extract _handle_model_field / _handle_context_window_field into a
_FIELD_HANDLERS registry, shrinking _configure_pydantic_model
- Return FieldTypeInfo NamedTuple from _get_field_type_info for clarity
- Replace global mutable _PROVIDER_INFO / _CHANNEL_INFO with @lru_cache
- Use vars() instead of dir() in _get_channel_info for reliable config
class discovery
- Defer litellm import in model_info.py so non-wizard CLI paths stay fast
- Clarify README Quick Start wording (Add -> Configure)
2026-03-20 18:46:13 +08:00
Xubin Ren
214bf66a29
docs(readme): clarify nanobot is unrelated to crypto
2026-03-18 15:18:38 +00:00
Xubin Ren
4e40f0aa03
docs: MiniMax gifts to the nanobot community
2026-03-18 05:09:03 +00:00
angleyanalbedo
20e3eb8fce
docs(readme): fix broken link to Channel Plugin Guide
2026-03-17 23:09:35 +08:00
Xubin Ren
499d0e1588
docs(readme): update multi-instance onboard examples
2026-03-17 05:58:13 +00:00
Xubin Ren
b2a550176e
feat(onboard): align setup with config and workspace flags
2026-03-17 05:42:49 +00:00
Xubin Ren
84565d702c
docs: update v0.1.4.post5 release news
2026-03-16 15:28:41 +00:00
Xubin Ren
df7ad91c57
docs: update to v0.1.4.post5 release
2026-03-16 15:27:40 +00:00
Xubin Ren
dbe9cbc78e
docs: update news section
2026-03-16 14:27:28 +00:00
chengyongru
5a220959af
docs: add branching strategy and CONTRIBUTING guide
...
- Add CONTRIBUTING.md with detailed contribution guidelines
- Add branching strategy section to README.md explaining main/nightly branches
- Include maintainer information and development setup instructions
2026-03-16 11:13:46 +08:00
Xubin Ren
a1241ee68c
fix(mcp): clarify enabledTools filtering semantics
...
- support both raw and wrapped MCP tool names
- treat [\"*\"] as all tools and [] as no tools
- add warnings, tests, and README docs for enabledTools
2026-03-14 18:33:48 +08:00
Xubin Ren
af65145bc8
fix(qq): add configurable message format and onboard backfill
2026-03-14 08:25:44 +00:00
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
ca5047b602
feat(web): multi-provider web search + Jina Reader fetch
2026-03-13 05:44:16 +00:00
Frank
d48dd00682
docs: correct BaiLian dashscope apiBase endpoint
2026-03-12 18:23:05 -07: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
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
4478838424
fix(pr-1863): complete Ollama provider routing and README docs
2026-03-11 08:42:12 +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
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
chengyongru
45c0eebae5
docs(wecom): add wecom configuration guide in readme
2026-03-10 00:53:23 +08:00