picoclaw/pkg
hsohinna 56a060ff61
feat(onebot): enhance OneBot channel (#192)
* fix: change BotStatus type to json.RawMessage and add isAPIResponse function

* feat(onebot): add rich media, API callback, keepalive and voice transcription

   Comprehensive improvements to the OneBot channel for better NapCatQQ
   compatibility:

   - Add echo-based API callback mechanism (sendAPIRequest) for
     request/response correlation via pending map
   - Add WebSocket ping/pong keepalive (30s ping, 60s read deadline)
   - Fetch bot self ID via get_login_info on connect/reconnect
   - Refactor parseMessageContentEx into parseMessageSegments supporting
     image, record, video, file, reply, face, forward segments
   - Add voice transcription via Groq transcriber (SetTranscriber)
   - Switch to message segment array format for sending with auto reply
     quote via lastMessageID tracking
   - Add message_sent event handling and detailed notice event processing
     (recall, poke, group increase/decrease, friend add, etc.)
   - Use sync/atomic for echoCounter, optimize listen() lock pattern
   - Clean up pending callbacks on Stop(), defer temp file cleanup
   - Mount Groq transcriber on OneBot channel in main.go gateway

* feat(onebot): add user ID allowlist check for incoming messages

- Currently, the agent does not respond to messages sent by users outside the allowlist.

* refactor(onebot): simplify channel implementation and add emoji reaction

- onebot.go from 1179 to 980 lines (~17%)
2026-02-19 14:39:35 +08:00
..
agent merge: sync upstream/main (PR #213) into feat/multi-agent-routing 2026-02-18 11:39:14 -03:00
auth fix: codex agent 400 error (#102) 2026-02-16 11:46:02 +08:00
bus Prevent panic on publish after MessageBus is closed (#223) 2026-02-16 15:04:25 +08:00
channels feat(onebot): enhance OneBot channel (#192) 2026-02-19 14:39:35 +08:00
config merge: sync upstream/main (PR #213) into feat/multi-agent-routing 2026-02-18 11:39:14 -03:00
constants refactor(tools): extract shared logic for internal channels and tool definitions 2026-02-13 15:05:16 +08:00
cron fix: tighten file perms and enforce Slack ACL checks (#186) 2026-02-16 16:06:39 +08:00
devices feat: add device hotplug event notifications (USB on Linux) 2026-02-14 17:03:04 +08:00
health Add health check endpoints (/health and /ready) for container orchestration liveness and readiness probes. (#104) 2026-02-16 11:53:11 +08:00
heartbeat * fix: heartbeat/service_test.go test failed 2026-02-13 22:19:18 +08:00
logger * First commit 2026-02-09 19:20:19 +08:00
migrate merge: sync upstream/main, wire WebSearch through factory 2026-02-18 11:09:18 -03:00
providers fix: also use max_completion_tokens for gpt5 era models (#445) 2026-02-19 01:29:34 +01:00
routing feat: add multi-agent routing with declarative bindings 2026-02-13 12:12:33 -03:00
session Feat issue 183 (#189) 2026-02-16 16:30:54 +08:00
skills dead code cleanup (#210) 2026-02-19 01:54:13 +01:00
state refactor(heartbeat): add configurable interval and channel-aware routing 2026-02-13 11:13:32 +08:00
tools Replace \s+ with [^\S\n]+ to preserve newlines (#299) 2026-02-19 02:02:28 +01:00
utils Update pkg/utils/message.go 2026-02-18 23:26:39 +01:00
voice Remove duplicate truncate functions, reuse utils.Truncate 2026-02-12 00:46:48 +08:00