32 Commits

Author SHA1 Message Date
Re-bin
efb4ddd138 fix: status command now respects workspace from config 2026-02-04 00:49:35 +00:00
Re-bin
a4026a8bf7 Merge branch 'main' into pr-23 2026-02-03 17:21:27 +00:00
Re-bin
1a784fca1e refactor: simplify _validate_url function 2026-02-03 17:13:30 +00:00
Re-bin
1660d7b261 Merge branch 'main' into pr-22 2026-02-03 17:09:37 +00:00
Re-bin
bb2a04d50d Merge PR #26: fix: add Telegram channel to channels status command 2026-02-03 12:29:38 +00:00
Re-bin
254bad8f19 Merge branch 'main' into pr-21 2026-02-03 12:19:26 +00: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
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
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
codeLzq
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
JunghwanNA
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 Ren
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