Skip to content

docs: sync v0.2.8 channel and config updates#50

Open
github-actions[bot] wants to merge 1 commit intomainfrom
ai/sync-upstream-v0.2.8
Open

docs: sync v0.2.8 channel and config updates#50
github-actions[bot] wants to merge 1 commit intomainfrom
ai/sync-upstream-v0.2.8

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented May 1, 2026

Summary

Automated documentation sync with upstream sipeed/picoclaw.

  • Target: v0.2.8
  • Synced range: 5e44a9941023b93b3a043c729f8bbfec14275e28..6e1fab80
  • Trigger: workflow_dispatch

Changes made

Summary

  • Added IRC channel documentation in English, Simplified Chinese, and Brazilian Portuguese.
  • Added Pico Protocol documentation covering both pico server mode and pico_client outbound mode across all locales.
  • Updated the channel overview and sidebar so IRC and Pico are reachable.
  • Updated the configuration reference for new agent defaults, tool feedback, split markers, api_key compatibility, user_agent, Pico/IRC channel fields, and serial hardware tools.
  • Updated tools documentation for Sogou search, web provider selection, DuckDuckGo defaults, and v0.2.8 serial tool support.
  • Refreshed .doc-source.json with the full upstream target commit, current generation timestamp, new page mappings, and moved upstream source paths.

Verification

  • npm ci
  • npm run build
  • Independent sub-agent review with npm run build

Upstream commits included

6e1fab80 Fix/build macos launcher failed (#2724)
a7414608 * fix build failed (#2723)
dbf5d9ce fix(seahorse): persist reasoning_content in sqlite history (#2707)
5db008f3 fix(channels): dismiss tool feedback animation when turn ends via ResponseHandled (#2713)
cb1e1a35 fix(feishu): fix image download with API fallback and post image support (#2708)
a36472b5 Add CLI support for custom OpenAI-compatible endpoints and remove TUI (#2710)
62d0e34e fix(docker): restore `make docker-build` by adding build directives and fixing Go version (#2700)
db1bc6a1 Merge pull request #2689 from afjcjsbx/fix/cron-session-key-propagation
9b109dc7 fix(serial_windows): remove unused import (#2697)
fc246769 Add cross-platform serial tool support (#2673)
bd867a16 style(tools): wrap serial lines for golines
29e74618 onboard: drop unrelated go generate change from serial work
688d47d2 build: keep go generate on host during cross builds
2baeee28 docs(design): summarize hardware support and serial limits
893e61dc hardware/serial: fix darwin cross-compilation build
64e48163 hardware/serial: improve windows I/O handling
1f0a5f4e hardware/serial: improve unix cancellation and timeout polling
338fa258 hardware/serial: tighten validation and error handling
2114e1a5 feat(config): wire serial tool into runtime and dashboard
0f520767 feat(tools): add cross-platform serial hardware tool
c44bd613 refactor(pico): unify message kind handling of tool_calls and thought (#2680)
0bb0fc42 fix(cron): propagate sessionKey to prevent duplicate tool responses
01612981 ci: add stale bot to auto-close inactive issues and PRs (#2685)
f90e756e Merge pull request #2663 from SiYue-ZO/feature/config-save-restart-prompts
ed687d62 fix(config): show precise malformed config diagnostics (#2415)
ddf2d7c6 fix gateway boot signature after pico setup
cbe6a090 feat: complete tool and model restart feedback
02d9a0d1 feat: track channel and web search restart requirements
afc600ba feat: add config save and restart prompts
39dec354 Merge pull request #2672 from lc6464/fix-tool-calls-thought-ui
d6b38c42 fix(chat): update tool_calls structure and ensure kind is always set
1b9e7e32 fix(chat): add `\r?` for regular expressions
1acab59f fix(tests): format error message
bfc37b78 fix(channels): bypass placeholder edits for thought and tool calls
9d422826 fix(chat): tolerate animated legacy tool feedback parsing
303ff813 feat(chat): unify reasoning and tool call visibility
6d04d15c fix(tool-feedback): dedupe duplicate content and keep full explanations
5cd10b59 feat(pico): add support for tool_calls in chat messages
77be169d Merge pull request #2654 from SiYue-ZO/fix/launcher-hide-windows-console-flash
726ef4fa Merge pull request #2661 from SiYue-ZO/feature/toggle-thought-visibility
d784ec46 feat: add thought visibility toggle
41f4d955 Merge pull request #2657 from lc6464/fix-deepseek-v4-thinking-history
04b62745 Merge pull request #2664 from afjcjsbx/fix/mcp-http-session-lifecycle
78e4e59a chore: update WeChat group QR code (#2667)
ae162a72 fix(message): ignore transient assistant thoughts in message count and history truncation
788f76f4 Merge pull request #2666 from afjcjsbx/fix/mcp-nil-arguments
2f91cc0a Merge pull request #2660 from afjcjsbx/fix/tool-feedback-json-format
93e9bddc Merge pull request #2659 from SiYue-ZO/fix/thought-bubble-collapse-state
caaad601 Merge pull request #2656 from alexhoshina/prompt-layering
9d8f0dc8   fix(mcp): send empty object instead of null for tool

Files changed upstream

 .dockerignore                                      |    3 +-
 .gitattributes                                     |    3 +
 .github/workflows/build.yml                        |    2 +-
 .github/workflows/create-tag.yml                   |   60 +
 .github/workflows/create_dmg.yml                   |   27 +-
 .github/workflows/nightly.yml                      |   18 +-
 .github/workflows/release.yml                      |   49 +-
 .github/workflows/stale.yml                        |   64 +
 .gitignore                                         |    4 +
 .goreleaser.yaml                                   |   57 +-
 CONTRIBUTING.md                                    |    9 +-
 Makefile                                           |  159 +-
 README.md                                          |  119 +-
 assets/launcher-tui.jpg                            |  Bin 277431 -> 0 bytes
 assets/wechat.png                                  |  Bin 370819 -> 369090 bytes
 cmd/membench/eval.go                               |   98 +-
 cmd/membench/eval_llm.go                           |  346 ++
 cmd/membench/eval_test.go                          |   78 +
 cmd/membench/llm_client.go                         |  198 ++
 cmd/membench/main.go                               |  179 +-
 cmd/picoclaw-launcher-tui/README.md                |   69 -
 cmd/picoclaw-launcher-tui/config/config.go         |  236 --
 cmd/picoclaw-launcher-tui/main.go                  |   48 -
 cmd/picoclaw-launcher-tui/ui/app.go                |  325 --
 cmd/picoclaw-launcher-tui/ui/channels.go           |  202 --
 cmd/picoclaw-launcher-tui/ui/gateway.go            |  229 --
 cmd/picoclaw-launcher-tui/ui/home.go               |   70 -
 cmd/picoclaw-launcher-tui/ui/models.go             |  200 --
 cmd/picoclaw-launcher-tui/ui/schemes.go            |  252 --
 cmd/picoclaw-launcher-tui/ui/users.go              |  261 --
 cmd/picoclaw/internal/auth/helpers.go              |   58 +-
 cmd/picoclaw/internal/auth/login.go                |    8 +-
 cmd/picoclaw/internal/auth/login_test.go           |    1 +
 cmd/picoclaw/internal/auth/status_test.go          |   85 +
 cmd/picoclaw/internal/auth/wecom.go                |   31 +-
 cmd/picoclaw/internal/auth/wecom_test.go           |   48 +-
 cmd/picoclaw/internal/auth/weixin.go               |   24 +-
 cmd/picoclaw/internal/cliui/cliui.go               |  147 +
 cmd/picoclaw/internal/cliui/cliui_test.go          |  180 +
 cmd/picoclaw/internal/cliui/help_cmd.go            |  298 ++
 cmd/picoclaw/internal/cliui/help_error.go          |   75 +
 cmd/picoclaw/internal/cliui/mcp_show.go            |  384 ++
 cmd/picoclaw/internal/cliui/onboard.go             |  110 +
 cmd/picoclaw/internal/cliui/status.go              |  168 +
 cmd/picoclaw/internal/cliui/version.go             |   61 +
 cmd/picoclaw/internal/gateway/command.go           |   41 +-
 cmd/picoclaw/internal/gateway/command_test.go      |   34 +
 cmd/picoclaw/internal/mcp/add.go                   |  249 ++
 cmd/picoclaw/internal/mcp/command.go               |   25 +
 cmd/picoclaw/internal/mcp/command_test.go          |  619 ++++
 cmd/picoclaw/internal/mcp/edit.go                  |   54 +
 cmd/picoclaw/internal/mcp/helpers.go               |  359 ++
 cmd/picoclaw/internal/mcp/list.go                  |   78 +
 cmd/picoclaw/internal/mcp/remove.go                |   39 +
 cmd/picoclaw/internal/mcp/show.go                  |  237 ++
 cmd/picoclaw/internal/mcp/test.go                  |   46 +
 cmd/picoclaw/internal/model/add.go                 |  200 ++
 cmd/picoclaw/internal/model/add_test.go            |  257 ++
 cmd/picoclaw/internal/model/command.go             |   11 +
 cmd/picoclaw/internal/model/online.go              |   77 +
 cmd/picoclaw/internal/onboard/command.go           |    2 +-
 cmd/picoclaw/internal/onboard/helpers.go           |   28 +-
 cmd/picoclaw/internal/skills/command.go            |   21 +-
 cmd/picoclaw/internal/skills/helpers.go            |  155 +-
 cmd/picoclaw/internal/skills/helpers_test.go       |  191 +
 cmd/picoclaw/internal/skills/install.go            |   15 +-
 cmd/picoclaw/internal/skills/install_test.go       |    6 +-
 cmd/picoclaw/internal/skills/remove.go             |    9 +-
 cmd/picoclaw/internal/skills/remove_test.go        |    2 +-
 cmd/picoclaw/internal/status/helpers.go            |  132 +-
 cmd/picoclaw/internal/status/helpers_test.go       |   89 +
 cmd/picoclaw/internal/version/command.go           |   11 +-
 cmd/picoclaw/main.go                               |   88 +-
 cmd/picoclaw/main_test.go                          |   10 +-
 config/config.example.json                         |   22 +-
 docker/Dockerfile.full                             |    2 +-
 docker/Dockerfile.goreleaser.launcher              |    1 -
 docker/Dockerfile.heavy                            |    2 +-
 docker/Dockerfile.launcher                         |   65 +
 docker/docker-compose.yml                          |    9 +
 docker/entrypoint.sh                               |    6 +
 docs/README.md                                     |  132 +
 docs/architecture/README.md                        |   12 +
 docs/{ => architecture}/agent-refactor/README.md   |    0
 .../agent-refactor/agent-rename-plan.md            |  100 +
 .../agent-refactor/agent-rename-plan.zh.md         |  100 +
 docs/{ => architecture}/agent-refactor/context.md  |    0
 docs/architecture/agent-refactor/loop-split.md     |   77 +
 .../agent-refactor/pipeline-restructuring-plan.md  |   68 +
 .../pipeline-restructuring-plan.zh.md              |   68 +
 docs/{ => architecture}/hooks/README.md            |    0
 docs/{ => architecture}/hooks/README.zh.md         |    0
 .../{ => architecture}/hooks/hook-json-protocol.md |    0
 .../hooks/hook-json-protocol.zh.md                 |    0
 .../hooks/plugin-tool-injection.md                 |    0
 .../hooks/plugin-tool-injection.zh.md              |    0
 docs/architecture/routing-system.md                |  282 ++
 docs/architecture/routing-system.zh.md             |  281 ++
 docs/architecture/session-system.md                |  255 ++
 docs/architecture/session-system.zh.md             |  254 ++
 docs/{ => architecture}/steering.md                |   18 +-
 docs/{ => architecture}/subturn.md                 |   18 +-
 docs/channels/dingtalk/README.fr.md                |    5 +-
 docs/channels/dingtalk/README.ja.md                |    5 +-
 docs/channels/dingtalk/README.md                   |    3 +-
 docs/channels/dingtalk/README.pt-br.md             |    5 +-
 docs/channels/dingtalk/README.vi.md                |    5 +-
 docs/channels/dingtalk/README.zh.md                |    5 +-
 docs/channels/discord/README.fr.md                 |    5 +-
 docs/channels/discord/README.ja.md                 |    5 +-
 docs/channels/discord/README.md                    |   47 +-
 docs/channels/discord/README.pt-br.md              |    5 +-
 docs/channels/discord/README.vi.md                 |    5 +-
 docs/channels/discord/README.zh.md                 |    5 +-
 docs/channels/feishu/README.fr.md                  |    5 +-
 docs/channels/feishu/README.ja.md                  |    5 +-
 docs/channels/feishu/README.md                     |    3 +-
 docs/channels/feishu/README.pt-br.md               |    5 +-
 docs/channels/feishu/README.vi.md                  |    5 +-
 docs/channels/feishu/README.zh.md                  |    5 +-
 docs/channels/line/README.fr.md                    |    5 +-
 docs/channels/line/README.ja.md                    |    5 +-
 docs/channels/line/README.md                       |    3 +-
 docs/channels/line/README.pt-br.md                 |    5 +-
 docs/channels/line/README.vi.md                    |    5 +-
 docs/channels/line/README.zh.md                    |    5 +-
 docs/channels/maixcam/README.fr.md                 |    5 +-
 docs/channels/maixcam/README.ja.md                 |    5 +-
 docs/channels/maixcam/README.md                    |    3 +-
 docs/channels/maixcam/README.pt-br.md              |    5 +-
 docs/channels/maixcam/README.vi.md                 |    5 +-
 docs/channels/maixcam/README.zh.md                 |    5 +-
 docs/channels/matrix/README.fr.md                  |    5 +-
 docs/channels/matrix/README.ja.md                  |    5 +-
 docs/channels/matrix/README.md                     |    3 +-
 docs/channels/matrix/README.pt-br.md               |    5 +-
 docs/channels/matrix/README.vi.md                  |    5 +-
 docs/channels/matrix/README.zh.md                  |    5 +-
 docs/channels/onebot/README.fr.md                  |    5 +-
 docs/channels/onebot/README.ja.md                  |    5 +-
 docs/channels/onebot/README.md                     |    3 +-
 docs/channels/onebot/README.pt-br.md               |    5 +-
 docs/channels/onebot/README.vi.md                  |    5 +-
 docs/channels/onebot/README.zh.md                  |    5 +-
 docs/channels/qq/README.fr.md                      |    5 +-
 docs/channels/qq/README.ja.md                      |    5 +-
 docs/channels/qq/README.md                         |    3 +-
 docs/channels/qq/README.pt-br.md                   |    5 +-
 docs/channels/qq/README.vi.md                      |    5 +-
 docs/channels/qq/README.zh.md                      |    5 +-
 docs/channels/slack/README.fr.md                   |    5 +-
 docs/channels/slack/README.ja.md                   |    5 +-
 docs/channels/slack/README.md                      |    3 +-
 docs/channels/slack/README.pt-br.md                |    5 +-
 docs/channels/slack/README.vi.md                   |    5 +-
 docs/channels/slack/README.zh.md                   |    5 +-
 docs/channels/telegram/README.fr.md                |    8 +-
 docs/channels/telegram/README.ja.md                |    8 +-
 docs/channels/telegram/README.md                   |   12 +-
 docs/channels/telegram/README.pt-br.md             |    8 +-
 docs/channels/telegram/README.vi.md                |    8 +-
 docs/channels/telegram/README.zh.md                |   10 +-
 docs/channels/vk/README.md                         |   14 +-
 docs/channels/wecom/README.fr.md                   |    5 +-
 docs/channels/wecom/README.ja.md                   |    5 +-
 docs/channels/wecom/README.md                      |    3 +-
 docs/channels/wecom/README.pt-br.md                |    5 +-
 docs/channels/wecom/README.vi.md                   |    5 +-
 docs/channels/wecom/README.zh.md                   |    5 +-
 docs/channels/weixin/README.md                     |    3 +-
 docs/channels/weixin/README.zh.md                  |    3 +-
 .../current-hardware-support-and-serial.zh.md      |   91 +
 docs/design/provider-refactoring.md                |    2 +-
 docs/design/steering-spec.md                       |   65 +-
 .../ANTIGRAVITY_USAGE.fr.md}                       |    2 +-
 .../ANTIGRAVITY_USAGE.ja.md}                       |    2 +-
 docs/{ => guides}/ANTIGRAVITY_USAGE.md             |    0
 .../ANTIGRAVITY_USAGE.pt-br.md}                    |    2 +-
 .../ANTIGRAVITY_USAGE.vi.md}                       |    2 +-
 .../ANTIGRAVITY_USAGE.zh.md}                       |    2 +-
 docs/guides/README.md                              |   15 +
 docs/{fr/chat-apps.md => guides/chat-apps.fr.md}   |   66 +-
 docs/{ja/chat-apps.md => guides/chat-apps.ja.md}   |   60 +-
 docs/{ => guides}/chat-apps.md                     |   78 +-
 docs/{my/chat-apps.md => guides/chat-apps.ms.md}   |   48 +-
 .../chat-apps.md => guides/chat-apps.pt-br.md}     |   73 +-
 docs/{vi/chat-apps.md => guides/chat-apps.vi.md}   |   73 +-
 docs/{zh/chat-apps.md => guides/chat-apps.zh.md}   |   53 +-
 .../configuration.fr.md}                           |   37 +-
 .../configuration.ja.md}                           |   37 +-
 docs/{ => guides}/configuration.md                 |  337 +-
 .../configuration.ms.md}                           |   24 +-
 .../configuration.pt-br.md}                        |   37 +-
 .../configuration.vi.md}                           |   37 +-
 .../configuration.zh.md}                           |  221 +-
 docs/{fr/docker.md => guides/docker.fr.md}         |    6 +-
 docs/{ja/docker.md => guides/docker.ja.md}         |    8 +-
 docs/{ => guides}/docker.md                        |   15 +-
 docs/{my/docker.md => guides/docker.ms.md}         |    6 +-
 docs/{pt-br/docker.md => guides/docker.pt-br.md}   |    6 +-
 docs/{vi/docker.md => guides/docker.vi.md}         |    6 +-
 docs/{zh/docker.md => guides/docker.zh.md}         |   17 +-
 .../hardware-compatibility.fr.md}                  |    4 +-
 .../hardware-compatibility.ja.md}                  |    4 +-
 docs/{ => guides}/hardware-compatibility.md        |    2 +-
 .../hardware-compatibility.pt-br.md}               |    4 +-
 .../hardware-compatibility.vi.md}                  |    4 +-
 .../hardware-compatibility.zh.md}                  |    4 +-
 docs/{fr/providers.md => guides/providers.fr.md}   |   20 +-
 docs/{ja/providers.md => guides/providers.ja.md}   |   19 +-
 docs/{ => guides}/providers.md                     |  172 +-
 .../providers.md => guides/providers.pt-br.md}     |   18 +-
 docs/{vi/providers.md => guides/providers.vi.md}   |   18 +-
 docs/{zh/providers.md => guides/providers.zh.md}   |  161 +-
 docs/guides/routing-guide.md                       |  333 ++
 docs/guides/routing-guide.zh.md                    |  333 ++
 docs/guides/session-guide.md                       |  273 ++
 docs/guides/session-guide.zh.md                    |  273 ++
 .../spawn-tasks.md => guides/spawn-tasks.fr.md}    |    2 +-
 .../spawn-tasks.md => guides/spawn-tasks.ja.md}    |    2 +-
 docs/{ => guides}/spawn-tasks.md                   |    0
 .../spawn-tasks.md => guides/spawn-tasks.ms.md}    |    2 +-
 .../spawn-tasks.md => guides/spawn-tasks.pt-br.md} |    2 +-
 .../spawn-tasks.md => guides/spawn-tasks.vi.md}    |    2 +-
 .../spawn-tasks.md => guides/spawn-tasks.zh.md}    |    2 +-
 docs/migration/README.md                           |    5 +
 docs/migration/model-list-migration.md             |   98 +-
 docs/operations/README.md                          |    6 +
 docs/{fr/debug.md => operations/debug.fr.md}       |    2 +-
 docs/{ja/debug.md => operations/debug.ja.md}       |    2 +-
 docs/{ => operations}/debug.md                     |    4 +-
 docs/{my/debug.md => operations/debug.ms.md}       |    0
 docs/{pt-br/debug.md => operations/debug.pt-br.md} |    2 +-
 docs/{vi/debug.md => operations/debug.vi.md}       |    2 +-
 docs/{zh/debug.md => operations/debug.zh.md}       |    2 +-
 .../troubleshooting.fr.md}                         |    2 +-
 .../troubleshooting.ja.md}                         |    2 +-
 docs/operations/troubleshooting.md                 |   50 +
 .../troubleshooting.ms.md}                         |    0
 .../troubleshooting.pt-br.md}                      |    2 +-
 .../troubleshooting.vi.md}                         |    2 +-
 docs/operations/troubleshooting.zh.md              |   52 +
 .../project/CONTRIBUTING.zh.md                     |    2 +-
 README.fr.md => docs/project/README.fr.md          |  141 +-
 README.id.md => docs/project/README.id.md          |  137 +-
 README.it.md => docs/project/README.it.md          |  155 +-
 README.ja.md => docs/project/README.ja.md          |  137 +-
 docs/project/README.ko.md                          |  616 ++++
 README.my.md => docs/project/README.ms.md          |  130 +-
 README.pt-br.md => docs/project/README.pt-br.md    |  137 +-
 README.vi.md => docs/project/README.vi.md          |  141 +-
 README.zh.md => docs/project/README.zh.md          |  153 +-
 docs/reference/README.md                           |    9 +
 docs/{ => reference}/config-versioning.md          |   60 +-
 docs/{ => reference}/cron.md                       |    0
 docs/reference/mcp-cli.md                          |  361 ++
 docs/{ => reference}/rate-limiting.md              |   12 +-
 .../tools_configuration.fr.md}                     |    5 +-
 .../tools_configuration.ja.md}                     |    5 +-
 docs/{ => reference}/tools_configuration.md        |   48 +-
 .../tools_configuration.pt-br.md}                  |    5 +-
 .../tools_configuration.vi.md}                     |    5 +-
 .../tools_configuration.zh.md}                     |   33 +-
 .../ANTIGRAVITY_AUTH.fr.md}                        |    2 +-
 .../ANTIGRAVITY_AUTH.ja.md}                        |    2 +-
 docs/{ => security}/ANTIGRAVITY_AUTH.md            |    0
 .../ANTIGRAVITY_AUTH.pt-br.md}                     |    2 +-
 .../ANTIGRAVITY_AUTH.vi.md}                        |    2 +-
 .../ANTIGRAVITY_AUTH.zh.md}                        |    2 +-
 docs/security/README.md                            |    8 +
 .../credential_encryption.fr.md}                   |    2 +-
 .../credential_encryption.ja.md}                   |    2 +-
 docs/{ => security}/credential_encryption.md       |    0
 .../credential_encryption.pt-br.md}                |    2 +-
 .../credential_encryption.vi.md}                   |    2 +-
 .../credential_encryption.zh.md}                   |    2 +-
 docs/{ => security}/security_configuration.md      |   15 +-
 docs/{ => security}/sensitive_data_filtering.md    |    2 +-
 .../sensitive_data_filtering.zh.md}                |    4 +-
 docs/troubleshooting.md                            |   43 -
 docs/zh/troubleshooting.md                         |   45 -
 go.mod                                             |   82 +-
 go.sum                                             |  169 +-
 pkg/agent/adapters/channelmanager.go               |   51 +
 pkg/agent/adapters/messagebus.go                   |   36 +
 pkg/agent/agent.go                                 |  609 ++++
 pkg/agent/agent_command.go                         |  492 +++
 pkg/agent/agent_event.go                           |  188 +
 pkg/agent/agent_init.go                            |  331 ++
 pkg/agent/agent_inject.go                          |  103 +
 pkg/agent/{loop_mcp.go => agent_mcp.go}            |   36 +
 pkg/agent/agent_mcp_test.go                        |  181 +
 pkg/agent/{loop_media.go => agent_media.go}        |  194 +-
 pkg/agent/agent_message.go                         |  302 ++
 pkg/agent/agent_outbound.go                        |  262 ++
 pkg/agent/agent_steering.go                        |   96 +
 pkg/agent/{loop_test.go => agent_test.go}          | 3005 ++++++++++++++--
 pkg/agent/agent_transcribe.go                      |  109 +
 pkg/agent/agent_utils.go                           |  598 ++++
 pkg/agent/context.go                               |  402 ++-
 pkg/agent/context_legacy.go                        |   14 +-
 pkg/agent/context_manager.go                       |    4 +
 pkg/agent/context_manager_test.go                  |    3 +
 pkg/agent/context_seahorse.go                      |   13 +
 pkg/agent/context_test.go                          |   41 +
 pkg/agent/context_usage.go                         |   78 +
 pkg/agent/dispatch_request.go                      |  147 +
 pkg/agent/dispatch_request_test.go                 |  135 +
 pkg/agent/eventbus_test.go                         |   46 +-
 pkg/agent/events.go                                |    6 +-
 pkg/agent/hooks.go                                 |  105 +-
 pkg/agent/hooks_test.go                            |  653 +++-
 pkg/agent/instance.go                              |    4 +-
 pkg/agent/instance_test.go                         |   48 +
 pkg/agent/interfaces/interfaces.go                 |   54 +
 pkg/agent/llm_media.go                             |   60 +
 pkg/agent/loop.go                                  | 3663 --------------------
 pkg/agent/loop_mcp_test.go                         |   75 -
 pkg/agent/model_resolution.go                      |   19 +-
 pkg/agent/pipeline.go                              |   40 +
 pkg/agent/pipeline_execute.go                      |  727 ++++
 pkg/agent/pipeline_finalize.go                     |   81 +
 pkg/agent/pipeline_llm.go                          |  523 +++
 pkg/agent/pipeline_setup.go                        |  101 +
 pkg/agent/prompt.go                                |  496 +++
 pkg/agent/prompt_contributors.go                   |  139 +
 pkg/agent/prompt_test.go                           |  275 ++
 pkg/agent/prompt_turn.go                           |  129 +
 pkg/agent/registry.go                              |    7 +-
 pkg/agent/steering.go                              |   80 +-
 pkg/agent/steering_test.go                         |  188 +-
 pkg/agent/subturn.go                               |   29 +-
 pkg/agent/subturn_test.go                          |   32 +
 pkg/agent/turn_context.go                          |   92 +
 pkg/agent/turn_coord.go                            |  624 ++++
 pkg/agent/turn_coord_test.go                       |  615 ++++
 pkg/agent/{turn.go => turn_state.go}               |  205 +-
 pkg/audio/asr/{README_zh.md => README.zh.md}       |    0
 pkg/audio/asr/agent.go                             |   19 +-
 pkg/audio/asr/agent_test.go                        |    4 +-
 pkg/audio/asr/asr.go                               |   26 +-
 pkg/audio/asr/whisper_transcriber.go               |    2 +-
 pkg/audio/tts/{README_zh.md => README.zh.md}       |    0
 pkg/audio/tts/tts.go                               |    2 +-
 pkg/auth/oauth.go                                  |  127 +-
 pkg/auth/oauth_test.go                             |  116 +
 pkg/auth/store.go                                  |  145 +-
 pkg/auth/store_test.go                             |  356 +-
 pkg/bus/bus.go                                     |   20 +-
 pkg/bus/bus_test.go                                |  453 ++-
 pkg/bus/inbound_context.go                         |   81 +
 pkg/bus/outbound_context.go                        |   84 +
 pkg/bus/types.go                                   |   99 +-
 pkg/channels/README.md                             |  111 +-
 pkg/channels/README.zh.md                          |  110 +-
 pkg/channels/base.go                               |   74 +-
 pkg/channels/base_test.go                          |   56 +
 pkg/channels/dingtalk/dingtalk.go                  |   46 +-
 pkg/channels/dingtalk/dingtalk_test.go             |   33 +-
 pkg/channels/dingtalk/init.go                      |   25 +-
 pkg/channels/discord/discord.go                    |  234 +-
 pkg/channels/discord/discord_test.go               |  245 ++
 pkg/channels/discord/init.go                       |   26 +-
 pkg/channels/feishu/common.go                      |   56 +
 pkg/channels/feishu/common_test.go                 |   94 +
 pkg/channels/feishu/feishu_32.go                   |    2 +-
 pkg/channels/feishu/feishu_64.go                   |  372 +-
 pkg/channels/feishu/feishu_64_test.go              |  118 +
 pkg/channels/feishu/init.go                        |   18 +-
 pkg/channels/irc/handler.go                        |   23 +-
 pkg/channels/irc/init.go                           |   31 +-
 pkg/channels/irc/irc.go                            |   14 +-
 pkg/channels/irc/irc_test.go                       |   15 +-
 pkg/channels/line/init.go                          |   18 +-
 pkg/channels/line/line.go                          |   44 +-
 pkg/channels/line/line_test.go                     |    6 +-
 pkg/channels/maixcam/init.go                       |   18 +-
 pkg/channels/maixcam/maixcam.go                    |   32 +-
 pkg/channels/manager.go                            |  557 ++-
 pkg/channels/manager_channel.go                    |  172 +-
 pkg/channels/manager_channel_test.go               |  120 +-
 pkg/channels/manager_test.go                       | 1423 ++++++--
 pkg/channels/matrix/init.go                        |   34 +-
 pkg/channels/matrix/matrix.go                      |  180 +-
 pkg/channels/matrix/matrix_test.go                 |   35 +-
 pkg/channels/onebot/init.go                        |   18 +-
 pkg/channels/onebot/onebot.go                      |   37 +-
 pkg/channels/pico/client.go                        |   34 +-
 pkg/channels/pico/client_test.go                   |  135 +-
 pkg/channels/pico/init.go                          |   50 +-
 pkg/channels/pico/pico.go                          |  465 ++-
 pkg/channels/pico/pico_test.go                     |  409 ++-
 pkg/channels/pico/protocol.go                      |   26 +-
 pkg/channels/qq/init.go                            |   18 +-
 pkg/channels/qq/qq.go                              |   67 +-
 pkg/channels/qq/qq_test.go                         |   17 +-
 pkg/channels/registry.go                           |   48 +-
 pkg/channels/slack/init.go                         |   18 +-
 pkg/channels/slack/slack.go                        |  127 +-
 pkg/channels/slack/slack_test.go                   |   48 +-
 pkg/channels/teams_webhook/init.go                 |   25 +-
 pkg/channels/teams_webhook/teams_webhook.go        |    7 +-
 pkg/channels/teams_webhook/teams_webhook_test.go   |  109 +-
 pkg/channels/telegram/command_registration.go      |    6 +-
 pkg/channels/telegram/command_registration_test.go |   16 +-
 pkg/channels/telegram/init.go                      |   18 +-
 pkg/channels/telegram/parser_markdown_to_html.go   |   45 +-
 .../telegram/parser_markdown_to_html_test.go       |   15 +
 pkg/channels/telegram/telegram.go                  |  313 +-
 .../telegram/telegram_group_command_filter_test.go |    2 +-
 pkg/channels/telegram/telegram_test.go             |  300 +-
 pkg/channels/tool_feedback_animator.go             |  240 ++
 pkg/channels/tool_feedback_animator_test.go        |  121 +
 pkg/channels/vk/init.go                            |   13 +-
 pkg/channels/vk/vk.go                              |   69 +-
 pkg/channels/vk/vk_test.go                         |  114 +-
 pkg/channels/wecom/init.go                         |   18 +-
 pkg/channels/wecom/wecom.go                        |   24 +-
 pkg/channels/wecom/wecom_test.go                   |   13 +-
 pkg/channels/weixin/state.go                       |    6 +-
 pkg/channels/weixin/weixin.go                      |   57 +-
 pkg/channels/weixin/weixin_test.go                 |   10 +-
 pkg/channels/whatsapp/init.go                      |   18 +-
 pkg/channels/whatsapp/whatsapp.go                  |   34 +-
 pkg/channels/whatsapp/whatsapp_command_test.go     |    2 +-
 pkg/channels/whatsapp_native/init.go               |   31 +-
 .../whatsapp_native/whatsapp_command_test.go       |    2 +-
 pkg/channels/whatsapp_native/whatsapp_native.go    |   21 +-
 .../whatsapp_native/whatsapp_native_stub.go        |    9 +-
 pkg/commands/builtin.go                            |    2 +
 pkg/commands/builtin_test.go                       |  166 +-
 pkg/commands/cmd_btw.go                            |   51 +
 pkg/commands/cmd_context.go                        |   42 +
 pkg/commands/cmd_list.go                           |    5 +
 pkg/commands/cmd_show.go                           |    6 +
 pkg/commands/handler_mcp.go                        |  106 +
 pkg/commands/runtime.go                            |   40 +-
 pkg/config/config.go                               |  811 +++--
 pkg/config/config_channel.go                       |  704 ++++
 pkg/config/config_channel_test.go                  |  916 +++++
 pkg/config/config_old.go                           | 1586 ++++-----
 pkg/config/config_struct.go                        |  414 ++-
 pkg/config/config_struct_test.go                   |  259 ++
 pkg/config/config_test.go                          |  642 +++-
 pkg/config/defaults.go                             |  322 +-
 pkg/config/diagnostics.go                          |  441 +++
 pkg/config/envkeys.go                              |    2 +-
 pkg/config/gateway.go                              |   27 +
 pkg/config/gateway_host_env_test.go                |   98 +
 pkg/config/legacy_bindings.go                      |  267 ++
 pkg/config/migration.go                            |  905 +++--
 pkg/config/migration_integration_test.go           |  535 ++-
 pkg/config/migration_test.go                       |  887 ++---
 pkg/config/model_config_test.go                    |   36 -
 pkg/config/multikey_test.go                        |    7 +
 pkg/config/security.go                             |  162 +-
 pkg/config/security_integration_test.go            |  290 +-
 pkg/config/security_test.go                        |  113 +-
 pkg/devices/service.go                             |    3 +-
 pkg/gateway/channel_matrix.go                      |    2 +-
 pkg/gateway/gateway.go                             |   90 +-
 pkg/gateway/gateway_test.go                        |  108 +
 pkg/gateway/listen.go                              |   21 +
 pkg/gateway/listen_test.go                         |  130 +
 pkg/health/server.go                               |    5 +-
 pkg/health/server_test.go                          |   10 +
 pkg/heartbeat/service.go                           |    3 +-
 pkg/isolation/{README_CN.md => README.zh.md}       |    0
 pkg/isolation/platform_windows.go                  |    4 +-
 pkg/mcp/manager.go                                 |  218 +-
 pkg/mcp/manager_test.go                            |  231 ++
 pkg/memory/jsonl.go                                |  427 ++-
 pkg/memory/jsonl_test.go                           |  251 ++
 pkg/migrate/sources/openclaw/openclaw_config.go    |  254 +-
 .../sources/openclaw/openclaw_config_test.go       |   13 +-
 pkg/netbind/netbind.go                             |  606 ++++
 pkg/netbind/netbind_test.go                        |  280 ++
 pkg/netbind/socket_v6only_unix.go                  |   25 +
 pkg/netbind/socket_v6only_windows.go               |   25 +
 pkg/pid/pidfile.go                                 |   15 +-
 pkg/pid/pidfile_test.go                            |   40 +
 pkg/providers/anthropic/provider.go                |   20 +-
 pkg/providers/anthropic_messages/provider.go       |   62 +-
 pkg/providers/anthropic_messages/provider_test.go  |   38 -
 pkg/providers/{ => cli}/claude_cli_provider.go     |    2 +-
 .../claude_cli_provider_integration_test.go        |    2 +-
 .../{ => cli}/claude_cli_provider_test.go          |   81 +-
 pkg/providers/{ => cli}/codex_cli_credentials.go   |    2 +-
 .../{ => cli}/codex_cli_credentials_test.go        |    2 +-
 pkg/providers/{ => cli}/codex_cli_provider.go      |    2 +-
 .../codex_cli_provider_integration_test.go         |    2 +-
 pkg/providers/{ => cli}/codex_cli_provider_test.go |   12 +-
 pkg/providers/{ => cli}/github_copilot_provider.go |    2 +-
 pkg/providers/{ => cli}/tool_call_extract.go       |    2 +-
 pkg/providers/{ => cli}/toolcall_utils.go          |   19 +-
 pkg/providers/cli/types.go                         |   28 +
 pkg/providers/cli_facade.go                        |   40 +
 pkg/providers/cli_factory_test.go                  |   99 +
 pkg/providers/common/anthropic_common.go           |   27 +
 pkg/providers/common/anthropic_common_test.go      |   59 +
 pkg/providers/common/common.go                     |  112 +-
 pkg/providers/common/common_test.go                |  190 +
 pkg/providers/common/google_common.go              |   70 +
 pkg/providers/common/google_common_test.go         |  146 +
 pkg/providers/error_classifier.go                  |   77 +
 pkg/providers/error_classifier_test.go             |  137 +
 pkg/providers/facade_compat_test.go                |   44 +
 pkg/providers/factory_provider.go                  |  100 +-
 pkg/providers/factory_provider_test.go             |  176 +-
 pkg/providers/fallback_test.go                     |   69 +
 pkg/providers/httpapi/gemini_helpers.go            |   82 +
 pkg/providers/httpapi/gemini_provider.go           |  796 +++++
 pkg/providers/httpapi/gemini_provider_test.go      |  763 ++++
 pkg/providers/{ => httpapi}/http_provider.go       |    9 +-
 pkg/providers/httpapi/types.go                     |   43 +
 pkg/providers/httpapi_facade.go                    |   46 +
 pkg/providers/messageutil/messageutil.go           |   38 +
 pkg/providers/{ => oauth}/antigravity_provider.go  |   80 +-
 .../{ => oauth}/antigravity_provider_test.go       |   27 +-
 pkg/providers/{ => oauth}/claude_provider.go       |    5 +-
 pkg/providers/{ => oauth}/claude_provider_test.go  |    2 +-
 pkg/providers/{ => oauth}/codex_provider.go        |    4 +-
 pkg/providers/{ => oauth}/codex_provider_test.go   |    2 +-
 pkg/providers/oauth/types.go                       |   32 +
 pkg/providers/oauth_facade.go                      |   60 +
 pkg/providers/openai_compat/provider.go            |  139 +-
 pkg/providers/openai_compat/provider_test.go       |  392 ++-
 .../openai_responses_common/responses_common.go    |   22 +-
 .../responses_common_test.go                       |   36 -
 pkg/providers/protocoltypes/types.go               |   32 +-
 pkg/providers/toolcall_utils_test.go               |   24 +
 pkg/providers/types.go                             |    2 +
 pkg/routing/route.go                               |  401 ++-
 pkg/routing/route_test.go                          |  296 +-
 pkg/routing/session_key.go                         |  192 -
 pkg/routing/session_key_test.go                    |  207 --
 pkg/seahorse/fts5_sanitize.go                      |   70 +
 pkg/seahorse/fts5_sanitize_test.go                 |  237 ++
 pkg/seahorse/schema.go                             |   74 +-
 pkg/seahorse/schema_test.go                        |  125 +
 pkg/seahorse/short_engine.go                       |  116 +-
 pkg/seahorse/short_engine_test.go                  |  312 ++
 pkg/seahorse/store.go                              |  152 +-
 pkg/seahorse/store_test.go                         |  193 +-
 pkg/session/allocator.go                           |  213 ++
 pkg/session/allocator_test.go                      |  160 +
 pkg/session/jsonl_backend.go                       |  106 +
 pkg/session/jsonl_backend_test.go                  |  125 +
 pkg/session/key.go                                 |  205 ++
 pkg/session/key_test.go                            |  100 +
 pkg/session/manager.go                             |   10 +-
 pkg/session/scope.go                               |   32 +
 pkg/skills/clawhub_registry.go                     |   53 +
 pkg/skills/config_bridge.go                        |  136 +
 pkg/skills/github_registry.go                      |  305 ++
 pkg/skills/github_registry_test.go                 |  218 ++
 pkg/skills/installer.go                            |  415 ++-
 pkg/skills/installer_test.go                       |  296 ++
 pkg/skills/provider_factory.go                     |   33 +
 pkg/skills/registry.go                             |   73 +-
 pkg/skills/registry_test.go                        |   77 +
 pkg/tools/cron.go                                  |   14 +-
 pkg/tools/cron_test.go                             |   11 +-
 pkg/tools/facade_compat_test.go                    |   18 +
 pkg/tools/{ => fs}/edit.go                         |   12 +-
 pkg/tools/{ => fs}/edit_test.go                    |    2 +-
 pkg/tools/{ => fs}/filesystem.go                   |   18 +-
 pkg/tools/{ => fs}/filesystem_test.go              |   39 +-
 pkg/tools/{ => fs}/load_image.go                   |   10 +-
 pkg/tools/{ => fs}/load_image_test.go              |   32 +-
 pkg/tools/{ => fs}/send_file.go                    |    2 +-
 pkg/tools/{ => fs}/send_file_test.go               |    2 +-
 pkg/tools/fs/shared.go                             |   37 +
 pkg/tools/fs_facade.go                             |  100 +
 pkg/tools/fs_registry_compat_test.go               |   46 +
 pkg/tools/{ => hardware}/i2c.go                    |   14 +-
 pkg/tools/{ => hardware}/i2c_linux.go              |    2 +-
 pkg/tools/{ => hardware}/i2c_other.go              |    2 +-
 pkg/tools/hardware/serial.go                       |  453 +++
 pkg/tools/hardware/serial_darwin.go                |   19 +
 pkg/tools/hardware/serial_linux.go                 |   19 +
 pkg/tools/hardware/serial_other.go                 |   21 +
 pkg/tools/hardware/serial_other_test.go            |   18 +
 pkg/tools/hardware/serial_test.go                  |  269 ++
 pkg/tools/hardware/serial_unix.go                  |  286 ++
 pkg/tools/hardware/serial_unix_test.go             |  140 +
 pkg/tools/hardware/serial_windows.go               |  247 ++
 pkg/tools/hardware/serial_windows_test.go          |   39 +
 pkg/tools/hardware/serial_write_common_test.go     |   87 +
 pkg/tools/hardware/shared.go                       |   13 +
 pkg/tools/{ => hardware}/spi.go                    |    6 +-
 pkg/tools/{ => hardware}/spi_linux.go              |    2 +-
 pkg/tools/{ => hardware}/spi_other.go              |    2 +-
 pkg/tools/hardware_facade.go                       |   21 +
 pkg/tools/identifier_compat.go                     |   48 +
 pkg/tools/integration/helpers.go                   |  134 +
 pkg/tools/{ => integration}/mcp_tool.go            |   11 +-
 pkg/tools/{ => integration}/mcp_tool_test.go       |   19 +-
 pkg/tools/{ => integration}/message.go             |   40 +-
 pkg/tools/{ => integration}/message_test.go        |   56 +-
 pkg/tools/{ => integration}/reaction.go            |    2 +-
 pkg/tools/{ => integration}/reaction_test.go       |    2 +-
 pkg/tools/integration/shared.go                    |   77 +
 pkg/tools/{ => integration}/skills_install.go      |  151 +-
 pkg/tools/integration/skills_install_test.go       |  423 +++
 pkg/tools/{ => integration}/skills_search.go       |    2 +-
 pkg/tools/{ => integration}/skills_search_test.go  |    2 +-
 pkg/tools/{ => integration}/tts_send.go            |    2 +-
 pkg/tools/{ => integration}/web.go                 |  593 +++-
 pkg/tools/{ => integration}/web_test.go            |  334 +-
 pkg/tools/integration_facade.go                    |  106 +
 pkg/tools/load_image_compat_test.go                |   29 +
 pkg/tools/path_compat.go                           |   19 +
 pkg/tools/registry.go                              |   25 +
 pkg/tools/registry_test.go                         |   50 +
 pkg/tools/search_tool.go                           |   16 +
 pkg/tools/session.go                               |    8 -
 pkg/tools/{ => shared}/base.go                     |   59 +-
 pkg/tools/{ => shared}/result.go                   |   14 +-
 pkg/tools/{ => shared}/types.go                    |   10 +-
 pkg/tools/shared_facade.go                         |  118 +
 pkg/tools/skills_install_test.go                   |  104 -
 pkg/updater/updater.go                             |   16 +-
 pkg/updater/updater_test.go                        |  424 ++-
 pkg/utils/tool_feedback.go                         |   67 +
 pkg/utils/tool_feedback_dedupe.go                  |   39 +
 pkg/utils/tool_feedback_dedupe_test.go             |   55 +
 pkg/utils/tool_feedback_test.go                    |   58 +
 pkg/utils/visible_tool_calls.go                    |  106 +
 pkg/utils/visible_tool_calls_test.go               |   33 +
 scripts/copydir.go                                 |  186 +
 scripts/lint-docs.sh                               |  219 ++
 web/Makefile                                       |  115 +-
 web/README.md                                      |   48 +-
 web/backend/api/auth.go                            |   76 +-
 web/backend/api/auth_test.go                       |  213 +-
 web/backend/api/channels.go                        |  221 +-
 web/backend/api/channels_test.go                   |  114 +-
 web/backend/api/config.go                          |  484 ++-
 web/backend/api/config_test.go                     |  671 +++-
 web/backend/api/exec_nonwindows.go                 |   11 +
 web/backend/api/exec_windows.go                    |   24 +
 web/backend/api/gateway.go                         |  245 +-
 web/backend/api/gateway_host.go                    |   70 +-
 web/backend/api/gateway_host_test.go               |  124 +-
 web/backend/api/gateway_test.go                    |  352 ++
 web/backend/api/launcher_config.go                 |   35 +-
 web/backend/api/launcher_config_test.go            |   22 +-
 web/backend/api/model_status.go                    |   28 +-
 web/backend/api/models.go                          |   42 +-
 web/backend/api/models_test.go                     |  477 +++
 web/backend/api/oauth.go                           |   24 +-
 web/backend/api/oauth_test.go                      |   48 +
 web/backend/api/pico.go                            |  256 +-
 web/backend/api/pico_test.go                       |  521 ++-
 web/backend/api/router.go                          |   15 +
 web/backend/api/session.go                         |  742 +++-
 web/backend/api/session_test.go                    | 1244 ++++++-
 web/backend/api/skills.go                          |  111 +-
 web/backend/api/skills_test.go                     |  469 ++-
 web/backend/api/tools.go                           |  339 ++
 web/backend/api/tools_test.go                      |  406 +++
 web/backend/api/wecom.go                           |   18 +-
 web/backend/api/weixin.go                          |   21 +-
 web/backend/api/weixin_test.go                     |   12 +-
 web/backend/app_runtime.go                         |   34 +-
 web/backend/dashboardauth/platform.go              |    7 +
 web/backend/dashboardauth/store.go                 |    2 +
 web/backend/dashboardauth/store_unsupported.go     |   60 +
 web/backend/launcherconfig/config.go               |   69 +-
 web/backend/launcherconfig/config_test.go          |  125 +-
 web/backend/launcherconfig/migration.go            |   62 +
 web/backend/launcherconfig/migration_test.go       |  135 +
 web/backend/launcherconfig/password_store.go       |   92 +
 web/backend/main.go                                |  485 ++-
 web/backend/main_test.go                           |  405 ++-
 web/backend/middleware/launcher_dashboard_auth.go  |  197 +-
 .../middleware/launcher_dashboard_auth_test.go     |  229 +-
 web/backend/middleware/referrer_policy.go          |    4 +-
 web/backend/systray.go                             |    2 +-
 web/backend/systray_stub_nocgo.go                  |    2 +-
 web/backend/utils/runtime.go                       |   88 +-
 web/frontend/eslint.config.js                      |    1 +
 web/frontend/package.json                          |   37 +-
 web/frontend/pnpm-lock.yaml                        | 2289 ++++++------
 web/frontend/src/api/launcher-auth.ts              |   31 +-
 web/frontend/src/api/models.ts                     |    1 +
 web/frontend/src/api/pico.ts                       |   16 +-
 web/frontend/src/api/sessions.ts                   |   18 +
 web/frontend/src/api/system.ts                     |    1 -
 web/frontend/src/api/tools.ts                      |   39 +
 web/frontend/src/app-providers.tsx                 |   13 +
 .../src/components/agent/hub/market-skill-card.tsx |   62 +-
 .../src/components/agent/skills/detail-sheet.tsx   |    5 +-
 .../components/agent/tools/tool-library-tab.tsx    |  270 ++
 .../components/agent/tools/tool-status-badge.tsx   |   28 +
 .../src/components/agent/tools/tools-page.tsx      |  343 +-
 .../src/components/agent/tools/tools-tabs.tsx      |   56 +
 web/frontend/src/components/agent/tools/types.ts   |    9 +
 .../src/components/agent/tools/use-tools-page.ts   |  209 ++
 .../agent/tools/web-search-general-settings.tsx    |  139 +
 .../agent/tools/web-search-provider-settings.tsx   |  253 ++
 .../src/components/agent/tools/web-search-tab.tsx  |  113 +
 web/frontend/src/components/app-header.tsx         |   62 +-
 .../channels/channel-array-list-field.tsx          |  180 +
 .../src/components/channels/channel-array-utils.ts |   72 +
 .../components/channels/channel-config-page.tsx    |  210 +-
 .../channels/channel-forms/discord-form.tsx        |   45 +-
 .../channels/channel-forms/feishu-form.tsx         |   81 +-
 .../channels/channel-forms/generic-form.tsx        |  122 +-
 .../channels/channel-forms/slack-form.tsx          |   46 +-
 .../channels/channel-forms/telegram-form.tsx       |   45 +-
 .../channels/channel-forms/wecom-form.tsx          |    3 +-
 .../channels/channel-forms/weixin-form.tsx         |   45 +-
 .../src/components/chat/assistant-message.tsx      |  267 +-
 web/frontend/src/components/chat/chat-composer.tsx |   84 +-
 web/frontend/src/components/chat/chat-page.tsx     |  149 +-
 .../src/components/chat/context-usage-ring.tsx     |  161 +
 .../src/components/chat/typing-indicator.tsx       |    5 +-
 web/frontend/src/components/chat/user-message.tsx  |   22 +-
 .../src/components/config-change-notice.tsx        |   48 +
 web/frontend/src/components/config/config-page.tsx |  114 +-
 .../src/components/config/config-sections.tsx      |   51 +-
 web/frontend/src/components/config/form-model.ts   |   12 +-
 .../src/components/config/raw-config-page.tsx      |   21 +-
 .../src/components/models/add-model-sheet.tsx      |   36 +-
 .../src/components/models/edit-model-sheet.tsx     |  102 +-
 web/frontend/src/components/models/model-card.tsx  |  115 +-
 web/frontend/src/components/models/models-page.tsx |   53 +-
 .../src/components/models/provider-icon.tsx        |   15 +-
 .../src/components/models/provider-label.ts        |   36 +-
 web/frontend/src/components/shared-form.tsx        |    5 +-
 web/frontend/src/components/ui/tooltip.tsx         |   12 +-
 .../src/features/chat/assistant-message-state.ts   |  122 +
 web/frontend/src/features/chat/controller.ts       |   19 +-
 web/frontend/src/features/chat/history.ts          |   56 +-
 web/frontend/src/features/chat/protocol.ts         |  148 +-
 web/frontend/src/features/chat/tool-calls.ts       |  125 +
 web/frontend/src/hooks/use-chat-models.ts          |   15 +-
 web/frontend/src/hooks/use-gateway.ts              |   12 +-
 web/frontend/src/hooks/use-highlight-theme.ts      |   70 +
 web/frontend/src/hooks/use-pico-chat.ts            |    3 +-
 web/frontend/src/i18n/locales/en.json              |  137 +-
 web/frontend/src/i18n/locales/zh.json              |  131 +-
 web/frontend/src/lib/restart-required.ts           |   21 +
 web/frontend/src/main.tsx                          |    9 +-
 web/frontend/src/routes/__root.tsx                 |    5 +-
 web/frontend/src/routes/launcher-login.tsx         |   39 +-
 web/frontend/src/routes/launcher-setup.tsx         |  244 +-
 web/frontend/src/store/chat.ts                     |   39 +-
 web/frontend/src/store/gateway.ts                  |    4 +-
 web/frontend/vite.config.ts                        |    6 +-
 752 files changed, 68281 insertions(+), 18015 deletions(-)

This PR was generated by Codex via GitHub Actions. Please review carefully before merging.

Synced documentation to match upstream changes since 5e44a9941023b93b3a043c729f8bbfec14275e28.

Co-Authored-By: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant