Mauro
3500080abb
Merge pull request #1891 from RussellLuo/audio-transcription
...
feat(voice): add audio-model transcription support
2026-03-23 00:23:30 +01:00
RussellLuo
d4e56bc3d5
Fix lint
2026-03-23 07:13:43 +08:00
RussellLuo
fca01583bf
fix(lint): align VoiceConfig env tags
2026-03-23 00:03:44 +08:00
RussellLuo
4d2b244522
refactor(voice): share audio format support and restrict transcriber selection
2026-03-22 23:40:13 +08:00
daming大铭
4d84bd90cd
Merge pull request #1894 from sipeed/refactor/agent
...
refactor(agent): consolidate Agent model - Phase 1 complete
2026-03-22 23:26:33 +08:00
yinwm
5790d3e9dd
docs(it): add model command to CLI Reference
2026-03-22 22:56:51 +08:00
yinwm
6f1737eb73
docs: sync CLI Reference across all README translations
...
- Add `picoclaw model` command to English README
- Add `picoclaw model` command to Indonesian README
All other translations already had the command.
2026-03-22 22:55:08 +08:00
yinwm
6df5ea170e
docs: add picoclaw model command to CLI Reference
...
The model command was missing from the README CLI Reference table.
2026-03-22 22:48:50 +08:00
yinwm
724cc1bd33
fix: resolve merge conflict markers in README files
...
Use main branch versions which have complete content.
2026-03-22 22:41:39 +08:00
yinwm
1984bb5bbd
fix(test): mock gateway health check in status tests
...
Two gateway tests were flaky due to race conditions:
- TestGatewayStatusReturnsRestartingDuringRestartGap
- TestGatewayRestartReturnsErrorStatusWhenReplacementFailsToStart
The handleGatewayStatus function calls getGatewayHealth which can
override the test's expected status. By mocking gatewayHealthGet
to return an error, the tests now reliably verify the expected
status values.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 22:21:27 +08:00
yinwm
c48954d32d
merge: sync main into refactor/agent
2026-03-22 21:44:17 +08:00
daming大铭
729a878f73
Merge pull request #1636 from lppp04808/feat/subturn-poc
...
feat(agent): subturn
2026-03-22 21:17:33 +08:00
RussellLuo
92678d1700
docs(voice): Update docs for audio-transcription
2026-03-22 21:04:10 +08:00
Administrator
7868c5811a
fix(agent): fix subturn panic result, hard abort rollback, and drain bus exit
...
- spawnSubTurn: set result=nil on panic instead of constructing a non-nil ToolResult
- HardAbort: roll back session history to initialHistoryLength after Finish()
- drainBusToSteering: switch to non-blocking reads after first message so function
returns promptly when the inbound channel is empty
- remove obsolete documentation files
2026-03-22 20:35:14 +08:00
RussellLuo
8ad4b9b497
feat(voice): add audio-model transcription support
...
- Add `AudioModelTranscriber` for model-based audio transcription via LLM providers
- Support selecting a transcription model with `voice.model_name` in config
- Keep Groq transcription as a fallback and move it into dedicated files with focused tests
- Serialize `data:audio/...` media as input_audio for OpenAI-compatible providers
- Improve transcription logging by rendering error fields as strings
- Add coverage for transcriber detection, audio-model behavior, provider audio serialization, and Groq transcription
Fixes #1890 .
2026-03-22 20:07:22 +08:00
Administrator
7ba8682ac5
Merge branch 'refactor/agent' into feat/subturn-poc
2026-03-22 19:51:43 +08:00
Administrator
f7f27e237a
merge: resolve conflicts between refactor/agent and main
2026-03-22 19:21:58 +08:00
Mauro
2f6f25dc58
Merge pull request #1882 from lc6464/frontend-fix
...
fix(chat): preserve blank lines and add input hint
2026-03-22 10:48:59 +01:00
daming大铭
809aef87d7
Merge pull request #1885 from alexhoshina/fix-1884-qq-long-audio-file-fallback
...
fix(qq): send long audio as file
2026-03-22 17:37:29 +08:00
Hoshina
2c317444c5
fix(qq): send long audio as file
...
Downgrade outbound QQ audio to file upload when it exceeds the 60 second voice limit or its duration cannot be detected.
Refs #1884
2026-03-22 17:19:11 +08:00
lc6464
7eaadfd273
fix(chat): preserve blank lines and add input hint
...
- Add Tailwind `whitespace-pre-wrap` to the user message bubble of web chat so spaces and blank lines can be rendered correctly.
- Update chat input placeholders in en.json and zh.json to show Enter vs Shift+Enter.
2026-03-22 15:59:19 +08:00
daming大铭
0432facffc
Merge pull request #1863 from alexhoshina/feat/hook-manager
...
Feat/hook manager
2026-03-22 14:36:07 +08:00
Hua Audio
dd82794255
Feat/weixin openclaw port ( #1873 )
...
* init
* fix lint
* fix go test
* update docs
* incorporate pr review
* Update pkg/channels/weixin/weixin.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* feat(weixin): add media sync and typing support
* test(weixin): cover media and sync helpers
---------
Co-authored-by: zhangmikoto <i@electromaster.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Hoshina <hoshina@evaz.org >
2026-03-22 14:23:39 +08:00
daming大铭
04def0f10b
Merge pull request #1844 from afjcjsbx/fix/scope-steering
...
fix(agent) scope steering
2026-03-22 14:22:43 +08:00
Administrator
482c88cd15
remove merge conflict markers from .gitignore
2026-03-22 13:48:03 +08:00
Administrator
88d754b172
merge main
2026-03-22 13:47:14 +08:00
daming大铭
931eee92a0
Merge pull request #1853 from kunalk16/feat-configurable-logger
...
feat(logging): add configurability for log levels preference
2026-03-22 13:27:06 +08:00
Caize Wu
9107740781
Merge pull request #1857 from lc6464/main
...
docs: clean up README and update QRCode
2026-03-22 11:12:30 +08:00
Mauro
c0bb8d6df9
Merge pull request #1617 from yzxlr/codex/fix-1561-heartbeat-template-idle
...
fix(heartbeat): ignore untouched default template
2026-03-21 20:18:39 +01:00
Mauro
e6ea9c4ff3
Merge pull request #1855 from badgerbees/fix/telegram-group-id-validation
...
fix(identity): support negative integers in isNumeric for Telegram group IDs
2026-03-21 20:16:49 +01:00
Mauro
7a47d7a55c
Merge pull request #1782 from biisal/chore/docker-data-in-gitignore
...
chore: Ignore the `docker/data` directory.
2026-03-21 19:52:25 +01:00
Mauro
5286464bfc
Merge pull request #1861 from amirmamaghani/feat/agent-browser-skill-heavy-dockerfile
...
feat: add agent-browser skill and Dockerfile.heavy
2026-03-21 19:47:07 +01:00
daming大铭
3cd674e3b8
Merge pull request #1865 from sipeed/revert-1752-feat/exec-tool-enhancement
...
Revert "feat(tools): add exec tool enhancement with background execution and PTY support"
2026-03-22 00:46:56 +08:00
daming大铭
ebcd5645f1
Revert "feat(tools): add exec tool enhancement with background execution and …"
...
This reverts commit f901af8cbc .
2026-03-22 00:39:47 +08:00
Administrator
24d6cb5272
Merge branch 'upstream-main' into feat/subturn-poc
2026-03-21 23:42:25 +08:00
Hoshina
9978c9550b
docs(hooks): inline and translate hook examples
2026-03-21 23:18:29 +08:00
Liu Yuan
f901af8cbc
feat(tools): add exec tool enhancement with background execution and PTY support ( #1752 )
...
- Unified exec tool with actions: run/list/poll/read/write/send-keys/kill
- PTY support using creack/pty library
- Process session management with background execution
- Process group kill for cleaning up child processes
- Session cleanup: 30-minute TTL for old sessions
- Output buffer: 100MB limit with truncation
Actions:
- run: execute command (sync or background)
- list: list all sessions
- poll: check session status
- read: read session output
- write: send input to session stdin
- send-keys: send special keys (up, down, ctrl-c, enter, etc.)
- kill: terminate session
Tests:
- PTY: allowed commands, write/read, poll, kill, process group kill
- Non-PTY: background execution, list, read, write, poll, kill, process group kill
- Session management: add/get/remove/list/cleanup
2026-03-21 22:38:03 +08:00
Amir Mamaghani
520391643b
feat: add agent-browser skill and Dockerfile.heavy with full runtime
...
Add agent-browser skill to the default workspace with complete CLI
reference for browser automation via Chrome/Chromium CDP. The skill
includes a runtime guard that checks for the binary before use.
Add Dockerfile.heavy — a batteries-included container image with:
- Node.js 24 + npm
- Python 3 + pip + uv
- Chromium + Playwright (for agent-browser)
- agent-browser CLI pre-installed
- Non-root picoclaw user (UID/GID 1000)
- Default workspace with all skills
- Persistent workspace volume
This complements the existing minimal Dockerfile and Dockerfile.full
for deployments that need browser automation and rich tool support.
2026-03-21 15:14:32 +01:00
Hoshina
337e43e5a5
feat(agent): add configurable hook mounting
2026-03-21 19:46:16 +08:00
Hoshina
cf68c91eca
feat(agent): add hook manager foundation
2026-03-21 19:15:10 +08:00
LC
f71a6ff76c
docs: update alt text of wechat.png with a more meaningful description
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-21 18:52:39 +08:00
lc6464
e2e3e6d5b0
docs: update WeChat QRCode for README
2026-03-21 18:40:10 +08:00
lc6464
ab93c235ae
docs: clean up README by removing duplicate sections
2026-03-21 18:36:29 +08:00
Administrator
670b433f1a
refactor: replace interface{} with any for improved type clarity
2026-03-21 18:24:56 +08:00
Badgerbees
bc0be17e88
fix(identity): support negative integers in isNumeric for Telegram group IDs
2026-03-21 17:09:02 +07:00
Administrator
1bd144ac13
Merge branch 'upstream-main' into feat/subturn-poc
2026-03-21 17:13:26 +08:00
Administrator
087e8519c5
refactor: improve code readability and consistency across multiple files
2026-03-21 17:12:45 +08:00
Kunal Karmakar
073ae4864f
Fix spelling
2026-03-21 07:20:59 +00:00
Kunal Karmakar
4c8526d917
Merge branch 'feat-configurable-logger' of https://github.com/kunalk16/picoclaw into feat-configurable-logger
2026-03-21 06:54:55 +00:00
Kunal Karmakar
647071d342
Add default value for config
2026-03-21 06:54:49 +00:00