Commit Graph
2287 Commits
Author SHA1 Message Date
Re-bin 254bad8f19 Merge branch 'main' into pr-21 2026-02-03 12:19:26 +00:00
ZJUCQR 8499dbf132 add dashscope support 2026-02-03 16:27:15 +08:00
Re-bin 8989adc9ae refactor: use explicit dependency injection for groq_api_key 2026-02-03 06:36:58 +00:00
Re-bin eb20cea668 resolve conflicts with main 2026-02-03 06:16:17 +00:00
popcell 8cde0b3072 fix: correct API key environment variable for vLLM mode 2026-02-03 12:14:14 +08:00
Kyya Wang f23548f296 feat: add DeepSeek provider support 2026-02-03 03:09:13 +00:00
Pedro Perez 43fe83755d fix: Use correct 'zai/' prefix for Zhipu AI models in LiteLLM
LiteLLM expects the 'zai/' provider prefix for Zhipu AI (Z.ai) models,
not 'zhipu/'. This was causing 'LLM Provider NOT provided' errors when
users configured models like 'glm-4.7' without an explicit prefix.

According to LiteLLM docs, the correct format is:
- model='zai/glm-4.7' (correct)
- NOT model='zhipu/glm-4.7' (incorrect)

This fix ensures auto-prefixed models use the correct 'zai/' format.

Fixes: Error when using Zhipu AI models with shorthand names like 'glm-4.7'
2026-02-02 22:15:21 +01:00
Kiplangatkorir 00841309c1 Harden exec tool with safety guard 2026-02-02 21:14:29 +03:00
Kiplangat KorirGitHubsourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
9b09cb5c63 Update nanobot/agent/tools/base.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2026-02-02 20:52:30 +03:00
Kiplangatkorir 7ef18c4e8a Validate tool params and add tests 2026-02-02 20:39:08 +03:00
Cheng Wang cd20252072 fix: status command now respects workspace from config
The status command was ignoring the workspace setting from the
configuration file and always displaying the default path
(~/.nanobot/workspace). This fix loads the config first and uses
config.workspace_path when available, falling back to the default
only when no config exists.

This brings the status command in line with other commands that
correctly use config.workspace_path.
2026-02-03 00:45:52 +08:00
Cheng Wang 2466d9e1dc fix: add Telegram channel to channels status command
Previously, the `nanobot channels status` command only displayed
WhatsApp channel status, completely omitting Telegram despite it
being fully implemented in the codebase.

Changes:
- Added Telegram channel status display
- Renamed "Bridge URL" column to "Configuration" for better generality
- Show Telegram token (first 10 chars) or "not configured" message
- Added comments to distinguish WhatsApp and Telegram sections

Fixes the issue where users couldn't see Telegram channel status
via CLI, even though the feature was working correctly.
2026-02-03 00:37:55 +08:00
Re-bin 30d6e4b4b6 feat: enhance scheduled reminders 2026-02-02 16:18:04 +00:00
Anunay Aatipamula bab464df5f feat(discord): implement typing indicator functionality
- Add methods to manage typing indicators in Discord channels.
- Introduce periodic typing notifications while sending messages.
- Ensure proper cleanup of typing tasks on channel closure.
2026-02-02 19:01:46 +05:30
Re-bin ac390253c3 simplify vision support code 2026-02-02 13:29:38 +00:00
Re-bin 7f2c335a76 Merge branch 'main' into pr-12 2026-02-02 13:26:04 +00:00
Anunay AatipamulaandGitHub 226cb5b46b Merge branch 'main' into feat/discord-support 2026-02-02 18:55:16 +05:30
Anunay Aatipamula ba6c4b748f feat(discord): add Discord channel support
- Implement Discord channel functionality with websocket integration.
- Update configuration schema to include Discord settings.
- Enhance README with setup instructions for Discord integration.
- Modify channel manager to initialize Discord channel if enabled.
- Update CLI status command to display Discord channel status.
2026-02-02 18:41:17 +05:30
codeLzqandRe-bin 1663acd1a1 feat: enhance sender ID handling in Telegram channel
- Update sender ID construction to prioritize user ID while maintaining username for allowlist compatibility.
- Improve allowlist checking in BaseChannel to support sender IDs with multiple parts separated by '|'.
2026-02-02 13:07:35 +00:00
Re-bin a0950cf6b7 resolve conflicts: keep both Gemini and Zhipu support 2026-02-02 13:00:24 +00:00
Re-bin 8d834d9b10 restore CLI commands, keep default model 2026-02-02 12:30:56 +00:00
Cheng Wang 3ba0191cef fix: correct heartbeat token matching logic
The HEARTBEAT_OK_TOKEN comparison was broken because the token
itself ("HEARTBEAT_OK" with underscore) was being compared against
a response string that had underscores removed. This made the
condition always fail, preventing the heartbeat service from
recognizing "no tasks" responses.

Now both sides of the comparison remove underscores consistently,
allowing proper matching of the HEARTBEAT_OK token.
2026-02-02 19:47:42 +08:00
Cheng Wang ea849650ef feat: improve web_fetch URL validation and security
Add URL validation and redirect limits to web_fetch tool to prevent potential security issues:

- Add _validate_url() function to validate URLs before fetching
  - Only allow http:// and https:// schemes (prevent file://, ftp://, etc.)
  - Verify URL has valid scheme and domain
  - Return descriptive error messages for invalid URLs

- Limit HTTP redirects to 5 (down from default 20) to prevent DoS attacks
  - Add MAX_REDIRECTS constant for easy configuration
  - Explicitly configure httpx.AsyncClient with max_redirects parameter

- Improve error handling with JSON error responses for validation failures

This addresses security concerns identified in code review where web_fetch
had no URL validation or redirect limits, potentially allowing:
- Unsafe URL schemes (file://, etc.)
- Redirect-based DoS attacks
- Invalid URL formats causing unclear errors
2026-02-02 19:34:22 +08:00
JunghwanNAandClaude Opus 4.5 5c49bbc0b2 feat: add Amazon Bedrock support
Skip API key validation for bedrock/ model prefix since AWS Bedrock
uses IAM credentials instead of API keys.

Fixes #20

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:31:49 +09:00
Manus AI 42f62c0c1a feat: add voice transcription support with groq (fixes #13) 2026-02-02 04:33:26 -05:00
Manus f61e7a5968 feat: improve tool execution logging (fix #10) 2026-02-02 04:24:14 -05:00
Manus 4f01e3ab93 Resolve merge conflicts in PR #3 2026-02-02 04:23:02 -05:00
Yitong Li f4b081b83f feat: add vision support for image recognition in Telegram 2026-02-02 15:32:12 +08:00
Xubin RenandGitHub 229fde021a Merge pull request #8 from Neutralmilkzzz/fix-port-conflict
Change default gateway port to 18790
2026-02-02 14:16:01 +08:00
Anunay Aatipamula ab45185ed8 feat: add Gemini provider support
- Update configuration schema to include Gemini provider
- Modify API key retrieval priority to include Gemini
- Enhance CLI status command to display Gemini API status
- Update LiteLLMProvider to support Gemini integration
2026-02-02 11:21:41 +05:30
Neutral Milk c400786b17 chore: change default gateway port to 18790 to avoid conflict with OpenClaw 2026-02-02 13:35:44 +08:00
ZhihaoZhang97 2b19dcf9fd feat: add vLLM/local LLM support
- Add vllm provider configuration in config schema
- Auto-detect vLLM endpoints and use hosted_vllm/ prefix for LiteLLM
- Pass api_base directly to acompletion for custom endpoints
- Add vLLM status display in CLI status command
- Add vLLM setup documentation in README
2026-02-02 11:23:04 +11:00
Manus AI 2dd284661d feat: add Zhipu API support and set glm-4.7-flash as default model 2026-02-01 14:36:15 -05:00
Re-bin ac527d40d7 fix: unify skill metadata format 2026-02-01 18:45:42 +00:00
Re-bin d888e51d1c feat(telegram): markdown support 2026-02-01 18:35:27 +00:00
Re-bin 051a97fa4e feat: add sub-agent system 2026-02-01 16:28:45 +00:00
Re-bin d4cc48afd5 🐈nanobot: hello world! 2026-02-01 07:36:42 +00:00