wenjie
7bd11181a6
fix(agent): preserve reused tool call IDs across turns ( #2528 )
...
Scope tool result deduplication to each assistant tool-call block so providers
that reuse call IDs across separate turns do not lose valid tool results. Also
drop invalid empty tool call IDs and orphaned tool messages after validation.
2026-04-15 20:18:09 +08:00
Mauro
bb14a5c7cc
Merge pull request #2525 from afjcjsbx/fix/vision-unsupported-media-stuck
...
fix(agent): recover after image-input-unsupported failures
2026-04-15 07:54:33 +02:00
lxowalle
773a94c414
fix(web_search): validate missing API key/URL directly in Search methods ( #2517 )
2026-04-15 09:55:05 +08:00
afjcjsbx
e60a687387
fix lint
2026-04-14 22:35:02 +02:00
afjcjsbx
7824bc715f
add test
2026-04-14 22:31:30 +02:00
afjcjsbx
d3d639cb7d
fix lint
2026-04-14 22:21:33 +02:00
afjcjsbx
1245f2ddf6
fix(agent): recover after image-input-unsupported failures
2026-04-14 22:15:28 +02:00
美電球
b52eb58f03
Merge pull request #2514 from lc6464/fix/issue-2488-host-binding
...
feat(launcher): add host overrides for launcher and gateway
2026-04-14 23:48:24 +08:00
lc6464
0bb9bedc44
fix(web): address latest Copilot review points
2026-04-14 23:39:59 +08:00
lxowalle
0425cd4d77
refactor skills registries and add GitHub-backed skill discovery ( #2442 )
...
* refactor skills registries and add GitHub-backed skill discovery
* fix ci
* fix command error
* fix default skills install registry behavior
* fix github registry URL parsing and versioned skill links
* fix skills registry config compatibility and URL installs
* * fix lint
* fix deprecated github base url compatibility
* fix skills registry yaml and github default branch handling
* fix github skills registry fallback and install metadata
* fix cli skills install origin metadata
* fix clawhub registry env compatibility
* fix skills registry config merge compatibility
* fix skill install metadata consistency and onboard template copy
* fix yaml overrides for default skills registries
* fix install_skill registry metadata normalization
* fix github skill URL parsing for slash branch names
* fix skills registry install/search validation and github URLs
* fix github skill URL host validation
* fix install_skill validation for invalid registry archives
* fix redundant skills registry names in saved config
* fix github blob skill URL installs and metadata links
* fix github registry URL scheme validation
* fix v0 skills migration preserving github registry defaults
* fix github blob skill install directory resolution
* fix install_skill rollback on origin metadata write failure
* fix github skill URL validation and registry JSON merging
* fix github registry target resolution and metadata links
* fix install_skill force reinstall rollback
* fix skills config compatibility and legacy security overlays
* fix ci
2026-04-14 15:14:16 +08:00
lc6464
ae195831bb
fix: resolve PR2514 lint regressions
2026-04-14 14:49:23 +08:00
lc6464
d4d652b455
feat(host): complete launcher and gateway multi-host binding support
...
- add shared netbind planning for strict tcp4/tcp6 bind semantics
- support launcher/gateway host env overrides and launcher-to-gateway forwarding
- cover host binding and forwarding with network and subprocess env tests
2026-04-14 14:04:36 +08:00
lc6464
e7b3654313
fix(host): modernize default host selection order
2026-04-14 14:03:23 +08:00
lc6464
448027c02a
fix(host): align launcher and gateway host normalization semantics
2026-04-14 14:03:22 +08:00
daming大铭
df9124b824
Merge pull request #2249 from alexhoshina/refactor-inbound-context-routing-session
...
Refactor inbound context routing session
2026-04-14 12:45:34 +08:00
美電球
08283dde61
Merge pull request #2489 from afjcjsbx/fix/mcp-reload-discovery-tools
...
fix(agent): reinitialize MCP and discovery tools after reload
2026-04-14 11:54:47 +08:00
wenjie
64c3542b91
fix(updater): retry release fetches ( #2511 )
2026-04-14 10:44:21 +08:00
Hoshina
93f69a98ba
merge: integrate main channel config changes
2026-04-14 00:34:17 +08:00
Cytown
f16bade919
fix some bugs:
...
Fix hiddenValues in manager_channel.go — use comma-ok type assertions to avoid panics │
Add GetDecoded() error handling in weixin.go saveWeixinConfig for consistency with wecom.go │
Fix stray quotes in docs/configuration.md JSON examples │
Add V2→V3 migration section to docs/config-versioning.md
Fix feishu init with 32bit wrong signature cause build fail
2026-04-14 00:15:35 +08:00
daming大铭
cbd38dfd28
Merge pull request #2481 from cytown/channel
...
refactor(config): make config.Channel to multiple instance support
2026-04-13 23:41:32 +08:00
Cytown
036f65b179
bug fix for allowFrom contains empty string
2026-04-13 23:34:44 +08:00
Hoshina
69ff6909e1
merge: integrate main seahorse context changes
2026-04-13 23:02:38 +08:00
Hoshina
c5c5ea22d6
fix(session): address review regressions
2026-04-13 22:51:44 +08:00
Cytown
667fc85d54
refactor(config): make config.Channel to multiple instance support
...
add new field type to Channel struct
config.channels refactor to channel_list
update config version to 3
update the docs
2026-04-13 22:21:21 +08:00
Hoshina
0c6ad33a9c
merge: integrate main into refactor-inbound-context-routing-session
2026-04-13 13:25:07 +08:00
Hoshina
0f23535165
fix(runtime): address session promotion and steering regressions
2026-04-13 12:35:27 +08:00
Liu Yuan
4532627f71
test(seahorse): add TestTriggerMigration for old-DB trigger upgrade path
...
Verifies that databases created with the old buggy FTS5 DELETE trigger
body are correctly migrated by runSchema: the old trigger causes DELETE
to fail, and after re-running runSchema (which drops and recreates the
triggers with the corrected body) DELETE works normally.
2026-04-13 11:37:50 +08:00
Liu Yuan
b8819bdbff
fix(seahorse): drop/recreate FTS5 triggers so existing DBs get corrected bodies
...
`CREATE TRIGGER IF NOT EXISTS` does not replace an existing trigger body.
On databases created with the old (buggy) DELETE-FROM-FTS syntax, the
bad trigger body persisted after code updates. Now we explicitly DROP
each trigger before CREATE, so any existing DB gets the corrected body
on next startup — no manual DB deletion required.
2026-04-13 11:29:02 +08:00
Liu Yuan
f7e768152e
feat(agent): /clear now clears seahorse DB in addition to JSONL
...
- Add Clear(ctx, sessionKey) to ContextManager interface
- Implement Clear for legacy (JSONL) and seahorse (DB + JSONL)
- Add Engine.ClearSession + Store.ClearConversation
- Fix FTS5 DELETE trigger syntax in schema (was using wrong
external-content FTS5 syntax; now uses standard DELETE FROM)
- Fix ClearSession to skip sessions never ingested (was creating
blank conversations record via GetOrCreateConversation)
- Simplify summary_parents DELETE into single OR statement
- Add TestStoreClearConversation unit test
2026-04-13 11:04:45 +08:00
afjcjsbx
815e43e3ef
fix(agent): reinitialize MCP and discovery tools after reload
2026-04-12 21:37:19 +02:00
daming大铭
6d03791929
Merge pull request #2475 from lc6464/fix/issue-2448-separate-thought-message
...
feat(gemini,pico): separate thought messages and add native Gemini provider
2026-04-12 19:20:19 +08:00
sky5454
080f532d82
build: add Android arm64 cross-compile support
...
- Add build-android-arm64, build-launcher-android-arm64, build-all-android
targets to Makefile and web/Makefile
- Use -tags stdjson (no goolm) for Android; CGO_ENABLED=0 throughout
- Output staged as build/android-staging/arm64-v8a/libpicoclaw{,-web}.so
for JNI consumption; zip packaging handled by CI
- Exclude Matrix channel from android builds (channel_matrix.go) to avoid
modernc.org/sqlite CGO dependency
- Exclude systray from android builds; use headless stub instead
(systray.go / systray_stub_nocgo.go)
2026-04-12 17:41:10 +08:00
lc6464
6fbd7e0a3f
fix(gemini): align thoughtSignature and stream tool IDs
2026-04-11 12:02:58 +08:00
lc6464
e9f55d776d
fix(review): address copilot backpressure and SSE parse feedback
2026-04-11 11:18:41 +08:00
lc6464
86917faa9b
fix(ci): resolve lint header casing and fallback test routing
2026-04-11 02:23:35 +08:00
lc6464
cbae69ad64
fix(gemini): honor pro-model thinking constraints
2026-04-11 01:38:13 +08:00
lc6464
83e93ca572
fix(gemini): align thinking-off and system prompt semantics
2026-04-11 01:15:38 +08:00
lc6464
459e78c076
fix(gemini): harden dedicated provider compatibility
2026-04-11 00:50:24 +08:00
lc6464
c8bac699fe
fix(pico): separate thought and normal messages
2026-04-10 20:23:12 +08:00
Guoguo
748ac58dd1
fix(chat): keep tool-call summary and assistant output in sync ( #2449 )
...
* fix(chat): keep tool summaries and assistant output together
* fix(pico): stream assistant text between tool calls
* fix(pico): avoid duplicate final websocket message
* fix(review): align tool feedback reconstruction with runtime behavior
* style(lint): satisfy gci and golines for review fixes
* fix(agent): gate pico interim publish for internal turns
2026-04-10 15:08:30 +08:00
winterfx
187189ad4a
fix(seahorse): sanitize user input for FTS5 MATCH queries ( #2436 )
...
User input containing FTS5 operators (-, +, *, OR, NOT, :, quotes,
parentheses) could cause query errors or unexpected search results.
Wrap each token in double quotes to force literal matching while
preserving user-quoted phrases.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 11:59:50 +08:00
Mauro
491418775b
fix(gateway): log startup errors before exit ( #2414 )
...
* fix(gateway): log startup errors before exit
* preserve deferred startup failure logging
2026-04-10 10:10:45 +08:00
Mauro
dde61365d4
Merge pull request #2420 from lahuman/docs/tool-escape-semantics
...
docs(tool): use provider-agnostic JSON escaping guidance
2026-04-09 20:50:06 +02:00
lc6464
bd88385923
fix(agent): gate pico interim publish for internal turns
2026-04-10 00:19:45 +08:00
lc6464
58f634b582
style(lint): satisfy gci and golines for review fixes
2026-04-10 00:02:20 +08:00
lc6464
bd13092831
fix(review): align tool feedback reconstruction with runtime behavior
2026-04-09 23:52:02 +08:00
lc6464
9982ee29a8
fix(pico): avoid duplicate final websocket message
2026-04-09 22:59:36 +08:00
lc6464
2aeed8fb3a
fix(pico): stream assistant text between tool calls
2026-04-09 22:32:35 +08:00
lc6464
5b596ed2f0
fix(chat): keep tool summaries and assistant output together
2026-04-09 22:16:36 +08:00
wenjie
a9720daa45
fix(test): skip TestPrepareCommand_AppliesUserEnv on unsupported operating systems ( #2434 )
2026-04-09 10:14:08 +08:00