Commit Graph

1294 Commits

Author SHA1 Message Date
Meng Zhuo ddd73cad48 Merge pull request #151 from qiaoborui/codex/fix-openai-oauth-authorize-url
fix(auth): align OpenAI OAuth browser login URL
2026-02-15 09:27:19 +08:00
Meng Zhuo 0f506d4202 Merge pull request #165 from alexhoshina/feat/onebot
feat: add OneBot channel support
2026-02-15 09:12:00 +08:00
Meng Zhuo 6f2e730eba Merge pull request #178 from Lixeer/main
feat: Add `GitHub Copilot` provider support
2026-02-15 09:04:05 +08:00
Lixeer 16e5a02953 fix(http_provider): Remove extra parameter from CreateProvider function. 2026-02-15 08:06:29 +08:00
Lixeer 4b886b6573 fix: not used result 2026-02-15 08:02:23 +08:00
Lixeer 0a4bf32e81 try after workflow fix 2026-02-15 07:54:04 +08:00
Lixeer 5a6ad37dab code fmt 2026-02-15 07:34:12 +08:00
Lixeer f6d6221c09 make fmt 2026-02-15 07:00:40 +08:00
Lixeer 7a9659971d make fmt 2026-02-15 06:55:20 +08:00
Lixeer ecbe31599e chore: remove redundant debug output 2026-02-15 06:30:31 +08:00
Lixeer 6c392c3387 fix: openclaw crash because of empty config 2026-02-15 06:11:07 +08:00
Lixeer 0aab8d8afc feat:add github_copilot to providers factory 2026-02-15 06:10:00 +08:00
Lixeer 5faa67b77d feat: add Github Copilot provider 2026-02-15 05:23:42 +08:00
lxowalle dbf2739783 fix: Remove the waiting animation for Telegram replies to reduce the risk of being rate-limited. 2026-02-15 02:26:42 +08:00
Leandro Barbosa 5e89264536 merge: sync upstream/main into feat/multi-agent-routing
Update registerSharedTools to use new WebSearchToolOptions API and
add hardware tools (I2C, SPI) from upstream. Accept upstream's
new web tools config test.
2026-02-14 10:38:04 -03:00
Hoshina 8cff6cf312 fix: improve connection handling in OneBotChannel 2026-02-14 20:25:55 +08:00
Hoshina 60c3d96b5e style: fix alignment of fields in BotStatus struct 2026-02-14 20:02:30 +08:00
Hoshina 773ce9bcb6 fix: update BotStatus type in oneBotRawEvent and adjust status checks 2026-02-14 19:58:19 +08:00
Hoshina f7421128a0 style: remove unnecessary log messages in WebSocket listener 2026-02-14 17:46:47 +08:00
Meng Zhuo 1cb690df32 Merge pull request #169 from PixelTux/architecture-32-bit
Architecture 32 bit
2026-02-14 17:27:20 +08:00
Meng Zhuo 59c7aa1628 Merge pull request #167 from Lixeer/main
feat: add provider `deepseek`
2026-02-14 17:27:01 +08:00
Hoshina 1fcf3fde0f style: fix format 2026-02-14 17:23:18 +08:00
Meng Zhuo b805ec8bde Merge pull request #158 from easyzoom/feat/device-hotplug-notifications
feat: add device hotplug event notifications (USB on Linux)
2026-02-14 17:17:53 +08:00
easyzoom 378045510d feat: add device hotplug event notifications (USB on Linux) 2026-02-14 17:03:04 +08:00
karan 2720fa71c7 add I2C and SPI tools for hardware interaction (#140)
* add I2C and SPI tools for hardware interaction

- Implemented I2CTool for I2C bus interaction, including device scanning, reading, and writing.
- Implemented SPITool for SPI bus communication, supporting device listing, data transfer, and reading.
- Added platform-specific implementations for Linux and stubs for non-Linux platforms.
- Updated agent loop to register new I2C and SPI tools.
- Created documentation for hardware skills, including usage examples and pinmux setup instructions.

* Remove build constraints for Linux from I2C and SPI tool files.
2026-02-14 16:53:17 +08:00
Hoshina 7fa641a2ed feat: add OneBot channel support 2026-02-14 16:50:21 +08:00
Lixeer 18d3634f1b feat: Improve parameter fault tolerance for DeepSeek 2026-02-14 16:47:46 +08:00
Lixeer afc3a2cda3 feat: add provider deepseek 2026-02-14 16:35:49 +08:00
PixelTux ba0ef4b62c Merge branch 'main' into architecture-32-bit 2026-02-14 09:32:24 +01:00
moveyield 1299b20465 refactor: remove unused min func
Signed-off-by: moveyield <moveyield@outlook.com>
2026-02-14 16:24:20 +08:00
qiaoborui da804a0748 fix(codex): include required instructions and improve account-id extraction 2026-02-14 12:48:16 +08:00
qiaoborui 7304ab7d33 fix(auth): align OpenAI OAuth authorize URL and params 2026-02-14 12:37:49 +08:00
ex-takashima 6463796fa1 fix: update tests to match upstream API changes
Fix web_test.go and config_test.go to use current function signatures
after merging upstream changes (WebSearchToolOptions, BraveConfig).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 11:32:42 +09:00
ex-takashima ac79a23e0a style: fix gofmt formatting (CRLF -> LF)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 11:21:47 +09:00
ex-takashima aa7a8b89c3 merge: resolve conflict with upstream main
Merge upstream changes (HeartbeatConfig addition) alongside LINEConfig.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:47:06 +09:00
ex-takashima f294a71bc5 feat(channels): add LINE Official Account channel support
Add LINE Messaging API as the 9th messaging channel using HTTP Webhook.
Supports text/image/audio messages, group chat @mention detection,
reply with quote, and loading animation.

- No external SDK required (standard library only)
- HMAC-SHA256 webhook signature verification
- Reply Token (free) with Push API fallback
- Group chat: respond only when @mentioned
- Quote original message in replies using quoteToken

Closes #146

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:01:20 +09:00
PixelTux 2cb90f2fe6 Merge branch 'main' into architecture-32-bit 2026-02-13 21:18:34 +01:00
Avisek 45351a6a79 refactor: Trim trailing slashes from the API base URL and enhance API error messages with status codes. 2026-02-14 02:09:55 +08:00
lxowalle 1aea912fcd Merge pull request #83 from carzygod/main
update telegram username support
2026-02-14 00:49:14 +08:00
lxowalle bd9c9d7efc Merge branch 'main' into main 2026-02-14 00:16:10 +08:00
Leandro Barbosa 0f5b2f67bb style: fix gofmt formatting in cooldown files
Remove extra spaces in comment alignment to pass fmt-check CI.
2026-02-13 12:26:44 -03:00
Leandro Barbosa 8a6fb7d9e3 merge: sync upstream/main into feat/multi-agent-routing
Resolve conflicts in loop.go, config.go, config_test.go,
spawn.go, and subagent.go. Integrate upstream ToolResult/AsyncTool
pattern with multi-agent routing features. Rename mockProvider
to mockRegistryProvider in registry_test.go to avoid redeclaration
with upstream's loop_test.go.
2026-02-13 12:24:26 -03:00
Leandro Barbosa 272536a11a feat: add multi-agent routing with declarative bindings
Implement per-agent workspace/model/session isolation with 7-level
priority routing cascade (peer > parent_peer > guild > team > account >
channel > default). Backward compatible - empty agents.list creates
implicit "main" agent from defaults.

Core components:
- routing/agent_id.go: ID normalization with pre-compiled regex
- routing/session_key.go: 4 DM scope modes with identity links
- routing/route.go: RouteResolver with priority-based binding matcher
- agent/instance.go: Per-agent state (workspace, sessions, tools, model)
- agent/registry.go: Agent lifecycle, route resolution, subagent ACL

Integration:
- config.go: AgentModelConfig (flexible JSON), bindings, session config
- loop.go: Complete rewrite for multi-agent dispatch
- Channel adapters: peer_kind/peer_id metadata (telegram, discord, slack)
- spawn.go: Subagent allowlist enforcement per agent

Validated end-to-end with Discord channel-based bindings, default
fallback routing, and per-agent session persistence.
2026-02-13 12:12:33 -03:00
Leandro Barbosa 6e7149509a feat: add model fallback chain with error classification
Add 2-layer fallback system (text + image) with automatic candidate
resolution. Includes error classifier (~40 patterns), per-provider
cooldown (exponential backoff), and model reference parsing.

- FailoverError/FailoverReason types for structured error handling
- ErrorClassifier with rate_limit, billing, auth, timeout patterns
- FallbackChain with cooldown management and candidate rotation
- ModelRef parser for provider/model string format
- 128 tests, 95%+ coverage
2026-02-13 12:12:12 -03:00
Meng Zhuo 82a9a80d94 Merge pull request #130 from MHCP000/fix/codeblock-index-bug
fix: correct index bug in extractCodeBlocks and extractInlineCodes
2026-02-13 22:52:42 +08:00
lxowalle 878650c459 * fix: heartbeat/service_test.go test failed 2026-02-13 22:19:18 +08:00
lxowalle bc27707671 Merge branch 'main' into main 2026-02-13 22:08:20 +08:00
zeo 1e17bac9f0 fix: correct index bug in extractCodeBlocks and extractInlineCodes
The previous implementation used len(codes)-1 in ReplaceAllStringFunc,
which caused all placeholders to point to the same (last) index.
This resulted in only the last code block being displayed correctly
when multiple code blocks were present in a message.

Now using a proper counter variable that increments for each match,
ensuring each code block gets a unique placeholder index.
2026-02-13 21:38:14 +08:00
Satyam Tiwari c86e121688 refactor: update tool registry usage and enhance WebSearchTool execution result handling 2026-02-13 15:41:37 +05:30
Satyam Tiwari e0a766243e Merge branch 'main' of https://github.com/sipeed/picoclaw 2026-02-13 15:36:43 +05:30