diff --git a/.github/workflows/docs-sync-publish.yml b/.github/workflows/docs-sync-publish.yml new file mode 100644 index 00000000000..808080a70f1 --- /dev/null +++ b/.github/workflows/docs-sync-publish.yml @@ -0,0 +1,56 @@ +name: Docs Sync Publish Repo + +on: + push: + branches: + - main + paths: + - docs/** + - scripts/docs-sync-publish.mjs + - .github/workflows/docs-sync-publish.yml + workflow_dispatch: + +permissions: + contents: read + +jobs: + sync-publish-repo: + runs-on: ubuntu-latest + steps: + - name: Checkout source repo + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Checkout publish repo + uses: actions/checkout@v4 + with: + repository: openclaw/docs + token: ${{ secrets.OPENCLAW_DOCS_SYNC_TOKEN }} + path: publish + + - name: Sync docs into publish repo + run: | + node scripts/docs-sync-publish.mjs \ + --target "$GITHUB_WORKSPACE/publish" \ + --source-repo "$GITHUB_REPOSITORY" \ + --source-sha "$GITHUB_SHA" + + - name: Commit publish repo sync + working-directory: publish + run: | + if git diff --quiet -- docs .openclaw-sync; then + echo "No publish-repo changes." + exit 0 + fi + + git config user.name "openclaw-docs-sync[bot]" + git config user.email "openclaw-docs-sync[bot]@users.noreply.github.com" + git add docs .openclaw-sync + git commit -m "chore(sync): mirror docs from $GITHUB_REPOSITORY@$GITHUB_SHA" + git push origin HEAD:main diff --git a/AGENTS.md b/AGENTS.md index 295c1606ab3..ca7c65d8dcc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -83,8 +83,8 @@ ## Docs i18n (zh-CN) -- `docs/zh-CN/**` is generated; do not edit unless the user explicitly asks. -- Pipeline: update English docs → adjust glossary (`docs/.i18n/glossary.zh-CN.json`) → run `scripts/docs-i18n` → apply targeted fixes only if instructed. +- Simplified Chinese publish output lives in the sibling `openclaw-docs` repo; do not add or edit `docs/zh-CN/**` here. +- Pipeline: update English docs here → adjust glossary (`docs/.i18n/glossary.zh-CN.json`) → let the publish-repo sync + `scripts/docs-i18n` run in `openclaw-docs` → apply targeted fixes only if instructed. - Before rerunning `scripts/docs-i18n`, add glossary entries for any new technical terms, page titles, or short nav labels that must stay in English or use a fixed translation (for example `Doctor` or `Polls`). - `pnpm docs:check-i18n-glossary` enforces glossary coverage for changed English doc titles and short internal doc labels before translation reruns. - Translation memory: `docs/.i18n/zh-CN.tm.jsonl` (generated). diff --git a/docs/.i18n/README.md b/docs/.i18n/README.md index 8e751a11eaa..f50136c89f2 100644 --- a/docs/.i18n/README.md +++ b/docs/.i18n/README.md @@ -1,11 +1,13 @@ # OpenClaw docs i18n assets -This folder stores **generated** and **config** files for documentation translations. +This folder stores translation config for the source docs repo. + +Generated zh-CN pages and the live zh-CN translation memory now live in the publish repo (`openclaw/docs`, local sibling checkout `~/Projects/openclaw-docs`). ## Files - `glossary..json` — preferred term mappings (used in prompt guidance). -- `.tm.jsonl` — translation memory (cache) keyed by workflow + model + text hash. +- `.tm.jsonl` — translation memory (cache) keyed by workflow + model + text hash. In this repo, zh-CN TM is no longer committed. ## Glossary format @@ -28,4 +30,5 @@ Fields: ## Notes - Glossary entries are passed to the model as **prompt guidance** (no deterministic rewrites). -- The translation memory is updated by `scripts/docs-i18n`. +- `scripts/docs-i18n` still owns translation generation. +- The source repo syncs English docs into the publish repo; zh-CN generation runs there on push and hourly. diff --git a/docs/.i18n/zh-CN.tm.jsonl b/docs/.i18n/zh-CN.tm.jsonl deleted file mode 100644 index 24076e5a08a..00000000000 --- a/docs/.i18n/zh-CN.tm.jsonl +++ /dev/null @@ -1,1329 +0,0 @@ -{"cache_key":"001616450ecb371df73ba42e487328ded133e15d365d7ddc15d47eaf467d2e6c","segment_id":"index.md:468886872909c70d","source_path":"index.md","text_hash":"468886872909c70d3bfb4836ec60a6485f4cbbd0f8a0acedbacb9b477f01a251","text":"Workspace templates","translated":"工作区模板","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:17Z"} -{"cache_key":"0090cc37997fe8660527538473feb7d0e0535dfb0015e52d13f2e7ad09bbe185","segment_id":"start/getting-started.md:edeb36e62e1bf30e","source_path":"start/getting-started.md","text_hash":"edeb36e62e1bf30e192bc1951ed9c3f6c65f7d300f926c071c245671dfb5855c","text":"If you’re hacking on OpenClaw itself, run from source:","translated":"如果您正在开发 OpenClaw 本身,请从源码运行:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:45Z"} -{"cache_key":"00ee1ece05b05ab7b12cfe673000c037bb2037fe93a069a71ec2368184e83944","segment_id":"index.md:45e6d69dbe995a36","source_path":"index.md","text_hash":"45e6d69dbe995a36f7bc20755eff4eb4d2afaaedbcac4668ab62540c57219f32","text":"macOS app","translated":"macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:06Z"} -{"cache_key":"00eeb87b1774979860c4b016d48e416ab9157539c41f5f3f0c58c1deb8f075c9","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在记录提供商认证或部署环境的相关文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:51Z"} -{"cache_key":"01063749652c55481b7da485911a80de3049ded0257874b376efbc55a14293a7","segment_id":"start/wizard.md:037b8f564390e097","source_path":"start/wizard.md","text_hash":"037b8f564390e09742421c621a1f785d2ee5338d0c680c76f7a9b991518e909d","text":" and optional ","translated":" 和可选的 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:48Z"} -{"cache_key":"01814fd9d09399c075081056c6fa2befa388c67ba4f8745122804fd044fd82d6","segment_id":"start/getting-started.md:d1564fd156e28160","source_path":"start/getting-started.md","text_hash":"d1564fd156e28160c83922ad7a18428ce2c966e790f477e740d1d9f6cadd51e9","text":"WhatsApp (QR login)","translated":"WhatsApp(二维码登录)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:08Z"} -{"cache_key":"01b87576d7ade6b91ca28935f65c167c2f4fb5d1b6bfd1189fd416b229500af4","segment_id":"start/getting-started.md:7421b911bc203f6f","source_path":"start/getting-started.md","text_hash":"7421b911bc203f6fe3c677d752379f23dc314719d39d18179406da675f58d039","text":"Scan via WhatsApp → Settings → Linked Devices.","translated":"通过 WhatsApp → 设置 → 已关联设备 进行扫描。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:10Z"} -{"cache_key":"01d8d8ec84ad8f4c74e29e254e56c02f7d75005160c27d99e9ce183767e16c55","segment_id":"index.md:6b8ebac7903757ce","source_path":"index.md","text_hash":"6b8ebac7903757ce7399cc729651a27e459903c24c64aa94827b20d8a2a411d2","text":"For Tailnet access, run ","translated":"如需 Tailnet 访问,请运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:08Z"} -{"cache_key":"024efbb5ac15e07c191effa78c0b23bf173c8af6725e988743ea055e9a4e8c3b","segment_id":"index.md:f9b8279bc46e847b","source_path":"index.md","text_hash":"f9b8279bc46e847bfcc47b8701fd5c5dc27baa304d5add8278a7f97925c3ec13","text":"Mattermost (plugin)","translated":"Mattermost(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:40Z"} -{"cache_key":"02d1e10492e8721462f16e39467b94ad3197e4eb76f6d671a09b4246d5b4d27b","segment_id":"start/getting-started.md:7ac362063b9f2046","source_path":"start/getting-started.md","text_hash":"7ac362063b9f204602f38f9f1ec9cf047f03e0d7b83896571c9df6d31ad41e9c","text":"Nodes","translated":"节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:28Z"} -{"cache_key":"02f39c075115bee6bdb015a49436f2b2a56365b87558fdd7aff7b17cb83bff6c","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:12Z"} -{"cache_key":"02f4067265058ed8929f3772d87e1c5dc0af8422b8e7b513b7db155108a422c3","segment_id":"start/wizard.md:961eb43699731759","source_path":"start/wizard.md","text_hash":"961eb43699731759fd0d04f177bb24f09971bddd41426702276e761269d0a5b9","text":" does ","translated":" 会 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:48Z"} -{"cache_key":"034b5fd57fbe77f6aabf0b737f4d387868eef9ac32fcc372692191887cb16759","segment_id":"environment.md:ab5aec4424cf678d","source_path":"environment.md","text_hash":"ab5aec4424cf678dcfb1ad3d2c2929c1e0b2b1ff61b82b961ada48ad033367b4","text":" (dotenv default; does not override).","translated":" (dotenv 默认行为;不覆盖已有值)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:07Z"} -{"cache_key":"0361ba41cec2736ce451f58e657735b2d4811f0c3af53356ee56277f825899a3","segment_id":"index.md:7e2735e5df8f4e9f","source_path":"index.md","text_hash":"7e2735e5df8f4e9f006d10e079fe8045612aa662b02a9d1948081d1173798dec","text":"MIT — Free as a lobster in the ocean 🦞","translated":"MIT —— 像海洋中的龙虾一样自由 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:55:01Z"} -{"cache_key":"039c1b4477a6425d1ad785665fa3ad0b9236c514cd807422215eeb4dc76d4378","segment_id":"start/getting-started.md:e3209251e20896ec","source_path":"start/getting-started.md","text_hash":"e3209251e20896ecc60fa4da2817639f317fbb576288a9fc52d11e5030ecc44a","text":"Windows (WSL2)","translated":"Windows (WSL2)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:44Z"} -{"cache_key":"0457a19cd3a82171f6cdb92d82d5a0f6358da4c1220d42d5b0575bde871e7f91","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:00Z"} -{"cache_key":"045fb6f3989827561e347dfa56a164069bf8b7afaa50d2d02c20ad264495d351","segment_id":"index.md:e9f63c8876aec738","source_path":"index.md","text_hash":"e9f63c8876aec7381ffb5a68efb39f50525f9fc4e732857488561516d47f5654","text":" — Uses Baileys for WhatsApp Web protocol","translated":" — 使用 Baileys 实现 WhatsApp Web 协议","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:31Z"} -{"cache_key":"046c83b658b7dd8bce829f07bd09dcee3413753ab72cf95d638925aa163d3486","segment_id":"start/getting-started.md:f4117324994aaad1","source_path":"start/getting-started.md","text_hash":"f4117324994aaad1d3413064ade8f2037e43ab2fac0b385d731ff154925ec3b3","text":"Windows (PowerShell):","translated":"Windows (PowerShell):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:51Z"} -{"cache_key":"04d48cfdb6b444cb4691ea55a5deb23df20694659ae1bc5e082e242e749f5e3c","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装完整性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:38Z"} -{"cache_key":"05405710e256b2e1031234be855a7c11cf1505c627df14884d655fa42a1568a7","segment_id":"index.md:f0a7f9d068cb7a14","source_path":"index.md","text_hash":"f0a7f9d068cb7a146d0bb89b3703688d690ed0b92734b78bcdb909aace617dbf","text":"WhatsApp group messages","translated":"WhatsApp 群组消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:45Z"} -{"cache_key":"064dcdb5051313b748c0b775ec69683149e1861d84fa47a74c68ddd8086bdebc","segment_id":"index.md:81a1c0449ea684aa","source_path":"index.md","text_hash":"81a1c0449ea684aadad54a7f8575061ddc5bfa713b6ca3eb8a0228843d2a3ea1","text":"Nodes (iOS/Android)","translated":"节点(iOS/Android)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:57Z"} -{"cache_key":"0687549a28e71ec1e17b261001a9e818e27784ce3286b7d21e856e37c07915a6","segment_id":"start/getting-started.md:bad5d156dc5e0cd3","source_path":"start/getting-started.md","text_hash":"bad5d156dc5e0cd39db3a90645cd150e846743103f3acfa5182ad5a003a172dc","text":"0) Prereqs","translated":"0)前提条件","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:23Z"} -{"cache_key":"06c13f0dfc6cd5fa142e329fd2cfb2538e19e33de83c4b9d366542f0d03cdf08","segment_id":"index.md:c3af076f92c5ed8d","source_path":"index.md","text_hash":"c3af076f92c5ed8dcb0d0b0d36dd120bc31b68264efea96cf8019ca19f1c13a3","text":"Troubleshooting","translated":"故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:14Z"} -{"cache_key":"06dfb5ef154c29e0961021acb7bcdb34a790d58d9f6f7a59165e7a423ef0f2df","segment_id":"start/wizard.md:0be68bd5c21e5e4d","source_path":"start/wizard.md","text_hash":"0be68bd5c21e5e4de598fc71e32c131ce8c742976a344ac4d9973ef08942eacb","text":"Workspace default (or existing workspace)","translated":"默认工作区(或现有工作区)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:47Z"} -{"cache_key":"071b444d331ae100d5b17caba7748f4d01e9e829b6951ac8b8903bfdb7c00349","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"您正在记录 提供商 的认证或部署环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:06Z"} -{"cache_key":"074a96a2803f1b7e25df2097aa35c976d3c4bf3355dcb878991d99ceb398cae6","segment_id":"start/wizard.md:2b39d5818b91d602","source_path":"start/wizard.md","text_hash":"2b39d5818b91d602d9aeaaaf38d7de37f9e89553f3edcdf114ae2f43cc8ca399","text":"Full workspace layout + backup guide: ","translated":"完整工作区布局 + 备份指南: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:49Z"} -{"cache_key":"078dae6e59f75f6c474a6f696cdc942ab423be6fcd1bf1bd4b589a665766de76","segment_id":"index.md:310cc8cec6b20a30","source_path":"index.md","text_hash":"310cc8cec6b20a3003ffab12f5aade078a0e7a7d6a27ff166d62ab4c3a1ee23d","text":"If you ","translated":"如果您 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:52Z"} -{"cache_key":"07e0c1ac79c7958e1152f210f5fa32881aab6766711be06e94d0a324e62f4ea3","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:34Z"} -{"cache_key":"083df0fcf5941871ec509cf41a264e951eb0dea21cf3572cde4180a766ac43c8","segment_id":"index.md:3c064c83b8d244fe","source_path":"index.md","text_hash":"3c064c83b8d244fef61e5fd8ce5f070b857a3578a71745e61eea02892788c020","text":" — Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth","translated":" — Anthropic(Claude Pro/Max)+ OpenAI(ChatGPT/Codex)通过 OAuth","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:54Z"} -{"cache_key":"086e200198761d02e2a28bec15b1df356262d9643c0fa8baded9caedae854526","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:11Z"} -{"cache_key":"086eabdd4e052418c6234dccf807220465b0eaaef349b91be635a3128a71857a","segment_id":"index.md:9182ff69cf35cb47","source_path":"index.md","text_hash":"9182ff69cf35cb477c02452600d23b52a49db7bd7c9833a9a8bc1dcd90c25812","text":"Node ≥ 22","translated":"Node ≥ 22","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:10Z"} -{"cache_key":"08a071c1e71388ad18ffca39565a37edb304794146d2f7ea1e2bac93493f89d6","segment_id":"start/wizard.md:903ea1cf1f2831b3","source_path":"start/wizard.md","text_hash":"903ea1cf1f2831b3e836aff6e23c7d261a83381614361e65df16ade48e84b26c","text":" (API keys + OAuth).","translated":" (API 密钥 + OAuth)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:34Z"} -{"cache_key":"08b4ff7a8e04409d740ca4090c8d83bc3b05d7084bce4b83fa4c91b930eb7161","segment_id":"environment.md:62d66b8c36a6c9aa","source_path":"environment.md","text_hash":"62d66b8c36a6c9aa7134c8f9fe5912435cb0b3bfce3172712646a187954e7040","text":"See [Configuration: Env var substitution](/gateway/configuration#env-var-substitution-in-config) for full details.","translated":"详见 [配置:环境变量替换](/gateway/configuration#env-var-substitution-in-config)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:58Z"} -{"cache_key":"08f97e3d7baa10a515db441b79273f697f85c83da040cdf821f9e725243112f2","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型概览","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:17Z"} -{"cache_key":"090f33f5db1fde14d7fc04aaa9febae674e9e6ed0d04ce8f1813dac53ccae3a2","segment_id":"start/wizard.md:ab4386608f0ebc6e","source_path":"start/wizard.md","text_hash":"ab4386608f0ebc6e151eab042c6de71d09863aab6dcb2551665e34210e4a4439","text":"What you’ll set:","translated":"您需要设置的内容:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:15Z"} -{"cache_key":"09824fcf1352f54ff162268163b8670ead0660d4e0a45d1f236b5b3ef938a56b","segment_id":"index.md:86e2bbbc305c31aa","source_path":"index.md","text_hash":"86e2bbbc305c31aa988751196a1e207da68801a48798c48b90485c11578443a0","text":"Providers and UX:","translated":"提供商 和用户体验:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:39Z"} -{"cache_key":"0a2b53b4943a0ba87fb991fef20f822df6c2fd0584f88d394de35b081daac564","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过第 4 步;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:00Z"} -{"cache_key":"0a3f3c5b73fe0ebee73b07c3c4f4067a75ecf6a9ff30b8b77bf67227b125fee2","segment_id":"index.md:042c75df73389c8a","source_path":"index.md","text_hash":"042c75df73389c8a7c0871d2a451bd20431d24e908e2c192827a54022df95005","text":"Nacho Iacovino","translated":"Nacho Iacovino","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:50Z"} -{"cache_key":"0a4eb623efd2d7af50da4f933f490fa1b7addfe2619ab721d9fcd4f2a2302e6a","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:29Z"} -{"cache_key":"0a4eb82ad59541cc64eceae3ce7e41ee4739d9a7c742146611fa96b11bdd272d","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在编写提供商认证或部署环境的文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:53Z"} -{"cache_key":"0a7b709303c429dd14ac8df8ef88c398cdf45a678f7beeacf08413bd16d2fc3d","segment_id":"index.md:e9f63c8876aec738","source_path":"index.md","text_hash":"e9f63c8876aec7381ffb5a68efb39f50525f9fc4e732857488561516d47f5654","text":" — Uses Baileys for WhatsApp Web protocol","translated":" — 使用 Baileys 实现 WhatsApp Web 协议","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:52Z"} -{"cache_key":"0aa65de003f8c68c46bc14dc4d66d04efaf025ddd6a1a3cdec1b51ecbe3ecc8a","segment_id":"start/getting-started.md:317f690133d02b19","source_path":"start/getting-started.md","text_hash":"317f690133d02b1969bfcbf6d76a7c0e6efa2b0839e8510227135359a535a5c0","text":"In a new terminal, send a test message:","translated":"在新终端中,发送一条测试消息:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:59Z"} -{"cache_key":"0aaaa653a1bad3c2f1d6bbf34819ea4ae8700ea5d6c593937aa6812051809168","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的 环境变量 替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:16Z"} -{"cache_key":"0b149311bd258e33ab5e06f16483d6b14bfb23bbf8137339bc4cf8d29e2d3d5c","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:54Z"} -{"cache_key":"0b68a76b412628864a90e4b194a0db6bcc593e8700ee9228d04b45427a95c7af","segment_id":"environment.md:cf3f9ba035da9f09","source_path":"environment.md","text_hash":"cf3f9ba035da9f09202ba669adca3109148811ef31d484cc2efa1ff50a1621b1","text":" (what the Gateway process already has from the parent shell/daemon).","translated":" (Gateway 进程从父 shell/守护进程继承的已有环境变量)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:23Z"} -{"cache_key":"0bab5344d37eb10f7f0a1105ba4cf723e069867a7f745d016657752c1dc0c21a","segment_id":"environment.md:5105555b1be5f84b","source_path":"environment.md","text_hash":"5105555b1be5f84b47576d6ea432675cef742e63fa52f7b254ef2aa4c90e7cca","text":" (applied only if","translated":" (仅在","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:04Z"} -{"cache_key":"0bbc0779389fa7b103e39fff721c2df8f37e36a72350175e61b8334f79dd6555","segment_id":"index.md:0b7e778664921066","source_path":"index.md","text_hash":"0b7e77866492106632e98e7718a8e1e89e8cb0ee3f44c1572dfd9e54845023de","text":"/concepts/streaming","translated":"/concepts/streaming","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:06Z"} -{"cache_key":"0bda3d8fa9978471f16800fbab17622f054477505f8a680d6165e924184818eb","segment_id":"index.md:3fc5f55ea5862824","source_path":"index.md","text_hash":"3fc5f55ea5862824fc266d26cd39fb5da22cc56670c11905d5743adac10bc9ef","text":"Mattermost Bot (plugin)","translated":"Mattermost 机器人(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:46Z"} -{"cache_key":"0bfc8cf7aac6d36a53bc389ddf8a828f323fa60964b005f84cb8aa00f8ab38e9","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:19Z"} -{"cache_key":"0c1c52efad88743449d31ff51deb8a6275b8c13b9ceea60011208ad696fc3e8e","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:57Z"} -{"cache_key":"0c828040f85df6effef7a39f7d06d9158493bcfd8c0981f5d6d2c5002f06181e","segment_id":"index.md:3c8aa7ad1cfe03c1","source_path":"index.md","text_hash":"3c8aa7ad1cfe03c1cb68d48f0c155903ca49f14c9b5626059d279bffc98a8f4e","text":": connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.","translated":":通过 WebSocket 连接到 Gateway(根据需要使用局域网/Tailnet/SSH);旧版 TCP 桥接已弃用/移除。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:04Z"} -{"cache_key":"0cbb0b48efe1edd1ee9cf73b486ba3c4ecd0b316ed8355432c734a6ae2ff9828","segment_id":"index.md:a42f01be614f75f1","source_path":"index.md","text_hash":"a42f01be614f75f16278b390094dc43923f0b1b7d8e3209b3f43e356f42ed982","text":"), a single long-running process that owns channel connections and the WebSocket control plane.","translated":"进行,它是一个长期运行的单进程,负责管理渠道连接和 WebSocket 控制面。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:37Z"} -{"cache_key":"0cbb380393c622f57aedb33e0d64521926af5db0134afe3dbd8a1b24aaa3eac1","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:36Z"} -{"cache_key":"0cc5aed5ba117c3d267480c23a673d693068648c5bfffaacfdc33f4650533f2a","segment_id":"index.md:10bf8b343a32f7dc","source_path":"index.md","text_hash":"10bf8b343a32f7dc01276fc8ae5cf8082e1b39c61c12d0de8ec9b596e115c981","text":"WebChat","translated":"网页聊天","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:32Z"} -{"cache_key":"0d1e17e509bbc4aa27b446bec9af66b9246950ea0dfb619dd35f21534c317143","segment_id":"index.md:b5ccaf9b1449291c","source_path":"index.md","text_hash":"b5ccaf9b1449291c92f855b8318aeb2880a9aa1a75272d17f55cf646071b3eae","text":"Gmail hooks (Pub/Sub)","translated":"Gmail 钩子(Pub/Sub)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:09Z"} -{"cache_key":"0dad422eb096806e226c53202949206185916bda859e38301da854b681b25963","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:10Z"} -{"cache_key":"0dae07beb7b056f37a0ca939d95614b19e7c66b60741530d3b8697cc4a7bdbb7","segment_id":"index.md:bbf8779fd9010043","source_path":"index.md","text_hash":"bbf8779fd9010043ac23a2f89ba34901f3a1f58296539c3177d51a9040ea209d","text":") — Blogwatcher skill","translated":")— Blogwatcher 技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:53Z"} -{"cache_key":"0df8549623b0d7f6737342296a4696b34206e074d5a552cb6f37d6c439e85b79","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (即 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:41Z"} -{"cache_key":"0e01c4c62bbe121aee9533c17fd055ee1538caf46007bb0938ee7d361ae5d52b","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:37Z"} -{"cache_key":"0e375d889ea9a49f6c0e03a2e49ea5a681ffd031303237117f0dfdf54fb917e8","segment_id":"start/wizard.md:abf42990b17ccc52","source_path":"start/wizard.md","text_hash":"abf42990b17ccc52870da0c8026ddafa221bc57d87d755a64d74fcd408395435","text":"Full reset (also removes workspace)","translated":"完全重置(同时移除工作区)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:43Z"} -{"cache_key":"0ed1d8cb8838fead312d097caca4f56b5c69e0486833919892e2fc368b933b15","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:30Z"} -{"cache_key":"0ef13ceaf849a114db93b4137cdc043c8ba6ba5d2b1cf2ddea7779850d137e5c","segment_id":"index.md:81023dcc765309dd","source_path":"index.md","text_hash":"81023dcc765309dd05af7638f927fd7faa070c58abe7cad33c378aa02db9baa2","text":" (token is required for non-loopback binds).","translated":" (非回环绑定时必须提供令牌)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:55Z"} -{"cache_key":"0ef99bf8be4557b02f6fc6a43848b16ec9656f205332bd687cbcc0c8b8fce99d","segment_id":"start/getting-started.md:c4b2896a2081395e","source_path":"start/getting-started.md","text_hash":"c4b2896a2081395e282313d6683f07c81e3339ef8b9d2b5a299ea5b626a0998f","text":").","translated":")。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:57Z"} -{"cache_key":"0f0645e14c15177b60a1a2e14a18e220e0ad397f483ad8a0cad68ea3d5a3bc44","segment_id":"start/wizard.md:4a85827ad80e8635","source_path":"start/wizard.md","text_hash":"4a85827ad80e8635fb4a2b41a3fce1d0f23ba1eb27db0aa84113a7b0ca415d42","text":"Synthetic","translated":"Synthetic","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:05Z"} -{"cache_key":"0f51ea5ec00d63f74853135fc04c205c09a3b3fd519a80fb8a83bf504ed6d041","segment_id":"index.md:032f5589cfa2b449","source_path":"index.md","text_hash":"032f5589cfa2b44973fe96c42e17dcc2692281413a05b16f48ff0f958f7f7ade","text":"Discord Bot","translated":"Discord 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:41Z"} -{"cache_key":"0f5a75040351402afe8493774c6b74576b064ee93723b03a03a345c5e6dcb986","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:03Z"} -{"cache_key":"0f5fbe9d6968fcf81b97b0938d0191012b2512171268e21a0252476981018364","segment_id":"index.md:fdef9f917ee2f72f","source_path":"index.md","text_hash":"fdef9f917ee2f72fbd5c08b709272d28a2ae7ad8787c7d3b973063f0ebeeff7a","text":" to update the gateway service entrypoint.","translated":" 以更新 Gateway 服务入口点。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:15Z"} -{"cache_key":"0fc566f2207136599a99330b18f7b5a871db5129d3b99079d06a612b73acf825","segment_id":"index.md:268ebcd6be28e8d8","source_path":"index.md","text_hash":"268ebcd6be28e8d853ace3a6e28f269fbda1343b53e3f0de97ea3d5bf1a0e33e","text":"Clawd","translated":"Clawd","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:42Z"} -{"cache_key":"0fe42f35cd75dae1544040ac532880db182effb28cb15f90f3e180965d450f3c","segment_id":"start/wizard.md:ba5ec51d07a4ac0e","source_path":"start/wizard.md","text_hash":"ba5ec51d07a4ac0e951608704431d59a02b21a4e951acc10505a8dc407c501ee","text":")","translated":")","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:20Z"} -{"cache_key":"10424bff17e00e154be3be8a5c6595baabbbdbf533eb28142124ba7d3fe2f265","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:45Z"} -{"cache_key":"105a552d339b5cc747f8939f6c1b54d6f7d6c411a850f38980a0fb1be67195e0","segment_id":"index.md:95cae5ed127bd44d","source_path":"index.md","text_hash":"95cae5ed127bd44dcc30345a1925d77f333284b43a6f97832f149a63dc38e0e0","text":"The wizard now generates a gateway token by default (even for loopback).","translated":"向导现在默认会生成一个 Gateway 令牌(即使在回环模式下也是如此)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:52Z"} -{"cache_key":"10920f79a810b1b47492e9ed0d361ef42a495b2f73a494ec40eb09e75c35bb96","segment_id":"index.md:95cae5ed127bd44d","source_path":"index.md","text_hash":"95cae5ed127bd44dcc30345a1925d77f333284b43a6f97832f149a63dc38e0e0","text":"The wizard now generates a gateway token by default (even for loopback).","translated":"向导 现在默认会生成一个网关令牌(即使是回环连接也是如此)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:43Z"} -{"cache_key":"10a05f1dce0af95edaca2aefc99dda7d1315b6b1d57e2b3021652fe20af68eb7","segment_id":"index.md:cf9f12b2c24ada73","source_path":"index.md","text_hash":"cf9f12b2c24ada73bb0474c0251333f65e6d5d50e56e605bdb264ff32ad0a588","text":"Config lives at ","translated":"配置文件位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:29Z"} -{"cache_key":"10a57e9dff1afe6e19b169eebc46fb2bc623dc74996f695c059c259a5d01b11f","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:26Z"} -{"cache_key":"10ad8d1314a510acc92dd184df9be180aea8c032323637e317be12bff654aefa","segment_id":"start/wizard.md:7398946ba352a7c8","source_path":"start/wizard.md","text_hash":"7398946ba352a7c8b21e60b2474d1ba7190707d9a04a6904103217e177f67482","text":"Summary + next steps, including iOS/Android/macOS apps for extra features.","translated":"摘要 + 后续步骤,包括 iOS/Android/macOS 应用以获取额外功能。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:01Z"} -{"cache_key":"111e143c2961901491d16f639ad9d9bf0203700f41ad61862f0c0e09548d85ca","segment_id":"index.md:42bb365211decccb","source_path":"index.md","text_hash":"42bb365211decccb3509f3bf8c4dfcb5ae05fe36dfdedb000cbf44e59e420dc9","text":" — Local imsg CLI integration (macOS)","translated":" — 本地 imsg CLI 集成(macOS)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:53Z"} -{"cache_key":"11951539669d912b24dac16f9ed27e1de0a950a3baa481474a65de0ca85fbe7b","segment_id":"start/wizard.md:ec2d0a7d20f3b660","source_path":"start/wizard.md","text_hash":"ec2d0a7d20f3b6602a6593e0abef2337e84ba728ca8f6fef2534dc1e9dbfe06b","text":"Remote mode configures a local client to connect to a Gateway elsewhere.","translated":"远程模式配置本地客户端以连接到其他位置的 Gateway。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:13Z"} -{"cache_key":"11a42ddb57b9c1ba4022984efe25b463da52e7b9c5d7ec3a925d7a6d0e5a6c39","segment_id":"index.md:cdb4ee2aea69cc6a","source_path":"index.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":".","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:19Z"} -{"cache_key":"11a6809809867ab84f2a66da213f7894876530602a0743b37fc93e614c7ccbfe","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:44Z"} -{"cache_key":"1226fe0b47712f49a01581113142855bc5ae36e3289353b5d592ece5191b0159","segment_id":"start/wizard.md:c90e6f2be18d7e02","source_path":"start/wizard.md","text_hash":"c90e6f2be18d7e02413e18d4174fe7d855c9753005652614556204123b37c96e","text":": browser flow; paste the ","translated":":浏览器流程;粘贴 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:18Z"} -{"cache_key":"1249a5c279b0761418bca0826571d62b0526075a0c91018c35002331e3c6d6b5","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:14Z"} -{"cache_key":"124e4ad52161941e1842f43e4f5d0c12d573babaf3f319ec7d5db46ba8ee7e84","segment_id":"index.md:0b60fe04b3c5c3c7","source_path":"index.md","text_hash":"0b60fe04b3c5c3c76371b6eca8b19c8e09a0e54c9010711ff87e782d87d2190b","text":"Android app","translated":"Android 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:57Z"} -{"cache_key":"135f65a9b168054bcbe82dd61f4309c2dda482ef1e442ec7eec710c8f597b97c","segment_id":"start/getting-started.md:d2da561767068503","source_path":"start/getting-started.md","text_hash":"d2da56176706850367dee94ffc2a1daf962c84f7a9cbf61aa379ddc33bcbaf95","text":"If you want the deeper reference pages, jump to: ","translated":"如果您需要更详细的参考页面,请跳转至: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:05Z"} -{"cache_key":"1370cc167f786bd13af7db472a718a3029e35e284c8a6878d5d0945490b59eec","segment_id":"start/getting-started.md:66354a1d3225edbf","source_path":"start/getting-started.md","text_hash":"66354a1d3225edbf01146504d06aaea1242dcf50424054c3001fc6fa2ddece0f","text":"Remote access","translated":"远程访问","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:31Z"} -{"cache_key":"13e78cfc5d44bb03f1de8ea274175eb17591ea86da3a5b78f04e97df1a74ff65","segment_id":"index.md:329f3c913c0a1636","source_path":"index.md","text_hash":"329f3c913c0a16363949eb8ee7eb0cda7e81137a3851108019f33e5d18b57d8f","text":"Switching between npm and git installs later is easy: install the other flavor and run ","translated":"之后在 npm 安装和 git 安装之间切换很简单:安装另一种方式并运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:13Z"} -{"cache_key":"147fcf3acfee0fe1de6932eed18455765effec1024bb00db4f6a2dd367cd9c23","segment_id":"index.md:1016b5bdce94a848","source_path":"index.md","text_hash":"1016b5bdce94a8484312c123416c1a18c29fab915ba2512155df3a82ee097f8f","text":"If the Gateway is running on the same computer, that link opens the browser Control UI\nimmediately. If it fails, start the Gateway first: ","translated":"如果 Gateway 运行在同一台计算机上,该链接会立即打开浏览器控制界面。如果打开失败,请先启动 Gateway: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:25Z"} -{"cache_key":"1490f7c2fc1c4e0b651ef5d269a8acd623cb90b51d6b9814688a95ee8fed4772","segment_id":"index.md:9bd86b0bbc71de88","source_path":"index.md","text_hash":"9bd86b0bbc71de88337aa8ca00f0365c1333c43613b77aaa46394c431cb9afd8","text":"Maxim Vovshin","translated":"Maxim Vovshin","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:14Z"} -{"cache_key":"14f523713d1f9204bc80126a5fa7111149e72734cc1c958f6faf344ea347304b","segment_id":"index.md:c6e91f3b51641b1c","source_path":"index.md","text_hash":"c6e91f3b51641b1c43d297281ee782b40d9b3a0bdd7afc144ba86ba329d5f95f","text":"OpenClaw = CLAW + TARDIS","translated":"OpenClaw = CLAW + TARDIS","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:38Z"} -{"cache_key":"152ce96ff0d29caf9f3ce55d6a7aca272b4e335f580058a7790cc56b2470233c","segment_id":"index.md:a7a19d4f14d001a5","source_path":"index.md","text_hash":"a7a19d4f14d001a56c27f68a13ff267859a407c7a9ab457c0945693c9067dd1c","text":"Configuration (optional)","translated":"配置(可选)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:48Z"} -{"cache_key":"15ffd6a61896c7467d982847033889cbf92f11c42fa93b5f9a46b754780c41e4","segment_id":"start/wizard.md:c18a76f788d27ead","source_path":"start/wizard.md","text_hash":"c18a76f788d27eade089c5e57a4d8d0e64b0e69278ff24b71eb267d915d23646","text":"Model/auth (OpenAI Code (Codex) subscription OAuth, Anthropic API key (recommended) or setup-token (paste), plus MiniMax/GLM/Moonshot/AI Gateway options)","translated":"模型/认证(OpenAI Code (Codex) 订阅 OAuth、Anthropic API 密钥(推荐)或 setup-token(粘贴),以及 MiniMax/GLM/Moonshot/AI Gateway 选项)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:18Z"} -{"cache_key":"1609cb1df4c75a8648918d074322a56d17486584efc5dece6e10c3cbd4e37b7e","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量和 `.env` 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:14Z"} -{"cache_key":"161305a0fe253398ae3cff640449ed26bc7a2f3c52cb3ae71ea8d861cbcce0a0","segment_id":"start/wizard.md:bb1460932d15b59c","source_path":"start/wizard.md","text_hash":"bb1460932d15b59cba3f47b5c93a8d1768a6ba842cd4aa3eba8d2e2540fc0f19","text":"Channel allowlists (Slack/Discord/Matrix/Microsoft Teams) when you opt in during the prompts (names resolve to IDs when possible).","translated":"渠道允许名单(Slack/Discord/Matrix/Microsoft Teams),在提示期间选择启用时生效(名称会尽可能解析为 ID)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:42Z"} -{"cache_key":"163bd5cf4e32a3b93891c0acaa17dcbec319fbab2e097d0d8785997528586f02","segment_id":"index.md:d08cec54f66c140c","source_path":"index.md","text_hash":"d08cec54f66c140c655a1631f6d629927c7c38b9c8bfa91c875df9bd3ad3c559","text":"OpenClaw assistant setup","translated":"OpenClaw 助手设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:39Z"} -{"cache_key":"1699b5d6dd8bd25127b31c4c1dde1c32c99d4d73e8928d3d4240cc4ca7a90948","segment_id":"index.md:872887e563e75957","source_path":"index.md","text_hash":"872887e563e75957ffc20b021332504f2ddd0a8f3964cb93070863bfaf13cdad","text":"Example:","translated":"示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:44Z"} -{"cache_key":"16df9d8c10cc2590ebcc2313fee468c319259a1c038fcf19a9844754a1c6d0cf","segment_id":"index.md:88d90e2eef3374ce","source_path":"index.md","text_hash":"88d90e2eef3374ce1a7b5e7fbd3b1159364b26a8ceb2493d6e546d4444b03cda","text":"Tailscale","translated":"Tailscale","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:28Z"} -{"cache_key":"170ac65dcb50a9c53c485160f6dac256ff7cd0a52f42110be2e831d8b8dfe2d8","segment_id":"index.md:6638cf2301d3109d","source_path":"index.md","text_hash":"6638cf2301d3109da66a44ee3506fbd35b29773fa4ca33ff35eb838c21609e19","text":"Features (high level)","translated":"功能(概览)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:46Z"} -{"cache_key":"177341748b72b186e14110d0c9976e378a203d89a6c13e049a92f3cdc3d750a5","segment_id":"index.md:872887e563e75957","source_path":"index.md","text_hash":"872887e563e75957ffc20b021332504f2ddd0a8f3964cb93070863bfaf13cdad","text":"Example:","translated":"示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:39Z"} -{"cache_key":"17bdf88db004d77259d1facc1c15dbb8745e59196159394aa7b079e5791cb188","segment_id":"index.md:cda454f61dfcac70","source_path":"index.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:15Z"} -{"cache_key":"17e73f0432c41ef1e25bcb39e40a7fb845787238a577b53ddf27793a5397ec20","segment_id":"start/getting-started.md:185d41cd3982a2b1","source_path":"start/getting-started.md","text_hash":"185d41cd3982a2b1d9355a331c5270ca3bf6e8467b35dea265d2e3a279d05dea","text":" to the gateway host.","translated":" 到 Gateway 主机上。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:42Z"} -{"cache_key":"180848ab1dfb40b43095571666d7e635cec82592dd7b0ea3f406819694db95bd","segment_id":"index.md:1df4f2299f0d9cc4","source_path":"index.md","text_hash":"1df4f2299f0d9cc466fa05abeb2831e76e9f89583228174ffcd9af415fd869fe","text":"Send a test message (requires a running Gateway):","translated":"发送测试消息(需要 Gateway 正在运行):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:25Z"} -{"cache_key":"1851994b49e6bccd9901d48dea770f2271a4b0adf71a11555a7d49ea7433ab55","segment_id":"index.md:0d517afa83f91ec3","source_path":"index.md","text_hash":"0d517afa83f91ec33ee74f756c400a43b11ad2824719e518f8ca791659679ef4","text":"Web surfaces (Control UI)","translated":"Web 界面(控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:33Z"} -{"cache_key":"185a0aac0aa7e81682f9016aa8d0e4f95f86005abb5a52840876dc9b23129893","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:26Z"} -{"cache_key":"18869b3a6b51f154fdcbb622d54f07c567e9438608cf998f54e590550797ed35","segment_id":"index.md:9f4d843a5d04e23b","source_path":"index.md","text_hash":"9f4d843a5d04e23b22eb79b3bfa0fbad70ede435ddb5d047e7d77e830efa6019","text":" — Bot token + WebSocket events","translated":" — Bot 令牌 + WebSocket 事件","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:13Z"} -{"cache_key":"18bd8d592ca11411d1c02c1a70123dc798352f581db4c9ce297c5ebb04841fa3","segment_id":"index.md:03279877bfe1de07","source_path":"index.md","text_hash":"03279877bfe1de0766393b51e69853dec7e95c287ef887d65d91c8bbe84ff9ff","text":"WebChat + macOS app","translated":"网页聊天 + macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:30Z"} -{"cache_key":"190c49164ee5535fac803e9c0f057588d634e056d2c4fc072a0ca26e01ddc391","segment_id":"index.md:7d8b3819c6a9fb72","source_path":"index.md","text_hash":"7d8b3819c6a9fb726f40c191f606079b473f6f72d4080c13bf3b99063a736187","text":"Ops and safety:","translated":"运维和安全:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:19Z"} -{"cache_key":"19207e4ed0ae44f965f33707377a0217c1765cf57b09c0268ee36c10fb108dd9","segment_id":"index.md:c6e91f3b51641b1c","source_path":"index.md","text_hash":"c6e91f3b51641b1c43d297281ee782b40d9b3a0bdd7afc144ba86ba329d5f95f","text":"OpenClaw = CLAW + TARDIS","translated":"OpenClaw = CLAW + TARDIS","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:18Z"} -{"cache_key":"194e63ecfe45556973c28ccafc39f814f42d2478037734ce44eee72f6fc6fc66","segment_id":"index.md:856302569e24c4d6","source_path":"index.md","text_hash":"856302569e24c4d64997e2ec5c37729f852bcccf333ba1e2f71e189c9d172e6d","text":": SSH tunnel or tailnet/VPN; see ","translated":":SSH 隧道或 Tailnet/VPN;请参阅 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:21Z"} -{"cache_key":"196942db05e9e40cbdf74a89cdd1be042430343a64ac2185009414f0d092af66","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:11Z"} -{"cache_key":"19c0ced45bb35a1d8801864910a9f7bc2c460229fdd97366f546255feeb1db0e","segment_id":"index.md:8816c52bc5877a2b","source_path":"index.md","text_hash":"8816c52bc5877a2b24e3a2f4ae7313d29cf4eba0ca568a36f2d00616cfe721d0","text":"Wizard","translated":"向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:12Z"} -{"cache_key":"19ca5db3b9a34663414fc437ede7163609ae09cf0a0873367e8a83c8c8dc9c1c","segment_id":"index.md:e64d6b29b9d90bba","source_path":"index.md","text_hash":"e64d6b29b9d90bba92ffe2539dc295a75c553684fed0350ee56bfd0aead01662","text":"Multiple gateways","translated":"多 Gateway 部署","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:45Z"} -{"cache_key":"19d8897086c397efdc874615a9503b47cb856584fc885631b1dac100e0bbf69e","segment_id":"start/wizard.md:c3f0c8edf2a35cb6","source_path":"start/wizard.md","text_hash":"c3f0c8edf2a35cb67c00b0fe92273695465fb1a1faa99a54b08a42c116cfc532","text":"Typical fields in ","translated":"中的典型字段 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:26Z"} -{"cache_key":"1ace42dd9735ec65580e321be5ec1b6956327ceb79da49867d3031743de01599","segment_id":"index.md:7ac362063b9f2046","source_path":"index.md","text_hash":"7ac362063b9f204602f38f9f1ec9cf047f03e0d7b83896571c9df6d31ad41e9c","text":"Nodes","translated":"节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:50Z"} -{"cache_key":"1add3ec58637e35e15f8ecce92a3064278889ebc567d4b15e12d7f73d43f829d","segment_id":"environment.md:cea23dd4b87e8b00","source_path":"environment.md","text_hash":"cea23dd4b87e8b00d19fb9ccaaef93e97353c7353e2070f3baf05aeb3995dff4","text":" expected","translated":" 预期","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:44Z"} -{"cache_key":"1aefff77e0f0e3d5d9204ec8bba8bc39215a10dc4242638faf2a000db1b7f6c4","segment_id":"index.md:032f5589cfa2b449","source_path":"index.md","text_hash":"032f5589cfa2b44973fe96c42e17dcc2692281413a05b16f48ff0f958f7f7ade","text":"Discord Bot","translated":"Discord 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:40Z"} -{"cache_key":"1b03b1a606f8d851e3a9744ceedc51773da3a8df1e44cea04e77f4cdcc482f4f","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:07Z"} -{"cache_key":"1b0d0b676f8ad6e3cca80b5ba0962cfca425d38aba4dfdae950f4c645cc4648c","segment_id":"environment.md:c2d7247c8acb83a5","source_path":"environment.md","text_hash":"c2d7247c8acb83a5a020458fa836c2445922b51513dbdbf154ab5f7656cb04e9","text":"; does not override).","translated":";不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:46Z"} -{"cache_key":"1b30ed7712ade7f794a6fdc40334ac098d59fa26a77cb4dbee831ba2078a2575","segment_id":"environment.md:ab5aec4424cf678d","source_path":"environment.md","text_hash":"ab5aec4424cf678dcfb1ad3d2c2929c1e0b2b1ff61b82b961ada48ad033367b4","text":" (dotenv default; does not override).","translated":" (dotenv 默认行为;不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:34Z"} -{"cache_key":"1b46380759682daee5913f29666ad424b3e1b23a87ee5b8169484b9c4e4cce3f","segment_id":"index.md:7af023c43013b9a5","source_path":"index.md","text_hash":"7af023c43013b9a53fbff7dd4b5821588bba3319308878229740489152c43f6d","text":"Docs","translated":"文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:10Z"} -{"cache_key":"1b9c39af551716b27cb347a69279ef46cfe3c1fb503688b09287759b10390831","segment_id":"start/wizard.md:e86be3a8fc32914b","source_path":"start/wizard.md","text_hash":"e86be3a8fc32914baac6ea18f1b36fb282ea9648829cec3bba6434bdc6d78b9c","text":" before continuing.","translated":" 后再继续。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:22Z"} -{"cache_key":"1c12007db13e2183cd1fe644bbe1a01094186d612f9d4c719986819020e971df","segment_id":"start/getting-started.md:e2235b75234648f0","source_path":"start/getting-started.md","text_hash":"e2235b75234648f0959f35fae53aa627c01be06907b8596d69b01ae9187e1574","text":"Sandboxing note: ","translated":"沙箱注意事项: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:15Z"} -{"cache_key":"1c4b67e17a4caf039722cea2dd696a8a7cdef2168d6518aaf603d3aeb69b9366","segment_id":"index.md:e47cdb55779aa06a","source_path":"index.md","text_hash":"e47cdb55779aa06a74ae994c998061bd9b7327f5f171c141caf2cf9f626bfe4b","text":"Peter Steinberger","translated":"Peter Steinberger","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:17Z"} -{"cache_key":"1c540694a0b8ce10fc354bd7f41b387f1d72d1759ffecbf35976cdf744305f0e","segment_id":"index.md:cec2be6f871d276b","source_path":"index.md","text_hash":"cec2be6f871d276b45d13e3010c788f01b03ae2f1caca3264bbf759afacace46","text":"Telegram Bot","translated":"Telegram 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:34Z"} -{"cache_key":"1c7aa162de30cece8f7d315f71cdc949464409fa4af6d15a34fe9e1355c65a07","segment_id":"index.md:0b60fe04b3c5c3c7","source_path":"index.md","text_hash":"0b60fe04b3c5c3c76371b6eca8b19c8e09a0e54c9010711ff87e782d87d2190b","text":"Android app","translated":"Android 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:11Z"} -{"cache_key":"1c913763f7d014418cc6c1099fe8225a377347cffba038df43b8b36ddefb8667","segment_id":"start/wizard.md:053bc65874ad6098","source_path":"start/wizard.md","text_hash":"053bc65874ad6098e58c41c57b378a2f36b0220e5e0b46722245e6c2f796818c","text":"Discord","translated":"Discord","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:32Z"} -{"cache_key":"1cb210590e688dccd03dac9806c6ca974a62f36eb66841174c22bc2a92ba246b","segment_id":"index.md:1016b5bdce94a848","source_path":"index.md","text_hash":"1016b5bdce94a8484312c123416c1a18c29fab915ba2512155df3a82ee097f8f","text":"If the Gateway is running on the same computer, that link opens the browser Control UI\nimmediately. If it fails, start the Gateway first: ","translated":"如果 Gateway 运行在同一台计算机上,该链接会立即打开浏览器控制界面。如果打开失败,请先启动 Gateway: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:00Z"} -{"cache_key":"1d79cadd479cb04568bc708432327edae80a4fd8ef388f88810aa943956e4c47","segment_id":"start/wizard.md:c8fa121316f27858","source_path":"start/wizard.md","text_hash":"c8fa121316f2785846379bef81073a1f3dd68979bd249b3953d671935e11de39","text":" on any machine, then paste the token (you can name it; blank = default).","translated":" 在任意机器上执行,然后粘贴令牌(可以命名;留空 = 默认)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:07Z"} -{"cache_key":"1db946531e000c45cc98cc20862f674ef6c61986d0ea1d47dfb1904d14218107","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:20Z"} -{"cache_key":"1dec0d82356f133d86b7f5230d326009390aef97750e2e02a9f559c81af566c0","segment_id":"start/wizard.md:da4f7ea58d963b1a","source_path":"start/wizard.md","text_hash":"da4f7ea58d963b1a302b76b8fa5570190106c673b9cf2975468b8caea5e27384","text":"Notes:","translated":"注意事项:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:26Z"} -{"cache_key":"1e12a98dc0766a832c97dea693a841b86ec63df3e8303fb054a918e2b17ca0af","segment_id":"index.md:1df4f2299f0d9cc4","source_path":"index.md","text_hash":"1df4f2299f0d9cc466fa05abeb2831e76e9f89583228174ffcd9af415fd869fe","text":"Send a test message (requires a running Gateway):","translated":"发送测试消息(需要正在运行的 Gateway):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:45Z"} -{"cache_key":"1e12f10bc3ce3c2de7f740928fb2eb076893bf23694f69adc314d8496c436182","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"其中 OpenClaw 加载 环境变量 及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:10Z"} -{"cache_key":"1e290e5653bf89ffd9643bbb215d3b2ce8f30b26d3468a5b584482ea567fb499","segment_id":"index.md:075a4a45c3999f34","source_path":"index.md","text_hash":"075a4a45c3999f340be8487cd7c0dd2ed77ced931054d75e95e5e24d5539b45b","text":" — Pi (RPC mode) with tool streaming","translated":" — Pi(RPC 模式),支持工具流式传输","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:59Z"} -{"cache_key":"1e95353aafa09b6593d0a72b4957849c4bd481c529d0cd0c2c92a989b3be6314","segment_id":"index.md:cf9f12b2c24ada73","source_path":"index.md","text_hash":"cf9f12b2c24ada73bb0474c0251333f65e6d5d50e56e605bdb264ff32ad0a588","text":"Config lives at ","translated":"配置文件位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:50Z"} -{"cache_key":"1ecffd089b9e7ce60ff3c650b35056b17b3818bed3a6b56aad92c8aa31d7ef0a","segment_id":"index.md:723784fa2b6a0876","source_path":"index.md","text_hash":"723784fa2b6a0876540a92223ee1019f24603499d335d6d82afbc520ef5b5d57","text":") — Creator, lobster whisperer","translated":")— 创始人,龙虾低语者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:57Z"} -{"cache_key":"1ee9e09b79b65f176e6502ee06df46982743679fd7dab8489796507a560b9061","segment_id":"start/wizard.md:dd6d876548037ec7","source_path":"start/wizard.md","text_hash":"dd6d876548037ec722252b45795206575e7040eba1ca076cf1732a4a903cadba","text":"recommended","translated":"推荐的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:01Z"} -{"cache_key":"1f29b910c7c6522a295107b45bd56440780ea346e1080c11e5151d3ba113afca","segment_id":"environment.md:1fe7fd13379f249a","source_path":"environment.md","text_hash":"1fe7fd13379f249a1e554dc904ad7b921693805367609bcddba21f0e7777f4c6","text":" keys:","translated":" 密钥:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:46Z"} -{"cache_key":"1f36183a47c67ccafde914a43347afd754eafbb2963a3d0ad3d3942258443cdf","segment_id":"index.md:d00eca1bae674280","source_path":"index.md","text_hash":"d00eca1bae6742803906ab42a831e8b5396d15b6573ea13c139ec31631208ec1","text":"Getting Started","translated":"快速入门","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:04Z"} -{"cache_key":"1f429111895ed6cef256514a66a9adb27ec53f3d69a546a6a18c80495cacd604","segment_id":"start/getting-started.md:c65465f9a818c020","source_path":"start/getting-started.md","text_hash":"c65465f9a818c02008a391292f0086b37aa7e8fe7355aca80967b20a8b692e0b","text":"Dashboard (local loopback): ","translated":"仪表盘(本地回环): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:53Z"} -{"cache_key":"1fb0683c4f7488278cb9251e361610c911ef766dd126666b7fc10f6f73a0c8b7","segment_id":"index.md:79a482cf546c23b0","source_path":"index.md","text_hash":"79a482cf546c23b04cd48a33d4ca8411f62e5b7dc8c3a8f30165e28e747f263a","text":"iMessage","translated":"iMessage","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:54Z"} -{"cache_key":"1ff7a3f0c5d86df89523e2dad0861b2ace45830858dd2ca1c4e778747334ffc0","segment_id":"start/wizard.md:ac12572a8df977e5","source_path":"start/wizard.md","text_hash":"ac12572a8df977e5ea70c8b1a24c2a84b1ecd1935e2ef9fe4c38c5849d4755f8","text":" if present.","translated":" (如果存在)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:59Z"} -{"cache_key":"2034fd5a1e8f055e05fbbdfae0533751d7f0d1c2c0f3d2808c9eeb4da918e89a","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:56Z"} -{"cache_key":"204727bc1fb1c07814caf037d6fa475e7981c7b57ed1367943361cb5d56815bb","segment_id":"index.md:185beb968bd1a81d","source_path":"index.md","text_hash":"185beb968bd1a81d07ebcf82376642f7b29f1b5594b21fe9edee714efbdcaa44","text":"✈️ ","translated":"✈️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:33Z"} -{"cache_key":"20af820e30f9d07e1b6dce3866df5f8dff2be94881a44767228a1f6b9aa5d1bf","segment_id":"index.md:274162b77e02a189","source_path":"index.md","text_hash":"274162b77e02a1898044ea787db109077a2969634f007221c29b53c2e159b0cc","text":". Plugins add Mattermost (Bot API + WebSocket) and more.\nOpenClaw also powers the OpenClaw assistant.","translated":"。插件还支持 Mattermost(Bot API + WebSocket)等更多平台。\nOpenClaw 还为 OpenClaw 助手提供支持。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:37Z"} -{"cache_key":"20afa1e6ed4b34b77d13becaaffdcb038b92351654672578634c6f3761b82d38","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:52Z"} -{"cache_key":"2187914f759dffd9a960e25b4de5d07c68b9cf635f2d86e0497c90a80ec9fa57","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:03Z"} -{"cache_key":"2194495894bf0f98ef0af4a8658521377e555a9fc6b7b1c7bfd99e305d7f023f","segment_id":"start/wizard.md:649cfa2f76a80b42","source_path":"start/wizard.md","text_hash":"649cfa2f76a80b42e1821c89edd348794689409dcdf619dcd10624fb577c676b","text":"not recommended","translated":"不推荐","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:35Z"} -{"cache_key":"21c3bf5b2b4eac5e8703e4e98cf9179524d16013e1324921b87acaa0cf085d2f","segment_id":"index.md:4b4051e77af8844f","source_path":"index.md","text_hash":"4b4051e77af8844fcf86a298214527e7840938258f99bfe97b900bbc0d8d2f4b","text":"The dashboard is the browser Control UI for chat, config, nodes, sessions, and more.\nLocal default: http://127.0.0.1:18789/\nRemote access: ","translated":"仪表板是用于聊天、配置、节点、会话 等功能的浏览器控制界面。\n本地默认地址:http://127.0.0.1:18789/\n远程访问: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:07Z"} -{"cache_key":"21d5f361e852fbe5b69697313f954689d7f44d285c1d9039ba360a8907a1b7b8","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:29Z"} -{"cache_key":"21e1ac9646c9b4ec91d366e85957a04c5b7f0c41c95e653c43925dd01c080501","segment_id":"index.md:4b4051e77af8844f","source_path":"index.md","text_hash":"4b4051e77af8844fcf86a298214527e7840938258f99bfe97b900bbc0d8d2f4b","text":"The dashboard is the browser Control UI for chat, config, nodes, sessions, and more.\nLocal default: http://127.0.0.1:18789/\nRemote access: ","translated":"仪表盘是用于聊天、配置、节点、会话等功能的浏览器控制界面。\n本地默认地址:http://127.0.0.1:18789/\n远程访问: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:23Z"} -{"cache_key":"2208e96b11a53d5948e802dc055895cfdd8ee5ecbaca057c64038b30e25e1403","segment_id":"start/wizard.md:65d655d45a507243","source_path":"start/wizard.md","text_hash":"65d655d45a50724332fee040cd2c6a000778db0e122459fc48047206e699900a","text":"(or pass ","translated":"(或传入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:15Z"} -{"cache_key":"221e7c2c0fe8b9bb39aa23d66ead440852512864ee62242cc3d9290dbd135860","segment_id":"index.md:9bd86b0bbc71de88","source_path":"index.md","text_hash":"9bd86b0bbc71de88337aa8ca00f0365c1333c43613b77aaa46394c431cb9afd8","text":"Maxim Vovshin","translated":"Maxim Vovshin","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:49Z"} -{"cache_key":"2220f5ebb94a086ce480f01165b1993d04e470d58154e2aa482056a2eecbb1f1","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:59Z"} -{"cache_key":"2229ff2bff7c65fc1a4cd5515373b1b3319f43a26222f43787452e985cf5e4bb","segment_id":"index.md:11d28de5b79e3973","source_path":"index.md","text_hash":"11d28de5b79e3973f6a3e44d08725cdd5852e3e65e2ff188f6708ae9ce776afc","text":"Docs hubs (all pages linked)","translated":"文档中心(所有页面链接)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:49Z"} -{"cache_key":"22baac03ae69320ee9635f7e23e85e926ed40c441e97357b30b48e271e88770f","segment_id":"index.md:013e11a23ec9833f","source_path":"index.md","text_hash":"013e11a23ec9833f907b2ead492b0949015e25d10ba92461669609aee559335d","text":"Start here:","translated":"从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:47Z"} -{"cache_key":"22bfdd3e9e4f7a5447edf31592e38d663a8907afca5f46061f314b924280a94b","segment_id":"index.md:d53b75d922286041","source_path":"index.md","text_hash":"d53b75d9222860417f783b0829023b450905d982011d35f0e71de8eed93d90fc","text":"New install from zero:","translated":"从零开始全新安装:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:41Z"} -{"cache_key":"22c7a06691f087acabe4321804edbb000eaf7520b16060ac2879f19252b639e3","segment_id":"index.md:31365ab9453d6a1e","source_path":"index.md","text_hash":"31365ab9453d6a1ec03731622803d3b44f345b6afad08040d7f3e97290c77913","text":"do nothing","translated":"不做任何操作","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:33Z"} -{"cache_key":"22d40e91dde10d2912781df931ab0fac2802d5b81e63fdd93bdb7856c8c43976","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:00Z"} -{"cache_key":"23004dacbc322d02e170261429793a8b23569f398c4f21352a030b42543cdef9","segment_id":"index.md:6b65292dc52408c1","source_path":"index.md","text_hash":"6b65292dc52408c15bb07aa90735e215262df697d1a7bd2d907c9d1ff294ed5e","text":"If you don’t have a global install yet, run the onboarding step via ","translated":"如果您还没有全局安装,请通过以下方式运行 上手引导 步骤 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:37Z"} -{"cache_key":"231f5f501e89f219692ad075c657cf5933b0f1f238599ce9c071676a24e755f6","segment_id":"index.md:45e6d69dbe995a36","source_path":"index.md","text_hash":"45e6d69dbe995a36f7bc20755eff4eb4d2afaaedbcac4668ab62540c57219f32","text":"macOS app","translated":"macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:53Z"} -{"cache_key":"232f62d57ad6e5a82f4409553ea36a2922ef2c0d515cf24d030edd4c81c89e9f","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:10Z"} -{"cache_key":"2406d5725ab83e6898a33bba0fc2cd62ee455bd54fbe32831a88379d5e02d86f","segment_id":"index.md:c0aa8fcb6528510a","source_path":"index.md","text_hash":"c0aa8fcb6528510aea46361e8c871d88340063926a8dfdd4ba849b6190dec713","text":": it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see ","translated":":它是唯一允许持有 WhatsApp Web 会话的进程。如果需要备用机器人或严格隔离,可使用独立配置文件和端口运行多个 Gateway;请参阅 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:43Z"} -{"cache_key":"241e91bd0b62e35fb2ec88322ec08e734dda812d53f7abab56928ef184075551","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行你的登录 shell 并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:39Z"} -{"cache_key":"2464c2f32b20d6e91fc9b63900ca12b81b1cb3fd185ad50d14ba4335d4e1b7a5","segment_id":"index.md:6e0f6eca4ff17d33","source_path":"index.md","text_hash":"6e0f6eca4ff17d3377c1c3e8e1f73457553ad3b9cfcd5e4f2b94cfb1028b6234","text":"iOS app","translated":"iOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:55Z"} -{"cache_key":"24f4ed3c397e27f4a1d99dd6920c49327133c009ca1c9c5ba236d54ae50831f3","segment_id":"start/getting-started.md:8b31087991db3d3d","source_path":"start/getting-started.md","text_hash":"8b31087991db3d3d41b72b3dc31587adf140ea2bc46913b195c773810711388f","text":"and chat in the browser, or open ","translated":"然后在浏览器中聊天,或打开 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:35Z"} -{"cache_key":"24fe1d1819e7b7ad223dda1b2a6ce1ec91a1954bf95f40a7dcdbba28129b3930","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:02Z"} -{"cache_key":"250eb34b1c8653641bb56ae814e663c3ddeaf7caa912b2b75e321788d4e7e9da","segment_id":"start/getting-started.md:053bc65874ad6098","source_path":"start/getting-started.md","text_hash":"053bc65874ad6098e58c41c57b378a2f36b0220e5e0b46722245e6c2f796818c","text":"Discord","translated":"Discord","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:26Z"} -{"cache_key":"250ebfe2db8b434d37c37a532f532102c1e6f30cfaa1c295af3c4fbe13ffc1ba","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:26Z"} -{"cache_key":"25861831dad7a8862f567594c9bc4b59c68dc56776ba50ff9d7295c536b23664","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:31Z"} -{"cache_key":"25cc8403b5816b888911443d2917b330bc530b2e338f51b2a7422b2a78b7870d","segment_id":"index.md:e64d6b29b9d90bba","source_path":"index.md","text_hash":"e64d6b29b9d90bba92ffe2539dc295a75c553684fed0350ee56bfd0aead01662","text":"Multiple gateways","translated":"多网关","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:36Z"} -{"cache_key":"25e8d037a4a0fb8c548da95825983c8a0af432d3220c14dd9908bbc344acbb2b","segment_id":"index.md:45808d75bf8911fa","source_path":"index.md","text_hash":"45808d75bf8911fa21637f9dd3f0dace1877748211976b5d61fcc5c15db594d0","text":"Webhooks","translated":"Webhooks","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:08Z"} -{"cache_key":"26087df3db46ce7741b72a3511fc552773df03f7de93d20d9d6c1aaf74ada2f0","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:40Z"} -{"cache_key":"2609a5fb897b0d40ef4bdfd04a26758f1b19819e28a2db1074ca89dd348c1834","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:00Z"} -{"cache_key":"2628c353f974405b473f8058fe5c80b4039449f51806dee3ced22ced458507c3","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解加载了哪些环境变量,以及它们的加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:07Z"} -{"cache_key":"2641fa57e655e2907092885b0b24665c212df5b58bb36fa826f14180e4ec67f3","segment_id":"index.md:99260acc29f71e4b","source_path":"index.md","text_hash":"99260acc29f71e4baeb36805a1fdbd2c17254b57c8e5a9cba29ee56518832397","text":" — Route provider accounts/peers to isolated agents (workspace + per-agent sessions)","translated":" — 将提供商账户/对等方路由到隔离的智能体(工作区 + 每智能体会话)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:12Z"} -{"cache_key":"26b05211cad1c3dae78e2e4aa1f9ed7abf9cb852044cd4f872c60d9017025c93","segment_id":"start/wizard.md:27914f11fd0ce999","source_path":"start/wizard.md","text_hash":"27914f11fd0ce99942e1903fecd5ac607d0dbc22ae97969a3819e223a32265aa","text":"Workspace location + bootstrap files","translated":"工作区位置 + 引导文件","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:21Z"} -{"cache_key":"272018c637ad26ec5622a5e164be99ef742f22f1cc1f14d3af9256471c3dbe98","segment_id":"index.md:acdd1e734125f341","source_path":"index.md","text_hash":"acdd1e734125f341604c0efbabdcc4c4b0597e8f6235d66c2445edd1812838c1","text":"Telegram","translated":"Telegram","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:13Z"} -{"cache_key":"2751e36b231341babf0dc82fbe5863659467382c8bf049600dd6042b26310190","segment_id":"index.md:42071940eb773f4d","source_path":"index.md","text_hash":"42071940eb773f4dcb7111f0626b4a7a823fc44098e143ff425db8a03528609d","text":" — because every space lobster needs a time-and-space machine.","translated":" — 因为每只太空龙虾都需要一台时空机器。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:41Z"} -{"cache_key":"278578406409f5c240b49ce02dbb5bf926ca1b0ed2c7ffaa4fe2fe66ae017223","segment_id":"start/getting-started.md:623b2b8c94dc9c42","source_path":"start/getting-started.md","text_hash":"623b2b8c94dc9c4272eef1ee15c7f60ac3a2525fa9e80235380c46f41ed38748","text":"4) Pair + connect your first chat surface","translated":"4)配对 + 连接您的第一个聊天界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:07Z"} -{"cache_key":"27a004245e98dcbaa5e48cc369f6f2aa4bcdcf81bb6da9f4b59f6a9c0aa4d950","segment_id":"index.md:42071940eb773f4d","source_path":"index.md","text_hash":"42071940eb773f4dcb7111f0626b4a7a823fc44098e143ff425db8a03528609d","text":" — because every space lobster needs a time-and-space machine.","translated":" —— 因为每只太空龙虾都需要一台时空机器。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:07Z"} -{"cache_key":"27a06da04c255a5ecf19b5022dd6180357807d50162a5698cd21d3eb78388ef3","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:39Z"} -{"cache_key":"27d042d7c4de0149b07caa1eef12a5a6b13bad2607338e471254e32ea17ac4fe","segment_id":"index.md:6d6577cb1c128ac1","source_path":"index.md","text_hash":"6d6577cb1c128ac18a286d3c352755d1a265b1e3a03eded8885532c3f36e32ed","text":"Mario Zechner","translated":"Mario Zechner","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:25Z"} -{"cache_key":"27e979437c543d1b0d913e200ae97874a872dbe3fb1ae1e0ea7d6eb6ebbe334e","segment_id":"index.md:98a670e2fb754896","source_path":"index.md","text_hash":"98a670e2fb7548964e8b78b90fef47f679580423427bfd15e5869aca9681d0dd","text":"\"We're all just playing with our own prompts.\"","translated":"\"我们都只是在玩弄自己的提示词。\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:10Z"} -{"cache_key":"28006596cdda45f4da3d43d4aca5bf66c459d4553682e2dd295c7e256c0a7dc6","segment_id":"start/wizard.md:8999c63d838a1729","source_path":"start/wizard.md","text_hash":"8999c63d838a1729c88f4334c6fd73d735c69659f7e08989bd9d4bd0cc644748","text":" Node (recommended; required for WhatsApp/Telegram). Bun is ","translated":" Node(推荐;WhatsApp/Telegram 需要)。Bun ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:33Z"} -{"cache_key":"2816a7fdcd6be1cbfa2991a8e2e2a7547e4d6c8c24cea4a8cd4bd797e593002b","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:48Z"} -{"cache_key":"28d24c047d26e2c1e65fd0bbb5ff062aa4ac050cf6a9d74ff349d775635b6ebd","segment_id":"index.md:aaa095329e21d86e","source_path":"index.md","text_hash":"aaa095329e21d86e24e8bec91bc001f7983d73a7a04c75646c0256448dac30ef","text":" — The space lobster who demanded a better name","translated":" —— 那只要求更好名字的太空龙虾","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:36Z"} -{"cache_key":"28e8ae5018d34b717de70ce7f23982de74c146a1f056b26e5e4ae8104534414e","segment_id":"index.md:6201111b83a0cb5b","source_path":"index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:26Z"} -{"cache_key":"28ef1da9761f650da74d92d311e4340eb104aa4bfe79c0770be44869d3d4388b","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:41Z"} -{"cache_key":"2915e64d137473ff7b41748d6e775157eeff0e1392db33707e68c51e7d2b3e4a","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:30Z"} -{"cache_key":"29a2f85f24db686837fe914b9726eff6a76c743da516c02abf9e7b37b6e7a822","segment_id":"index.md:76d6f9c532961885","source_path":"index.md","text_hash":"76d6f9c5329618856f133dc695e78f085545ae05fae74228fb1135cba7009fca","text":") — Pi creator, security pen-tester","translated":")— Pi 创始人,安全渗透测试员","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:04Z"} -{"cache_key":"29ad5ac78c867238eeea5d895c4831ef7fd4b4da6897dbbebfa2442fe9b4a55e","segment_id":"index.md:e3209251e20896ec","source_path":"index.md","text_hash":"e3209251e20896ecc60fa4da2817639f317fbb576288a9fc52d11e5030ecc44a","text":"Windows (WSL2)","translated":"Windows (WSL2)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:59Z"} -{"cache_key":"2a0917591bc5d0651e00107b3f0240ec8ef7f815194af495b214e011d1572e63","segment_id":"environment.md:cf0923bd0c80e86a","source_path":"environment.md","text_hash":"cf0923bd0c80e86a7aa644d04aa412cbd7baa3273153c40c625ceca9e012bde8","text":" runs your login shell and imports only **missing** expected keys:","translated":" 运行你的登录 shell 并仅导入**缺失的**预期键:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:51Z"} -{"cache_key":"2a125978841a8b745660c2fe10733f5a7ec04f35d6edccb62a3a6099827c9f31","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出现问题时的排查指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:09Z"} -{"cache_key":"2a272e89ec32a98ddfab85e3261d797830491c81beea1bc76f02a2f10056444a","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:20Z"} -{"cache_key":"2a5de10a869ddf9795eb574cdf1669853adf68de0aa9b586340f9f98b19a2c1b","segment_id":"index.md:723fad6d27da9393","source_path":"index.md","text_hash":"723fad6d27da939353c65417bbaf646b65903b316eb4456297ff4a1c20811e8d","text":": HTTP file server on ","translated":":HTTP 文件服务器运行在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:08Z"} -{"cache_key":"2a9244cf7264d7f417232bd9f92f966b46aa99b5cace7e6461e0b2d3a79e18fc","segment_id":"start/wizard.md:4646ca09dd863969","source_path":"start/wizard.md","text_hash":"4646ca09dd86396938b77d769471ccf591fb10f1e70b87c8e119921585c68647","text":"Anthropic API key (recommended)","translated":"Anthropic API 密钥(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:46Z"} -{"cache_key":"2a9bdab2f771b41c294a531f1d6df2023e4b67ee480cca4539599f2a60055a81","segment_id":"index.md:8fdfb6437318756c","source_path":"index.md","text_hash":"8fdfb6437318756c950bf2261538f06236e36040986891fa7b43452b987fb9f3","text":" — an AI, probably high on tokens","translated":" —— 一个可能被令牌冲昏头脑的 AI","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:13Z"} -{"cache_key":"2ac5a1447db5ab39cf2aa397324373ad9f62dc6a5dc80ce471170fb19c6f63e3","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (又称 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:52Z"} -{"cache_key":"2b3277f22f598b1a6f7a3131d92633b96fe7b09bfc6833b4283733bbb5e47a19","segment_id":"index.md:8f6fb4eb7f42c0e2","source_path":"index.md","text_hash":"8f6fb4eb7f42c0e245e29e63f5b82cc3ba19852681d1ed9aed291f59cf75ec0e","text":"Security","translated":"安全","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:12Z"} -{"cache_key":"2b5833fa7ce9898da69d1e64fc5c3a5eba6bb67c371a2b611ff4558aecdd62ca","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:08Z"} -{"cache_key":"2baecfd26ff47bc7814b55f6a2cdeeb462776c8057428fe9125b6157e0185296","segment_id":"index.md:e1b33cfa2a781bde","source_path":"index.md","text_hash":"e1b33cfa2a781bde9ef6c1d08bf95993c62f780a6664f5c5b92e3d3633e1fcf8","text":" (@nachoiacovino, ","translated":" (@nachoiacovino, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:27Z"} -{"cache_key":"2c1cb1cef6155b763b2262ef37c863de566330d14bf74280615cb6e549e58049","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:52Z"} -{"cache_key":"2c3188ffa72715b1d59025704a94f302614ca289ab2320901d5025dbba20e295","segment_id":"index.md:bf084dc7b82e1e62","source_path":"index.md","text_hash":"bf084dc7b82e1e62c63727b13451d1eba2269860e27db290d2d5908d7ade0529","text":" — Pairs as a node and exposes Canvas + Chat + Camera","translated":" —— 作为节点配对并暴露 Canvas + 聊天 + 相机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:17Z"} -{"cache_key":"2c32c166aa68ab2e4ad5a305268b0b4fa3715c00d5c8711954f57c56bce5bf2f","segment_id":"index.md:7af023c43013b9a5","source_path":"index.md","text_hash":"7af023c43013b9a53fbff7dd4b5821588bba3319308878229740489152c43f6d","text":"Docs","translated":"文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:42Z"} -{"cache_key":"2c4fad6883c7306600d4b8017b42f71a49a9ef90d3f7c903931dcc1a42d6a629","segment_id":"start/getting-started.md:130fc173d131a8a8","source_path":"start/getting-started.md","text_hash":"130fc173d131a8a8e647eff6d934160e7ffc33c8a488d296f4952e43669efece","text":"Remote access (SSH tunnel / Tailscale Serve): ","translated":"远程访问(SSH 隧道 / Tailscale Serve): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:30Z"} -{"cache_key":"2c8498d9a65196b921db3277f57a9f7a4d54f247bf632149a7e6f6d7852e3f8a","segment_id":"index.md:80fc402133201fbe","source_path":"index.md","text_hash":"80fc402133201fbe0e4e9962a9570e741856aa8b0c033f1a20a9bcb06c68e809","text":"Discovery","translated":"发现","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:43Z"} -{"cache_key":"2ca15829b0103ac379ae5ff09f282509d35a9e1dc45bbf196c72de71b74bb544","segment_id":"start/wizard.md:1d7b0a62c6b0c807","source_path":"start/wizard.md","text_hash":"1d7b0a62c6b0c8074693534632fba1f2651e07a43d627d9b033133f7be0a1e13","text":"Moonshot example:","translated":"Moonshot 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:28Z"} -{"cache_key":"2cd61dfffeb36096d91b4e57fb246bbcee08cc8578906f516e40f38a3f0fd07b","segment_id":"start/getting-started.md:552d8f1e99b582e6","source_path":"start/getting-started.md","text_hash":"552d8f1e99b582e60aca716254ccebd754c93d319a7c4459e4d741e23ebf5e81","text":"Gateway token","translated":"Gateway 令牌","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:23Z"} -{"cache_key":"2ce482e209f5de8ec61a9b3c7a287df2841a981d3764b77fdcf48af2a7b85703","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:58Z"} -{"cache_key":"2d0888805bfed46ef5b60cd62356c0e806d41c0b9121d293e637f9c246793517","segment_id":"start/wizard.md:f5f5d467d48ef0f0","source_path":"start/wizard.md","text_hash":"f5f5d467d48ef0f0285b3b241da9c210af806de0b975ef0d1c8caa8e43f02aca","text":" to route inbound messages (the wizard can do this).","translated":" 以路由入站消息(向导可以执行此操作)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:03Z"} -{"cache_key":"2d2da52fe8692965c9fb95b555b3aa3e2a2a66b0d5dda886a051d52f1a0ef1e3","segment_id":"index.md:c4b2896a2081395e","source_path":"index.md","text_hash":"c4b2896a2081395e282313d6683f07c81e3339ef8b9d2b5a299ea5b626a0998f","text":").","translated":")。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:09Z"} -{"cache_key":"2d3da03d164952a8c60693fdd97d8be29700340d6eaee19967b24342510d499a","segment_id":"index.md:83f4fc80f6b452f7","source_path":"index.md","text_hash":"83f4fc80f6b452f7cdf426f6b87f08346d7a2d9c74a0fb62815dce2bfddacf63","text":" — A space lobster, probably","translated":" —— 大概是一只太空龙虾说的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:27Z"} -{"cache_key":"2d48b01c4769947be3c3683c4a8f28dd565d2db1936464b4c5d5731a12d79c60","segment_id":"index.md:30f035b33a6c35d5","source_path":"index.md","text_hash":"30f035b33a6c35d51e09f9241c61061355c872f2fb9a82822cd2f5f443fd4ad4","text":"Group Chat Support","translated":"群聊支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:41Z"} -{"cache_key":"2d797dc8210ef143472d22214940192b0a9192ba2fbb7c937caed61f06927d9b","segment_id":"index.md:74f99190ef66a7d5","source_path":"index.md","text_hash":"74f99190ef66a7d513049d31bafc76e05f9703f3320bf757fb2693447a48c25b","text":"Linux app","translated":"Linux 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:02Z"} -{"cache_key":"2e074e5ac1705b797a4c77f7b223adcd0ae6a9f96032a837408a8435a639baff","segment_id":"index.md:37ed7c96b16160d4","source_path":"index.md","text_hash":"37ed7c96b16160d491e44676aa09fe625301de9c018ad086e263f59398b8be8a","text":"🎤 ","translated":"🎤 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:53Z"} -{"cache_key":"2e1d0951abfbe4efbae5e5ef595f231d5292c0fcb5b3ee23005ce2b68c1d79ee","segment_id":"help/index.md:0e4ea41f62f3485d","source_path":"help/index.md","text_hash":"0e4ea41f62f3485d38cc0e63e2ccf0b40ee1e32a060b3902767d612fe0823e0e","text":" here:","translated":" 这里:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:32Z"} -{"cache_key":"2e3290e6bc1d3f1822509afccd756cc87e8abd242e0141e0ee64721fdb864f3f","segment_id":"start/getting-started.md:f11e33a27b5b9a1c","source_path":"start/getting-started.md","text_hash":"f11e33a27b5b9a1c3aefd4fc3e37fd3effab8e9378119a2a21d20312adb940a7","text":"CLI onboarding wizard","translated":"CLI 上手引导向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:48Z"} -{"cache_key":"2e45b9544e6ff8d717250c9ddcf1e30690e094f474a744dda548b3e297c59cb7","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"你可以在配置的字符串值中直接使用以下方式引用环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:58Z"} -{"cache_key":"2e681efe18de20b4f07ad32002c6fec86c06e56a12cd30d9c7bdbc9534bb6882","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:44Z"} -{"cache_key":"2ef70367fb9aa09677565cc6176a971e2f70631d568dfe275604a6337f5ab6ad","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:32Z"} -{"cache_key":"2f07feeae0f7c7fd42259f8d149e737f19de5e6a5479067a97efdec3042fdd56","segment_id":"start/wizard.md:ca7981b46ecf2c17","source_path":"start/wizard.md","text_hash":"ca7981b46ecf2c1787b6d76d81d9fd7fa0ca95842e2fcc2a452869891a9334d1","text":"Off","translated":"关闭","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:02Z"} -{"cache_key":"2f42896cbef80e422a89e75bb6eff3784602d724b92e704a145d54f389869f2c","segment_id":"start/wizard.md:be297ea5bdb13e65","source_path":"start/wizard.md","text_hash":"be297ea5bdb13e6504ca452403bae1d77358398f376fc59ee9f4e06d566bc3e9","text":" even for loopback so local WS clients must authenticate.","translated":" 即使在回环地址上也使用,以确保本地 WS 客户端必须进行认证。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:03Z"} -{"cache_key":"300af3259f829741d51736865d7bf9f842f81f2138585d92d271370b4fb55164","segment_id":"environment.md:1734069c13c6a5b4","source_path":"environment.md","text_hash":"1734069c13c6a5b4de554e73a650ddce6651688b5771f03df706a836393aea3c","text":" override).","translated":" 覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:45Z"} -{"cache_key":"30608165f61f3a9ef054a6c564e06dfb89be246127382e61e93c52a93fa2aa9c","segment_id":"start/wizard.md:frontmatter:summary","source_path":"start/wizard.md:frontmatter:summary","text_hash":"37d4cb914a0312f3c0272449b49ff1a5b48ae22e79defb9680df63865bc21ea3","text":"CLI onboarding wizard: guided setup for gateway, workspace, channels, and skills","translated":"CLI 上手引导向导:Gateway、工作区、渠道和技能的引导式设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:51Z"} -{"cache_key":"30675512d7a61a650d56f0b23e4df35eee0be54824589dfe3cd69ef8055204a3","segment_id":"index.md:66d0f523a379b2de","source_path":"index.md","text_hash":"66d0f523a379b2de6f8d5fba3a817ebc395f7bcaa54cc132ca9dfa665d1e9378","text":"Skills","translated":"技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:17Z"} -{"cache_key":"307223a7ef9d756946e976426895e5f1195f544f15a205458dc725b42d4f6ee1","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想快速\"解决卡住的问题\",从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:27Z"} -{"cache_key":"30a615ba735a73e7d3242363754be6841b011b06bcf0852eb50b1c2fad210ba1","segment_id":"index.md:9c870aa6e5e93270","source_path":"index.md","text_hash":"9c870aa6e5e93270170d5a81277ad3e623afe8d4efd186d3e28f3d2b646d52e6","text":"How it works","translated":"工作原理","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:18Z"} -{"cache_key":"30df5b02209abc9fe6dad8f8edb5d9e1ecc23a3dafd5c4df988491ab87667a35","segment_id":"start/wizard.md:acdd1e734125f341","source_path":"start/wizard.md","text_hash":"acdd1e734125f341604c0efbabdcc4c4b0597e8f6235d66c2445edd1812838c1","text":"Telegram","translated":"Telegram","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:27Z"} -{"cache_key":"314a94405174f8d50e035a204e5843da2f66b97b162a65bf2b933f01abbd59f9","segment_id":"start/wizard.md:e639687221fe4ab0","source_path":"start/wizard.md","text_hash":"e639687221fe4ab0824252705b8c5db6c8ece564b77025b0f6b6a4252abb9f86","text":"Seeds the workspace files needed for the agent bootstrap ritual.","translated":"生成智能体引导启动仪式所需的工作区文件。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:46Z"} -{"cache_key":"314dd665b6543d8aa3e07bfb4411985b9e65d96c9dd2d548df33fb32bd6a7137","segment_id":"start/getting-started.md:5ed525159ebd3715","source_path":"start/getting-started.md","text_hash":"5ed525159ebd371551c1615ae2782e61c74c0ed4149ffd117284ba9523eeda84","text":"1) Install the CLI (recommended)","translated":"1)安装 CLI(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:46Z"} -{"cache_key":"3160cff1ac3376c86eff02fa191d7effc632679f70ad9d0572805c87e0373938","segment_id":"start/wizard.md:4b57039163eb0a5c","source_path":"start/wizard.md","text_hash":"4b57039163eb0a5c8ee4015d016164636534a01cc8acf14b5ce9d191319954c3","text":" to your config.","translated":" 到您的配置中。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:06Z"} -{"cache_key":"31dec649c828923140b2b30d6a8b2d62591976002370e88c3d3de3ac115cb781","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:10Z"} -{"cache_key":"3243c3ebdcaa9521501483661e48d2fdd966942cb24ea4dcde3d06b713aed8b4","segment_id":"index.md:3c8aa7ad1cfe03c1","source_path":"index.md","text_hash":"3c8aa7ad1cfe03c1cb68d48f0c155903ca49f14c9b5626059d279bffc98a8f4e","text":": connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.","translated":":连接到 Gateway WebSocket(根据需要使用局域网/Tailnet/SSH);旧版 TCP 桥接已弃用/移除。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:52Z"} -{"cache_key":"3251f0f0403513aa1ec086eadd313880a5c01383a210ec45da22d6fa4782490e","segment_id":"index.md:ee8b06871d5e335e","source_path":"index.md","text_hash":"ee8b06871d5e335e6e686f4e2ee9c9e6de5d389ece6636e0b5e654e0d4dd5b7e","text":"Control UI (browser)","translated":"控制界面(浏览器)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:34Z"} -{"cache_key":"3276f34c2339c0658f45d0f009490234b47b5b52b8d90ee1387edff4a69ac8ae","segment_id":"index.md:93c89511a7a5dda3","source_path":"index.md","text_hash":"93c89511a7a5dda3b3f36253d17caee1e31f905813449d475bc6fed1a61f1430","text":"common fixes + troubleshooting","translated":"常见修复 + 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:56Z"} -{"cache_key":"32a83090da1dc024c2a8cf8f0db8f301764d5bb1a471887273753a86569bd8cf","segment_id":"start/getting-started.md:frontmatter:read_when:1","source_path":"start/getting-started.md:frontmatter:read_when:1","text_hash":"8ffadc75217e7de913dec33459e2fc4726878cf78a1f8f6a6ce9b3b7305efa17","text":"You want the fastest path from install → onboarding → first message","translated":"您希望找到从安装 → 上手引导 → 发送第一条消息的最快路径","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:19Z"} -{"cache_key":"32aaa528f2fdc0ff7d03b917f5957bf4f19d264db511d3a6fcf39564f4c143f1","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:38Z"} -{"cache_key":"32f6ccc5f301eef89b0add96d877ba4df42d5d5b8a9cd794abf9f467d5f12d54","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:52Z"} -{"cache_key":"3341a2da05aa7a14de4f05127a21a28fff121cd29d0c2dd4fe6bbf663fb59d7d","segment_id":"index.md:66354a1d3225edbf","source_path":"index.md","text_hash":"66354a1d3225edbf01146504d06aaea1242dcf50424054c3001fc6fa2ddece0f","text":"Remote access","translated":"远程访问","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:23Z"} -{"cache_key":"336e0d3df54cefc9b4f845d46763359b00993efe537c84b384ff77a19c5d95e9","segment_id":"start/wizard.md:593b35c1b027b42b","source_path":"start/wizard.md","text_hash":"593b35c1b027b42b1f14fcd3913017dae726062941e8039a72e3af3399f728df","text":"Gateway auth ","translated":"Gateway 认证 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:53Z"} -{"cache_key":"33bc493412fad9ad498a84a301ea34b43f9f34939896f8221f6e095724982543","segment_id":"start/wizard.md:0e3a130e3ae6be30","source_path":"start/wizard.md","text_hash":"0e3a130e3ae6be30792e3eeb94fed964dcceddef27f7e723da02c1d3a3a8df94","text":"Local gateway (loopback)","translated":"本地 Gateway(回环地址)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:45Z"} -{"cache_key":"33e6190920d1a6f91b3914cb673b9488a8bab0364506c16f588e85340bde439c","segment_id":"index.md:63a3abfa879299dd","source_path":"index.md","text_hash":"63a3abfa879299ddcc03558012bfd6075cbd72f7a175b739095bf979700297f7","text":"Multi-instance quickstart (optional):","translated":"多实例快速入门(可选):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:42Z"} -{"cache_key":"34058f497844c4ec778554dcaefe46e1ee1747532d1d13b1d71c9f0ce44c7514","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:18Z"} -{"cache_key":"34086c013763b98b351cdd0b4f0249d6d22e5b03a465b1753e4de88e587c00ab","segment_id":"index.md:36ddb4d3cfcb494f","source_path":"index.md","text_hash":"36ddb4d3cfcb494fb96463d42b35ba923731677cfc9e084af9f25e3f231187d5","text":"💬 ","translated":"💬 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:51Z"} -{"cache_key":"34b531c230116c17ef31fc8a6f8428f6274208c2de206e4cdda99e9a1a9cb042","segment_id":"index.md:8f6fb4eb7f42c0e2","source_path":"index.md","text_hash":"8f6fb4eb7f42c0e245e29e63f5b82cc3ba19852681d1ed9aed291f59cf75ec0e","text":"Security","translated":"安全","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:29Z"} -{"cache_key":"34bfc7d107afffb5c740b7b90a1c6047e44c21fcac52d6b6f4859d91e803c9eb","segment_id":"environment.md:546f47a9170b7f79","source_path":"environment.md","text_hash":"546f47a9170b7f79afe6bb686aecab9c734c8e8a7d2b353d7e507ee932a0c348","text":"Environment variables\n\nOpenClaw pulls environment variables from multiple sources. The rule is ","translated":"环境变量\n\nOpenClaw 从多个来源获取环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:53Z"} -{"cache_key":"34e14035ff1a271359d67411ba4926d4dc09453dfd5418ece20924bcbfa96965","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:41Z"} -{"cache_key":"34ea3ba7fd58bb28161b7b4359bbcccffec2e9d4dbc54286ca2b0c1730769a8d","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":".","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:15Z"} -{"cache_key":"35283f721f41d4ee600ccb4bbea1d3385ba23774e7a7790fdd45b6c18600469a","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:49Z"} -{"cache_key":"352defd8fc42d9b060b6cd430d417fc2bd4c12fe53ba446d4a476ad42ccab112","segment_id":"start/wizard.md:0f3a1d92bc3a545d","source_path":"start/wizard.md","text_hash":"0f3a1d92bc3a545d9c34affb3f3116c0cc492f4a1045c05778fc4d4c442b9b96","text":" (plugin): bot token + base URL.","translated":" (插件):机器人令牌 + 基础 URL。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:43Z"} -{"cache_key":"35459952230518c31110b6b5f175abe88b59834c219cab3d71012db683db8121","segment_id":"start/getting-started.md:67b696468610b879","source_path":"start/getting-started.md","text_hash":"67b696468610b879ed7f224dbf6b0861f27e39d20454cb9d7af1ec52d3e5eeaa","text":"Dashboard","translated":"仪表盘","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:39Z"} -{"cache_key":"357d48a4c5e474910bc6ec1bc5ae8587a7e5f0207dd6c9102c7a1442f5696107","segment_id":"environment.md:cf3f9ba035da9f09","source_path":"environment.md","text_hash":"cf3f9ba035da9f09202ba669adca3109148811ef31d484cc2efa1ff50a1621b1","text":" (what the Gateway process already has from the parent shell/daemon).","translated":" (Gateway 进程从父 shell/守护进程中已获取的内容)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:06Z"} -{"cache_key":"364bf5b819ca7701a74bb51b78b68bb812f4e3f3590b3c69afe3efd9b0459c6b","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量和 `.env` 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:40Z"} -{"cache_key":"3663f83bba62df5e7cb863e55c86882f54e5d3c7ee21fe4fa3335e3ea53f2d70","segment_id":"index.md:e64d6b29b9d90bba","source_path":"index.md","text_hash":"e64d6b29b9d90bba92ffe2539dc295a75c553684fed0350ee56bfd0aead01662","text":"Multiple gateways","translated":"多网关","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:58Z"} -{"cache_key":"36b17044c786e63bff17024017e7376bbbfab4b3abdcda6216a8ff4155e90b82","segment_id":"index.md:9182ff69cf35cb47","source_path":"index.md","text_hash":"9182ff69cf35cb477c02452600d23b52a49db7bd7c9833a9a8bc1dcd90c25812","text":"Node ≥ 22","translated":"Node ≥ 22","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:57Z"} -{"cache_key":"36ee9ff0bfd7f7a2fed757962b44a70c9130d57288004d2941c4090fe792a044","segment_id":"index.md:30f035b33a6c35d5","source_path":"index.md","text_hash":"30f035b33a6c35d51e09f9241c61061355c872f2fb9a82822cd2f5f443fd4ad4","text":"Group Chat Support","translated":"群聊支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:06Z"} -{"cache_key":"36f5535fb346a7e5a8ac7bf97f71b16da9e836aaac6004bc7f2baf2b4f74ee89","segment_id":"start/getting-started.md:f480ffb2979d1888","source_path":"start/getting-started.md","text_hash":"f480ffb2979d188849ef6ddeb7cefe0aec4406a459adc51df4808a3545d7095c","text":" uses ","translated":" 使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:17Z"} -{"cache_key":"3707b96e2e6a68d6b2b2cb1bc408bfdcc00b380bed0febd7847ebf22d0f0a144","segment_id":"start/wizard.md:acd0067e1ce6598b","source_path":"start/wizard.md","text_hash":"acd0067e1ce6598bac4486d7dec30e89e0cb9486eb7a5ab655327f2398d82ee2","text":"Stores it under ","translated":"将其存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:01Z"} -{"cache_key":"3720955986bed01c1359c0e548caea0c5440fad4b43365d2fde56fb04a4e0759","segment_id":"start/wizard.md:610b6a1041c9c16b","source_path":"start/wizard.md","text_hash":"610b6a1041c9c16ba409d615ac9fc646e065c13b271889569a0f3cab45fb422b","text":"Signal setup (signal-cli)","translated":"Signal 设置 (signal-cli)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:49Z"} -{"cache_key":"3761d0df7c47bdf9c52491e5e93c6b9b8e7c948074b5925f77582063f787622c","segment_id":"index.md:42bb365211decccb","source_path":"index.md","text_hash":"42bb365211decccb3509f3bf8c4dfcb5ae05fe36dfdedb000cbf44e59e420dc9","text":" — Local imsg CLI integration (macOS)","translated":" —— 本地 imsg CLI 集成(macOS)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:56Z"} -{"cache_key":"3790b7cccef83371cab7a1989734dc2df8216f5cdb52d6e28db0e9e844c5671c","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:27Z"} -{"cache_key":"37b110b0b1d718b41a94fb3a9a4f13223dae87e68c5e0f999d287897a386511e","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:02Z"} -{"cache_key":"37b7c0541ea6313c43233942e42fd671ee86f3f7a07973e395b38ad0ff8dbc0a","segment_id":"index.md:6b3f22c979b9e6f8","source_path":"index.md","text_hash":"6b3f22c979b9e6f8622031a6b638ec5f730c32de646d013e616078e03f5a6149","text":"iOS node","translated":"iOS 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:55Z"} -{"cache_key":"380da2c38442028181e5e4e1bc68442ff14ff2bcd89177a4c1a3bc96b478155b","segment_id":"index.md:36ddb4d3cfcb494f","source_path":"index.md","text_hash":"36ddb4d3cfcb494fb96463d42b35ba923731677cfc9e084af9f25e3f231187d5","text":"💬 ","translated":"💬 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:49Z"} -{"cache_key":"3861d187be12abb8bb56846e66cdbe56efbfcc8ab9dc5fa49ad7526b34954f7c","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题(而非\"出了故障\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:47Z"} -{"cache_key":"38b96681367af140e653ee05ec7a261cf0941c0975166b3ac38008c0f1fd218d","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:19Z"} -{"cache_key":"38ce802888d58badfba21b504c45ae2e126bfa2ff05300da807328abce6bb3ea","segment_id":"environment.md:cf3f9ba035da9f09","source_path":"environment.md","text_hash":"cf3f9ba035da9f09202ba669adca3109148811ef31d484cc2efa1ff50a1621b1","text":" (what the Gateway process already has from the parent shell/daemon).","translated":" (Gateway 进程从父 shell/守护进程中已继承的值)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:02Z"} -{"cache_key":"38e1bd28383c38781623486e59dac26bb496cbacc9e2eda9120b373298a51ff3","segment_id":"index.md:ba5ec51d07a4ac0e","source_path":"index.md","text_hash":"ba5ec51d07a4ac0e951608704431d59a02b21a4e951acc10505a8dc407c501ee","text":")","translated":")","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:11Z"} -{"cache_key":"3916f9bae114afcf8d795dfb5375fa24f3e06a8a118fe2ecbb2915900f6a9f82","segment_id":"index.md:e3209251e20896ec","source_path":"index.md","text_hash":"e3209251e20896ecc60fa4da2817639f317fbb576288a9fc52d11e5030ecc44a","text":"Windows (WSL2)","translated":"Windows (WSL2)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:14Z"} -{"cache_key":"394214a19e461907fb2a1cc918c6f38ae64e4715143377c7a9166d0b985547df","segment_id":"index.md:88d90e2eef3374ce","source_path":"index.md","text_hash":"88d90e2eef3374ce1a7b5e7fbd3b1159364b26a8ceb2493d6e546d4444b03cda","text":"Tailscale","translated":"Tailscale","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:16Z"} -{"cache_key":"3983900aa2122716086238320301d2ccc9ca38cbfbc5fadec4629f48bac4e248","segment_id":"index.md:5928d14b4d45263d","source_path":"index.md","text_hash":"5928d14b4d45263d4964dfd301c84ed2674ca8b4b698c5efeb88fb86076d2bf9","text":"🎮 ","translated":"🎮 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:02Z"} -{"cache_key":"3a153551510fda2c4710a20c9a4cc23057396667a7df9dd6e1abcab82c50b896","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:04Z"} -{"cache_key":"3a1be3034443bc71b47581e4ea05266f8538eaa0a0fdc3da9bad0ed023893ac7","segment_id":"start/getting-started.md:e93372533f323b2f","source_path":"start/getting-started.md","text_hash":"e93372533f323b2f12783aa3a586135cf421486439c2cdcde47411b78f9839ec","text":"Node ","translated":"Node ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:24Z"} -{"cache_key":"3a3087543c4f5b0648ff7fc2645ae4cf40a2f985a95b29227569f1d421fab438","segment_id":"index.md:19525ac5e5b9c476","source_path":"index.md","text_hash":"19525ac5e5b9c476b36a38c5697063e37e8fe2fae8ef6611f620def69430cf74","text":"Canvas host","translated":"Canvas 主机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:06Z"} -{"cache_key":"3aa380273cd8edfdd5f5b29a07a527e398f72e5526104fe71ae89a782551ca9e","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:14Z"} -{"cache_key":"3aa6384989e1547147163565da676d20d7c8194489e7a36036790d562a12ac49","segment_id":"index.md:f3047ab42a6a5bbf","source_path":"index.md","text_hash":"f3047ab42a6a5bbf164106356fa823ecada895064120c4e5a30e1f632741cc5f","text":"Web surfaces","translated":"Web 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:11Z"} -{"cache_key":"3b073a8aca3cde51037eb2b555734543d6c8e5d498f8533174f1eb9496fc894d","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:45Z"} -{"cache_key":"3b0bba02beb661f8e7cf1069121bbd16a281b73b7a5a0c4447beb270d19cfa37","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:20Z"} -{"cache_key":"3b1145589cf333c443556a480ae2d7f03f2014b1e8941d78e2bc2c9c128af7e4","segment_id":"start/wizard.md:c5c46554cb43b7f8","source_path":"start/wizard.md","text_hash":"c5c46554cb43b7f83f3e8fc3be0ad1f0370946ec6e0a19a114d9bab8a127947a","text":"OAuth credentials live in ","translated":"OAuth 凭据存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:29Z"} -{"cache_key":"3b357b9dda6a24f40882977ca076c8800b43c2eae6f4cd8cbef8aa0f129fdc06","segment_id":"environment.md:b79606fb3afea5bd","source_path":"environment.md","text_hash":"b79606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910","text":" config","translated":" 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:59Z"} -{"cache_key":"3b40d9da2852e7fbd97da9ba5dffbd04f5d5c0fc00def960a206e2c94914b245","segment_id":"index.md:8fdfb6437318756c","source_path":"index.md","text_hash":"8fdfb6437318756c950bf2261538f06236e36040986891fa7b43452b987fb9f3","text":" — an AI, probably high on tokens","translated":" — 一个可能被令牌冲昏头脑的 AI","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:47Z"} -{"cache_key":"3b71135c0933181aa6bde7a58dd5a3707209324d5e2168571e948b9b5f2d67e8","segment_id":"index.md:15cd10b29ec14516","source_path":"index.md","text_hash":"15cd10b29ec1451670b80eae4b381e26e84fa8bdb3e8bea90ec943532411b189","text":" (@Hyaxia, ","translated":" (@Hyaxia, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:44Z"} -{"cache_key":"3b738961b879475be2f5ff57712c2c1bf8bd3060d1cf15dbf5426794d16203b9","segment_id":"start/wizard.md:228b0332ec267772","source_path":"start/wizard.md","text_hash":"228b0332ec267772e57c8b59f1e9e3464839a76a98fc7bf9ba4b9a4509a1d2ff","text":" (defaults) vs ","translated":" (默认设置)与 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:37Z"} -{"cache_key":"3b75f262948cbbb512b4599733ba93e13681e31c930bbdc664ab71e885662b2e","segment_id":"environment.md:77ee4c8d363762a8","source_path":"environment.md","text_hash":"77ee4c8d363762a834617dcf68d6288847eba4544071d9e11e42cf8d08c579d6","text":"Shell env","translated":"Shell 环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:34Z"} -{"cache_key":"3b8197284023245c9a413e63d82ca9df26e860990475095d8c3bba3a2ea3cf3c","segment_id":"index.md:2a6b24ad28722034","source_path":"index.md","text_hash":"2a6b24ad287220345e96eb8021fe29d42b0785766c8df658827e7251da2d36dc","text":"Credits","translated":"致谢","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:50Z"} -{"cache_key":"3bb189a0fee15a008f7403303c01b5afa61f2762fbe8f30fb11a0b88c64d50ec","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,步骤 4 将被跳过;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:43Z"} -{"cache_key":"3be0ad5ba6125bd8e82b0ef3fe5ce52ac6e8cc36295f873bb4eeb53295a493d7","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型概览","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:42Z"} -{"cache_key":"3c2f6b5fb86a0b339fef1dce671429b0675d7f6c8e96131c14ae045e330c64ad","segment_id":"index.md:185beb968bd1a81d","source_path":"index.md","text_hash":"185beb968bd1a81d07ebcf82376642f7b29f1b5594b21fe9edee714efbdcaa44","text":"✈️ ","translated":"✈️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:55Z"} -{"cache_key":"3c3837312bb9e8d810155bdffa548dbde797f82ff7edf8ac411825656a304c4a","segment_id":"start/wizard.md:6f75d6dfebf55cc4","source_path":"start/wizard.md","text_hash":"6f75d6dfebf55cc4d7cb48ee42a6c6bc47c6bcd606f0dbbc145913b7854d46fd","text":"What it sets:","translated":"它会设置:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:55Z"} -{"cache_key":"3c7d5d086025aacdb08eff6300599c7eb8133d3becbaefcf7fac34ff2d733860","segment_id":"index.md:468886872909c70d","source_path":"index.md","text_hash":"468886872909c70d3bfb4836ec60a6485f4cbbd0f8a0acedbacb9b477f01a251","text":"Workspace templates","translated":"工作区模板","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:46Z"} -{"cache_key":"3c85fd86ca15e8381d7fe82eaffa4dbc27dd63f820415f9a09be673d0847aff8","segment_id":"start/wizard.md:48ced72d53b97892","source_path":"start/wizard.md","text_hash":"48ced72d53b9789268649241dadbca3f8646867df4eef54f7eadac8c1c6cefc0","text":"Reset uses ","translated":"重置使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:24Z"} -{"cache_key":"3ce65ae798c705018325eadd2d993e1a9b4bd37081ac208ecec458bb23cd1ad2","segment_id":"start/wizard.md:bb1547f6c875dff6","source_path":"start/wizard.md","text_hash":"bb1547f6c875dff692cde4cb57350780c86b3129399197067c8b5e0fc5a90df3","text":": no auth configured yet.","translated":":暂不配置认证。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:19Z"} -{"cache_key":"3cf8f452fc7a0bba84fdf6434ebeb287af7b726270c145cf753b4fe8bd082ee2","segment_id":"start/getting-started.md:f2e04e77070557f1","source_path":"start/getting-started.md","text_hash":"f2e04e77070557f154fb52bb7c75bf115d8981374d0dccc6027944b70bc6951b","text":" on the gateway host.\nDocs: ","translated":" (在 Gateway 主机上)。\n文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:37Z"} -{"cache_key":"3d1656dbb878ef3bcba5b41e9ed57f4ce9c7f8963181f68a2fe1752a5e2e1c17","segment_id":"index.md:b0d125182029e6c5","source_path":"index.md","text_hash":"b0d125182029e6c500cbcc81011341df77de8fe24d9e80190c32be390c916ec2","text":"🤖 ","translated":"🤖 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:23Z"} -{"cache_key":"3d568ffb6b3b3d75349d653870affc28760361ff6599283374c4c7864f706f2d","segment_id":"index.md:2a6b24ad28722034","source_path":"index.md","text_hash":"2a6b24ad287220345e96eb8021fe29d42b0785766c8df658827e7251da2d36dc","text":"Credits","translated":"致谢","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:27Z"} -{"cache_key":"3d6a0cbc582dcbd551bd16cae84dfe04310466d13179af3d43e3a05493bbe1b4","segment_id":"index.md:10bf8b343a32f7dc","source_path":"index.md","text_hash":"10bf8b343a32f7dc01276fc8ae5cf8082e1b39c61c12d0de8ec9b596e115c981","text":"WebChat","translated":"网页聊天","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:41Z"} -{"cache_key":"3de4148817a3da24501b46c0db8c9432af68e4c926bfbb22af9a5310629c6f3c","segment_id":"index.md:3d8fed7c358b2ccf","source_path":"index.md","text_hash":"3d8fed7c358b2ccf225ee16857a0bb9b950fd414319749e0f6fff58c99fa5f22","text":"Subscription auth","translated":"订阅认证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:16Z"} -{"cache_key":"3df33562454535183c5399ca80fa7d2817a4a79760aaa5230f128a95d3c78827","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:32Z"} -{"cache_key":"3df86b9cf5fa329e474cd1383be56b18a77ca9f34aee7679099cf0a67853f799","segment_id":"start/wizard.md:ccc02bfc6371f274","source_path":"start/wizard.md","text_hash":"ccc02bfc6371f2743a3ab2ffd360c100414415a0b4c0f5fe6866820d50a58534","text":"Port, bind, auth mode, tailscale exposure.","translated":"端口、绑定、认证模式、Tailscale 暴露。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:56Z"} -{"cache_key":"3e19ae8f54b98c209753f915d52f542a7891896d7769f2f2e5ff828bfc49a093","segment_id":"start/wizard.md:7cecbbd299f4893d","source_path":"start/wizard.md","text_hash":"7cecbbd299f4893d61d339700773335a412ab1b532b435cd1aa290ab59e6391d","text":"Runtime selection:","translated":"运行时选择:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:30Z"} -{"cache_key":"3e685aee1a7051e665e054c4c774e80e188dc239d3df8193efef4838ae204fa8","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:36Z"} -{"cache_key":"3e8225ab0a25cbca0c7a00bcb9033a5048108adac44a721f7249845d0925250c","segment_id":"index.md:4eb58187170dc141","source_path":"index.md","text_hash":"4eb58187170dc14198eacb534c8577bef076349c26f2479e1f6a2e31df8eb948","text":" — An AI, probably high on tokens","translated":" —— 一个可能被令牌冲昏头脑的 AI","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:55:04Z"} -{"cache_key":"3ec7dfcb17b352e2f217472e109e171fc287a2ee9197f39225034144554575e9","segment_id":"index.md:1a36bded6916228a","source_path":"index.md","text_hash":"1a36bded6916228a5664c8b2bcdaa5661d342fe3e632aa41453f647a3daa3a61","text":" — Pairs as a node and exposes a Canvas surface","translated":" —— 作为节点配对并暴露 Canvas 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:12Z"} -{"cache_key":"3ecb8e3215b8818241e73a7e7ae26b1e5202a5384c8f99a2a5262d3bf88112e9","segment_id":"start/wizard.md:4fa6e54efd518fc2","source_path":"start/wizard.md","text_hash":"4fa6e54efd518fc2075e98b366621a5236355222198b8eac9efb802d681fcb8b","text":"Moonshot (Kimi K2)","translated":"Moonshot (Kimi K2)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:08Z"} -{"cache_key":"3f05d1942b5a9f6420ad25aea5697d040ea0fbe5470a1eed26a88ce86d2411af","segment_id":"index.md:f0a7f9d068cb7a14","source_path":"index.md","text_hash":"f0a7f9d068cb7a146d0bb89b3703688d690ed0b92734b78bcdb909aace617dbf","text":"WhatsApp group messages","translated":"WhatsApp 群组消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:56Z"} -{"cache_key":"3f27b3739c14942d3690e2325aa7381daf6a48d6732f3a116817bcbc3afe9a7e","segment_id":"index.md:36ddb4d3cfcb494f","source_path":"index.md","text_hash":"36ddb4d3cfcb494fb96463d42b35ba923731677cfc9e084af9f25e3f231187d5","text":"💬 ","translated":"💬 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:16Z"} -{"cache_key":"3f7a224f3597d7d8ffcb2fbad1804c6beb71966d8a12feeb601f0607121b1d58","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:38Z"} -{"cache_key":"4009762bd6b11f2939c149dc1407c26b61e0ce9e64027f643467f2c9166ae069","segment_id":"index.md:ded906ea94d05152","source_path":"index.md","text_hash":"ded906ea94d0515249f0bcab1ba63835b5968c142e9c7ea0cb6925317444d98c","text":"Configuration examples","translated":"配置示例","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:01Z"} -{"cache_key":"4009d09aa8998e8257bb7d745d298f61d59560b852c09e3020f282f5f783755f","segment_id":"environment.md:4ac8551788fee477","source_path":"environment.md","text_hash":"4ac8551788fee477927fdee76e727261e4a655609502f2d6e0f2121b606ed978","text":"Env var substitution in config\n\nYou can reference env vars directly in config string values using ","translated":"配置中的环境变量替换\n\n你可以使用以下方式在配置字符串值中直接引用环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:58Z"} -{"cache_key":"4009d3c80d649dec28c2565eee518b693691a79c583c891076d67e01740b29f5","segment_id":"index.md:6fa3cbf451b2a1d5","source_path":"index.md","text_hash":"6fa3cbf451b2a1d54159d42c3ea5ab8725b0c8620d831f8c1602676b38ab00e6","text":"Sessions","translated":"会话","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:30Z"} -{"cache_key":"409cb7ef4fb0281a4a1a5cc53af8948139bd4735bddf8b050a93a62498745c6c","segment_id":"start/getting-started.md:0d3a30eb74e2166c","source_path":"start/getting-started.md","text_hash":"0d3a30eb74e2166c1fc51b99b180841f808f384be53fe1392cecb67fdc9363c4","text":" (default ","translated":" (默认 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:19Z"} -{"cache_key":"40e9b8fba7f586d8cd09924e5319af4d3402b2768f2965141866fc0113a5a85a","segment_id":"start/getting-started.md:a930fff865d3a7d8","source_path":"start/getting-started.md","text_hash":"a930fff865d3a7d8c09c82d884ce158733e3cf93f6d43d81c03785aeb15ff970","text":"7) Verify end-to-end","translated":"7)端到端验证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:55Z"} -{"cache_key":"413b18be7bd7219a7ebe8bf16cc6b2a5151753b15628b92ef08461ee654bd44b","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:03Z"} -{"cache_key":"41768ab6d5c2eeb79122a8d917d38fdc9d8448e4ed992fcb2b7feaa905469dcf","segment_id":"index.md:add4778f9e60899d","source_path":"index.md","text_hash":"add4778f9e60899d7f44218483498c0baf7a0468154bc593a60747ee769c718c","text":"Android node","translated":"Android 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:40Z"} -{"cache_key":"417f7a16c5b26835f5787b2bc94c938dba0e43717380c38007d621ec582c8c21","segment_id":"start/getting-started.md:fc0d3588a29e2b90","source_path":"start/getting-started.md","text_hash":"fc0d3588a29e2b90f3946e210636d98d8ad95cf9e9d615fd975193093d8a17df","text":" (with sane defaults) as quickly as possible.","translated":" (使用合理的默认配置)尽可能快地完成。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:32Z"} -{"cache_key":"418f62c195d775d18091feee2ea101a738425ab091aecd5487195cfedd3ede3f","segment_id":"start/getting-started.md:b8aa19c1dd24f84e","source_path":"start/getting-started.md","text_hash":"b8aa19c1dd24f84eb71288bebd10a4e6007ede5365d9572df511fe428dccb632","text":"macOS menu bar app + voice wake: ","translated":"macOS 菜单栏应用 + 语音唤醒: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:21Z"} -{"cache_key":"41a9cde6dd29d317206f7b9ac006217c8ed29fdfa51d9cdc8b3aa4538ccd4415","segment_id":"start/wizard.md:a2198f472ce2fbee","source_path":"start/wizard.md","text_hash":"a2198f472ce2fbee82a5546090a5dd896b1da3bb678e8963d19eaa03e08ca092","text":"Onboarding","translated":"上手引导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:05Z"} -{"cache_key":"420151a42113aa101a8d753080c801abe7deac20cde27edca350833dba6b9401","segment_id":"index.md:496bcd8a502babde","source_path":"index.md","text_hash":"496bcd8a502babde0470e7105dfed7ba95bbc3193b7c6ba196b3ed0997e84294","text":"Voice notes","translated":"语音消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:43Z"} -{"cache_key":"42363d142c5d5a1481ac3bb76aba070baba3e796a68efaac422608091bf9f72f","segment_id":"index.md:bbf8779fd9010043","source_path":"index.md","text_hash":"bbf8779fd9010043ac23a2f89ba34901f3a1f58296539c3177d51a9040ea209d","text":") — Blogwatcher skill","translated":")—— Blogwatcher 技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:47Z"} -{"cache_key":"42b861c7e5700483f345ddd4ae743bc47dbd0154e1a83326aae343859604bf6d","segment_id":"start/wizard.md:ecaaafe56fbfdf19","source_path":"start/wizard.md","text_hash":"ecaaafe56fbfdf19c4710b2509350b60bf5bce327e6e621952076da6372df33e","text":"Onboarding Wizard (CLI)","translated":"上手引导向导 (CLI)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:56Z"} -{"cache_key":"42ee1c8c7830b05cc1959ca709737c56bd2f92aff2ccf44de3dc51badc42622f","segment_id":"index.md:32ebb1abcc1c601c","source_path":"index.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:15Z"} -{"cache_key":"433cce86c05f0e0152efd90e723b067d686e917fb2054327fbf4ce5c40e30edb","segment_id":"start/wizard.md:13297db73d234731","source_path":"start/wizard.md","text_hash":"13297db73d234731958244575f85555e4aa3ff0aed3b07b5e9d4ea66cb462246","text":" (never ","translated":" (绝不使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:26Z"} -{"cache_key":"434e8917d28683bf448e8aabf49764186bb067e2efe6ff332497cb52f6016ddd","segment_id":"start/getting-started.md:7013af4c42fe4380","source_path":"start/getting-started.md","text_hash":"7013af4c42fe43802a9e8b0affc4f521fcd126160569969fb2ec09e1b7c422b1","text":"Setup","translated":"设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:10Z"} -{"cache_key":"436e752948ac7b7910f23cae9160a2e4040fb7df0e3c5bfb95398c280e3e3f41","segment_id":"index.md:1a36bded6916228a","source_path":"index.md","text_hash":"1a36bded6916228a5664c8b2bcdaa5661d342fe3e632aa41453f647a3daa3a61","text":" — Pairs as a node and exposes a Canvas surface","translated":" — 作为节点配对并提供 Canvas 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:38Z"} -{"cache_key":"4375f1f048f79fc861b543d3d9c0eedc69b7a772a32d024e3c108d3a9657af00","segment_id":"start/wizard.md:95fcce5e5b146818","source_path":"start/wizard.md","text_hash":"95fcce5e5b146818ba279f6a1ec9b3333532b069ad6e3f709818fb9194198203","text":"Keep / Modify / Reset","translated":"保留 / 修改 / 重置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:07Z"} -{"cache_key":"43cec56f6386efc26fbdda3820971f35c6a6df2c61a3125ef10c41b7a136e622","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:16Z"} -{"cache_key":"444c57554dc319fcc9cbfb96353a6f9c9184b4e1178353c5f92496ac99bf75b7","segment_id":"start/wizard.md:bdd5d35746968e3a","source_path":"start/wizard.md","text_hash":"bdd5d35746968e3ac912679a8a6dcd53117277e63feb28c474e582f2ada39027","text":") for scripts.","translated":")用于脚本。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:54Z"} -{"cache_key":"447176b9f6dcf6f83e411888711e6f57498e9034a0000a9e5e08b8600dfa6dd7","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:30Z"} -{"cache_key":"45546bd54f25fcf7ebb35e346b789c2b8719664b05396941839eaa13d1181f5b","segment_id":"start/wizard.md:17c51cc78838cf2a","source_path":"start/wizard.md","text_hash":"17c51cc78838cf2af11aab8d6600db56cb50d4956069625db25bed4f15656a76","text":" (bun not recommended).","translated":" (不推荐 bun)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:52Z"} -{"cache_key":"455bca70dc67fd7daf15f2991ae1dde159fbb072397a5222ae919e12c89f6baf","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"该点什么/该运行什么\"的操作指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:03Z"} -{"cache_key":"46356e773d9a1db34290e9332db52f9febdea4d6a86073399c8e5123a8c85d64","segment_id":"index.md:233cfad76c3aa9dd","source_path":"index.md","text_hash":"233cfad76c3aa9dd5cc0566746af197eac457a88c1e300ae788a8ada7f96b383","text":"From source (development):","translated":"从源码安装(开发):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:35Z"} -{"cache_key":"463a9a24eff5d3e3bd5240375798cafd0b6ddd708cb14e1037df77f591649f17","segment_id":"index.md:96be070791b7d545","source_path":"index.md","text_hash":"96be070791b7d545dc75084e59059d2170eed247350b351db5330fbd947e4be6","text":"👥 ","translated":"👥 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:04Z"} -{"cache_key":"467ace4c6c3c4e0032589ea19c3968e8869d0455ecde033420ea7e300959f288","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:37Z"} -{"cache_key":"46bb3d229c815e2177cb4c1493857143b306b58d15abedb7abce66c9c5456f99","segment_id":"start/wizard.md:a9e83abe07e4c277","source_path":"start/wizard.md","text_hash":"a9e83abe07e4c2777f28ac3107308bd9178e7d0449fbf21f2098ebd37f17900e","text":" exposes every step (mode, workspace, gateway, channels, daemon, skills).","translated":" 展示每个步骤(模式、工作区、Gateway、渠道、守护进程、技能)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:09Z"} -{"cache_key":"47add7d7379785e56a63fec4ac7e41913e1c0bb8b25f6e8bb10ccbdae56f993d","segment_id":"start/wizard.md:254bb97b57f12e16","source_path":"start/wizard.md","text_hash":"254bb97b57f12e1608fefc4517de768427b2fd6d2cffbbfcbc09f3c818198d5f","text":"not","translated":"不会","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:39Z"} -{"cache_key":"47b5e5abc15bd0ac60233ab1d3fd967912accfa1934f36be76175302f173c24f","segment_id":"index.md:d53b75d922286041","source_path":"index.md","text_hash":"d53b75d9222860417f783b0829023b450905d982011d35f0e71de8eed93d90fc","text":"New install from zero:","translated":"从零开始全新安装:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:03Z"} -{"cache_key":"47e2cb719ca381b76b3e6b9692535fac0878a4d7dfface5796952396f9dbac0c","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:49Z"} -{"cache_key":"47eeb5089f41d7da1014dffd88b45418309ad1273076ad53cad090d98d2cab0e","segment_id":"index.md:c7a5e268ddd8545e","source_path":"index.md","text_hash":"c7a5e268ddd8545e5a59a58ef1365189862f802cc7b61d4a3212c70565e2dff1","text":"WhatsApp Integration","translated":"WhatsApp 集成","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:50Z"} -{"cache_key":"48150c58a558cab37782c3ad92d481228e2baf17c9b76c6779b7c0ae19dbc3fa","segment_id":"index.md:e3572f8733529fd3","source_path":"index.md","text_hash":"e3572f8733529fd30a8604d41d624c15f4433df68f40bd092d1ee61f7d8d15e2","text":"Agent bridge","translated":"智能体 桥接","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:00Z"} -{"cache_key":"48483fc19877be4aa74fb6b2db7bb89e26c2c0e369d74946891db59c9fe7e7a6","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:37Z"} -{"cache_key":"4860a152d07b27cce8b414a96db2ae930f930f6c1c92cd682b9138e2a05cd6a5","segment_id":"index.md:a42f01be614f75f1","source_path":"index.md","text_hash":"a42f01be614f75f16278b390094dc43923f0b1b7d8e3209b3f43e356f42ed982","text":"), a single long-running process that owns channel connections and the WebSocket control plane.","translated":"),一个拥有 渠道 连接和 WebSocket 控制平面的单一长期运行进程。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:26Z"} -{"cache_key":"49557226fca3cfad19539dc5025d8556c1fbbc8f281440f95e52b12f86ea9c88","segment_id":"index.md:9bcda844990ec646","source_path":"index.md","text_hash":"9bcda844990ec646b3b6ee63cbdf10f70b0403727dea3b5ab601ca55e3949db9","text":" for node WebViews; see ","translated":" 用于节点 WebView;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:29Z"} -{"cache_key":"495b27e9a0d8f141e73a810d800212340f9cbde9181f0f2d3fba03b48222976e","segment_id":"start/getting-started.md:b2727b53f573e590","source_path":"start/getting-started.md","text_hash":"b2727b53f573e590241952b2f1c4f4a0654a6c54c5407a1ac4a98c7360808b66","text":"3) Start the Gateway","translated":"3)启动 Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:47Z"} -{"cache_key":"496b2bcf0dbcf94d1b9bb3678101118c4ea49b1513f09378ba37b8c963882d15","segment_id":"index.md:41ed52921661c7f0","source_path":"index.md","text_hash":"41ed52921661c7f0d68d92511589cc9d7aaeab2b5db49fb27f0be336cbfdb7df","text":"Gateway","translated":"Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:47Z"} -{"cache_key":"4981d5c52ef98c93d181d87e1c2a1b8f6f862ebdb561c1be294d9137b2bb57b7","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:59Z"} -{"cache_key":"49dba5d103054704ee4f938bc0a88e03d008f4944cb8cbae4a2885436d4740b2","segment_id":"start/wizard.md:c50ee45a8653de1c","source_path":"start/wizard.md","text_hash":"c50ee45a8653de1c4e2b19fb99d694cd339660b20d45c9ad30ee141b6606057e","text":"Gemini example:","translated":"Gemini 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:20Z"} -{"cache_key":"4a98bbd6c4054f0b1a001141baff967905b1b14e1df3098677fc0e4d18ed325e","segment_id":"start/getting-started.md:2a6201c0c58ab546","source_path":"start/getting-started.md","text_hash":"2a6201c0c58ab546acacc4a77ca5dc80df9b0dd17abb7295095a6f17fe009dbe","text":" Brave Search API key for web search. Easiest path:","translated":" Brave Search API 密钥用于网络搜索。最简单的方式:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:31Z"} -{"cache_key":"4af220d89881b4bb625e5c2da4f6f1f1fcf9aa5e03c3d011a1719e95425b74ff","segment_id":"start/getting-started.md:3e86911991b89a88","source_path":"start/getting-started.md","text_hash":"3e86911991b89a88840294cff2374b6c01b6cf699d67a683d93176713ba4ca45","text":"Auth: where it lives (important)","translated":"认证:存储位置(重要)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:28Z"} -{"cache_key":"4bec757cc889c702c6234b140f6cfbd9f5667bc8d4c2ec078d752ca526c9799e","segment_id":"index.md:a42f01be614f75f1","source_path":"index.md","text_hash":"a42f01be614f75f16278b390094dc43923f0b1b7d8e3209b3f43e356f42ed982","text":"), a single long-running process that owns channel connections and the WebSocket control plane.","translated":"),一个拥有 渠道 连接和 WebSocket 控制平面的单一长期运行进程。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:49Z"} -{"cache_key":"4bf4e999ff90d118298d53d27c867bde5d3a64a39602eb35773dcd473ab68055","segment_id":"index.md:eec70d1d47ec5ac0","source_path":"index.md","text_hash":"eec70d1d47ec5ac00f04e59437e7d8b0988984c0cea3dddd81b1a2a10257960b","text":" — DMs + groups via grammY","translated":" — 通过 grammY 支持私信和群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:00Z"} -{"cache_key":"4c71126fdff0651fcaa439a12703ba33c43aa85a462fb7e2ad6acee8a8806c39","segment_id":"start/wizard.md:ddbd2d8bfe478133","source_path":"start/wizard.md","text_hash":"ddbd2d8bfe4781330c0adb796efa7fa7dcfb17d1fe9ed4307b023d66d8b8a35b","text":"OpenAI Code (Codex) subscription (OAuth)","translated":"OpenAI Code (Codex) 订阅 (OAuth)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:16Z"} -{"cache_key":"4c7a9d32a1bf7d55704300dc5899e3919b0f6bab738e60b30fc1fd85b58ede3a","segment_id":"start/getting-started.md:6d6dc68f9728c111","source_path":"start/getting-started.md","text_hash":"6d6dc68f9728c11122ce7459d5576d5302c97ec8e74870cb9c77db41f5c6ea0c","text":"Hetzner","translated":"Hetzner","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:41Z"} -{"cache_key":"4c851cab8cf02e3da31b63c083417b0bbd5a3d717405b1b27a0350415de4bd27","segment_id":"index.md:f0b349e90cb60b2f","source_path":"index.md","text_hash":"f0b349e90cb60b2f96222d0be1ff6532185f385f4909a19dd269ea3e9e77a04d","text":" (default); groups are isolated","translated":" (默认);群组是隔离的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:01Z"} -{"cache_key":"4c93f44aa6a225228511440a8cca2a4ace485159eddb0d79727da03e98fefe9a","segment_id":"start/getting-started.md:a39d4188dfd32498","source_path":"start/getting-started.md","text_hash":"a39d4188dfd324984cf06e58ae8585aace52bc88d8a2a1f1e50b6fb1aca38f14","text":") asks the running gateway for a health snapshot.","translated":")向运行中的 Gateway 请求健康快照。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:13Z"} -{"cache_key":"4ccc6938b93e67b302401a1553a3b4331bae277f3b0cfbbd2221b77525949cd4","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的内联环境变量设置方式(均为非覆盖模式):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:14Z"} -{"cache_key":"4cd593beb8d08acfb2a74edb256d16cd121e7ebd888e8d0569d819d6342f2d08","segment_id":"index.md:eef0107bb5a4e06b","source_path":"index.md","text_hash":"eef0107bb5a4e06b9de432b9e62bcf1e39ca5dfbbb9cb0cc1c803ca7671c06ab","text":"Gateway runbook","translated":"Gateway 运维手册","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:21Z"} -{"cache_key":"4d021d4ad8d2c4a6fa14ffae3a5273c55c88fa764c804d0ac7eb7877b3fd2e01","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:50Z"} -{"cache_key":"4d31d3ef5331e6d1f9320391fae45b77e325f6e87ea39857dc34442559cccc01","segment_id":"index.md:0a4a282eda1af348","source_path":"index.md","text_hash":"0a4a282eda1af34874b588bce628b76331fbe907de07b57d39afdedccac2ba14","text":" http://127.0.0.1:18789/ (or http://localhost:18789/)","translated":" http://127.0.0.1:18789/(或 http://localhost:18789/)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:22Z"} -{"cache_key":"4d326b31ff8fc72fd166492afe47b0ae7beb5e3e5bf37baabdd302879d9c1d13","segment_id":"help/index.md:40281c54411735d1","source_path":"help/index.md","text_hash":"40281c54411735d1d2e4ffec7e0efc19ba0503751fa1d7358274b912604d1510","text":" broke”):","translated":" 问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:03Z"} -{"cache_key":"4daabe9de281d8ebea0b454d9bdc3fdb736a9eb954b51489ad1deb7ed2a4373c","segment_id":"index.md:ceee4f2088b9d5ba","source_path":"index.md","text_hash":"ceee4f2088b9d5ba7d417bac7395003acfbcef576fd4cc1dd3063972f038218a","text":"The name","translated":"名称","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:36Z"} -{"cache_key":"4db63f686185284d522be3518e148ebe548c53eb4626b6f1a02f052a09c301e9","segment_id":"index.md:11d28de5b79e3973","source_path":"index.md","text_hash":"11d28de5b79e3973f6a3e44d08725cdd5852e3e65e2ff188f6708ae9ce776afc","text":"Docs hubs (all pages linked)","translated":"文档中心(所有页面链接)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:15Z"} -{"cache_key":"4dd121c0efe15d606d29bd4960aa7aabaf0e999980bb6270b1088c55c742f415","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:26Z"} -{"cache_key":"4de22adc95e4976c28aa9a61533e5641e6fd5b9d045d3767ac21261a2335914c","segment_id":"index.md:9fc31bacba5cb332","source_path":"index.md","text_hash":"9fc31bacba5cb33207804b9e6a8775a3f9521c9a653133fd06e5d14206103e48","text":"Streaming + chunking","translated":"流式传输 + 分块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:34Z"} -{"cache_key":"4e57e45dbeeb2f49d2f090659de7ad8342eedc7be647e92f8c4bc8947b7d85c6","segment_id":"start/getting-started.md:f07ac0638d44dcaa","source_path":"start/getting-started.md","text_hash":"f07ac0638d44dcaa5d24d65ea8205bd487968cdb28c4b8f55a9f35abf86e9b8e","text":"⚠️ ","translated":"⚠️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:59Z"} -{"cache_key":"4e7d8b9522fd7341a086f3de5bf4cd653a1d3446e763918236c087c43964aa4f","segment_id":"index.md:c491e0553683a70a","source_path":"index.md","text_hash":"c491e0553683a70a2fb52303f74675d2f7b725814ed70d5167473cb5fbe46450","text":"@steipete","translated":"@steipete","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:31Z"} -{"cache_key":"4e866938d12c4a92f34a54718f3e47f7cdd902f404e3fd33e5f5222e436f9b36","segment_id":"index.md:0d3a30eb74e2166c","source_path":"index.md","text_hash":"0d3a30eb74e2166c1fc51b99b180841f808f384be53fe1392cecb67fdc9363c4","text":" (default ","translated":" (默认 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:59Z"} -{"cache_key":"4ec0b2d188f9f730e3313959319d7b42ee967cdf4f93ad396f47590a16f996d2","segment_id":"start/wizard.md:71375dd64cd1fd1f","source_path":"start/wizard.md","text_hash":"71375dd64cd1fd1fe95d0263198b7d8e200c0705f4f183d7566aaf5e1f00bfc4","text":"Disable auth only if you fully trust every local process.","translated":"仅在您完全信任每个本地进程时才禁用认证。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:06Z"} -{"cache_key":"4f08a9653928ac3ab515e3d4b8ebe742f3dffa74cc24a72a01c96d8fe662140a","segment_id":"start/getting-started.md:e8f6d6288fe468ce","source_path":"start/getting-started.md","text_hash":"e8f6d6288fe468ce32979d08b723300ae13bfaaf0125ad98e9575f34d0135d5d","text":"Goal: go from ","translated":"目标:从 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:23Z"} -{"cache_key":"4f097f10df80b86a3a5591e19d0af1221fb2b938d0357f64ed981c1991f03936","segment_id":"start/wizard.md:f6b7825cb4029a0b","source_path":"start/wizard.md","text_hash":"f6b7825cb4029a0b60d38151752906e4dd2cee98bc62075b9b92745e71b0f3ec","text":" CLI path + DB access.","translated":" CLI 路径 + 数据库访问。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:59Z"} -{"cache_key":"4f238e68dde5c2b45bd0c18fb2483c798be3e0fa8d46bf9c1b7b14b5531d21a3","segment_id":"index.md:c4b2896a2081395e","source_path":"index.md","text_hash":"c4b2896a2081395e282313d6683f07c81e3339ef8b9d2b5a299ea5b626a0998f","text":").","translated":")。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:17Z"} -{"cache_key":"4ff9ae69dc48d779b5eab2d7fd9f54be2f2f31d6a7decf258f13342320f148b3","segment_id":"index.md:fb87b8dba88b3edc","source_path":"index.md","text_hash":"fb87b8dba88b3edced028edfe2efa5f884ab2639c1b26efa290ccd0469454d25","text":"Slash commands","translated":"斜杠命令","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:03Z"} -{"cache_key":"503ffef24b84433cfe5c8d4d7593a419616f5f14136cdb38d5cf1cd06b4a9a0e","segment_id":"index.md:0d517afa83f91ec3","source_path":"index.md","text_hash":"0d517afa83f91ec33ee74f756c400a43b11ad2824719e518f8ca791659679ef4","text":"Web surfaces (Control UI)","translated":"Web 界面(控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:59Z"} -{"cache_key":"5061a49721ce6c55da1a2514b0fd7683f5ce7d1d74f157660f8bd0bfdfe0bf6e","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:55Z"} -{"cache_key":"5069b751d3f01eba9ff4cce578a200affed4e5065ca542d65061b2e2a93b8852","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"我该点击/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:08Z"} -{"cache_key":"509d70fe9cd2a784c14c42ef3d0ca4a5767c2fa6959deb7ed3671b4ec368dfe8","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想要最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:18:59Z"} -{"cache_key":"50a84870e2aca4cf2eb629a6742293526dcc33fa7910e6ac417b9a604f50960b","segment_id":"start/wizard.md:822369845cd7506f","source_path":"start/wizard.md","text_hash":"822369845cd7506fbdc11a1e2e1410b3c4d56d1b38ce7e0e3ac68132daa3bc41","text":" (mode, bind, auth, tailscale)","translated":" (模式、绑定、认证、Tailscale)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:39Z"} -{"cache_key":"50b11cd9357a73a81c5f192b9ffe99a8d3c273a366ff83647c224fb21678c414","segment_id":"index.md:ec05222b3777fd7f","source_path":"index.md","text_hash":"ec05222b3777fd7f91a2964132f05e3cfc75777eaeec6f06a9a5c9c34a8fc3e9","text":"Nix mode","translated":"Nix 模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:36Z"} -{"cache_key":"50f4e14d41f688eeb460afe9ad362eb37e693b4ed995b45ee5d9bfaf1fab401b","segment_id":"start/getting-started.md:aa9e63906bb59344","source_path":"start/getting-started.md","text_hash":"aa9e63906bb5934462d7a9f29afd4a9562d5366c583706512cb48dce19c847df","text":"Web tools","translated":"网络工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:36Z"} -{"cache_key":"50f8833ee612dd2b521fe352a3b7fdf5c623c2ebbf2a839889a5ce67c5c0e461","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想要一个快速的\"解决卡点\"流程,从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:03Z"} -{"cache_key":"50fd13ae6258975366903d5a2acb0d0b04ce90ba43f94a4d6c7beaca595f7ad2","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装健全性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:39Z"} -{"cache_key":"5101decf1454ab8482f88283cdff28292f81cb8c5b67c60c5540d20e58d322c3","segment_id":"start/wizard.md:32e1de6dc8abca82","source_path":"start/wizard.md","text_hash":"32e1de6dc8abca82d76e0f29f7946d2ee7a92d4966b491162f39ccb8a4dd545b","text":": optional QR login.","translated":":可选二维码登录。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:21Z"} -{"cache_key":"513ac8bfe713d5e2eb46a1c890b9a73bb5fd37a64fbf5ddd1761b54104f0ce75","segment_id":"index.md:25d853ca04397b6a","source_path":"index.md","text_hash":"25d853ca04397b6ae248036d4d029d19d94a4981290387e5c29ef61b0eca9021","text":"Media: audio","translated":"媒体:音频","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:01Z"} -{"cache_key":"5151695b8579a569668c665a07f985e54e47ae59b74de6c35d4eeb91d791b91c","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:48Z"} -{"cache_key":"5164ecd8153172c108648dc8feef9d627a89b9324d78c60e951e3f1c3af844f2","segment_id":"index.md:bbf8779fd9010043","source_path":"index.md","text_hash":"bbf8779fd9010043ac23a2f89ba34901f3a1f58296539c3177d51a9040ea209d","text":") — Blogwatcher skill","translated":")— Blogwatcher 技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:21Z"} -{"cache_key":"5190486a1cf97164d85f07222ca6e274b6674eeda169c17a0eccc3c7be43b044","segment_id":"start/wizard.md:c8e1d64e1512e6b8","source_path":"start/wizard.md","text_hash":"c8e1d64e1512e6b81ad317afe04f71cc8ea0fe457ff607c007e34800a6e8e103","text":" keeps the defaults:","translated":" 保留默认设置:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:43Z"} -{"cache_key":"51c65ff267a63fd40e68e63331750ce27c6e882f309e162d6972e537cabf4072","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的 环境变量 替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:23Z"} -{"cache_key":"51e4a79d50e7b6faf4b5fbce36a1c2dc9d941659190740833308d280cb27a5bb","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:19Z"} -{"cache_key":"5256dac86be4cff1bbfdd8b43cd74fa2633b518c084db7f691706eedee0e1d77","segment_id":"index.md:6b3f22c979b9e6f8","source_path":"index.md","text_hash":"6b3f22c979b9e6f8622031a6b638ec5f730c32de646d013e616078e03f5a6149","text":"iOS node","translated":"iOS 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:35Z"} -{"cache_key":"525b28d219cb06fdcc377d15a5e9c3f60ba1e1169087c1b9ab43b1efe3a8349d","segment_id":"start/wizard.md:d92f3712b6e72ea2","source_path":"start/wizard.md","text_hash":"d92f3712b6e72ea2bac4e633c85d861d9f300aa323fd76c8781a8f56d8a4c009","text":"(configurable).","translated":"(可配置)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:43Z"} -{"cache_key":"5268570b8d2770d6d5f735117d493a2ea8bd09de727afcf860253c47a704ded3","segment_id":"start/getting-started.md:c2ab5611178d6d90","source_path":"start/getting-started.md","text_hash":"c2ab5611178d6d908636cc22a3aed2cb295c4108fc42f754094d3e67505358a6","text":"Recommended:","translated":"推荐:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:28Z"} -{"cache_key":"526b2832980f55051a3a71d889b1300bbb233cd79e79b885d4e785d9114dba2b","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:12Z"} -{"cache_key":"5275f3af15c7dfcb4b24b60d848e0c9ed11c9e2abf25bc62a2b99a7cab4c7542","segment_id":"index.md:2adc964c084749b1","source_path":"index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:03Z"} -{"cache_key":"52aeed244ab712fffb8102660391a13fc4a8f9a479605dd7bcbfa4b355c58834","segment_id":"start/wizard.md:8b1d44c58a75ff49","source_path":"start/wizard.md","text_hash":"8b1d44c58a75ff49adca5363a3cbd3e61bfee0645eddb1496b8a6750129b7bc8","text":"Skills: ","translated":"技能: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:15Z"} -{"cache_key":"52ef5bab0c525d962f3d30c6cc5f251916fbadf5e697dc633e2ace0ecbbb42c2","segment_id":"start/wizard.md:d80ef914e27a7691","source_path":"start/wizard.md","text_hash":"d80ef914e27a7691f1ed9989a37a43dfd34cfef90ee4459a627bf718954df4a3","text":": config is auto-written.","translated":":配置会自动写入。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:57Z"} -{"cache_key":"531330c3712e720f0c442c71f862e191045a1b8230f18bd10f68e2319bf22155","segment_id":"index.md:468886872909c70d","source_path":"index.md","text_hash":"468886872909c70d3bfb4836ec60a6485f4cbbd0f8a0acedbacb9b477f01a251","text":"Workspace templates","translated":"工作区模板","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:23Z"} -{"cache_key":"534402481da76bfd10c88a10c6a4910b6e634bdddd9e419a006b283058cff637","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的内联环境变量设置方式(均为非覆盖式):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:33Z"} -{"cache_key":"5348f8f12aaa8a00c0f5a88d0cad414c4fe54eaba081f2173b39cbf188125da3","segment_id":"index.md:4eb58187170dc141","source_path":"index.md","text_hash":"4eb58187170dc14198eacb534c8577bef076349c26f2479e1f6a2e31df8eb948","text":" — An AI, probably high on tokens","translated":" — 大概是一个嗑多了 token 的 AI 说的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:09Z"} -{"cache_key":"53513c3f1d1bda6a78f2c08ae26548a59521cc465217abb5716c816e50b3f663","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题的答案(而不是\"出了什么问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:39Z"} -{"cache_key":"5360de70878292f462b4ab63b6b2169dbb4bfcdbb0826892292183e82654a749","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:25Z"} -{"cache_key":"5474cc8e7d4c6f83b601be6d40ebc9282578264e3f75ebf4da637cac7907ed88","segment_id":"index.md:7d8b3819c6a9fb72","source_path":"index.md","text_hash":"7d8b3819c6a9fb726f40c191f606079b473f6f72d4080c13bf3b99063a736187","text":"Ops and safety:","translated":"运维和安全:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:45Z"} -{"cache_key":"549c689e9c5183f7b035a845a929a3bf6f9db58a4887d12d0cb2455f24ac5335","segment_id":"index.md:898e28d91a14b400","source_path":"index.md","text_hash":"898e28d91a14b400e7dc11f9dc861afe9143c18bf9424b1d1b274841615f38b1","text":"If you want to lock it down, start with ","translated":"如果你想进行锁定配置,请从以下内容开始 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:35Z"} -{"cache_key":"54d155bfaa944dfce20caeefa7452e7022732c19d46e7b3c31c6656fdb93f33d","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:58Z"} -{"cache_key":"550ba8127479edc00f347fd187d45bbfe02ae216e0dbe41b3d6a40db52c003e0","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:29Z"} -{"cache_key":"557e4752d46bf19af760606c924d355964729b977705da1c324ed0d5488df7c5","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:52Z"} -{"cache_key":"5588623b87444ab2f10920e15cae26afa748d33fcaa532d91d6190d720f1c44b","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:48Z"} -{"cache_key":"5598b6f2bb72cf8a1238b70f389ac26d5c39189a4b9ad8b76af4cd49eb33a713","segment_id":"start/wizard.md:4410e6ca609a533f","source_path":"start/wizard.md","text_hash":"4410e6ca609a533faee63dec02ec71a5c50e5b97062f0d93369139e0fe1b0d82","text":": optional ","translated":":可选 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:48Z"} -{"cache_key":"55a8e387b1f1138051af732f3f201a7f97a6e0a670aff0a74c5c5b4a509f6434","segment_id":"start/wizard.md:d2089be672953d11","source_path":"start/wizard.md","text_hash":"d2089be672953d1136faa84079af1b6f3967fed8932dabffba3032d30e3c0618","text":"Token","translated":"令牌","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:56Z"} -{"cache_key":"55bccdb299ca0c443fbee7ae8c28a88be0a40e6973b497cd17f15dd048a91558","segment_id":"start/wizard.md:dbd212a8183236f0","source_path":"start/wizard.md","text_hash":"dbd212a8183236f07f7a17afce31b2d18665e319b32dae90af1d04765fe2625d","text":"Config reference: ","translated":"配置参考: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:08Z"} -{"cache_key":"56135692918078250894cd24cb873bc5e59b3913ca7c8f70192db42b5c1552a3","segment_id":"index.md:4d4d75c23a2982e1","source_path":"index.md","text_hash":"4d4d75c23a2982e184011f79e62190533f93cdad41ba760046419678fa68d430","text":"Runtime requirement: ","translated":"运行时要求: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:08Z"} -{"cache_key":"562db402fedea0d89bb4b457c0bf0a29473db6c37066eb838cf16cee6491bcb0","segment_id":"index.md:81023dcc765309dd","source_path":"index.md","text_hash":"81023dcc765309dd05af7638f927fd7faa070c58abe7cad33c378aa02db9baa2","text":" (token is required for non-loopback binds).","translated":" (非回环绑定需要令牌)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:47Z"} -{"cache_key":"569404a9b6463e543124c499f821d6ac2f2c24b6ad6a2821e13fdf758bc5ae6e","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的方式来设置内联环境变量(两者都是非覆盖的):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:47Z"} -{"cache_key":"56a23cfaebcc81253e55771aec19e4fd69bdd738fccc96d76b27a9229c483aa0","segment_id":"start/wizard.md:7c19f1358e5a91a8","source_path":"start/wizard.md","text_hash":"7c19f1358e5a91a8bf5165c597be85be56510330c5e754af349899104e6dca05","text":": if ","translated":":如果 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:11Z"} -{"cache_key":"56c452948915062308b68b03169a7e032ae1404911a12ac62b0234c408ec18a5","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:24Z"} -{"cache_key":"56f0053c5e04eb858cff8d23ac7c15f18df295163eca33fcf5481592fe4c9e7e","segment_id":"index.md:11450a0f023dc48c","source_path":"index.md","text_hash":"11450a0f023dc48cc9cef026357e2b4569a2b756290191c45a9eb0120a919cb7","text":" and (for groups) mention rules.","translated":" 以及(针对群组的)提及规则。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:41Z"} -{"cache_key":"570aa7e523634c91d2e5091a861a2656c0af61316e18d9d53d28ff9b1dd32ee3","segment_id":"index.md:bf0e823c81b87c5d","source_path":"index.md","text_hash":"bf0e823c81b87c5de79676155debf20a29b52d6d7eb7e77deda73a56d0afbaaa","text":"🧠 ","translated":"🧠 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:15Z"} -{"cache_key":"576285ac236140f5584a71845cd3ab297a14b96100ac5c8efa39439ea81af132","segment_id":"start/getting-started.md:0b5979b793d7bafc","source_path":"start/getting-started.md","text_hash":"0b5979b793d7bafcae2346d1323747631b04df91cbbdbf878cb9b419233af218","text":"optional background service","translated":"可选的后台服务","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:02Z"} -{"cache_key":"5797b6a21c5b4993623f1b645eada0826ba49d498f93da9e4535b2bc66ecebe3","segment_id":"index.md:2f1626425f985d9a","source_path":"index.md","text_hash":"2f1626425f985d9ad8c124ea8ccb606e404ae5f43c58bd16b6c109d6d2694083","text":"Most operations flow through the ","translated":"大多数操作通过 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:33Z"} -{"cache_key":"57faa67fdf48914b9f543f1f16050dbd5161c7af426c58b0391d519d6506deca","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:40Z"} -{"cache_key":"580953a19863c3d4f19ed1bfc789c4681bf548a213b44d05890c81e3c183bddc","segment_id":"index.md:e3572f8733529fd3","source_path":"index.md","text_hash":"e3572f8733529fd30a8604d41d624c15f4433df68f40bd092d1ee61f7d8d15e2","text":"Agent bridge","translated":"智能体 桥接","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:26Z"} -{"cache_key":"580e74e39c7246c3298ca172ea6f14364440b964fe9bc6a8d341194037dea02e","segment_id":"start/wizard.md:37e38f71b148eca2","source_path":"start/wizard.md","text_hash":"37e38f71b148eca2086a3c2186d62507e4f8cbb09a54edcb316d651bb1f29557","text":": local ","translated":":本地 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:56Z"} -{"cache_key":"581b9d2ca381a3956cb2c34ee44736e34f2fc8c9c12beacf66c3940034bf38b3","segment_id":"index.md:a97c0f391117ef55","source_path":"index.md","text_hash":"a97c0f391117ef554586ed43255ab3ff0e15adcfc1829c62b6d359672c0bec93","text":" — Mention-based by default; owner can toggle ","translated":" — 默认基于提及触发;所有者可切换 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:33Z"} -{"cache_key":"58518d711b63edb4aa641534a198510edcada769a3213a0a69a4f1c7a11cdc5f","segment_id":"start/wizard.md:7ddb0704314b289e","source_path":"start/wizard.md","text_hash":"7ddb0704314b289e7df028a91980144a09de964e2155c0b1d2b5263996c9bb7a","text":"Vercel AI Gateway","translated":"Vercel AI Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:53Z"} -{"cache_key":"5854b7c02dc640d3a8eefbdbcfe6257017838bee852fb6459e657c3d25dba670","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:34Z"} -{"cache_key":"58685380a9fc556f1364bbc64e7d1471c341cc4b6e23c0f7792b7f1f83b90c0b","segment_id":"start/wizard.md:d3c2c33c63d513d7","source_path":"start/wizard.md","text_hash":"d3c2c33c63d513d77ca245c9b66527155c15adcf3b687fa72b4da67f80ed27b9","text":" exists, choose ","translated":" 存在,请选择 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:03Z"} -{"cache_key":"587a20717b7a463343b0975b76259c80107d7b353e2274384589d2b39f9426e1","segment_id":"start/wizard.md:320754cd5c316bdf","source_path":"start/wizard.md","text_hash":"320754cd5c316bdfec2957a249e26bef7cc1bcd3d7a6668b9378a14704714b40","text":"Wizard attempts to enable lingering via ","translated":"向导会尝试通过 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:19Z"} -{"cache_key":"58b9a1752caf49f80928c56d27ed1a2bc036495ad60d1dae62913fb293b46a55","segment_id":"start/wizard.md:0cfdc51cb2368973","source_path":"start/wizard.md","text_hash":"0cfdc51cb236897362d81cf81a533f21184ce1f5e83afe14713a943593ac3a0f","text":": stores the key for you.","translated":":为您存储密钥。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:46Z"} -{"cache_key":"58ff8f5714b801a09dbe57ef9e43f987926fb18ddfbf06dd710873990251b4c2","segment_id":"index.md:723fad6d27da9393","source_path":"index.md","text_hash":"723fad6d27da939353c65417bbaf646b65903b316eb4456297ff4a1c20811e8d","text":": HTTP file server on ","translated":":HTTP 文件服务器位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:57Z"} -{"cache_key":"5962bcb8baac7a5a279ff1ee2c82efe20db4c0c28e1f6244a25aa3de214a48e6","segment_id":"start/getting-started.md:frontmatter:summary","source_path":"start/getting-started.md:frontmatter:summary","text_hash":"f6955d3daff59d2b0a5cdb5731848998bfb3b6b1fa133c8587b5da1137b49dd1","text":"Beginner guide: from zero to first message (wizard, auth, channels, pairing)","translated":"新手指南:从零开始到发送第一条消息(向导、认证、渠道、配对)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:15Z"} -{"cache_key":"5999b798f983aca853bfa20dee21a17340561fab7d1e736475141ee6a6c6c9ef","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装完整性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:40Z"} -{"cache_key":"59c1f2c382072b7399fb13a23472af019ef5e481c697051eeacd4250a633a44a","segment_id":"index.md:76d6f9c532961885","source_path":"index.md","text_hash":"76d6f9c5329618856f133dc695e78f085545ae05fae74228fb1135cba7009fca","text":") — Pi creator, security pen-tester","translated":")— Pi 创作者,安全渗透测试员","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:40Z"} -{"cache_key":"59cd3f5bae0fc6f3c5c68e641d8023b8abc6683a5b46e97eeddd4252f7bd9cf3","segment_id":"index.md:a97c0f391117ef55","source_path":"index.md","text_hash":"a97c0f391117ef554586ed43255ab3ff0e15adcfc1829c62b6d359672c0bec93","text":" — Mention-based by default; owner can toggle ","translated":" —— 默认基于提及触发;所有者可以切换 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:43Z"} -{"cache_key":"5a54b33c72ae9262caf7fb631174cd7ba166e35d90a0fedada04f1341d480d2b","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:53Z"} -{"cache_key":"5a584dcf9fe91e72165672d18b1e4edf88478a25cd6219842c6b26e791f4649f","segment_id":"index.md:9f4d843a5d04e23b","source_path":"index.md","text_hash":"9f4d843a5d04e23b22eb79b3bfa0fbad70ede435ddb5d047e7d77e830efa6019","text":" — Bot token + WebSocket events","translated":" — Bot 令牌 + WebSocket 事件","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:47Z"} -{"cache_key":"5ac64275154111e455f8ad15880f47a2dfd9dc428ac06b485dff574b25771a69","segment_id":"index.md:9dea37e7f1ff0e24","source_path":"index.md","text_hash":"9dea37e7f1ff0e24f7daecf6ea9cc38a58194f11fbeab1d3cfaa3a5645099ef4","text":"Updating / rollback","translated":"更新 / 回滚","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:05Z"} -{"cache_key":"5acb6159e9978fd41ab798d8bdb9d754f75409541ef52fc4f584c82e1d2111b0","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想快速\"解决卡住的问题\",从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:34Z"} -{"cache_key":"5ad3f65c184c4a08ef211b77a6927634d4ffbb4237d717ea6df811df08f138ec","segment_id":"start/wizard.md:c2912d74db583b26","source_path":"start/wizard.md","text_hash":"c2912d74db583b2672bc6ee18cac65b4f95a547cf5535cf457fd7534981644b1","text":": prompts for ","translated":":提示输入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:35Z"} -{"cache_key":"5af6e45efa085bf05463db83e35c7d337a67597574fe09331f7220925949bba6","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:34Z"} -{"cache_key":"5af8a2aa97675994afa5c5fe3b78418fb9836171d4db6c883e7d26189c199a7e","segment_id":"index.md:4d87941d681ca4e8","source_path":"index.md","text_hash":"4d87941d681ca4e89ca303d033b7d383d3acfbb6d9d9616bd88d7c19cf92c3dd","text":"Pi","translated":"Pi","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:58Z"} -{"cache_key":"5b3300af7348ec2a1e6a63faed5d2d36b21f592dda0270c5431d43adae59b1d1","segment_id":"index.md:6201111b83a0cb5b","source_path":"index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:13Z"} -{"cache_key":"5b6535c3e3743405e859a5b26d0d96cc35789c5a3c642c76ea81b79386635441","segment_id":"start/wizard.md:b482e45229e19f5f","source_path":"start/wizard.md","text_hash":"b482e45229e19f5f7ba590b5ac81bdb25d5d24116ed961bfa0eb1a23c20a204c","text":" (or ","translated":" (或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:37Z"} -{"cache_key":"5c1d43ddd497832b75c32dfbaaa644936f42480df0b9630a0974cf6e2f523656","segment_id":"start/wizard.md:8a5edab282632443","source_path":"start/wizard.md","text_hash":"8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1","text":" / ","translated":" / ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:32Z"} -{"cache_key":"5c3c725a47f409c7342bc422f59aeb14d9de2c891fc092f6eda3299a14e1def4","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:49Z"} -{"cache_key":"5c5f7754116c27bc91d76e82699d3d46ae75acf3ebcebfd217d6a8c4667f47be","segment_id":"start/getting-started.md:c16fb1db14572857","source_path":"start/getting-started.md","text_hash":"c16fb1db145728574044899ab5577f464ecd30cd4b297b45b4385ce39dcbab70","text":"If you installed the service during onboarding, the Gateway should already be running:","translated":"如果您在上手引导过程中安装了服务,Gateway 应该已经在运行:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:49Z"} -{"cache_key":"5c775f8101cacd367ff5c7722b3b2c3a5dce43493d19e42aa30282c74ee24a7b","segment_id":"index.md:2b402c90e9b15d9c","source_path":"index.md","text_hash":"2b402c90e9b15d9c3ef65c432c4111108f54ee544cda5424db46f6ac974928e4","text":"🔐 ","translated":"🔐 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:23Z"} -{"cache_key":"5c780db9d3f1b4fef594dae3510c0bf35d432d48acf5889e9d4f4f6e844d46a5","segment_id":"start/getting-started.md:8816c52bc5877a2b","source_path":"start/getting-started.md","text_hash":"8816c52bc5877a2b24e3a2f4ae7313d29cf4eba0ca568a36f2d00616cfe721d0","text":"Wizard","translated":"向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:06Z"} -{"cache_key":"5c90f7114b3baa2b4a5d8c980df5c3be37909dda0be1f3318d91f8810181cd50","segment_id":"index.md:37ed7c96b16160d4","source_path":"index.md","text_hash":"37ed7c96b16160d491e44676aa09fe625301de9c018ad086e263f59398b8be8a","text":"🎤 ","translated":"🎤 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:19Z"} -{"cache_key":"5cfd51b6ed282f1ab9449da2a23c095cd4c28c738d56b5e6525e372d0f602907","segment_id":"index.md:cec2be6f871d276b","source_path":"index.md","text_hash":"cec2be6f871d276b45d13e3010c788f01b03ae2f1caca3264bbf759afacace46","text":"Telegram Bot","translated":"Telegram 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:35Z"} -{"cache_key":"5d5941af110e6856ee1abe848dc7404970d7e151226fe533a22e9a7f936292ea","segment_id":"index.md:88d90e2eef3374ce","source_path":"index.md","text_hash":"88d90e2eef3374ce1a7b5e7fbd3b1159364b26a8ceb2493d6e546d4444b03cda","text":"Tailscale","translated":"Tailscale","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:40Z"} -{"cache_key":"5d83de16c61f5425e1149b23d1001f7ef7ed0028c6f453ce8f74df31fd2a2262","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的内联 环境变量 设置方式(均不会覆盖):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:10Z"} -{"cache_key":"5daf1c9089fed361745301c1f4a5ef332e660187481b4a0ee10f384c16d08098","segment_id":"index.md:ab201ddd7ab330d0","source_path":"index.md","text_hash":"ab201ddd7ab330d04be364c0ac14ce68c52073a0ee8d164a98c3034e91ce1848","text":" from the repo.","translated":" 从仓库中执行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:40Z"} -{"cache_key":"5dbafe2a97e2fd217ed8ae3c96a68526e3aeb0924d460025aaed526821245bc7","segment_id":"index.md:297d5c673f5439aa","source_path":"index.md","text_hash":"297d5c673f5439aa31dca3bbc965cb657a89a643803997257defb3baef870f89","text":"Open the dashboard (local Gateway):","translated":"打开仪表板(本地 Gateway):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:55Z"} -{"cache_key":"5e1da320f32d4ee8aff0094e46c98e584ddfc953913e27eeb950f1a73cdbda40","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:42Z"} -{"cache_key":"5e2c30218fd9868878dbe2c938ebef80fe51f6b4f9e17f12144d1a8349afb7b3","segment_id":"start/wizard.md:2d8879a4fb313aa0","source_path":"start/wizard.md","text_hash":"2d8879a4fb313aa0515b0a575b00f60de6a2369e30129bc31c20ae0c25e538bd","text":" and chat in the browser. Docs: ","translated":" 然后在浏览器中对话。文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:09Z"} -{"cache_key":"5e43eebc024e0b75c56a6288f219508bbe17b68fe85f1eca16ec03c1481bc99b","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"遇到故障了,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:14Z"} -{"cache_key":"5e4d7f1b9311d07ef5ce4f39f1e47a953b0916b1a5ca7df4b395179b564796fc","segment_id":"start/getting-started.md:4c3d9aa7ad8a4496","source_path":"start/getting-started.md","text_hash":"4c3d9aa7ad8a449660623429f93ee51afcf8e2d77d7ca16229a19d52262ecab6","text":"Next steps (optional, but great)","translated":"后续步骤(可选,但强烈推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:16Z"} -{"cache_key":"5e58639dd12e22ac1e6e022b66e5c0edfaf2e17279bd951b86047e5ed952b65d","segment_id":"index.md:f1e3b32c8eb0df8e","source_path":"index.md","text_hash":"f1e3b32c8eb0df8ea105f043edf614005742c15581e2cebc5a9c3bafb0b90303","text":"Multi-agent routing","translated":"多 智能体 路由","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:18Z"} -{"cache_key":"5e6f4e17b35988acf25c0cf67edb5bb0267aa378b3a700d43efdf21503475c13","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (即 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:34Z"} -{"cache_key":"5e819d45951c185c25d0c543873e913e628e57d81aa0a617e31158890a669e15","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想要一个快速的\"快速排障\"流程,请从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:18Z"} -{"cache_key":"5e941e344b30824bf659b63b0325cbbc0fe0a2b4a687eff1e79174aa1133b8e8","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:44Z"} -{"cache_key":"5ee69009fd3da1ee495a4d68f7cce4f38b9e39bf9d9e6fca4bd1ddc066a70819","segment_id":"index.md:2566561f81db7a7c","source_path":"index.md","text_hash":"2566561f81db7a7c4adb6cee3e93139155a6b01d52ff0d3d5c11648f46bc79bb","text":"📱 ","translated":"📱 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:24Z"} -{"cache_key":"5eebf79b3ae425984310ea74305f2dfe6ce49f0942b2144044781ecb00b105c9","segment_id":"start/getting-started.md:41884234ba7e0041","source_path":"start/getting-started.md","text_hash":"41884234ba7e0041d39bd06003bd12c5b7811a92b95bb7dbba71bd33b2a1a896","text":"If a token is configured, paste it into the Control UI settings (stored as ","translated":"如果配置了令牌,请将其粘贴到控制界面设置中(存储为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:55Z"} -{"cache_key":"5eecedb868edab3c718ba04090d4964a74779499d46101c0661259e7f90e4f65","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:46Z"} -{"cache_key":"5f10dfed67a40e4e3332100f92b41fe1b3d47e0e6e6bf4bb6385fa478524c38b","segment_id":"index.md:898e28d91a14b400","source_path":"index.md","text_hash":"898e28d91a14b400e7dc11f9dc861afe9143c18bf9424b1d1b274841615f38b1","text":"If you want to lock it down, start with ","translated":"如果你想锁定访问权限,请从以下内容开始 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:39Z"} -{"cache_key":"5f5af7c41d6bd3bdcf3992da945b51ccd3a2d373b7acdfc6afb17d462e38e72b","segment_id":"start/wizard.md:c084c70e0e8978a4","source_path":"start/wizard.md","text_hash":"c084c70e0e8978a4add1624dfb4f3f6ddb9b8d09530122749fe443d68bae6ce0","text":"OpenCode Zen example:","translated":"OpenCode Zen 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:34Z"} -{"cache_key":"5f87ef9c51ba75be8e473df32b40b1fd4a7c3000ad679f5551be4605640d997e","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:05Z"} -{"cache_key":"5f9b30a629fbd7152505c6cd2a19f6200a808e96198dcce0f0a87efaa862a6ca","segment_id":"start/getting-started.md:6a40edf1fc87a29f","source_path":"start/getting-started.md","text_hash":"6a40edf1fc87a29f243a7eefdbed57d19bfe16ab2e039d7ae1a44c097297e2f3","text":"WhatsApp","translated":"WhatsApp","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:14Z"} -{"cache_key":"600dc3f3ca0e2b1ab03d4449dfd67b69ddc839f9bd15a60ba9e382f875570e53","segment_id":"start/wizard.md:cda454f61dfcac70","source_path":"start/wizard.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:10Z"} -{"cache_key":"604e3fe87674a94bdb57317af8bf1685c73dd5bad1c72ed1570c2f0989c34fb0","segment_id":"index.md:b214cd10585678ca","source_path":"index.md","text_hash":"b214cd10585678ca1250ce1ae1a50ad4001de4577a10e36be396a3409314e442","text":"@badlogicc","translated":"@badlogicc","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:02Z"} -{"cache_key":"605a5c23c689ae3b3531bdda797af578f1b09bf2801b93d2a9956d79651c1d79","segment_id":"environment.md:3bfb78f689d2a990","source_path":"environment.md","text_hash":"3bfb78f689d2a9908d74fb3694eb6284201f276d61c8c83e50b9f258b83ff807","text":"), applied only for missing expected","translated":"),仅在缺少预期","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:19Z"} -{"cache_key":"606008c50996fdd54d71d6dd64dacb4235aea44dd1e4f38bef2dbd70e9bc71b0","segment_id":"start/wizard.md:72e16ab00d3e1b7f","source_path":"start/wizard.md","text_hash":"72e16ab00d3e1b7fe8d1c9127fc3f475192ad16f8c1a7f40e71a18b5541d7315","text":"); it tries without sudo first.","translated":");它会先尝试不使用 sudo。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:27Z"} -{"cache_key":"609cc86f40f9b958987a73b8bf63da515fc2edd851f410e949b9c29c097e3a77","segment_id":"start/wizard.md:aeb8df5ac5b2a23f","source_path":"start/wizard.md","text_hash":"aeb8df5ac5b2a23f4491dec84235080e499723987ce22d246e3a40face0afa55","text":"Vercel AI Gateway (multi-model proxy)","translated":"Vercel AI Gateway(多模型代理)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:48Z"} -{"cache_key":"609f00fe9446aa4a32a1eb8cdb850f7655716d5b18db42ac65dd51c107637f56","segment_id":"index.md:eec70d1d47ec5ac0","source_path":"index.md","text_hash":"eec70d1d47ec5ac00f04e59437e7d8b0988984c0cea3dddd81b1a2a10257960b","text":" — DMs + groups via grammY","translated":" — 通过 grammY 支持私聊和群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:37Z"} -{"cache_key":"60b4aabf7487a78610b106bb8bdece56d18d22bc8bc54fa17ebbaffd4d111e1b","segment_id":"start/wizard.md:28513cbd3be49624","source_path":"start/wizard.md","text_hash":"28513cbd3be496244d0e2e1f54d3bc382d466ca58f6b127dd6b5213e36c298b5","text":"If the config is invalid or contains legacy keys, the wizard stops and asks\n you to run ","translated":"如果配置无效或包含遗留键,向导会停止并要求您运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:19Z"} -{"cache_key":"60bfa0a92eff33a33728f88b482cb2663dc1e19e6a3dc3023021e231ee0a89db","segment_id":"index.md:3c8aa7ad1cfe03c1","source_path":"index.md","text_hash":"3c8aa7ad1cfe03c1cb68d48f0c155903ca49f14c9b5626059d279bffc98a8f4e","text":": connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.","translated":":连接到 Gateway WebSocket(根据需要使用 LAN/tailnet/SSH);旧版 TCP 桥接已弃用/移除。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:16Z"} -{"cache_key":"60c75897f641a043a33c9a88656df4a3dc1cce376a938c3b6df6b981339df50c","segment_id":"start/getting-started.md:5f0802429b8d0ea9","source_path":"start/getting-started.md","text_hash":"5f0802429b8d0ea99aec0b3456fac2d5721bbddd7ca4edeb47bb71a2a6619e63","text":"Discord: ","translated":"Discord: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:24Z"} -{"cache_key":"60cd1a8fee21c221c625fe6961c620592e9f99a88910d9f557d86f92e17d793c","segment_id":"start/wizard.md:1d6bc09c9a9a3dad","source_path":"start/wizard.md","text_hash":"1d6bc09c9a9a3dad8fcbe9ed89a206b2dba3d8cf16046315aee976577d534cae","text":"Downloads the appropriate release asset.","translated":"下载相应的发布资源。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:59Z"} -{"cache_key":"60f998f050fe63afd0938f40b2f1cf78a16d5dd9fa6abc631aa8e217ce1e7cc5","segment_id":"index.md:053bc65874ad6098","source_path":"index.md","text_hash":"053bc65874ad6098e58c41c57b378a2f36b0220e5e0b46722245e6c2f796818c","text":"Discord","translated":"Discord","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:15Z"} -{"cache_key":"61277a40a0e409e2f324452a28cc35c44e1ac080b4400e7bdaa3c161ce51d545","segment_id":"start/wizard.md:3fcf806de5c2ace5","source_path":"start/wizard.md","text_hash":"3fcf806de5c2ace5327f65078cfb2139aaa8dd33ffdc3b04e9fef6f11778423c","text":"MiniMax M2.1","translated":"MiniMax M2.1","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:55Z"} -{"cache_key":"613744b9849b1cacbbcdcebd3fcb2637696f177d0364b9e32042a74bf2c1b350","segment_id":"index.md:80fc402133201fbe","source_path":"index.md","text_hash":"80fc402133201fbe0e4e9962a9570e741856aa8b0c033f1a20a9bcb06c68e809","text":"Discovery","translated":"发现","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:20Z"} -{"cache_key":"613d01b2aa6e9a9127f428233d5f88e84e2c86b5079776f57becfe4143f86992","segment_id":"start/wizard.md:3ccbb3a92014470f","source_path":"start/wizard.md","text_hash":"3ccbb3a92014470f73c71c81684da45b1e07ee3a49cca372ec678ce89229ea58","text":"Vercel AI Gateway example:","translated":"Vercel AI Gateway 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:26Z"} -{"cache_key":"614a1ff5ae5f98f2f46f1ee6bbb53ace3482d9d15a8842906f26dcbad10c4d71","segment_id":"index.md:084514e91f37c3ce","source_path":"index.md","text_hash":"084514e91f37c3ce85360e26c70b77fdc95f0d3551ce309db96fbcf956a53b01","text":"Dashboard (browser Control UI)","translated":"仪表板(浏览器控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:30Z"} -{"cache_key":"619f1d68210cd4f4763a855771ec7e821343568b465996ee365552e40ecaadc4","segment_id":"index.md:da22b9d6584e1d8a","source_path":"index.md","text_hash":"da22b9d6584e1d8aa709165be214e0f9bdf2be428816e9ce1c4506bf86218cb4","text":"Core Contributors","translated":"核心贡献者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:47Z"} -{"cache_key":"61f5af5889e4b2f0a5990d65fdd5b3fdc94d5fd178ef4d80c9cb134a37745cd5","segment_id":"index.md:4818a3f84331b702","source_path":"index.md","text_hash":"4818a3f84331b702815c94b4402067e09e9e2d27ebc1a79258df8315f2c8600b","text":"📎 ","translated":"📎 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:13Z"} -{"cache_key":"6261f859049427393c85f0f32d3db92e9fd57735f4855522a37fb535f791a35a","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解哪些环境变量会被加载,以及它们的加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:44Z"} -{"cache_key":"62631b9bcaa4b5c5f2603b93e0f658180f8b3f6c897506e90a26feab650f09b8","segment_id":"index.md:3f8466cd9cb153d0","source_path":"index.md","text_hash":"3f8466cd9cb153d0c78a88f6a209e2206992db28c6dab45424132dc187974e2b","text":"Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.","translated":"注意:旧版 Claude/Codex/Gemini/Opencode 路径已被移除;Pi 是唯一的编程 智能体 路径。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:46Z"} -{"cache_key":"627572a4323c2872b6db51c5d819b4213c571df88da85e170f85d77f96eb55d8","segment_id":"index.md:81023dcc765309dd","source_path":"index.md","text_hash":"81023dcc765309dd05af7638f927fd7faa070c58abe7cad33c378aa02db9baa2","text":" (token is required for non-loopback binds).","translated":" (非回环绑定需要令牌)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:10Z"} -{"cache_key":"62bd68ff9cbf96b3905a12162b9474b1284e8e16101d63a711144fd5a7c311cc","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:42Z"} -{"cache_key":"62eab355a91a29c11800cfb1fa5d04f8a626123e8f9e9b12bb46a42fee12b00d","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源获取环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:51Z"} -{"cache_key":"633b27d62b9c0884576b289c4417f9e9caf3a669d9743346c3713e6df7135d9d","segment_id":"start/getting-started.md:d6053f5f95b19aef","source_path":"start/getting-started.md","text_hash":"d6053f5f95b19aef2ba01e965f8caaf95fd2746c1965b907a7f8c0083680351d","text":"Wizard doc: ","translated":"向导文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:26Z"} -{"cache_key":"63707c20cc5a0d1176ffd1db451cc4c84b2168e4ec534e052a7a0906e97abeb7","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:51Z"} -{"cache_key":"63a4d4ad29115c6bce10a5f64dad28c623d7d4c7b9e7c78d6281496a1e2f3d34","segment_id":"environment.md:28b1103adde15a9d","source_path":"environment.md","text_hash":"28b1103adde15a9ddd8fc71f0c57dc155395ade46a0564865ccb5135b01c99b7","text":"OpenClaw pulls environment variables from multiple sources. The rule is **never override existing values**.","translated":"OpenClaw 从多个来源拉取环境变量。规则是**永远不覆盖已有的值**。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:39Z"} -{"cache_key":"63aa81c04f67fe845a1309e5882381f68dcf88a5cbba1ebe971adb247324ff2d","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:52Z"} -{"cache_key":"63d76859e8f7dbf46bffcdaf3a95db6646334012c91a4d543fdf67f5e2c95e1a","segment_id":"index.md:4d4d75c23a2982e1","source_path":"index.md","text_hash":"4d4d75c23a2982e184011f79e62190533f93cdad41ba760046419678fa68d430","text":"Runtime requirement: ","translated":"运行时要求: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:53Z"} -{"cache_key":"63da7e7d14afa27ec40108c6b4b12db69d8f34c281095027a0939c0191ac77d6","segment_id":"start/wizard.md:c127ea338fd00fac","source_path":"start/wizard.md","text_hash":"c127ea338fd00fac2629a67910d8cbeade17990294fede336b54298e9b13a40c","text":"Telegram + WhatsApp DMs default to ","translated":"Telegram + WhatsApp 私信默认为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:04Z"} -{"cache_key":"63edf6f6952fda49b0c75bad9c622396999c6b488d33644d8098f6346a1b2a17","segment_id":"start/getting-started.md:d7b4edd9ca795c46","source_path":"start/getting-started.md","text_hash":"d7b4edd9ca795c469606230849212eb080f0591477cff35400f276649d3910a9","text":" shows “no auth configured”, go back to the wizard and set OAuth/key auth — the agent won’t be able to respond without it.","translated":" 显示\"未配置认证\",请返回向导设置 OAuth/密钥认证——智能体在没有认证的情况下将无法响应。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:04Z"} -{"cache_key":"64412b08e5674ea41e50286a0e96cecf117837ff2738c6ff030b0949cfb72990","segment_id":"index.md:0a4a282eda1af348","source_path":"index.md","text_hash":"0a4a282eda1af34874b588bce628b76331fbe907de07b57d39afdedccac2ba14","text":" http://127.0.0.1:18789/ (or http://localhost:18789/)","translated":" http://127.0.0.1:18789/(或 http://localhost:18789/)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:58Z"} -{"cache_key":"644dafc0cc5f8edf1a480b2645ce841416abfc28022f45d45aed1ace6e2f8e0a","segment_id":"start/getting-started.md:eea56a0072aa60af","source_path":"start/getting-started.md","text_hash":"eea56a0072aa60afb5d46c629647ded6ff689e0f44e5725c90788fd103a509fa","text":" is the best pasteable, read-only debug report.\nHealth probes: ","translated":" 是最佳的可粘贴只读调试报告。\n健康探针: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:09Z"} -{"cache_key":"649d0c8a8010fa282e9856eafb02cc5527e7227c27b3c2dfe4eaa9713feb6a05","segment_id":"environment.md:0f18d564547eb32a","source_path":"environment.md","text_hash":"0f18d564547eb32aed995d190644ce9605af6b501b582d871359ebcd4fa51f66","text":" for full","translated":" 了解完整","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:09Z"} -{"cache_key":"64cf4d8cfd9d6b5409d1cff5433fe8065140174f76482589a8fb0e49fbdf3fee","segment_id":"start/wizard.md:f3e485ab2f76c031","source_path":"start/wizard.md","text_hash":"f3e485ab2f76c031c52bd164935ed8cac883a7aadf24bdf4fd09e484603968c0","text":"Anthropic OAuth (Claude Code CLI)","translated":"Anthropic OAuth (Claude Code CLI)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:55Z"} -{"cache_key":"64d70118440cf15f1338e65f651e5974d1a46e5c7a82edadd6ec50d965818d6d","segment_id":"start/wizard.md:f9225188070a558a","source_path":"start/wizard.md","text_hash":"f9225188070a558a048f29723fbee7dedb56bdc8f3e8caf0517b063bcc309c16","text":" walks you through:","translated":" 引导您完成:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:16Z"} -{"cache_key":"65168a9f26b2e2f8956203b7db6e482a46a9e40ffda04423b3ad3da71e0e1f5e","segment_id":"index.md:f12242785ecda793","source_path":"index.md","text_hash":"f12242785ecda7935ded50cd48418357d32d3bac290f7a199bc9f0c7fbd13123","text":") — Location parsing (Telegram + WhatsApp)","translated":")— 位置解析(Telegram + WhatsApp)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:02Z"} -{"cache_key":"65234bc3c31a162f6a66e59fb06d36ff735b520d4b8aad7c6f24230f5d0ec345","segment_id":"index.md:6638cf2301d3109d","source_path":"index.md","text_hash":"6638cf2301d3109da66a44ee3506fbd35b29773fa4ca33ff35eb838c21609e19","text":"Features (high level)","translated":"功能(概述)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:22Z"} -{"cache_key":"65a3efc02834181b87543fe4787306b30aed7810e28d100617fe8ba5465b15dc","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出现问题时的排查方向","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:00Z"} -{"cache_key":"65ab4527cf40950eae093485da13531121309a7404aabda07b243ec350c17d62","segment_id":"index.md:7e2735e5df8f4e9f","source_path":"index.md","text_hash":"7e2735e5df8f4e9f006d10e079fe8045612aa662b02a9d1948081d1173798dec","text":"MIT — Free as a lobster in the ocean 🦞","translated":"MIT — 像海洋中的龙虾一样自由 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:51Z"} -{"cache_key":"65d8ee3af16e324a3478a3d1f4e54621fb52f93e2508b55e9e9e991562425a84","segment_id":"index.md:37ed7c96b16160d4","source_path":"index.md","text_hash":"37ed7c96b16160d491e44676aa09fe625301de9c018ad086e263f59398b8be8a","text":"🎤 ","translated":"🎤 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:41Z"} -{"cache_key":"65e123a5806897466856108c21b4b513c5975eae6575984c019adafbb796a36d","segment_id":"start/wizard.md:b1ff7bd17092d95e","source_path":"start/wizard.md","text_hash":"b1ff7bd17092d95ea7811719ce3df6d79b0c3a576695636fc411f2d95dc908b2","text":"Mattermost","translated":"Mattermost","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:40Z"} -{"cache_key":"65e76ddd96b75b84f98d4165a471f8fcf85255313b695d5718400e8d5c87aada","segment_id":"index.md:d372b90f0ccffad0","source_path":"index.md","text_hash":"d372b90f0ccffad0ae6e3df3c3aaeccd7a17eb59b4bc492a5469dc05ac3629ec","text":", OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.","translated":",OpenClaw 将使用内置的 Pi 二进制文件以 RPC 模式运行,并采用按发送者区分的会话。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:37Z"} -{"cache_key":"661b1fde84d92d603e939aea97a699f0c3d13d8ef1cf06240cdcf4086ea99e9a","segment_id":"start/getting-started.md:d087dd8116e1ea75","source_path":"start/getting-started.md","text_hash":"d087dd8116e1ea751e94c787e0c856f9fb51528528551b60ef7c610f12439120","text":"Telegram: ","translated":"Telegram: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:21Z"} -{"cache_key":"6689e918af1f418c89cbfd79e956dccccd85d3f2c0d7d08ca42674bb5fb46837","segment_id":"index.md:b79cac926e0b2e34","source_path":"index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:50Z"} -{"cache_key":"669bd1fca3c6f7a5810302de54fcba2375123e94dfe30b61bbbb0df0b365b558","segment_id":"start/wizard.md:dcae3eda386cc9bb","source_path":"start/wizard.md","text_hash":"dcae3eda386cc9bbc068aaf01dc3a2543abb6d0504e176138ad4fbc4087767b5","text":" if present or prompts for a key, then saves it for daemon use.","translated":" (如果存在)或提示输入密钥,然后保存供守护进程使用。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:52Z"} -{"cache_key":"66c7246d1b6097539541673d8d9c8153a54d4fdb537ad31be453e514fb3754b9","segment_id":"index.md:f0d82ba647b4a33d","source_path":"index.md","text_hash":"f0d82ba647b4a33da3008927253f9bed21e380f54eab0608b1136de4cbff1286","text":"OpenClaw bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js), and iMessage (imsg CLI) to coding agents like ","translated":"OpenClaw 将 WhatsApp(通过 WhatsApp Web / Baileys)、Telegram(Bot API / grammY)、Discord(Bot API / channels.discord.js)和 iMessage(imsg CLI)桥接至编程智能体,例如 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:55Z"} -{"cache_key":"66cb3d6e2c27c1ee009c0531751f45f9927e2b3d09a4702546a67a9275ee5c49","segment_id":"environment.md:a806a90c34d867e4","source_path":"environment.md","text_hash":"a806a90c34d867e4445dda95ff64422e0b9a527d8fdd03490f255cddbeb84fdb","text":"Env var","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:48Z"} -{"cache_key":"66d9604676a679978159598a722db6d8c4c96e082051763e3b1d5f47576894e2","segment_id":"environment.md:ab5aec4424cf678d","source_path":"environment.md","text_hash":"ab5aec4424cf678dcfb1ad3d2c2929c1e0b2b1ff61b82b961ada48ad033367b4","text":" (dotenv default; does not override).","translated":" (dotenv 默认行为;不覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:27Z"} -{"cache_key":"66e16e494883bd6fd041d66e577243e277a362ce785db530887996c9c14b93a9","segment_id":"start/wizard.md:frontmatter:read_when:1","source_path":"start/wizard.md:frontmatter:read_when:1","text_hash":"9bd20424220aa1c64181f1dce46bd8fe5d63d8cd8544f5a1cbaddb1030ad108b","text":"Setting up a new machine","translated":"设置新机器","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:55Z"} -{"cache_key":"66f6fd3c85fe2be6d76b21dae8ef66bb76ee3ebd3d92291e61abee595aa0e39d","segment_id":"index.md:66354a1d3225edbf","source_path":"index.md","text_hash":"66354a1d3225edbf01146504d06aaea1242dcf50424054c3001fc6fa2ddece0f","text":"Remote access","translated":"远程访问","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:18Z"} -{"cache_key":"672567848acf9fed5207cc54f76e9d0bffe7cbbd85569cbe74fc4a01e703b1ff","segment_id":"index.md:ab201ddd7ab330d0","source_path":"index.md","text_hash":"ab201ddd7ab330d04be364c0ac14ce68c52073a0ee8d164a98c3034e91ce1848","text":" from the repo.","translated":" 从仓库中执行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:12Z"} -{"cache_key":"67355c084d419c2ec0eddd93cd1bf67b68218e2c141a65ebcdd96022e1a446df","segment_id":"environment.md:0ec3a996c8167512","source_path":"environment.md","text_hash":"0ec3a996c81675128a64349203e6af81e6d257ceb3124b120e0b894b26024680","text":" (dotenv default; does not","translated":" (dotenv 默认;不会","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:43Z"} -{"cache_key":"673925efd6296fa4423b6a1607689bebb6f61f0f1273c1ebc52daa1b44eb43b5","segment_id":"index.md:8816c52bc5877a2b","source_path":"index.md","text_hash":"8816c52bc5877a2b24e3a2f4ae7313d29cf4eba0ca568a36f2d00616cfe721d0","text":"Wizard","translated":"向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:08Z"} -{"cache_key":"675e8725187ebc4c5ee0560ddc38667c783d61c37a69680ea73fb1ca832690d1","segment_id":"index.md:65fd6e65268ff905","source_path":"index.md","text_hash":"65fd6e65268ff9057a49d832cccfcd5a376e46a908a2129be5b43f945fa8d8ca","text":": Gateway WS defaults to ","translated":":Gateway WS 默认监听 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:50Z"} -{"cache_key":"67688daae57335b03c42a3b327f5dc0a54f849238f4d03b3b6e113d76e3c21b0","segment_id":"index.md:11d28de5b79e3973","source_path":"index.md","text_hash":"11d28de5b79e3973f6a3e44d08725cdd5852e3e65e2ff188f6708ae9ce776afc","text":"Docs hubs (all pages linked)","translated":"文档中心(所有页面链接)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:47Z"} -{"cache_key":"678ce4ebc70142dc95d2df24b30a8f49ed54750c7cbdee7128254851be4d33f6","segment_id":"start/wizard.md:e9643f092e1f762c","source_path":"start/wizard.md","text_hash":"e9643f092e1f762c9a7e15bf5429a6c0081c210e464e56a3a35830834a9d4d59","text":"To add more isolated agents (separate workspace + sessions + auth), use:","translated":"要添加更多隔离的智能体(独立的工作区 + 会话 + 认证),请使用:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:43Z"} -{"cache_key":"67bfbb214f6fd84279273d721c587d520c889b48409a1123879c6d79522f7558","segment_id":"start/wizard.md:47eea376ece81e4b","source_path":"start/wizard.md","text_hash":"47eea376ece81e4bb17a281eabb2ddc5aa0458acd4c91a43f576f337ef5ee175","text":" wipe anything unless you explicitly choose ","translated":" 不会删除任何内容,除非您明确选择 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:11Z"} -{"cache_key":"67db94076306469669c78e1176f5af9cd7a5e6ba4528ce053e203e96bd12fdc7","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:51Z"} -{"cache_key":"681929db09dc269d58c525c09744bdebddf03842689478831d1f59575161d74f","segment_id":"index.md:274162b77e02a189","source_path":"index.md","text_hash":"274162b77e02a1898044ea787db109077a2969634f007221c29b53c2e159b0cc","text":". Plugins add Mattermost (Bot API + WebSocket) and more.\nOpenClaw also powers the OpenClaw assistant.","translated":"。插件可添加 Mattermost(Bot API + WebSocket)等更多渠道支持。\nOpenClaw 同时也驱动着 OpenClaw 助手。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:58Z"} -{"cache_key":"685f06b3659dc0d7b4f41f7b15a9722e9de70a2794b168650f8414873d7c168f","segment_id":"index.md:7ac362063b9f2046","source_path":"index.md","text_hash":"7ac362063b9f204602f38f9f1ec9cf047f03e0d7b83896571c9df6d31ad41e9c","text":"Nodes","translated":"节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:13Z"} -{"cache_key":"6871c777c178113b08a646e4826f7bc149fa796d803947ab84e9d7a8af45cea7","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"环境变量 等效项:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:13Z"} -{"cache_key":"687dd62cc9018f0e74dadb0abaab9318503de6d5071253dca9c789f4352b9efa","segment_id":"start/wizard.md:fd3ef9f6b8315cd4","source_path":"start/wizard.md","text_hash":"fd3ef9f6b8315cd4cdfef9c6e295ed50e858a820f31a9b6555366054af144907","text":"Recommended: set up a Brave Search API key so the agent can use ","translated":"推荐:设置 Brave Search API 密钥,以便智能体可以使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:17Z"} -{"cache_key":"68c5c21091478bdd701de8955d662e20de4e91e7cf7626d3a7ad444230c802d0","segment_id":"index.md:6b8ebac7903757ce","source_path":"index.md","text_hash":"6b8ebac7903757ce7399cc729651a27e459903c24c64aa94827b20d8a2a411d2","text":"For Tailnet access, run ","translated":"如需 Tailnet 访问,请运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:45Z"} -{"cache_key":"68e1b25eafa11dfe6ffd16682d3f4f72d3f1774db82b6cd7b08e0dc617d7dbf4","segment_id":"start/wizard.md:1e3abf61a37e3cad","source_path":"start/wizard.md","text_hash":"1e3abf61a37e3cad36b11b459b1cc39e76feb6a0c369fe5270957468288dcc5c","text":"If ","translated":"如果 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:01Z"} -{"cache_key":"690712dd7f5a91ba48c9cbced5b6696f3db30d836271a363f94e57d84e674554","segment_id":"start/wizard.md:873f11af0a4e26ee","source_path":"start/wizard.md","text_hash":"873f11af0a4e26ee426ad19295a3f36d0256b0a6da1e0744832fe62d7a0cdf27","text":"Model/Auth","translated":"模型/认证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:44Z"} -{"cache_key":"690bea2d411c2b07780745f517baf643d26686e96f534e5bb1f2eaaf441448b5","segment_id":"start/getting-started.md:d059230b2daf747b","source_path":"start/getting-started.md","text_hash":"d059230b2daf747b7ca874e806c334070d67c8f02fa017ad61f2701d61354d55","text":"Recommended Anthropic path:","translated":"推荐的 Anthropic 路径:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:30Z"} -{"cache_key":"69223c700e3933064992a3b935b8e443e6475dd5e5f63ba2447d85b76f68b53e","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:28Z"} -{"cache_key":"697717108124b156f8f1fb7c823e71fd6d5bbbe71e43ed8b4c62e2bbbdafa7bd","segment_id":"environment.md:a16d7a83f4f565a8","source_path":"environment.md","text_hash":"a16d7a83f4f565a8d1aca9d8646b3eaa76308e8307be4634f9261ed0a0dccd67","text":"Config `env` block","translated":"配置 `env` 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:45Z"} -{"cache_key":"698c8d3774af0dc5196c75622b024794a3f45792871ab62821e75607b64fe050","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:54Z"} -{"cache_key":"69b9351215888d772cb7294618ccac031ec230dc7dd3d94db9a0fc323fdd68e1","segment_id":"index.md:be48ae89c73a75da","source_path":"index.md","text_hash":"be48ae89c73a75da3454d565526d777938c20664618905a9bc77d6a0a21a689d","text":"\"EXFOLIATE! EXFOLIATE!\"","translated":"\"去角质!去角质!\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:50Z"} -{"cache_key":"6a0067f355b734f73cc5d06c2415e833a0237f4e1c0f086d4be41b01ca666065","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装健全性检查,以及出问题时该去哪里排查","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:25Z"} -{"cache_key":"6a24e3ca10f074b02180cd94a12d97d06ba02d3ed50c0b414b6e82f6a567e2aa","segment_id":"start/wizard.md:6a40edf1fc87a29f","source_path":"start/wizard.md","text_hash":"6a40edf1fc87a29f243a7eefdbed57d19bfe16ab2e039d7ae1a44c097297e2f3","text":"WhatsApp","translated":"WhatsApp","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:14Z"} -{"cache_key":"6a33a478d12a3b427e017a6e516fcb413a3a5342725b674ac3ac5c9e5aca3973","segment_id":"index.md:c0aa8fcb6528510a","source_path":"index.md","text_hash":"c0aa8fcb6528510aea46361e8c871d88340063926a8dfdd4ba849b6190dec713","text":": it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see ","translated":":它是唯一允许拥有 WhatsApp Web 会话 的进程。如果需要救援机器人或严格隔离,请使用隔离的配置文件和端口运行多个网关;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:56Z"} -{"cache_key":"6a386646cb5e09a391827ea6dd82475e9d6edbe2c6acbd9c797f030f3c24bcff","segment_id":"index.md:bf0e823c81b87c5d","source_path":"index.md","text_hash":"bf0e823c81b87c5de79676155debf20a29b52d6d7eb7e77deda73a56d0afbaaa","text":"🧠 ","translated":"🧠 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:41Z"} -{"cache_key":"6a47aab59ec3c6e8096fa2733fa963a3233dc254b4ec8a306635e196ffe0928f","segment_id":"index.md:316cd41f595f3095","source_path":"index.md","text_hash":"316cd41f595f3095f149f98af70f77ab85404307a1505467ee45a26b316a9984","text":"Guided setup (recommended):","translated":"引导式设置(推荐):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:06Z"} -{"cache_key":"6a5441f83cd64d6920441e8eedade5c472aa328b00ed9f05ccf638493bce1b10","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量 和 .env 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:34Z"} -{"cache_key":"6a914cfd2e0ac0d7ccc179c0361f67fc4574234e9d8cbfce616285591ed37b2e","segment_id":"start/wizard.md:769e62863db91849","source_path":"start/wizard.md","text_hash":"769e62863db91849711d2b06aa7480c8874950c7764035a155268ae80bcaaa5d","text":". Docs: ","translated":"存储。文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:25Z"} -{"cache_key":"6ac32faba08302a413cf9de9061c4f7ab03bd96929649f2c17c6a6d2b1c25ce2","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的内联环境变量设置方式(两者都不会覆盖):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:07Z"} -{"cache_key":"6af973157939ccd33570e5047d622de4263119466c45f46681f300f577b79faf","segment_id":"start/getting-started.md:7bac3209ac343388","source_path":"start/getting-started.md","text_hash":"7bac3209ac3433880eb9d1d0a1867cd9a0617f43ca27493375bc005051d869b7","text":"OAuth credentials (legacy import): ","translated":"OAuth 凭据(旧版导入): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:36Z"} -{"cache_key":"6b0625352ff5092cab159cf3242fc10826b63c47c7d7524d3c3ee8e85cbe8f9f","segment_id":"index.md:5afbb1c887f6d850","source_path":"index.md","text_hash":"5afbb1c887f6d8501dba36cd2113d8f8b6ce6fa711a0d3e7efdc66f170abd2c2","text":"Cron jobs","translated":"定时任务","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:22Z"} -{"cache_key":"6b14f5e839df1e54026ee6d3db5886a6e9360039fd681101a4a9a2b101ff0919","segment_id":"index.md:084514e91f37c3ce","source_path":"index.md","text_hash":"084514e91f37c3ce85360e26c70b77fdc95f0d3551ce309db96fbcf956a53b01","text":"Dashboard (browser Control UI)","translated":"仪表盘(浏览器控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:21Z"} -{"cache_key":"6b3dbfa396df75c279946f5b8741a67863a0107d3f08c55dc642a8fac173a4c8","segment_id":"index.md:1074116f823ec992","source_path":"index.md","text_hash":"1074116f823ec992e76d7e8be19d3235fec5ddd7020562b06e7242e410174686","text":"Remote use","translated":"远程使用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:11Z"} -{"cache_key":"6b44e5cb8d21527ef6ad754e2792b9416080f2a132c8fd7b6d431fc76113aad9","segment_id":"environment.md:a42cc4a7174c83a8","source_path":"environment.md","text_hash":"a42cc4a7174c83a853752b3e74cb001a234f3eca099688fdf0dd2540c60bb1e2","text":" expected keys:","translated":" 预期的键:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:25Z"} -{"cache_key":"6c18bb32586b6c812ebf5323b8ed442c63be7b4014bc62e51f0d7f5eb46d223b","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:54Z"} -{"cache_key":"6c1b9632694258c227417b61df6433ac71eca1f2d35ff31cb5e145a7188dacfe","segment_id":"start/getting-started.md:d7849463c3ab6a49","source_path":"start/getting-started.md","text_hash":"d7849463c3ab6a496d77b8e6745d00ad430324bc5ed419a859f7c9e494102d68","text":"Manual run (foreground):","translated":"手动运行(前台):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:51Z"} -{"cache_key":"6c3d2263be9d0d6dd77934bd87f882599e2e9449e67bdee4388f84ab0aa6571b","segment_id":"start/wizard.md:698fdfc9c55bd3e4","source_path":"start/wizard.md","text_hash":"698fdfc9c55bd3e4ed5a9365317ae70aac20783ec38057088da27012a470a901","text":"Gateway port ","translated":"Gateway 端口 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:50Z"} -{"cache_key":"6cbd9a98f43c5cd7ee42cde62e8bdf2fab7d10c65a1aebd8540be50477452284","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行你的登录 shell,并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:12Z"} -{"cache_key":"6ce678386b3562455734243bc70c673a1b20aeb902456025275220465b508211","segment_id":"index.md:274162b77e02a189","source_path":"index.md","text_hash":"274162b77e02a1898044ea787db109077a2969634f007221c29b53c2e159b0cc","text":". Plugins add Mattermost (Bot API + WebSocket) and more.\nOpenClaw also powers the OpenClaw assistant.","translated":"。插件可添加 Mattermost(Bot API + WebSocket)等更多平台。\nOpenClaw 还为 OpenClaw 助手提供支持。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:01Z"} -{"cache_key":"6d11b3d022e2bde1caefb2917a26aa0169fa2e6e13c62d6595b010d9130fecb9","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:57Z"} -{"cache_key":"6d347e25d4ffcc9340ab0172ccb04190e3780bc68d026152202edbdce466b09e","segment_id":"index.md:82ba9b60b12da3ab","source_path":"index.md","text_hash":"82ba9b60b12da3ab4e7dbcb0d7d937214cff80c82268311423a6dc8c4bc09df5","text":"OpenClaw 🦞","translated":"OpenClaw 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:48Z"} -{"cache_key":"6d365b29cf4305b02714d7c3f130301954ffc45574d088db9bb553d065f20854","segment_id":"index.md:1e37e607483201e2","source_path":"index.md","text_hash":"1e37e607483201e2152d2e9c68874dd4027648efdd9cfccb7bf8c9837398d143","text":"), serving ","translated":"),提供 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:11Z"} -{"cache_key":"6d78259f49a7bf9fd44a58e590c3f18b7646b810d8e07e7d34b5fb0e73aa5844","segment_id":"start/wizard.md:fe21d672d145bf9d","source_path":"start/wizard.md","text_hash":"fe21d672d145bf9dcbb12ba1cc1677a0b8718bed342f5bfeb774b2996fed9889","text":"Lets you choose a node manager: ","translated":"让您选择一个 Node 管理器: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:45Z"} -{"cache_key":"6da895990489d77240c02d6c6f51892e4f6b7a5ec658cca2e3f6e92084fa7a72","segment_id":"index.md:5cf9ea2e20780551","source_path":"index.md","text_hash":"5cf9ea2e2078055129b38cfbc394142ca6ca41556bd6e31cbd527425647c1d1e","text":"One Gateway per host (recommended)","translated":"每台主机一个 Gateway(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:53Z"} -{"cache_key":"6dc2e2b52833ce2b82f2a886285fffff2f3a6e1d9d23875ec57d61f1328cda06","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过第 4 步;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:07Z"} -{"cache_key":"6e0b579a98c31961263b11f7805c45b08b9850506746275df639a7a236ceccf5","segment_id":"index.md:496bcd8a502babde","source_path":"index.md","text_hash":"496bcd8a502babde0470e7105dfed7ba95bbc3193b7c6ba196b3ed0997e84294","text":"Voice notes","translated":"语音消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:56Z"} -{"cache_key":"6e109ac5e9791bc39a36e94e14a107a5e270e18cd20cd2b8d50132d6170c9dc9","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:07Z"} -{"cache_key":"6e297c0b91d3a16fec1d93183437778addf7c0908be226b39d4ee3dacab5c6f4","segment_id":"start/getting-started.md:b1ff7bd17092d95e","source_path":"start/getting-started.md","text_hash":"b1ff7bd17092d95ea7811719ce3df6d79b0c3a576695636fc411f2d95dc908b2","text":"Mattermost","translated":"Mattermost","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:30Z"} -{"cache_key":"6e3de6afce0bcbadbe662882ab64575df2fa60edee81930593c1f854e7bed6e7","segment_id":"start/wizard.md:de500b08e6825815","source_path":"start/wizard.md","text_hash":"de500b08e6825815c64066def01809cd44b9b86fe3de9142c48edb43644e6ec5","text":"Z.AI example:","translated":"Z.AI 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:24Z"} -{"cache_key":"6e7bb00810a1c89548ff84b0cadc9b0b1f2f3c12625ab3fcbc78216c60a02b81","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:21Z"} -{"cache_key":"6ed4c62933bde0307cf9d37c7cb57e20d5fecc3da59e7ea185f4c101f80f4344","segment_id":"index.md:1eb6926214b56b39","source_path":"index.md","text_hash":"1eb6926214b56b396336f22c22a6f8a4c360cfe7109c8be0f9869655b9ff6235","text":"Pairing (DM + nodes)","translated":"配对(私聊 + 节点)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:34Z"} -{"cache_key":"6f2bf42e3ab6c9dfe240a6e878f8d322a9ec3956cf722b0d0b6aa221467d33cd","segment_id":"start/wizard.md:fd5f5ef720b423af","source_path":"start/wizard.md","text_hash":"fd5f5ef720b423af38c9113f3fce3be2eeccfef9f35b56c075bc8145297ebe59","text":" (auto-installs UI deps).","translated":" (自动安装 UI 依赖项)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:09Z"} -{"cache_key":"6f721a6913c75aac92f1890a4942631c3370e08f7e4180950dcc08a03e0765ba","segment_id":"environment.md:9c85ab59cb358b12","source_path":"environment.md","text_hash":"9c85ab59cb358b1299c623e16f52f3aee204a81fb6d1c956e37607a220d13b08","text":"You can reference env vars directly in config string values using `${VAR_NAME}` syntax:","translated":"你可以使用 `${VAR_NAME}` 语法在配置字符串值中直接引用环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:56Z"} -{"cache_key":"6f9e33ab431225304bd1fa8a39bb0efd5d4279d45975ebd5b20f24e09bb98cbc","segment_id":"start/wizard.md:531995e8b52db462","source_path":"start/wizard.md","text_hash":"531995e8b52db462df5a6b23a5f7af4d5c57415a397438b002364edebcdc1e14","text":" writes ","translated":" 写入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:45Z"} -{"cache_key":"6fc0fd840e70231dec1ea7ea900c6bab5c29245170836fc0625f3898b05f4edb","segment_id":"index.md:b5ccaf9b1449291c","source_path":"index.md","text_hash":"b5ccaf9b1449291c92f855b8318aeb2880a9aa1a75272d17f55cf646071b3eae","text":"Gmail hooks (Pub/Sub)","translated":"Gmail 钩子(Pub/Sub)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:53Z"} -{"cache_key":"6fe259de45e43265b4853300aa3cd6972b5cbbd607ab967eed0618c0f860247a","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想快速了解\"快速排障\"流程,请从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:33Z"} -{"cache_key":"70155d1dc5c21119f33f83bea22521d80b2d73a2d089a04817d3cf20cb55177c","segment_id":"index.md:93c89511a7a5dda3","source_path":"index.md","text_hash":"93c89511a7a5dda3b3f36253d17caee1e31f905813449d475bc6fed1a61f1430","text":"common fixes + troubleshooting","translated":"常见修复 + 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:22Z"} -{"cache_key":"70626932ec406bd2253ce4134561af2088dc5ee89aa51a4336f95288b4f863c2","segment_id":"environment.md:a16d7a83f4f565a8","source_path":"environment.md","text_hash":"a16d7a83f4f565a8d1aca9d8646b3eaa76308e8307be4634f9261ed0a0dccd67","text":"Config `env` block","translated":"配置 `env` 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:30Z"} -{"cache_key":"70d246c2dab8d15be4dc7dcf914f0df1b95aeb517a09c88d86fa095e1c465095","segment_id":"index.md:268ebcd6be28e8d8","source_path":"index.md","text_hash":"268ebcd6be28e8d853ace3a6e28f269fbda1343b53e3f0de97ea3d5bf1a0e33e","text":"Clawd","translated":"Clawd","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:07Z"} -{"cache_key":"71667555ad1cea654225fec33df1804c97a0b8167affbf3d3c426ccb778e780a","segment_id":"start/wizard.md:82e1216ede141cb1","source_path":"start/wizard.md","text_hash":"82e1216ede141cb1553d20be7356c3f1ab9da9a4a05303cf7cd05ef01142558f","text":"Gateway settings (port/bind/auth/tailscale)","translated":"Gateway 设置(端口/绑定/认证/Tailscale)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:23Z"} -{"cache_key":"7170dcd349905701fd3cde7dc5bce0aed2618717e87ffa06e9ab230041f689a1","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:26Z"} -{"cache_key":"724a450b6cdfc09dd0fc5acf94bb7f20a45c43e524810239d0e6e7cac65ff74b","segment_id":"index.md:bd293e4db98037bc","source_path":"index.md","text_hash":"bd293e4db98037bc9da5137af50453ac9c81b49e14eb4c47f121b12bed880877","text":" — Direct chats collapse into shared ","translated":" — 直接聊天合并到共享的 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:59Z"} -{"cache_key":"72d5ce369dd6489f427c02710fae70f6426a51de9441678410a023761cee215b","segment_id":"start/wizard.md:8f7c7d2f15e90b42","source_path":"start/wizard.md","text_hash":"8f7c7d2f15e90b420fb6f2cc7632d7d7a433bc94eeb262d9718286e5ffd9b365","text":"Related docs","translated":"相关文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:00Z"} -{"cache_key":"730b6369e65b8f27f57a90f6ee355beca28d783793767209a7cfe7beb736769b","segment_id":"start/wizard.md:eda31fe8fb873697","source_path":"start/wizard.md","text_hash":"eda31fe8fb873697fd7d5bfba08f263eaa917808a644bddd2b6d89d3a6b1c868","text":"QuickStart vs Advanced","translated":"快速入门与高级模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:30Z"} -{"cache_key":"73164a8584f9cc4e546493100199d4ebcbb65ce74c33e21d06da689c6d7b9328","segment_id":"start/wizard.md:ce85fecfbffa2746","source_path":"start/wizard.md","text_hash":"ce85fecfbffa2746f0a9b66464140eb2ed5a085ce85fff062ef0ff8b5686a0a5","text":".\nSessions are stored under ","translated":"下。会话存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:54Z"} -{"cache_key":"73343b447da60470e1e14745df6653212cfb901cb8591540364f6cc906d42fd8","segment_id":"index.md:f1e3b32c8eb0df8e","source_path":"index.md","text_hash":"f1e3b32c8eb0df8ea105f043edf614005742c15581e2cebc5a9c3bafb0b90303","text":"Multi-agent routing","translated":"多 智能体 路由","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:43Z"} -{"cache_key":"7354cca5c4abf7f22290854ebf29a79803372316786f435b6d197b844847c177","segment_id":"start/wizard.md:fdd0a77c1e77ac7b","source_path":"start/wizard.md","text_hash":"fdd0a77c1e77ac7bffeea35de300966019f55c682bd3046ae045d8d5db9e68cb","text":"Writes ","translated":"写入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:04Z"} -{"cache_key":"7364ee790ee697a9be18a8878b36241f6087253c4952dec1d7f9ed766fb7ba57","segment_id":"index.md:c491e0553683a70a","source_path":"index.md","text_hash":"c491e0553683a70a2fb52303f74675d2f7b725814ed70d5167473cb5fbe46450","text":"@steipete","translated":"@steipete","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:55Z"} -{"cache_key":"7396e8f216f016e9505d0ce0709809834376675cca202b48cc8592fdc8461357","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源获取环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:21Z"} -{"cache_key":"73b0734779c4cb925c37ffe5e84b08453879c88667f95afe39d096031f55d1ec","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:55Z"} -{"cache_key":"73c3930f846d6be7446b678ee4181328fead10032d5ac3217dd5a7dad818f119","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行你的登录 shell 并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:49Z"} -{"cache_key":"740260cd2027024814eb7dbbe5605642907d5720259bea069322bf4422ab7abe","segment_id":"index.md:e1b33cfa2a781bde","source_path":"index.md","text_hash":"e1b33cfa2a781bde9ef6c1d08bf95993c62f780a6664f5c5b92e3d3633e1fcf8","text":" (@nachoiacovino, ","translated":" (@nachoiacovino, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:53Z"} -{"cache_key":"741c513df5edc25161f93a87a83b3335320749b9560fb3dedddcd1a9e02f8309","segment_id":"start/wizard.md:9f6f919dc1088468","source_path":"start/wizard.md","text_hash":"9f6f919dc1088468f8197ef0c27501e1c0a71a94b9faed9d363410305d3a472b","text":"Agent workspace","translated":"智能体工作区","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:51Z"} -{"cache_key":"743cddc057adf1927666ea67a9d672d0e924c93c938fac5086b278e6d0dac789","segment_id":"index.md:e3209251e20896ec","source_path":"index.md","text_hash":"e3209251e20896ecc60fa4da2817639f317fbb576288a9fc52d11e5030ecc44a","text":"Windows (WSL2)","translated":"Windows (WSL2)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:40Z"} -{"cache_key":"74759aa496b1b361eadf49b7e6245708b41bb91d571dc6a34e0f79ab602f23f9","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"Could you please provide the file path or the full text about \"Environment variables\" that you'd like me to translate?","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:37Z"} -{"cache_key":"74784eac2b412aa6a24c3e0d7f66e14ac2ac8aeb85905dafd36f4f6c680fd94d","segment_id":"environment.md:39d9dca6df060f67","source_path":"environment.md","text_hash":"39d9dca6df060f6708b30f0f6b1581105c607e96a66f282bf4a0fe75e92dc205","text":"Env var substitution in","translated":"环境变量替换在","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:56Z"} -{"cache_key":"74a32b88954158955f70bb053e86f28337b079cf11feb27cec6a4af1d9926f6b","segment_id":"start/getting-started.md:13bf3a75f8be5632","source_path":"start/getting-started.md","text_hash":"13bf3a75f8be5632d9f92212f0c5a61750a0b4654af5db87a9d91ade89b72e5b","text":"Default posture: unknown DMs get a short code and messages are not processed until approved.\nIf your first DM gets no reply, approve the pairing:","translated":"默认策略:未知私信会收到一个短码,消息在批准之前不会被处理。\n如果您的第一条私信没有收到回复,请批准配对:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:39Z"} -{"cache_key":"74b57577f77fd5b865970d086c56b3f7d760c94e57a5c11babad0173e6b6bc1f","segment_id":"start/getting-started.md:df3db5b08f6e98f3","source_path":"start/getting-started.md","text_hash":"df3db5b08f6e98f31a9242361eb5d1f325c35f4acbb6c7cd8ac9afa85bf8eaa7","text":"Local vs Remote","translated":"本地 vs 远程","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:00Z"} -{"cache_key":"753971a27214ecb4551eb400d1bace8931dd2b658bef6bc8d55506b6adeba974","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过第 4 步;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:07Z"} -{"cache_key":"759d3f3cb39af3e2d57e711d9680a2b999ef3bc08a4184eccd9b1d53c18f7b1f","segment_id":"index.md:95cae5ed127bd44d","source_path":"index.md","text_hash":"95cae5ed127bd44dcc30345a1925d77f333284b43a6f97832f149a63dc38e0e0","text":"The wizard now generates a gateway token by default (even for loopback).","translated":"向导 现在默认会生成网关令牌(即使是回环连接)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:06Z"} -{"cache_key":"75deb7505d1a042e24a4c83cdddf479326929a80edeffcfaa49863bf115ab848","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:58Z"} -{"cache_key":"76148f338fd0041621eb7cda1759d78690a3cb0d0d9a1ca8c2cd4af02dfff679","segment_id":"start/wizard.md:9022ac86cfbabdac","source_path":"start/wizard.md","text_hash":"9022ac86cfbabdac3512fdd7797b7f0a3db628d4873e0b3d64b2f5c752724d03","text":"Tailscale exposure ","translated":"Tailscale 暴露 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:00Z"} -{"cache_key":"762684ab35f0d829663da7f4de49060030ad02772df37776113660266af70236","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题的解答(而不是\"出了问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:32Z"} -{"cache_key":"762e4d6415fd6b11bfb7837a3d751030659263ba7f6292f3defcf734097ada17","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:05Z"} -{"cache_key":"76653677000dc673dea8f2bff5f0d86e7118627d575314948b1592b82cd490be","segment_id":"environment.md:baa5be7f6320780b","source_path":"environment.md","text_hash":"baa5be7f6320780bd7bb7b7ddbb8cd1ffb26ccf7d94d363350668c50aedcf95f","text":" (applied only if missing).","translated":" (仅在缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:56Z"} -{"cache_key":"76934bd605258decffe7f40a10419e7a19405bc7a09f19c65a9447682a805337","segment_id":"start/wizard.md:8e70d4cdad7bdb70","source_path":"start/wizard.md","text_hash":"8e70d4cdad7bdb70b333c34e14862f46905fbfd6fb678a968f857747f2ee2389","text":"Pick a default model from detected options (or enter provider/model manually).","translated":"从检测到的选项中选择默认模型(或手动输入提供商/模型)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:22Z"} -{"cache_key":"76be6836deb53495879f2e5cc5f57af37d12f5fb67d27f22ecc8c7dc885a6c7a","segment_id":"index.md:4b4051e77af8844f","source_path":"index.md","text_hash":"4b4051e77af8844fcf86a298214527e7840938258f99bfe97b900bbc0d8d2f4b","text":"The dashboard is the browser Control UI for chat, config, nodes, sessions, and more.\nLocal default: http://127.0.0.1:18789/\nRemote access: ","translated":"仪表板是用于聊天、配置、节点、会话 等功能的浏览器控制界面。\n本地默认地址:http://127.0.0.1:18789/\n远程访问: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:33Z"} -{"cache_key":"76ffac273c1ab348f20e97d66f7d9a8218789d2df1be41d676e824f64c949ef4","segment_id":"start/wizard.md:72ea058924a0acec","source_path":"start/wizard.md","text_hash":"72ea058924a0acecc4dd9dae83410a37dd2c43d9b526fb770f88685d27aed0b1","text":"Remote mode","translated":"远程模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:34Z"} -{"cache_key":"7748e8a6d7f7a768cc6003487448b27848640b4e9df17154fcf6ad93c707b4aa","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解加载了哪些环境变量,以及加载的顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:48Z"} -{"cache_key":"7749f2ac757311f26619b43b362bfc9265176ac801f7a38b42ab835c8af89d85","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:30Z"} -{"cache_key":"775fa7e7f44ee6a3a24c821c866f68606b4ecad281b47f4b744de729460eb521","segment_id":"index.md:cec2be6f871d276b","source_path":"index.md","text_hash":"cec2be6f871d276b45d13e3010c788f01b03ae2f1caca3264bbf759afacace46","text":"Telegram Bot","translated":"Telegram 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:58Z"} -{"cache_key":"7781b8121d68b25732c0ef1ac9c2b3c6573a376f2912bd6a3860f4d7f6bf3e45","segment_id":"environment.md:08ba1569cc7ada49","source_path":"environment.md","text_hash":"08ba1569cc7ada49ef908e8f19b1d36252072d5876086ae6726c55672d571603","text":" non-overriding):","translated":" 非覆盖的):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:31Z"} -{"cache_key":"77936e1851104e6dac3b5785a85c10f838ca0173ad387391588eb25f884c3a59","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:01Z"} -{"cache_key":"77a1d6fe1f2415835e41760b0765c3b93b4853664de26c500cf7acf3c512d60e","segment_id":"index.md:7ac362063b9f2046","source_path":"index.md","text_hash":"7ac362063b9f204602f38f9f1ec9cf047f03e0d7b83896571c9df6d31ad41e9c","text":"Nodes","translated":"节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:57Z"} -{"cache_key":"77b6a43a45b36b25b51859a5b976fa12609b6d19ed351bc0e84fae2290d32da9","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:12Z"} -{"cache_key":"7806b590e1e2ff8ab2244875f7a2c370ab3b11462fd2061e5f4af9cf72f70d19","segment_id":"start/wizard.md:9c706a2bb9ebcb20","source_path":"start/wizard.md","text_hash":"9c706a2bb9ebcb206633616f2a40867b0c02716657ac4c0e95c7c1939287d3d8","text":"; auth profiles live in ","translated":";认证配置存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:31Z"} -{"cache_key":"78161c8de8a14607cd003796d4c4ace7048f9116ecbe036601136d7f0cef4ff3","segment_id":"start/getting-started.md:bfd99edf844f6205","source_path":"start/getting-started.md","text_hash":"bfd99edf844f62050af2f7d37df7cfa7f651b8e1be341eb4f07c3849ca4efc43","text":"Fastest chat: open the Control UI (no channel setup needed). Run ","translated":"最快聊天方式:打开控制界面(无需设置渠道)。运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:33Z"} -{"cache_key":"785cae01bc172c4c47e2e82cda4c5afd7d37d7069a008e44c8a4176eeacafe67","segment_id":"help/index.md:a8ab86b9313a9236","source_path":"help/index.md","text_hash":"a8ab86b9313a92362150f5e5ba8a19de4ee52f2e3162f9bd2bc6cf128a2fcd18","text":"If you’re looking for conceptual questions (not “something","translated":"如果你在寻找概念性问题(不是\"出了什么","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:00Z"} -{"cache_key":"78ae0fabb1aab02156d5bf1b4e148ba155369b079aa0b733aca5a750a3d0cdc2","segment_id":"index.md:329f3c913c0a1636","source_path":"index.md","text_hash":"329f3c913c0a16363949eb8ee7eb0cda7e81137a3851108019f33e5d18b57d8f","text":"Switching between npm and git installs later is easy: install the other flavor and run ","translated":"之后在 npm 和 git 安装之间切换很简单:安装另一种方式然后运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:30Z"} -{"cache_key":"791458a3464d7dd0036471e90590958905611942f9f0aefd8917c701e4e587d4","segment_id":"start/wizard.md:0516de0bbbd36c95","source_path":"start/wizard.md","text_hash":"0516de0bbbd36c95c5c45902d43caf2abdab59363114c4d6abae961f6ed1c1cb","text":" imply non-interactive mode. Use ","translated":" 意味着非交互模式。请使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:50Z"} -{"cache_key":"79156ca764918ee2f487da88a8917572551bbb6cac71a256748ba30bce781f0e","segment_id":"index.md:96be070791b7d545","source_path":"index.md","text_hash":"96be070791b7d545dc75084e59059d2170eed247350b351db5330fbd947e4be6","text":"👥 ","translated":"👥 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:37Z"} -{"cache_key":"791d43fa7f63c6479c1e7d2393c2b2790beee2cffe5aaebc547d18ed1b73741f","segment_id":"start/wizard.md:45e595586df0bdc3","source_path":"start/wizard.md","text_hash":"45e595586df0bdc3f10caef3511b7e215c0b32a1626548d1c8648501cdcb4c00","text":"If the Gateway is loopback‑only, use SSH tunneling or a tailnet.","translated":"如果 Gateway 仅绑定回环地址,请使用 SSH 隧道或 tailnet。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:32Z"} -{"cache_key":"7938daa81ee4f2884173676b22aaf901e847b654ce9f368be964ab10461b5852","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:20Z"} -{"cache_key":"794456d8a1d905f17357dfe11942245d5486b210b163a8ed1608b11b27ce3508","segment_id":"index.md:45808d75bf8911fa","source_path":"index.md","text_hash":"45808d75bf8911fa21637f9dd3f0dace1877748211976b5d61fcc5c15db594d0","text":"Webhooks","translated":"Webhooks","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:24Z"} -{"cache_key":"794de06f9e33b312b5ae297991b32a00290f5f484059283f191e6169ee2e70c4","segment_id":"index.md:2566561f81db7a7c","source_path":"index.md","text_hash":"2566561f81db7a7c4adb6cee3e93139155a6b01d52ff0d3d5c11648f46bc79bb","text":"📱 ","translated":"📱 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:28Z"} -{"cache_key":"7956d19ecce3a275c0f47424d4f75e289b9f7e5742f3adbe0f6eee5ac4c906ca","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:56Z"} -{"cache_key":"79a4ac9cc430df4e4cb0a8710c8d21a52baeef560c6220facc6199d5e5a383fc","segment_id":"index.md:98a670e2fb754896","source_path":"index.md","text_hash":"98a670e2fb7548964e8b78b90fef47f679580423427bfd15e5869aca9681d0dd","text":"\"We're all just playing with our own prompts.\"","translated":"\"我们都只是在玩弄自己的提示词罢了。\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:23Z"} -{"cache_key":"79b1bfcd80bed91b72fe6f15f1e6e1fdfd069cddc7f2fcc4fbd28f573a874866","segment_id":"index.md:eef0107bb5a4e06b","source_path":"index.md","text_hash":"eef0107bb5a4e06b9de432b9e62bcf1e39ca5dfbbb9cb0cc1c803ca7671c06ab","text":"Gateway runbook","translated":"Gateway 运行手册","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:28Z"} -{"cache_key":"7a2de748330ae022b15280d0444a6c2794d4c60313452e6f4c2470a395e58ca8","segment_id":"index.md:bd293e4db98037bc","source_path":"index.md","text_hash":"bd293e4db98037bc9da5137af50453ac9c81b49e14eb4c47f121b12bed880877","text":" — Direct chats collapse into shared ","translated":" — 私聊折叠为共享 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:25Z"} -{"cache_key":"7a3ab97c36c385c05719cd51ac71cf8b98e65cc27b71ffc71d3670f568d36e6c","segment_id":"start/getting-started.md:5a4d846f4fe5a72f","source_path":"start/getting-started.md","text_hash":"5a4d846f4fe5a72f693af0c9d3a98b2a2df8c99456429765f51706ff7b76b7f7","text":"Gateway (from this repo):","translated":"Gateway(从此仓库):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:54Z"} -{"cache_key":"7a4ee345ffcdd6965857db8eb1605eb4460433be999c17d2b03a9a6a9789bdaa","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:49Z"} -{"cache_key":"7a78848fc43c9758427283f5941f66521236977cbaeaeeb04577de87c4b55c59","segment_id":"index.md:11450a0f023dc48c","source_path":"index.md","text_hash":"11450a0f023dc48cc9cef026357e2b4569a2b756290191c45a9eb0120a919cb7","text":" and (for groups) mention rules.","translated":" 以及(针对群组的)提及规则。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:37Z"} -{"cache_key":"7a917e0cad8ee2f671d93d95939ff19d4545eac6723d3c7be11326cb65db5d25","segment_id":"index.md:c491e0553683a70a","source_path":"index.md","text_hash":"c491e0553683a70a2fb52303f74675d2f7b725814ed70d5167473cb5fbe46450","text":"@steipete","translated":"@steipete","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:20Z"} -{"cache_key":"7ab5c873654dc79ffc905151bf0bff3f05a41e3e7d6e20a368d64aa3c7c8300e","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:44Z"} -{"cache_key":"7adf10c75a13a4f39d1360a5f4f45f0e22b608904e9ca8616eed396a35b7c3c0","segment_id":"index.md:cda454f61dfcac70","source_path":"index.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:07Z"} -{"cache_key":"7ae5133ee1cd21463f6a5373822eeddcebba9435512ebf67ec49d2f88d1a770f","segment_id":"index.md:1eb6926214b56b39","source_path":"index.md","text_hash":"1eb6926214b56b396336f22c22a6f8a4c360cfe7109c8be0f9869655b9ff6235","text":"Pairing (DM + nodes)","translated":"配对(私信 + 节点)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:08Z"} -{"cache_key":"7b14aa70efca84fdf7555ed77d263fae52ddaff260e935d45a3e22031f551c2a","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:39Z"} -{"cache_key":"7b2f32af1ab182e748188eda2538cc9248faff3296bf459ee2365bf753cd3637","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:00Z"} -{"cache_key":"7b38154bd954f484fa2247a129ccab23889881422b6d5415970eb7ef1dc4170f","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:40Z"} -{"cache_key":"7b5e958eea98aae071adeeff78912bbce4b3a9616dabe5ade50538f31a372e6e","segment_id":"index.md:c011d6097bfbc8e9","source_path":"index.md","text_hash":"c011d6097bfbc8e936280addcf2e3e7d06ea2223ffd596973191b800a7035c32","text":"License","translated":"许可证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:58Z"} -{"cache_key":"7b8d987fa7611cd9dfdf4089d114bce0fb150f5f3af5cfda3fdcf455be7afced","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:08Z"} -{"cache_key":"7b91b68fc1e996f0909c890f91668386f9ef94974d0f8774a4d34d3cef43c638","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:05Z"} -{"cache_key":"7c403e93e8396d4740e889ff8e6d078fe8079017dfda145496b3da29b0887144","segment_id":"environment.md:ab5aec4424cf678d","source_path":"environment.md","text_hash":"ab5aec4424cf678dcfb1ad3d2c2929c1e0b2b1ff61b82b961ada48ad033367b4","text":" (dotenv default; does not override).","translated":" (dotenv 默认行为;不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:38Z"} -{"cache_key":"7c487d305535a19790619ad3f172d0128d891e7b8488e84a7fb73ed9a7a9b32a","segment_id":"start/wizard.md:32ebb1abcc1c601c","source_path":"start/wizard.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":"(","translated":"(","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:19Z"} -{"cache_key":"7c9e5b6fba8c9d85221b3c38a9d527d2d683facfd83a93e06f304e13c6771022","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:27Z"} -{"cache_key":"7d14d64c713aa996c01b08945c1784ed78fa95b602c35f9fba369de60b9ffea5","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源获取 环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:22Z"} -{"cache_key":"7d6ed7204c12f1d91564243dad60b560217dc6a29de3adf7a809de221b42c06a","segment_id":"start/wizard.md:bcd475104a873a42","source_path":"start/wizard.md","text_hash":"bcd475104a873a42ffaaed1aca9434981ce857adba97ebec4adc9e74e4d852f4","text":"allowlist","translated":"允许名单","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:05Z"} -{"cache_key":"7d8297d7b387f5a5302e0a09ea73266ba2e2075985e1af83b24a633c161cf10d","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:29Z"} -{"cache_key":"7d82becc6d15c1be9fb97c06f9cc8ed5bf4949814e9d7af50d07380cb51e82f2","segment_id":"index.md:bd293e4db98037bc","source_path":"index.md","text_hash":"bd293e4db98037bc9da5137af50453ac9c81b49e14eb4c47f121b12bed880877","text":" — Direct chats collapse into shared ","translated":" —— 直接聊天折叠为共享的 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:32Z"} -{"cache_key":"7d927444fcf26b06d31a6f1f5d134416f8539e3aa1cc8dd3a4a7c5819fd1534a","segment_id":"index.md:f12242785ecda793","source_path":"index.md","text_hash":"f12242785ecda7935ded50cd48418357d32d3bac290f7a199bc9f0c7fbd13123","text":") — Location parsing (Telegram + WhatsApp)","translated":")— 位置解析(Telegram + WhatsApp)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:46Z"} -{"cache_key":"7da93ed9cf09f854e305f5deb4ddfac979802a4d1f6587247eea91555bdadc73","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:54Z"} -{"cache_key":"7dca802a270f89fb4612993c8e7567b27da97fabd7b9ebd9c732ca2d53393244","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题的解答(而不是\"出了问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:56Z"} -{"cache_key":"7ddd9124594671bfd422e2bad8d56887ff8035a346f99a68d806deca63db0dcc","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:58Z"} -{"cache_key":"7e1f91e8aeccc2aabf2dee95b6ee40ec27afb0aa5af4c97967b411ccded6826e","segment_id":"start/wizard.md:608acf5d419e2dad","source_path":"start/wizard.md","text_hash":"608acf5d419e2dadaef0b8082406cdbdb689e27953723644bf677feb09d1cf58","text":"Synthetic (Anthropic-compatible)","translated":"Synthetic(Anthropic 兼容)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:03Z"} -{"cache_key":"7e39b80026e0b63d7df55fcc142e8a2876ff972da67c4b263b619848e43417ec","segment_id":"index.md:19525ac5e5b9c476","source_path":"index.md","text_hash":"19525ac5e5b9c476b36a38c5697063e37e8fe2fae8ef6611f620def69430cf74","text":"Canvas host","translated":"Canvas 主机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:18Z"} -{"cache_key":"7e93af146d7d04064fcba89e95f5a12c7320475af9b1c2e3208185cecb16a369","segment_id":"index.md:25d853ca04397b6a","source_path":"index.md","text_hash":"25d853ca04397b6ae248036d4d029d19d94a4981290387e5c29ef61b0eca9021","text":"Media: audio","translated":"媒体:音频","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:50Z"} -{"cache_key":"7ea531b1b4d75bfda8cb0a3a62e895b86310ab3f79a08cdcaddc1f2ccc61fbc2","segment_id":"index.md:3f8466cd9cb153d0","source_path":"index.md","text_hash":"3f8466cd9cb153d0c78a88f6a209e2206992db28c6dab45424132dc187974e2b","text":"Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.","translated":"注意:旧版 Claude/Codex/Gemini/Opencode 路径已移除;Pi 是唯一的编程智能体路径。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:04Z"} -{"cache_key":"7ec6a54cb7ceb1c31b47de147210b7193006db1d64b608c52b697512bd7e41aa","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:37Z"} -{"cache_key":"7eefff451137a5fd592db6fef6e65447cae69abe23699c34cb838a1c3cc04d73","segment_id":"start/wizard.md:d3745cec7a646b22","source_path":"start/wizard.md","text_hash":"d3745cec7a646b229f6d7123ef3557f68640f35a54a593f1e0e32776da0677c1","text":" (auto‑generated, even on loopback)","translated":" (自动生成,即使在回环地址上也是如此)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:58Z"} -{"cache_key":"7f2e9e14503f22acab8659b458900c0864bdc52ee5055d4a3a742508a8e41314","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:13Z"} -{"cache_key":"7f4d30ae34bbfb95b016db35c14a77f46cdda52ff397a69b63ad655c6128f0f6","segment_id":"index.md:30f035b33a6c35d5","source_path":"index.md","text_hash":"30f035b33a6c35d51e09f9241c61061355c872f2fb9a82822cd2f5f443fd4ad4","text":"Group Chat Support","translated":"群聊支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:31Z"} -{"cache_key":"7f8a0ec6c0614299ed8aca539dde67e208ecc32d4022975fbb37f7930f3f70e5","segment_id":"start/getting-started.md:4cc7ae6d3b7fbaaf","source_path":"start/getting-started.md","text_hash":"4cc7ae6d3b7fbaaf56673ea3268caa38af191a587867ef1090c9f689ecccec96","text":"Headless/server tip: do OAuth on a normal machine first, then copy ","translated":"无头/服务器提示:先在普通机器上完成 OAuth,然后复制 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:40Z"} -{"cache_key":"7fec8c329b4438aef905e1918364b86faca2a2580bb29eded4850a67ba16109b","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:48Z"} -{"cache_key":"8070c35741bdfaa2f8878a7460406a597ccf7fec7994522389adeafea46b6e8e","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解加载了哪些环境变量,以及加载的顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:10Z"} -{"cache_key":"807dfa0f0d41dd91a0565a166afd1780eea045b0d30e177d91cc9dcf7dfce7db","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:42Z"} -{"cache_key":"8088f34c0eace7e3e9131feea6cc0e9f333432c1fbc78720f10574d1b05197fb","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:46Z"} -{"cache_key":"81c954a409a9f6266a05f27d77a4b578631b1f6d86deca557279fd2f82ed29b5","segment_id":"index.md:2b402c90e9b15d9c","source_path":"index.md","text_hash":"2b402c90e9b15d9c3ef65c432c4111108f54ee544cda5424db46f6ac974928e4","text":"🔐 ","translated":"🔐 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:49Z"} -{"cache_key":"81cc99b7c2a7579fa478992233a19aeaea8c64586f07c24fe9e6f22f70610a96","segment_id":"index.md:1a36bded6916228a","source_path":"index.md","text_hash":"1a36bded6916228a5664c8b2bcdaa5661d342fe3e632aa41453f647a3daa3a61","text":" — Pairs as a node and exposes a Canvas surface","translated":" — 作为节点配对并提供 Canvas 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:58Z"} -{"cache_key":"81e5e8a79bbaec139591a64a84574dfb14fcf22e8f803b68ddaa5950103c4c58","segment_id":"index.md:774f1d6b2910de20","source_path":"index.md","text_hash":"774f1d6b2910de200115afec1bd87fe1ea6b0bc2142ac729e121e10a45df4b5d","text":" ← ","translated":" ← ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:56Z"} -{"cache_key":"822efbc5bcf680421493847f6b76e9626f1d8202ff5ff47cd3e141ecdac58a9f","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:27Z"} -{"cache_key":"829cc48b5c60f16b09e63437a5de27acc17910473f8e3dfbc505a0d3e3b593c7","segment_id":"start/wizard.md:79a482cf546c23b0","source_path":"start/wizard.md","text_hash":"79a482cf546c23b04cd48a33d4ca8411f62e5b7dc8c3a8f30165e28e747f263a","text":"iMessage","translated":"iMessage","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:54Z"} -{"cache_key":"82d122e7cc5c895b61dec28850c3f07a68e69c19f554d9088318f62c6cd30fe1","segment_id":"environment.md:6d28a9f099e563d9","source_path":"environment.md","text_hash":"6d28a9f099e563d9322b5bcdea9ff98af87e9c213c2222462ae738d2fb27ecbe","text":" block\n\nTwo equivalent ways to set inline env vars (both are non-overriding):","translated":" 块\n\n设置内联环境变量的两种等效方式(均为非覆盖式):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:44Z"} -{"cache_key":"8334186d1a61e931ed7b3905a26e470159f86593819124c5626df7a012733ee9","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"其中 OpenClaw 加载 环境变量 及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:59Z"} -{"cache_key":"833685db37cf96f2342238018bd6a4a6e7812d1794a7389dc1e349917b140f50","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过第 4 步;如果启用了 shell 导入,它仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:28Z"} -{"cache_key":"834bd8857aa5700b0ec493efb4625ba88e34c885a8254b13f6c44a75589021d2","segment_id":"index.md:9bcda844990ec646","source_path":"index.md","text_hash":"9bcda844990ec646b3b6ee63cbdf10f70b0403727dea3b5ab601ca55e3949db9","text":" for node WebViews; see ","translated":" 用于节点 WebView;请参阅 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:13Z"} -{"cache_key":"83b7bced23d11aea94d1b763db57522ce0fca9820fb5edcea109120ea955a46f","segment_id":"start/wizard.md:5cb343f0285df34e","source_path":"start/wizard.md","text_hash":"5cb343f0285df34e67f5215d063e3b53693dd3cdf65667f7d5c142f5db73f7a1","text":"Fastest first chat: open the Control UI (no channel setup needed). Run","translated":"最快的首次对话方式:打开 Control UI(无需设置渠道)。运行","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:07Z"} -{"cache_key":"83c4839813667de3bf67a2a050db86be067fa4bef9fa310d5baab23f82ebcfa5","segment_id":"index.md:aaa095329e21d86e","source_path":"index.md","text_hash":"aaa095329e21d86e24e8bec91bc001f7983d73a7a04c75646c0256448dac30ef","text":" — The space lobster who demanded a better name","translated":" — 那只要求取个更好名字的太空龙虾","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:09Z"} -{"cache_key":"841cbd53411a6aaa5b137d69b3feaa95de0ed0148f868dabd711786998382edb","segment_id":"index.md:6d6577cb1c128ac1","source_path":"index.md","text_hash":"6d6577cb1c128ac18a286d3c352755d1a265b1e3a03eded8885532c3f36e32ed","text":"Mario Zechner","translated":"Mario Zechner","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:36Z"} -{"cache_key":"842bdf601f288020ae8179f0d66f0d2d8a43112867d80efbb045acadbcd6626e","segment_id":"start/wizard.md:05bf3242414a96a7","source_path":"start/wizard.md","text_hash":"05bf3242414a96a764b57402b44b5852bbb0612ca017a9716e6364d47ecb0924","text":"Daemon install (LaunchAgent / systemd user unit)","translated":"守护进程安装(LaunchAgent / systemd 用户单元)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:28Z"} -{"cache_key":"843740adfdf616f31568963f47687512da2b547b5149b531b829112c01b57f5c","segment_id":"index.md:0b7e778664921066","source_path":"index.md","text_hash":"0b7e77866492106632e98e7718a8e1e89e8cb0ee3f44c1572dfd9e54845023de","text":"/concepts/streaming","translated":"/concepts/streaming","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:13Z"} -{"cache_key":"8469bc6049cc48c182c013768278e481d3ab521929f95cd267c63d0dc4bb5d38","segment_id":"index.md:5afbb1c887f6d850","source_path":"index.md","text_hash":"5afbb1c887f6d8501dba36cd2113d8f8b6ce6fa711a0d3e7efdc66f170abd2c2","text":"Cron jobs","translated":"定时任务","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:48Z"} -{"cache_key":"847900fa4457fc7d1dc92fa9688360479e337cedd03a88db8cd9f03cee8dbe51","segment_id":"index.md:99260acc29f71e4b","source_path":"index.md","text_hash":"99260acc29f71e4baeb36805a1fdbd2c17254b57c8e5a9cba29ee56518832397","text":" — Route provider accounts/peers to isolated agents (workspace + per-agent sessions)","translated":" —— 将 提供商 账户/对等方路由到隔离的 智能体(工作区 + 按 智能体 的 会话)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:21Z"} -{"cache_key":"84c686db4b4fc386bbb4efa35c380073babbc5fb4b2eb1ba3a8213a5f135a5bc","segment_id":"start/getting-started.md:161660030aa6c9e3","source_path":"start/getting-started.md","text_hash":"161660030aa6c9e32470cc1c023dab32dc748d80b0e61882b368cb775d12638e","text":" → ","translated":" → ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:27Z"} -{"cache_key":"84e200d4c823802e34a99da4faa8328d0e250aca858b0a32cc08e3ae12e0cc0e","segment_id":"start/wizard.md:e4442451c634e0db","source_path":"start/wizard.md","text_hash":"e4442451c634e0db2db0fae78725becbeafd567302e3ecbfeb5ccdc5887d29be","text":" from GitHub releases:","translated":" (从 GitHub 发布版本):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:56Z"} -{"cache_key":"85040674d9e2db6adb1ebb8c6215e72171d213a9dac8bd3c6bcb438178adc88b","segment_id":"index.md:0a4a282eda1af348","source_path":"index.md","text_hash":"0a4a282eda1af34874b588bce628b76331fbe907de07b57d39afdedccac2ba14","text":" http://127.0.0.1:18789/ (or http://localhost:18789/)","translated":" http://127.0.0.1:18789/(或 http://localhost:18789/)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:15Z"} -{"cache_key":"85cb0b7ed6991128b9fe65b7b103c5f32da742641cb24ffc1a3469002a2bcad6","segment_id":"start/getting-started.md:e24d86fa815827a4","source_path":"start/getting-started.md","text_hash":"e24d86fa815827a4dc5b8b22711caaf036427796512a74167ebaf615c495f9f8","text":"Telegram / Discord / others","translated":"Telegram / Discord / 其他","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:17Z"} -{"cache_key":"85e39779810391375b7241f2d999fbd5e6b2830ddf226a9ad561132c40d4fd47","segment_id":"start/wizard.md:21b111cbfe6e8fca","source_path":"start/wizard.md","text_hash":"21b111cbfe6e8fca2d181c43f53ad548b22e38aca955b9824706a504b0a07a2d","text":"Default ","translated":"默认 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:41Z"} -{"cache_key":"85fdea7998dfe111261588f998c93aceaa9b04ba174bc16bd188e3bbd8f3228a","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过第 4 步;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:40Z"} -{"cache_key":"860ba81b08f80660c665451acb02944ed74cb09a277f70d86255a6bf6bb7b88f","segment_id":"index.md:f3047ab42a6a5bbf","source_path":"index.md","text_hash":"f3047ab42a6a5bbf164106356fa823ecada895064120c4e5a30e1f632741cc5f","text":"Web surfaces","translated":"Web 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:35Z"} -{"cache_key":"861a980448662449d74017ee4183d74a8e54a772a24fefc3044d1dfffb8ca634","segment_id":"index.md:b332c3492d5eb10a","source_path":"index.md","text_hash":"b332c3492d5eb10a118eb6d8b0dcd689bc2477ce2ae16b303753b942b54377bc","text":"Configuration","translated":"配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:00Z"} -{"cache_key":"861c7c8e316f48bf6b0d22e066b9c76410b8d9b77a12fc7f28213c04ed5f1c30","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"我该点什么/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:28Z"} -{"cache_key":"86305fdb36e4df79c4c5037e3d1a5117141feccd13f65dcf1b0fd366ec22c4bc","segment_id":"index.md:5583785669449fc8","source_path":"index.md","text_hash":"5583785669449fc81a8037458c908c11a8f345c21c28f7f3a95de742bd52199a","text":"Media Support","translated":"媒体支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:49Z"} -{"cache_key":"868f3087136c15f059a91fe3ef5ac07ed6a0791e0a14a9740fb959acda8fad28","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:16Z"} -{"cache_key":"869c590a57afd29927a22cac794ad6fc2f4e464aebb30c0e06b85b2cc3be5bb4","segment_id":"start/wizard.md:69ba7688eac60797","source_path":"start/wizard.md","text_hash":"69ba7688eac60797286dd7bead426bcbd3405746cb3465ac44c997955bd95df2","text":"Config + credentials + sessions","translated":"配置 + 凭据 + 会话","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:41Z"} -{"cache_key":"86a9e0f21a152909fc53f77e35bd973583e2a5dc7cfe3837cf2c783d037a7a93","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:12Z"} -{"cache_key":"86ece013a8e276db3f513a6afa8df20c009f53d42bb3dc02b84dcb39f8697ffe","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:01Z"} -{"cache_key":"87897ef5886d39e96385313c32bc5580aff102c89185c03679de8a223d712e01","segment_id":"index.md:a194ca16424ddd17","source_path":"index.md","text_hash":"a194ca16424ddd17dacc45f1cbd7d0e41376d8955a7b6d02bc38c295cedd04e4","text":"RPC adapters","translated":"RPC 适配器","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:49Z"} -{"cache_key":"879702cd9a8560ed1fa329cb78a77dcbe84c66bfa29f3a1460261552dca9dfb2","segment_id":"index.md:66d0f523a379b2de","source_path":"index.md","text_hash":"66d0f523a379b2de6f8d5fba3a817ebc395f7bcaa54cc132ca9dfa665d1e9378","text":"Skills","translated":"技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:42Z"} -{"cache_key":"87b42c17fb63bfdcd059198572016f6b8b3cd297aaa991c4c1dea8723a68fbfe","segment_id":"index.md:9abe8e9025013e78","source_path":"index.md","text_hash":"9abe8e9025013e78a6bf2913f8c20ee43134ad001ce29ced89e2af9c07096d8f","text":"Media: images","translated":"媒体:图片","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:48Z"} -{"cache_key":"87d80d180c9d4789c20123b3bc177f99c4d00909f70c6fe3c209c078bdcafdce","segment_id":"index.md:1074116f823ec992","source_path":"index.md","text_hash":"1074116f823ec992e76d7e8be19d3235fec5ddd7020562b06e7242e410174686","text":"Remote use","translated":"远程使用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:36Z"} -{"cache_key":"87f8e99a729beb8e55fdef7ca70ebe4b11f4ff1c5dbbfcb3e654429198c6bf0f","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题(不是\"出了故障\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:05Z"} -{"cache_key":"88ab429b0aa43b0cfc93a1fc0e69576a2acbf64d0cd407fc1028488a0c27c9fc","segment_id":"index.md:fdef9f917ee2f72f","source_path":"index.md","text_hash":"fdef9f917ee2f72fbd5c08b709272d28a2ae7ad8787c7d3b973063f0ebeeff7a","text":" to update the gateway service entrypoint.","translated":" 以更新网关服务入口点。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:03Z"} -{"cache_key":"88d02146dbe2246af19afc2deecbb627547528cd1bf8b9839d358e8987a88a99","segment_id":"index.md:9c870aa6e5e93270","source_path":"index.md","text_hash":"9c870aa6e5e93270170d5a81277ad3e623afe8d4efd186d3e28f3d2b646d52e6","text":"How it works","translated":"工作原理","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:42Z"} -{"cache_key":"88f63f39528cb8bcb530a350a6b610125dbf6ab7034c2509a772e2ec28ed9476","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:10Z"} -{"cache_key":"8901c6c35445bae28f7f5cc6059387556bb67f591a89a7b3ff0d7b65dc1e85fd","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在编写提供商认证或部署环境的文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:47Z"} -{"cache_key":"8969e9b451aa17e28e3e2c32711b88094beda02a41bf0b2eb68d21aa8e84a63a","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:40Z"} -{"cache_key":"89f351289752118559ed644ee4aaac84085f4b398cf7c7c80c25aa46429e85c4","segment_id":"index.md:82ba9b60b12da3ab","source_path":"index.md","text_hash":"82ba9b60b12da3ab4e7dbcb0d7d937214cff80c82268311423a6dc8c4bc09df5","text":"OpenClaw 🦞","translated":"OpenClaw 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:48Z"} -{"cache_key":"8a0eac24b3b1941f1a90900aecb71bf1530e8645519ce53d22168a6ee01e583d","segment_id":"start/wizard.md:41ed52921661c7f0","source_path":"start/wizard.md","text_hash":"41ed52921661c7f0d68d92511589cc9d7aaeab2b5db49fb27f0be336cbfdb7df","text":"Gateway","translated":"Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:54Z"} -{"cache_key":"8a1775a68c3ab8aefdffaadd63ebe7cbc027e198b618fb72bb9a1b16edd08d3a","segment_id":"index.md:9f4d843a5d04e23b","source_path":"index.md","text_hash":"9f4d843a5d04e23b22eb79b3bfa0fbad70ede435ddb5d047e7d77e830efa6019","text":" — Bot token + WebSocket events","translated":" —— 机器人令牌 + WebSocket 事件","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:49Z"} -{"cache_key":"8a32ea50ef9d28ef09b557c184b4db0a493dd539261fde0ce5260a60bb881904","segment_id":"index.md:4818a3f84331b702","source_path":"index.md","text_hash":"4818a3f84331b702815c94b4402067e09e9e2d27ebc1a79258df8315f2c8600b","text":"📎 ","translated":"📎 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:47Z"} -{"cache_key":"8a81f73e519177081d755623ff45ac47552fa513f5aaf9c77335ce2c329087f3","segment_id":"start/getting-started.md:524bf322c2034388","source_path":"start/getting-started.md","text_hash":"524bf322c2034388f76cd94c1c7834341cedfa09bc4a864676749a08b243416d","text":"model/auth (OAuth recommended)","translated":"模型/认证(推荐使用 OAuth)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:53Z"} -{"cache_key":"8a83aabc21a6b84ce7552d72a9bc0a7c2d99864c31350064cbd39564354421f1","segment_id":"index.md:9adcfa4aa10a4e8b","source_path":"index.md","text_hash":"9adcfa4aa10a4e8b991a72ccc45261cd64f296aed5b257e4caf9c87aff1290a0","text":" — Send and receive images, audio, documents","translated":" —— 发送和接收图片、音频、文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:51Z"} -{"cache_key":"8a984f774ac8874be4797ffddd21cbdddc9379fa6bc51121620fbe9395cd91cf","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装完整性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:18Z"} -{"cache_key":"8ac55f265f3496db43dce513fde21c137826476afcff2ed1b3e86e613ff28b3c","segment_id":"start/wizard.md:44dab6c89cc5e6d9","source_path":"start/wizard.md","text_hash":"44dab6c89cc5e6d9a3112d3cb45c19cd16c3a9963082276015d4b624e5e67782","text":"Some channels are delivered as plugins. When you pick one during onboarding, the wizard\nwill prompt to install it (npm or a local path) before it can be configured.","translated":"部分渠道以插件形式提供。当您在上手引导期间选择某个渠道时,向导会提示先安装它(通过 npm 或本地路径),然后才能进行配置。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:57Z"} -{"cache_key":"8b2c90beec3893be65468e57df762fcbc285a9772042200eee3d4bf8f7ff9c0d","segment_id":"index.md:96be070791b7d545","source_path":"index.md","text_hash":"96be070791b7d545dc75084e59059d2170eed247350b351db5330fbd947e4be6","text":"👥 ","translated":"👥 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:29Z"} -{"cache_key":"8b921a960a8b92bc6210c2e228fe886cd93000a5a77f1cb5ac97233de2c4f965","segment_id":"index.md:fb87b8dba88b3edc","source_path":"index.md","text_hash":"fb87b8dba88b3edced028edfe2efa5f884ab2639c1b26efa290ccd0469454d25","text":"Slash commands","translated":"斜杠命令","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:03Z"} -{"cache_key":"8bdf5dbe57d7db52bbddf554ea4eed6bfa8e92209d24733e8f57355beba0ecb9","segment_id":"index.md:74926756385b8442","source_path":"index.md","text_hash":"74926756385b844294a215b2830576e3b2e93b84c5a8c8112b3816c5960f3022","text":" — DMs + guild channels via channels.discord.js","translated":" — 通过 channels.discord.js 支持私聊和服务器频道","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:43Z"} -{"cache_key":"8c2486104e938755d3aef3b6c16fe1e13db8efe500c6559d60fc003ad1acd319","segment_id":"environment.md:cf3f9ba035da9f09","source_path":"environment.md","text_hash":"cf3f9ba035da9f09202ba669adca3109148811ef31d484cc2efa1ff50a1621b1","text":" (what the Gateway process already has from the parent shell/daemon).","translated":" (Gateway 进程从父 shell/守护进程继承的已有环境变量)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:33Z"} -{"cache_key":"8c7d9724c491e8ae94a27ab7b11fb116922f6f3b5d61664aae76ab5fd88d2f0a","segment_id":"index.md:5cf9ea2e20780551","source_path":"index.md","text_hash":"5cf9ea2e2078055129b38cfbc394142ca6ca41556bd6e31cbd527425647c1d1e","text":"One Gateway per host (recommended)","translated":"每台主机一个 Gateway(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:40Z"} -{"cache_key":"8c84e9f488f94b32acf52cfc44019211a043af87a9c65b7305825db1a67fa421","segment_id":"environment.md:fefb88f0e707cf40","source_path":"environment.md","text_hash":"fefb88f0e707cf40854f27e99b81ac3cb08f0249f47ee200a80e6a5c16841b99","text":"Two equivalent ways to set inline env vars (both are","translated":"两种等效的内联环境变量设置方式(两者都是","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:29Z"} -{"cache_key":"8c9152b9d2d5dae37266587767f1afb6c33e8f471714b92f4a8cd7f91787afc2","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:29Z"} -{"cache_key":"8cac6173616db6cb8fe86a594893041cbcf322a1e0faeaf01528aeac4ca00759","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:24Z"} -{"cache_key":"8ceb849e69710631dc80f2eaa57838541deab798818efa76d69b2923f4ab9815","segment_id":"start/wizard.md:b06d5b13b5a1b910","source_path":"start/wizard.md","text_hash":"b06d5b13b5a1b91014ecd8016bec44f379a5269376b602326c42a399004c8491","text":": run ","translated":":运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:04Z"} -{"cache_key":"8d99559630736c2a11c549fcfed24d9ff242793fbac2956e758c3ac5b9f5fe7d","segment_id":"start/wizard.md:361f035d290095c6","source_path":"start/wizard.md","text_hash":"361f035d290095c6a1a00757c6ff6d5208dcb600fd6dd4b130bb42047fe3f08b","text":"18789","translated":"18789","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:51Z"} -{"cache_key":"8dac40cb3bfd86d7cfbe99acdb4641cd63d389ea15bd6bfa948a1c734204e925","segment_id":"index.md:496bcd8a502babde","source_path":"index.md","text_hash":"496bcd8a502babde0470e7105dfed7ba95bbc3193b7c6ba196b3ed0997e84294","text":"Voice notes","translated":"语音消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:21Z"} -{"cache_key":"8db9b500f11e5390f21a454ab89a4193991966e384e452f49e968afb9e280a69","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:56Z"} -{"cache_key":"8e5f833a1ebf122c23edb718754bcd685bfc77afbbac60eb1a2aff7234b60a27","segment_id":"index.md:a10f6ed8c1ddbc10","source_path":"index.md","text_hash":"a10f6ed8c1ddbc10d3528db7f7b6921c1dd5a5e78aa191ff017bf29ce2d26449","text":"⏱️ ","translated":"⏱️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:00Z"} -{"cache_key":"8e641ec66f3ae7edd18dd57ec47a5e61ff6ec0e585e0cbb966f09ebe803ed02f","segment_id":"index.md:ba5ec51d07a4ac0e","source_path":"index.md","text_hash":"ba5ec51d07a4ac0e951608704431d59a02b21a4e951acc10505a8dc407c501ee","text":")","translated":")","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:17Z"} -{"cache_key":"8e67881037945410ab1d9a08a670ff5947dfbd577da1a7c2d5c9fee74987194b","segment_id":"index.md:0eb95fb6244c03f1","source_path":"index.md","text_hash":"0eb95fb6244c03f1ccca696718a06766485c231347bf382424fb273145472355","text":"Quick start","translated":"快速开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:06Z"} -{"cache_key":"8e8e8756585cb2edf84845f3f8a7dfe14781b3b4acfe7ed6ef1d635aac3f4fef","segment_id":"start/wizard.md:1afc5c1f69b6ae2d","source_path":"start/wizard.md","text_hash":"1afc5c1f69b6ae2d91519459b548f196ead4eddba5882c0d3eb53032c35deee8","text":" so the Gateway stays up after logout.","translated":" 启用驻留,以便在注销后 Gateway 保持运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:22Z"} -{"cache_key":"8eb25fbece39afeec23d63e391e40f5e81d561838787d905058492ecc5a8b9df","segment_id":"index.md:15cd10b29ec14516","source_path":"index.md","text_hash":"15cd10b29ec1451670b80eae4b381e26e84fa8bdb3e8bea90ec943532411b189","text":" (@Hyaxia, ","translated":" (@Hyaxia, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:51Z"} -{"cache_key":"8ebe2d251018b02257f263d2a16eff5974332bc1187abf5526d990777596d622","segment_id":"index.md:cf9f12b2c24ada73","source_path":"index.md","text_hash":"cf9f12b2c24ada73bb0474c0251333f65e6d5d50e56e605bdb264ff32ad0a588","text":"Config lives at ","translated":"配置文件位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:23Z"} -{"cache_key":"8f284740058a03d3e3f1eb5dce6f13b548a48866fa3b7bba381f06b93bc6fd88","segment_id":"environment.md:c2d7247c8acb83a5","source_path":"environment.md","text_hash":"c2d7247c8acb83a5a020458fa836c2445922b51513dbdbf154ab5f7656cb04e9","text":"; does not override).","translated":";不覆盖已有值)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:17Z"} -{"cache_key":"8f48c119b19172331a14c91c05b056ff50c806eac677b102b4ab6803687c663c","segment_id":"start/wizard.md:a274352ee48cdb04","source_path":"start/wizard.md","text_hash":"a274352ee48cdb048273ff9ca060d9f76b541a3df3e7d07cf07e4e8379475bb5","text":": on macOS the wizard checks Keychain item \"Claude Code-credentials\" (choose \"Always Allow\" so launchd starts don't block); on Linux/Windows it reuses ","translated":":在 macOS 上,向导会检查钥匙串项 \"Claude Code-credentials\"(请选择\"始终允许\"以避免 launchd 启动时被阻止);在 Linux/Windows 上,它会复用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:57Z"} -{"cache_key":"8f638ba10519facb8bb0ca4a86605815fdb2358aaaca87ffe1e56dd9c59c18f9","segment_id":"start/getting-started.md:de10e3b2385f09a3","source_path":"start/getting-started.md","text_hash":"de10e3b2385f09a36e17e5e94d04d1b40b50fb1ea489a406db4c032d69683001","text":"pairing defaults (secure DMs)","translated":"配对默认设置(安全私信)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:58Z"} -{"cache_key":"8f85617fbbf28b9de5f1702889a5b731fb69ca71be4e7baac5388814f0946226","segment_id":"index.md:297d5c673f5439aa","source_path":"index.md","text_hash":"297d5c673f5439aa31dca3bbc965cb657a89a643803997257defb3baef870f89","text":"Open the dashboard (local Gateway):","translated":"打开仪表盘(本地 Gateway):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:13Z"} -{"cache_key":"8f8728437e28a03d18e6b0dc21669ea86fcfd4ae6b89c60e7442baf1975436b7","segment_id":"index.md:aaa095329e21d86e","source_path":"index.md","text_hash":"aaa095329e21d86e24e8bec91bc001f7983d73a7a04c75646c0256448dac30ef","text":" — The space lobster who demanded a better name","translated":" — 那只要求取个更好名字的太空龙虾","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:44Z"} -{"cache_key":"8fd4298d2a5388956240bc02b51a7b6c227ce0a1397da46538c00af6a564e8c1","segment_id":"index.md:c3af076f92c5ed8d","source_path":"index.md","text_hash":"c3af076f92c5ed8dcb0d0b0d36dd120bc31b68264efea96cf8019ca19f1c13a3","text":"Troubleshooting","translated":"故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:59Z"} -{"cache_key":"9031f7b1b0d90eab21e7d9029bd4eb11f1ed5a9e0c9c5638082744c233c92e43","segment_id":"index.md:83f4fc80f6b452f7","source_path":"index.md","text_hash":"83f4fc80f6b452f7cdf426f6b87f08346d7a2d9c74a0fb62815dce2bfddacf63","text":" — A space lobster, probably","translated":" —— 大概是一只太空龙虾说的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:52Z"} -{"cache_key":"907c8f6a0763b469cdeb4bb64835922245714239ced9d3ed569f49fe760c3a54","segment_id":"index.md:9adcfa4aa10a4e8b","source_path":"index.md","text_hash":"9adcfa4aa10a4e8b991a72ccc45261cd64f296aed5b257e4caf9c87aff1290a0","text":" — Send and receive images, audio, documents","translated":" — 发送和接收图片、音频、文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:17Z"} -{"cache_key":"907e9eee8caead29b80ff841b945f1df714df32948bfa54c56cef29685b1bc00","segment_id":"index.md:b5ccaf9b1449291c","source_path":"index.md","text_hash":"b5ccaf9b1449291c92f855b8318aeb2880a9aa1a75272d17f55cf646071b3eae","text":"Gmail hooks (Pub/Sub)","translated":"Gmail 钩子(Pub/Sub)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:26Z"} -{"cache_key":"90c8b075eff65b5f916b6ffcb3f8305a95bb6c162e9f8cac12e7fecc3f2409b0","segment_id":"index.md:25d853ca04397b6a","source_path":"index.md","text_hash":"25d853ca04397b6ae248036d4d029d19d94a4981290387e5c29ef61b0eca9021","text":"Media: audio","translated":"媒体:音频","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:28Z"} -{"cache_key":"90eac59e70026b85f505d0d2bfe603ba2880721e5abafedd52bdeeaf21def2f5","segment_id":"start/getting-started.md:5ead037957578a63","source_path":"start/getting-started.md","text_hash":"5ead037957578a63002170be037d777c909bad991ab7ea1c606b55ddfa60ccad","text":"Alternative (global install):","translated":"替代方式(全局安装):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:53Z"} -{"cache_key":"917e181e50cd2d2f7596153167295a7294816bb3a66714820a4e205f06859a61","segment_id":"index.md:c0aa8fcb6528510a","source_path":"index.md","text_hash":"c0aa8fcb6528510aea46361e8c871d88340063926a8dfdd4ba849b6190dec713","text":": it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see ","translated":":它是唯一被允许拥有 WhatsApp Web 会话 的进程。如果您需要救援机器人或严格隔离,请使用隔离的配置文件和端口运行多个网关;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:33Z"} -{"cache_key":"91c6437ace26aa4f27b7bc4023db93c6cc1db80da1ebc4aea9d791e86fd125b5","segment_id":"start/wizard.md:67b696468610b879","source_path":"start/wizard.md","text_hash":"67b696468610b879ed7f224dbf6b0861f27e39d20454cb9d7af1ec52d3e5eeaa","text":"Dashboard","translated":"仪表盘","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:10Z"} -{"cache_key":"91d1558d4947a913141ec4bc1a247285174da3d016fcc62ed430c690fcad7dd3","segment_id":"index.md:f0e2018271f51504","source_path":"index.md","text_hash":"f0e2018271f515041084c8189f297236abe18f9ec77edad1a61c5413310bbd9e","text":"🖥️ ","translated":"🖥️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:00Z"} -{"cache_key":"91ff2d0607cc2fb36dcd28db903c8cd10df497a6ee53085072c1fab662322443","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型 概述","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:36Z"} -{"cache_key":"92f138d40ad656de1f7508a72408aa280eb1010d096114a30af97085d0bfa447","segment_id":"start/wizard.md:42db531f91673e36","source_path":"start/wizard.md","text_hash":"42db531f91673e36e120292f33152cd0e1e53087f5668f4fec8e519809ee8d85","text":"macOS: LaunchAgent","translated":"macOS:LaunchAgent","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:10Z"} -{"cache_key":"93114bd8806e7d10e3c22b3415d23eec041357c24c8f6dc651d62cacc41ad375","segment_id":"start/getting-started.md:69c1cae4e20f3b2b","source_path":"start/getting-started.md","text_hash":"69c1cae4e20f3b2b4d3b3dd3ea7636d8faed8460af512aa7a7d3a3c09696f5fc","text":" Bun has known issues with these\nchannels. If you use WhatsApp or Telegram, run the Gateway with ","translated":" Bun 在这些渠道上存在已知问题。如果您使用 WhatsApp 或 Telegram,请使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:03Z"} -{"cache_key":"9332e0a6cbeffb7af77e26039be6a3fb42905022a7775699a3ff6aa4cd6bb862","segment_id":"start/wizard.md:5e52bafa51b66711","source_path":"start/wizard.md","text_hash":"5e52bafa51b667115904e942882f5aaf55262059621f3927b0d5699e08512c56","text":"DM security: default is pairing. First DM sends a code; approve via ","translated":"私信安全:默认为配对模式。首次私信会发送一个验证码;通过 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:02Z"} -{"cache_key":"93a02264b644d55b3fd01345f4e180207ab2e42e653686393c45e736ef355f86","segment_id":"environment.md:baa5be7f6320780b","source_path":"environment.md","text_hash":"baa5be7f6320780bd7bb7b7ddbb8cd1ffb26ccf7d94d363350668c50aedcf95f","text":" (applied only if missing).","translated":" (仅在缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:27Z"} -{"cache_key":"93e072d0402b8e5c6f32b9aabff58f378e0ceaf8815886e0b5a873fad83f9e36","segment_id":"environment.md:ab5aec4424cf678d","source_path":"environment.md","text_hash":"ab5aec4424cf678dcfb1ad3d2c2929c1e0b2b1ff61b82b961ada48ad033367b4","text":" (dotenv default; does not override).","translated":" (dotenv 默认行为;不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:11Z"} -{"cache_key":"93e5b6f997f3fd1199e507267858a37604727435b4fbbe418b39b953e7102fa6","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:13Z"} -{"cache_key":"93ed507f9f7ad50ae11b95d49a6d547ac605a4bb966e1d9800da110bf2f85ff6","segment_id":"index.md:5583785669449fc8","source_path":"index.md","text_hash":"5583785669449fc81a8037458c908c11a8f345c21c28f7f3a95de742bd52199a","text":"Media Support","translated":"媒体支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:15Z"} -{"cache_key":"93f8819a09c973fae0ec648305d9c7e50ebee3771359b807686c605023b0b705","segment_id":"start/getting-started.md:eba2ed5d6cc0239d","source_path":"start/getting-started.md","text_hash":"eba2ed5d6cc0239dd5d0475d7ea57b120ff06eb1100c67f4cf713c3bb167f0a0","text":": Node (recommended; required for WhatsApp/Telegram). Bun is ","translated":":Node(推荐;WhatsApp/Telegram 必需)。Bun 为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:19Z"} -{"cache_key":"94142aa44168395437a427ea262b059160a067ce005c11ceedb11f664eeec66e","segment_id":"start/wizard.md:3b0c9c223937ca13","source_path":"start/wizard.md","text_hash":"3b0c9c223937ca1308ceb186bb6cde91e811d0fefedcdf119c47e4d7cf58ec9a","text":"The Gateway exposes the wizard flow over RPC (","translated":"Gateway 通过 RPC 暴露向导流程(","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:43Z"} -{"cache_key":"9425ad8ab2d143b8d1558adc989c0b4416bf7144082034f0eb317527934e9936","segment_id":"index.md:d00eca1bae674280","source_path":"index.md","text_hash":"d00eca1bae6742803906ab42a831e8b5396d15b6573ea13c139ec31631208ec1","text":"Getting Started","translated":"快速入门","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:44Z"} -{"cache_key":"943aadb2a660dc3c85e9c5e1581741edaf50fd5be23f87f43f509ea1cdf162f0","segment_id":"index.md:add4778f9e60899d","source_path":"index.md","text_hash":"add4778f9e60899d7f44218483498c0baf7a0468154bc593a60747ee769c718c","text":"Android node","translated":"Android 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:15Z"} -{"cache_key":"944265cf5c15fd945a3ceb8d27730e4839e78556bcec52463b9e83467b63df5f","segment_id":"start/wizard.md:d13b8b4ebb7477f9","source_path":"start/wizard.md","text_hash":"d13b8b4ebb7477f96681a90cc723fa7532710b595d8aba6f9a840f47299515fd","text":"macOS app onboarding: ","translated":"macOS 应用上手引导: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:02Z"} -{"cache_key":"9481b030bd57d871b28ddf5316096a8cc8fc1fc317bd03e508a5d9239e3d93c5","segment_id":"start/getting-started.md:aeba20c4d03f146e","source_path":"start/getting-started.md","text_hash":"aeba20c4d03f146e967a7b748d8dee3859c34b0de6b6402851edd2ea08f9b09a","text":"5) DM safety (pairing approvals)","translated":"5)私信安全(配对审批)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:36Z"} -{"cache_key":"94a860b1ca3e9303574016027c1e3c170689f08e72bfd49acb315353f38633e8","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:05Z"} -{"cache_key":"94dd1cb509ea10b9fce425cbde9d55373457d90dd1ccd06ffe6362643b29cce2","segment_id":"start/wizard.md:4d5278f9b1f0b84c","source_path":"start/wizard.md","text_hash":"4d5278f9b1f0b84c0ad3f87ffbbd6ed35b2d223c2eb2f866682026b9d00e636d","text":"Token if the remote Gateway requires auth (recommended)","translated":"如果远程 Gateway 需要认证,则需提供令牌(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:23Z"} -{"cache_key":"950eae91a2abdbc1062fa1fb78a43a5b2883dda0245c95c5b02bceac0c1bfbc9","segment_id":"start/wizard.md:d6c64db69399b7ae","source_path":"start/wizard.md","text_hash":"d6c64db69399b7ae55bae206d47ae2efa6071a8e49f7cf1cd793d5994b5c2976","text":" to create a separate agent with its own workspace,\nsessions, and auth profiles. Running without ","translated":" 创建一个拥有独立工作区、会话和认证配置的单独智能体。不使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:50Z"} -{"cache_key":"958b1f38beeaa4e69690d389ff0191ffc0c3a9f97863ccc3c17a11097ec4c512","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出问题时该去哪里排查","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:23Z"} -{"cache_key":"95aad0f0fde6668b0ddea6c8212249c754769fe12739b8338c427f21860c8c7b","segment_id":"start/wizard.md:96192b2485e20320","source_path":"start/wizard.md","text_hash":"96192b2485e203201d62348dde087408b660e53f1df0fe65728759e16fac82bb","text":"Anthropic token (paste setup-token)","translated":"Anthropic 令牌(粘贴 setup-token)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:02Z"} -{"cache_key":"95b902406b2a68302a809d07f80f069bf4bac5d96fec5e55b4d76f4863492faf","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:09Z"} -{"cache_key":"9638dca44bfb62a1f8c5f57d97d7c5636eb72da5567b4aa587b1cfd25592df76","segment_id":"environment.md:5b06ccc0bf4ede1b","source_path":"environment.md","text_hash":"5b06ccc0bf4ede1b00437d274b91d1a22cf7c0dc421b279348d9e333505fd264","text":" shell/daemon).","translated":" shell/守护进程中获得的内容)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:38Z"} -{"cache_key":"96fd19674037838fbf4ae365f247dad43d7d88f1eafecdd40527df1305639695","segment_id":"start/getting-started.md:73fc16837b0a6b13","source_path":"start/getting-started.md","text_hash":"73fc16837b0a6b13c23d4100f65a5e58460aac38cd66f884c5884b74a553f93a","text":"Control UI","translated":"控制界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:42Z"} -{"cache_key":"972e8e07b8a59145f0ed3291dc6b3f72f715e8299cd2078abe5588c64819a265","segment_id":"start/wizard.md:cdb4ee2aea69cc6a","source_path":"start/wizard.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:13Z"} -{"cache_key":"975f5db56766c17a2b10af9d74333f67595593ac0a6513b908618c296cc4f605","segment_id":"index.md:3d8fed7c358b2ccf","source_path":"index.md","text_hash":"3d8fed7c358b2ccf225ee16857a0bb9b950fd414319749e0f6fff58c99fa5f22","text":"Subscription auth","translated":"订阅认证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:51Z"} -{"cache_key":"9767a108ed5a174a4fd54d7d9c6213f6d294afe78f1a08a32f46eb624ee3c424","segment_id":"start/wizard.md:0ba91e19ba6d7b97","source_path":"start/wizard.md","text_hash":"0ba91e19ba6d7b970cdd563b05fd2c5f32751202c010c6c5adf4e40044023ed3","text":"Daemon install","translated":"守护进程安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:07Z"} -{"cache_key":"97b2e80f9008ad199527a8380466b8cb9e08c9f7bd52256f899ddd77b0c7f060","segment_id":"index.md:d00eca1bae674280","source_path":"index.md","text_hash":"d00eca1bae6742803906ab42a831e8b5396d15b6573ea13c139ec31631208ec1","text":"Getting Started","translated":"入门指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:07Z"} -{"cache_key":"97d83391e42ba7d3c2019f295e24a2981299c23dab40af45fab4ebd24ec272d7","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (即 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:20Z"} -{"cache_key":"97db9a094700b6722c7d627483ea58cf2263ec4a343062563c166cab96c324ca","segment_id":"index.md:fb87b8dba88b3edc","source_path":"index.md","text_hash":"fb87b8dba88b3edced028edfe2efa5f884ab2639c1b26efa290ccd0469454d25","text":"Slash commands","translated":"斜杠命令","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:29Z"} -{"cache_key":"97e64a162c2ed197b0aabfd9479dfc8f8a2be8f754e8170e70e152327f02fe5e","segment_id":"index.md:ee8b06871d5e335e","source_path":"index.md","text_hash":"ee8b06871d5e335e6e686f4e2ee9c9e6de5d389ece6636e0b5e654e0d4dd5b7e","text":"Control UI (browser)","translated":"控制界面(浏览器)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:43Z"} -{"cache_key":"983385317e20206e673531fcf329991718de8cd556d261974454832bf1222781","segment_id":"start/wizard.md:69f2e29c4496ba8d","source_path":"start/wizard.md","text_hash":"69f2e29c4496ba8d72788bdc5326ed5a74751c5b6e67115cd9a641ab49520997","text":" for a machine‑readable summary.","translated":" 以获取机器可读的摘要。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:17Z"} -{"cache_key":"986141bb219554b112fbaaa6ab9722f121b126f35d306b6398dae0e0d9d0fbcb","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:46Z"} -{"cache_key":"9878b9b1f86218e0cf79b700dbb48857de209bbeb665a370642c6f25490ef0a3","segment_id":"start/wizard.md:d143f4078cca268c","source_path":"start/wizard.md","text_hash":"d143f4078cca268c9d6d569cbd06460e7ccc5af0a487c42e655ff1e1587b69fb","text":"Java 21","translated":"Java 21","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:12Z"} -{"cache_key":"98946553d70879085d2c248422199de47fecde1138aa7d97301da8415f5dd7a9","segment_id":"index.md:1074116f823ec992","source_path":"index.md","text_hash":"1074116f823ec992e76d7e8be19d3235fec5ddd7020562b06e7242e410174686","text":"Remote use","translated":"远程使用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:19Z"} -{"cache_key":"98ccfc4d8aa8cbec392810df9c7ec0169da2595e35ee80950d991a26cee1dd8d","segment_id":"index.md:15cd10b29ec14516","source_path":"index.md","text_hash":"15cd10b29ec1451670b80eae4b381e26e84fa8bdb3e8bea90ec943532411b189","text":" (@Hyaxia, ","translated":" (@Hyaxia, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:18Z"} -{"cache_key":"98d3cdf18a2db583a11d3eb9c8159f58997167f3983c6d8d64b80328eddb1b19","segment_id":"environment.md:aac7246f5e97142c","source_path":"environment.md","text_hash":"aac7246f5e97142c3f257b7d8b84976f10c29e1b89804bb9d3eb7c43cc03cb8e","text":"Environment variables","translated":"环境变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:49Z"} -{"cache_key":"98d73d2aa5399573ee48d8f16092a00b1d2eadae28493c02ff77524338175f2e","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:17Z"} -{"cache_key":"98ea6f91820d8c3481102e31672db08e7244fe1323f120f2fd8e61e89b94335d","segment_id":"index.md:9abe8e9025013e78","source_path":"index.md","text_hash":"9abe8e9025013e78a6bf2913f8c20ee43134ad001ce29ced89e2af9c07096d8f","text":"Media: images","translated":"媒体:图片","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:59Z"} -{"cache_key":"99777f2060729ab9a46bd52bd1987164d05761c7d99620992bc4cd4faaf79fdf","segment_id":"start/wizard.md:355a68267542db8b","source_path":"start/wizard.md","text_hash":"355a68267542db8b128049bdf8c3a39dda00fb9534370564874c04752aac8cd4","text":"which stores ","translated":"它会将 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:23Z"} -{"cache_key":"99d81c989d83fd644fbd647a5b6e583ccd7f640ef687e5a62751e2c1da8ba138","segment_id":"environment.md:e8c89c33e900bb9b","source_path":"environment.md","text_hash":"e8c89c33e900bb9b97f9c3b025f349fd3d91202293f3eff66c7fb4de7da892b6","text":" enabled.","translated":" 启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:27Z"} -{"cache_key":"99ec1731cc9a06b32983cce57635d9b8df9ac1989c84ec9406049fba273998a4","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:12Z"} -{"cache_key":"99fddd046201ffe3b168ecf4215f0360e5fd2691e6027266a31bf76b2882ab71","segment_id":"start/wizard.md:a30cb0435098e376","source_path":"start/wizard.md","text_hash":"a30cb0435098e3761bf442f8085eb0abbc96b38de185a291bfc09c2c31540b51","text":"OpenAI Code (Codex) subscription (Codex CLI)","translated":"OpenAI Code (Codex) 订阅 (Codex CLI)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:09Z"} -{"cache_key":"99fe8d690ab356c552c582382dc05f3b5f26bedd3ccc366caa37f9ed80844213","segment_id":"start/wizard.md:a276c16f5217dcae","source_path":"start/wizard.md","text_hash":"a276c16f5217dcaede2670c6683c189989c1ef08d928f3cd563b92bf138a42ea","text":"Primary entrypoint:","translated":"主要入口:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:05Z"} -{"cache_key":"9a064e63d5ae22ffdcaf42bd4bf73604e1a87c082e0195db4c3d382a48d1276c","segment_id":"start/wizard.md:f56c761705123bae","source_path":"start/wizard.md","text_hash":"f56c761705123bae6b46571f53cc1d68b2da4a34b76aaf5c76a47438f42e2d8b","text":"/concepts/oauth","translated":"/concepts/oauth","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:36Z"} -{"cache_key":"9a6e0001bdbf4e254feed1fae82e1c51386ae1721b274ba14a89c4efe47ef794","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"您可以使用以下方式在配置字符串值中直接引用 环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:18Z"} -{"cache_key":"9a6ff65f8974f826fabad2312ba3e0b54a6288f56782335b2ce21d931fe6b30a","segment_id":"start/getting-started.md:996c32b35f2182a9","source_path":"start/getting-started.md","text_hash":"996c32b35f2182a9c83815395113f92344269ebb4ab3525017c4cafaa3d1a8fd","text":"Providers","translated":"提供商","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:09Z"} -{"cache_key":"9a7478d471c30618239146c8b7adbd3669fd552a2fafba13cc6dc8b51c083243","segment_id":"index.md:a194ca16424ddd17","source_path":"index.md","text_hash":"a194ca16424ddd17dacc45f1cbd7d0e41376d8955a7b6d02bc38c295cedd04e4","text":"RPC adapters","translated":"RPC 适配器","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:25Z"} -{"cache_key":"9aaaeb76bc162fe216b19290b0978994ad43023335a81224b65bf7e4849ed5b6","segment_id":"index.md:frontmatter:summary","source_path":"index.md:frontmatter:summary","text_hash":"891b2aa093410f546b89f8cf1aa2b477ba958c2c06d2ae772e126d49786df061","text":"Top-level overview of OpenClaw, features, and purpose","translated":"OpenClaw 的顶层概述、功能和用途","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:18Z"} -{"cache_key":"9b0b553b6bb64b97bc340190fc4f10febadb5c4542122d2dea4661534f60b8b6","segment_id":"index.md:a10f6ed8c1ddbc10","source_path":"index.md","text_hash":"a10f6ed8c1ddbc10d3528db7f7b6921c1dd5a5e78aa191ff017bf29ce2d26449","text":"⏱️ ","translated":"⏱️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:04Z"} -{"cache_key":"9bb6f5ad39ff9d7aff3bca1fda6f474e19f25c0ffaaffaf3b19c924234d8c03a","segment_id":"index.md:f0d82ba647b4a33d","source_path":"index.md","text_hash":"f0d82ba647b4a33da3008927253f9bed21e380f54eab0608b1136de4cbff1286","text":"OpenClaw bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js), and iMessage (imsg CLI) to coding agents like ","translated":"OpenClaw 将 WhatsApp(通过 WhatsApp Web / Baileys)、Telegram(Bot API / grammY)、Discord(Bot API / 渠道.discord.js)和 iMessage(imsg CLI)桥接到编程 智能体,例如 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:31Z"} -{"cache_key":"9c03abf2c27129fa2698e7640a7b9add5936e84cf6d779d5f189bf9a27940aa6","segment_id":"index.md:310cc8cec6b20a30","source_path":"index.md","text_hash":"310cc8cec6b20a3003ffab12f5aade078a0e7a7d6a27ff166d62ab4c3a1ee23d","text":"If you ","translated":"如果你 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:25Z"} -{"cache_key":"9c11b2ec1c922e332f69000a8a937f0a2318b5356faa6278a7580cc49c3526d5","segment_id":"index.md:e47cdb55779aa06a","source_path":"index.md","text_hash":"e47cdb55779aa06a74ae994c998061bd9b7327f5f171c141caf2cf9f626bfe4b","text":"Peter Steinberger","translated":"Peter Steinberger","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:52Z"} -{"cache_key":"9c2360243508b8766d5d9813350a4c3153aeb8349b8ddf8f214ba33983b71f50","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"环境变量 等效项:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:21Z"} -{"cache_key":"9c32d4d41cfaa814eacd6b9157f02b4ae0f9824751479280fd755479974d0695","segment_id":"index.md:ba5ec51d07a4ac0e","source_path":"index.md","text_hash":"ba5ec51d07a4ac0e951608704431d59a02b21a4e951acc10505a8dc407c501ee","text":")","translated":")","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:53Z"} -{"cache_key":"9c583361a5ae41c801a429bb6666f9a7b2ec6705ff7f1446fcf6281b40f2d5da","segment_id":"index.md:b332c3492d5eb10a","source_path":"index.md","text_hash":"b332c3492d5eb10a118eb6d8b0dcd689bc2477ce2ae16b303753b942b54377bc","text":"Configuration","translated":"配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:25Z"} -{"cache_key":"9c80e959862fdf2310d9719e9854c2424bb1e2fa55aabcde8b5caf060184bd85","segment_id":"start/wizard.md:197b37e09b318165","source_path":"start/wizard.md","text_hash":"197b37e09b3181655a23576caec90510709eacfecd39d7c55d9dca93cccaac9a","text":"npm / pnpm","translated":"npm / pnpm","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:49Z"} -{"cache_key":"9cbdb7ff14fdd8d015b7bcce3b3c0d48b1711e631ff86cae2c699684f8e4d143","segment_id":"start/wizard.md:c4b2896a2081395e","source_path":"start/wizard.md","text_hash":"c4b2896a2081395e282313d6683f07c81e3339ef8b9d2b5a299ea5b626a0998f","text":").","translated":")。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:17Z"} -{"cache_key":"9d44e8f510b7e2cf5ea7b08188a9c606937bc3db8c49e22d903828b34b8b04c1","segment_id":"start/wizard.md:19f53c2ccaf19969","source_path":"start/wizard.md","text_hash":"19f53c2ccaf199696e23d43812941e23fed0625900d2a551533304d6ca1980f6","text":" install or change anything on the remote host.","translated":" 在远程主机上安装或更改任何内容。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:40Z"} -{"cache_key":"9d7b3ce341253f712ecd8b4ca661ae0a6d85b1ee8e8ddf00b1ec02ca13d67237","segment_id":"help/index.md:569ca49f4aaf7846","source_path":"help/index.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:41Z"} -{"cache_key":"9db03f9dc7b789dbc3b4115e9b644cd22de2a63adeed02eb3b403a223d96b819","segment_id":"index.md:2b402c90e9b15d9c","source_path":"index.md","text_hash":"2b402c90e9b15d9c3ef65c432c4111108f54ee544cda5424db46f6ac974928e4","text":"🔐 ","translated":"🔐 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:14Z"} -{"cache_key":"9e0b7ed9895b612971d582145c837e95bfec8b051c6bccddd008d56dff778711","segment_id":"start/wizard.md:28d03596d24eeb4e","source_path":"start/wizard.md","text_hash":"28d03596d24eeb4eab2d6fe21ca1cb95be7cb1fa6f92933db05e2cc4f4cdfa06","text":"Skip","translated":"跳过","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:16Z"} -{"cache_key":"9e3a338fc3d6bce679ff4711d74e67c66877245b6ebd2c2a08f182a3a788dae6","segment_id":"start/getting-started.md:fd82e54418ec23cd","source_path":"start/getting-started.md","text_hash":"fd82e54418ec23cda00219878eaf76c3b37337b3dcb7560a941db6a0d2ec249e","text":": background install (launchd/systemd; WSL2 uses systemd)","translated":":后台安装(launchd/systemd;WSL2 使用 systemd)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:15Z"} -{"cache_key":"9e9a7f1005f6c8fc07bbbcded4f31d4f5564a378e2c4af541dbe1c1315165fa2","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:17Z"} -{"cache_key":"9f18072e77601b529d2c7b3ccba29effcace5e2ff848e7dc253434f6bbc94d39","segment_id":"start/getting-started.md:aa7fc908228260b4","source_path":"start/getting-started.md","text_hash":"aa7fc908228260b49b7837767419fdb1ab6be7f1a6930175fd00795cb1bd19fc","text":"Daemon","translated":"守护进程","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:13Z"} -{"cache_key":"9f321a29940495419d67ad4ba9b74534941c03957df80c8ddd22d40e2ed71d9c","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:24Z"} -{"cache_key":"9f8debe489928579a649aee67a82d66af48bb993e545843a1ba939323fd52594","segment_id":"index.md:frontmatter:read_when:0","source_path":"index.md:frontmatter:read_when:0","text_hash":"08965a8ab25e66157009d1617fc167bcc2404fa0c0ca50b1e5e5750957be3b10","text":"Introducing OpenClaw to newcomers","translated":"向新用户介绍 OpenClaw","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:45Z"} -{"cache_key":"9f97e722bb08309f9f0490ef497ed3b8e9b5b00071c59dde29a3dd9471da6389","segment_id":"start/wizard.md:1bf470ef04c760ee","source_path":"start/wizard.md","text_hash":"1bf470ef04c760eeab30f680b75729f851e0045bd0c63a9f5fc56a8e3562b193","text":"Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).","translated":"需要已登录的用户会话;对于无头模式,请使用自定义 LaunchDaemon(未随附)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:14Z"} -{"cache_key":"9fd51e3ee4b19d2de868d2b4e8811d44509bdc07ae4fc5c9ad3f9cdffff41b4f","segment_id":"start/wizard.md:483a226d3bf316d4","source_path":"start/wizard.md","text_hash":"483a226d3bf316d46abacada3304da39fddb44f53ff4eb0cb627061a9ab44cab","text":" so launchd can read it.","translated":" 以便 launchd 可以读取。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:30Z"} -{"cache_key":"9fe10747da6ed5a4362c668166c1501624c52fc26255cde686f999a17e6186ca","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:32Z"} -{"cache_key":"9fe3f448ea4b66ae71aaa710f4684b854e1de585336fa81f594ab40d91843b3c","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装完整性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:14Z"} -{"cache_key":"9ff4e3a77b7395b11a7ccb909093b21c475fe55afff74e5f7e5d2d8e6122b424","segment_id":"index.md:8fdfb6437318756c","source_path":"index.md","text_hash":"8fdfb6437318756c950bf2261538f06236e36040986891fa7b43452b987fb9f3","text":" — an AI, probably high on tokens","translated":" — 大概是一个嗑多了 token 的 AI 说的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:25Z"} -{"cache_key":"9ff80a7969b1f50607f2046588db0ff9bfa745245e27cd65bcd5f3f5a7181354","segment_id":"start/wizard.md:6ea5cd459d660a33","source_path":"start/wizard.md","text_hash":"6ea5cd459d660a33a88276c5483ca067aaefa500b8b349067ed7eaeda6d871a8","text":"No remote installs or daemon changes are performed.","translated":"不会执行远程安装或守护进程更改。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:29Z"} -{"cache_key":"a00706550adc72d0953bfca3d2d9ba92c66c2462d8110da48a062d7618ab3092","segment_id":"index.md:10bf8b343a32f7dc","source_path":"index.md","text_hash":"10bf8b343a32f7dc01276fc8ae5cf8082e1b39c61c12d0de8ec9b596e115c981","text":"WebChat","translated":"WebChat","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:08Z"} -{"cache_key":"a05d1b3ace09d73190450de5094411e34c68a30679d27f7485cd5077e6eb93b4","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:07Z"} -{"cache_key":"a066cc68d6f3b2d3eb59c1a8859348223e884c87eb512c19cde3cb5e14ebc7ca","segment_id":"start/wizard.md:ab744fe26b887abd","source_path":"start/wizard.md","text_hash":"ab744fe26b887abdb3558472d5bfe074f2716bbd88c8fab2b86bc745cbe7cf52","text":"Tip: ","translated":"提示: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:45Z"} -{"cache_key":"a08b0f8129a90b28e13de7f9610a1f2d9421d75eed227b3d4036c3bfb91b06c5","segment_id":"start/wizard.md:fbb0f1b48888c121","source_path":"start/wizard.md","text_hash":"fbb0f1b48888c1213ed6d214e58b88f98b885fde7be5ea69b81caa8d32ffce29","text":"Sets ","translated":"设置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:20Z"} -{"cache_key":"a09638c50f961a7ca5d6f411261c7dbc4a1c70677b9b54dd69f7c19300035a18","segment_id":"environment.md:baa5be7f6320780b","source_path":"environment.md","text_hash":"baa5be7f6320780bd7bb7b7ddbb8cd1ffb26ccf7d94d363350668c50aedcf95f","text":" (applied only if missing).","translated":" (仅在缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:53Z"} -{"cache_key":"a09a1449f338df66eb814dfd44c4ba2fb803af25fdb880365d9656fd10e68896","segment_id":"index.md:1eb6926214b56b39","source_path":"index.md","text_hash":"1eb6926214b56b396336f22c22a6f8a4c360cfe7109c8be0f9869655b9ff6235","text":"Pairing (DM + nodes)","translated":"配对(私聊 + 节点)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:07Z"} -{"cache_key":"a09eb80d6a469c1f8c38b2f519e5563d3e70b0c6d437c1379f9a1218996f56cb","segment_id":"index.md:frontmatter:read_when:0","source_path":"index.md:frontmatter:read_when:0","text_hash":"08965a8ab25e66157009d1617fc167bcc2404fa0c0ca50b1e5e5750957be3b10","text":"Introducing OpenClaw to newcomers","translated":"向新用户介绍 OpenClaw","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:26Z"} -{"cache_key":"a0a0b7d915a1d0f6cdedf629867e973881d7354388fd9ce112d4863e6d5e8e2f","segment_id":"start/wizard.md:656458ef5481a088","source_path":"start/wizard.md","text_hash":"656458ef5481a0885762810b02f1a4c75c6f6ffa968fd85028b9e810f5e1219f","text":"Re-running the wizard does ","translated":"重新运行向导 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:10Z"} -{"cache_key":"a0ba382a0fbf8fd57a0f05d2058dbf6147bcd4387a60e8b082c2009fc31db28b","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:38Z"} -{"cache_key":"a0c0d04dc411248ead0dc8669af49162ca2857cc967670a1db53f5350ef36c7a","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:20Z"} -{"cache_key":"a0d2cd21a3b93f857394aa3ed248a36130e8edfcf329e3cf57411efb04382e5a","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源获取环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:17Z"} -{"cache_key":"a0e99af5ca5e84733312e288abcca135768e88eccf093eceeb670be82e40d41f","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:35Z"} -{"cache_key":"a21eca32ff057c4ce091d2964d7860ed8ec2edc05aa6c20fefc81f158d396755","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题(而不是\"出了问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:01Z"} -{"cache_key":"a235aca76de620b9ed0805727dc5f142a660dc6dac3254a01531acad96cb084d","segment_id":"index.md:d53b75d922286041","source_path":"index.md","text_hash":"d53b75d9222860417f783b0829023b450905d982011d35f0e71de8eed93d90fc","text":"New install from zero:","translated":"从零开始全新安装:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:05Z"} -{"cache_key":"a28528856eac855eaf431dc468f5d1a9b3918df6dc73a9bb54c488aa7c23faad","segment_id":"start/getting-started.md:387847437e10c06c","source_path":"start/getting-started.md","text_hash":"387847437e10c06cae87567a6579b38e71849aea9c2355eba4a8d090418360b9","text":"The wizard can write tokens/config for you. If you prefer manual config, start with:","translated":"向导可以为您写入令牌/配置。如果您更喜欢手动配置,请从以下内容开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:19Z"} -{"cache_key":"a28d9fd85bfd4afc9a62b3cfe12607c86001b32a9a97d72eeb6cd50993fb51ee","segment_id":"index.md:c6e91f3b51641b1c","source_path":"index.md","text_hash":"c6e91f3b51641b1c43d297281ee782b40d9b3a0bdd7afc144ba86ba329d5f95f","text":"OpenClaw = CLAW + TARDIS","translated":"OpenClaw = CLAW + TARDIS","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:04Z"} -{"cache_key":"a2c462e51d228b070aba2a14a09d41aa54e0962d795724d5a090c71c7e242dfe","segment_id":"start/getting-started.md:acdd1e734125f341","source_path":"start/getting-started.md","text_hash":"acdd1e734125f341604c0efbabdcc4c4b0597e8f6235d66c2445edd1812838c1","text":"Telegram","translated":"Telegram","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:22Z"} -{"cache_key":"a2f08193fbeb8a9400b75d96157bbbf488ab3aa51d50658094d00bb841646217","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:37Z"} -{"cache_key":"a32d46351380765e1ec38639781fc9e5abaccdf74240eee7ab685f570551f487","segment_id":"index.md:7d8b3819c6a9fb72","source_path":"index.md","text_hash":"7d8b3819c6a9fb726f40c191f606079b473f6f72d4080c13bf3b99063a736187","text":"Ops and safety:","translated":"运维与安全:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:04Z"} -{"cache_key":"a33cc9039329637ba985cef1ca2948d9f26eb2445653d3b7530bec79b97f550e","segment_id":"index.md:774f1d6b2910de20","source_path":"index.md","text_hash":"774f1d6b2910de200115afec1bd87fe1ea6b0bc2142ac729e121e10a45df4b5d","text":" ← ","translated":" ← ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:20Z"} -{"cache_key":"a34a85b676726b7a90c88b91c5bb2a67ef320ebcac8bd9eabe626eefb3e8dee1","segment_id":"environment.md:62d66b8c36a6c9aa","source_path":"environment.md","text_hash":"62d66b8c36a6c9aa7134c8f9fe5912435cb0b3bfce3172712646a187954e7040","text":"See [Configuration: Env var substitution](/gateway/configuration#env-var-substitution-in-config) for full details.","translated":"详见 [配置:环境变量替换](/gateway/configuration#env-var-substitution-in-config)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:47Z"} -{"cache_key":"a34be228f3b2eda3844fb225eb35e1ebb8875ee64a19a2bba1e88f5c21146ec3","segment_id":"start/getting-started.md:6ae8b12a4b2d056a","source_path":"start/getting-started.md","text_hash":"6ae8b12a4b2d056ab9e19350d8bbffea9178d4fe1aad54e7cb6805578e75a34d","text":": OpenAI Code (Codex) subscription (OAuth) or API keys. For Anthropic we recommend an API key; ","translated":":OpenAI Code (Codex) 订阅(OAuth)或 API 密钥。对于 Anthropic,我们推荐使用 API 密钥; ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:06Z"} -{"cache_key":"a3909a297d0e74a4cb418a7a549f495f6eed24048ebf8f12f448eff8d7a20c50","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:18Z"} -{"cache_key":"a3e59ee4578bdb5fd68940692f78e9389e163da63e350ba9f0689ffbc980d4a5","segment_id":"environment.md:28b1103adde15a9d","source_path":"environment.md","text_hash":"28b1103adde15a9ddd8fc71f0c57dc155395ade46a0564865ccb5135b01c99b7","text":"OpenClaw pulls environment variables from multiple sources. The rule is **never override existing values**.","translated":"OpenClaw 从多个来源拉取环境变量。规则是**永远不覆盖已有的值**。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:23Z"} -{"cache_key":"a4384986e5ce06eca0118051e6a851ac0fd3d922d4d1f31b60000687962a2288","segment_id":"start/wizard.md:ec1a3a5d6d6f0bac","source_path":"start/wizard.md","text_hash":"ec1a3a5d6d6f0baca7805bf1ea17fc7b02042416f02f80bc1970ad8c710abd89","text":"Flow details (local)","translated":"流程详情(本地)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:56Z"} -{"cache_key":"a46b3daf9b1e1045e72e437a283e8377ec9b4820cde181d05a24a9a582cbf914","segment_id":"start/wizard.md:12754931af777521","source_path":"start/wizard.md","text_hash":"12754931af777521bcb6a904d2a7d342d0d77e6c4f1f2eb1b8b3753d25a1ab4a","text":"If the Control UI assets are missing, the wizard attempts to build them; fallback is ","translated":"如果 Control UI 资源文件缺失,向导会尝试构建它们;后备方案是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:06Z"} -{"cache_key":"a4a009f8c9411234d5dd3ef4a71fdf292ec59e29a2b74d197acea1c789825536","segment_id":"help/index.md:6cb77499abdccd9a","source_path":"help/index.md","text_hash":"6cb77499abdccd9a2dbb7c93a4d31eed01613dda06302933057970df9ecdeb54","text":"Logs:","translated":"日志:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:46Z"} -{"cache_key":"a4b963e5c58f681343b2e7b98ade4df71e3a328906ed382ffc8c0e4853fdf162","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:39Z"} -{"cache_key":"a4cca9ee9c91e2df4fbfddb735c879510d4ef8e808b15a6b2697d94e08e08696","segment_id":"index.md:233cfad76c3aa9dd","source_path":"index.md","text_hash":"233cfad76c3aa9dd5cc0566746af197eac457a88c1e300ae788a8ada7f96b383","text":"From source (development):","translated":"从源码安装(开发):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:06Z"} -{"cache_key":"a4f4e3c0c2201e9d7bb71be5c98cfd3035febf5faea9901a446d2acfabaf119f","segment_id":"start/wizard.md:35dbeb1dcbaf6ec1","source_path":"start/wizard.md","text_hash":"35dbeb1dcbaf6ec104ff612596126f8f6eb79bca9e75e88e93021b57b1c3590b","text":"Providers: ","translated":"提供商: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:13Z"} -{"cache_key":"a501788647b1bdfef85962c5f388a3813fb838cf35407849bbce0d5f5090622d","segment_id":"environment.md:d942f64886578d87","source_path":"environment.md","text_hash":"d942f64886578d8747312e368ed92d9f6b2a8d45556f0f924e2444fe911d15af","text":" import","translated":" 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:37Z"} -{"cache_key":"a52a1dde459a24de35447cda1771491fefcb09e9c555e0bbf08ee1a315353a2f","segment_id":"start/wizard.md:4fc4905e7b9c21f7","source_path":"start/wizard.md","text_hash":"4fc4905e7b9c21f7b34ec04b677a7f443624c0f724849ef2ca258da070ac35ca","text":" install + account config.","translated":" 安装 + 账户配置。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:51Z"} -{"cache_key":"a53c70efce0e16817f30acfd99d7db48bac27a7ec5d2c6235d65c8d97f59d781","segment_id":"start/wizard.md:daee7606b339f3c3","source_path":"start/wizard.md","text_hash":"daee7606b339f3c339076fe2c9f372a3ff40c8ee896005d829c7481b64ca5303","text":"Reset","translated":"重置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:13Z"} -{"cache_key":"a5767baee89195aa9db45c28cde3149e24b750a0e2e80d3730e1b61daec207e6","segment_id":"start/wizard.md:5c462b6b373504d5","source_path":"start/wizard.md","text_hash":"5c462b6b373504d54bc3262921f4a1a0cf666b8653e4122b418630d3f35f3ed3","text":" launches the wizard.","translated":" 运行会启动向导。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:52Z"} -{"cache_key":"a58f3ba9f36e7098f425445110c616f706c428aa8cd60c3e31c7d027229fd02e","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出现问题时的排查方向","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:06Z"} -{"cache_key":"a5b98e5a231f8db1b639acf7d415ecc749f34a640c80228784de562431a620af","segment_id":"start/wizard.md:6b09602d76f9ec29","source_path":"start/wizard.md","text_hash":"6b09602d76f9ec29755127ad2eb6a286fc47675e58b2df4cd1749a5dc4e19376","text":") and offers scopes:","translated":")并提供作用域:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:29Z"} -{"cache_key":"a5ce1d689305d466562771f1be3de56b5a492ced09caf35aaaa25b35c0a314eb","segment_id":"index.md:0eb95fb6244c03f1","source_path":"index.md","text_hash":"0eb95fb6244c03f1ccca696718a06766485c231347bf382424fb273145472355","text":"Quick start","translated":"快速开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:49Z"} -{"cache_key":"a5f308741639ce5bbd185e1ebe60322316c02afc8eb8caf44b469ee2041fded0","segment_id":"start/getting-started.md:d03502c43d74a30b","source_path":"start/getting-started.md","text_hash":"d03502c43d74a30b936740a9517dc4ea2b2ad7168caa0a774cefe793ce0b33e7","text":", ","translated":", ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:09Z"} -{"cache_key":"a626e7fe04bc58aa97f7363efbdaa14d5804691b203594e954e7373d26bc5bbb","segment_id":"start/getting-started.md:f68f6c2d3e9114cf","source_path":"start/getting-started.md","text_hash":"f68f6c2d3e9114cfec906d6a20cd048091e580c6e1d00a8066165dba188f9b3e","text":"channels (WhatsApp/Telegram/Discord/Mattermost (plugin)/...)","translated":"渠道(WhatsApp/Telegram/Discord/Mattermost(插件)/...)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:56Z"} -{"cache_key":"a6765fa54adfb2c44e2c668f9e03bb6668ee81809487078ceafc3e25ab776985","segment_id":"index.md:ded906ea94d05152","source_path":"index.md","text_hash":"ded906ea94d0515249f0bcab1ba63835b5968c142e9c7ea0cb6925317444d98c","text":"Configuration examples","translated":"配置示例","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:00Z"} -{"cache_key":"a696427cc9f77535e0a437bc4ced6dbbed14ef7d40f617ee28ff6c96b03b3888","segment_id":"start/getting-started.md:8ed8fc3de6f7cb89","source_path":"start/getting-started.md","text_hash":"8ed8fc3de6f7cb899073925b4e51ad2ce2d41fc97493347125c0f501f96ae205","text":"workspace bootstrap + skills","translated":"工作区引导 + 技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:00Z"} -{"cache_key":"a6e1f8b003a9aa3df1fc6040ef393aff9f02788a25d88903604584ac44a7cfde","segment_id":"index.md:65fd6e65268ff905","source_path":"index.md","text_hash":"65fd6e65268ff9057a49d832cccfcd5a376e46a908a2129be5b43f945fa8d8ca","text":": Gateway WS defaults to ","translated":":Gateway WS 默认为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:40Z"} -{"cache_key":"a708335602471087cfca37672f53ab2f79c69ddf48fdb3d9f18a79065b57d68c","segment_id":"index.md:6201111b83a0cb5b","source_path":"index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:38Z"} -{"cache_key":"a70d2c258834cd52f862bddbf79987e31a906cb42a011a4b01c5833810163e67","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:28Z"} -{"cache_key":"a7acef28bba8cdb6a32f047b98acad22efeb347de55a39db88b2191da5e2b0d7","segment_id":"index.md:93c89511a7a5dda3","source_path":"index.md","text_hash":"93c89511a7a5dda3b3f36253d17caee1e31f905813449d475bc6fed1a61f1430","text":"common fixes + troubleshooting","translated":"常见修复方案 + 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:58Z"} -{"cache_key":"a7ba9dcc031859590f1c52cf8ee0e6243302b15838ac61a0513bcdef5ad90138","segment_id":"help/index.md:bfc5930cc2660330","source_path":"help/index.md","text_hash":"bfc5930cc2660330260afd407e98d86adaec0af48dd72b88dc33ef8e9066e2c9","text":"Install sanity (Node/npm/PATH):","translated":"安装完整性检查(Node/npm/PATH):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:23Z"} -{"cache_key":"a86f676c046c31e9ec14194f2cd6b154bad22422ff1e0cd75504746b2e3ff3e9","segment_id":"index.md:2f1626425f985d9a","source_path":"index.md","text_hash":"2f1626425f985d9ad8c124ea8ccb606e404ae5f43c58bd16b6c109d6d2694083","text":"Most operations flow through the ","translated":"大多数操作通过 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:21Z"} -{"cache_key":"a8956cdeec536a6d374d68798de5d28d4415bd3929c6129b678f86333a476663","segment_id":"index.md:0d3a30eb74e2166c","source_path":"index.md","text_hash":"0d3a30eb74e2166c1fc51b99b180841f808f384be53fe1392cecb67fdc9363c4","text":" (default ","translated":" (默认 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:24Z"} -{"cache_key":"a8b62b93b0c0bf52adc8e6428cf65abd66a23a669fc4902297be8ac01330e248","segment_id":"environment.md:9e471951a1b4106e","source_path":"environment.md","text_hash":"9e471951a1b4106e54be128a21112b02914fe98cc79b2c92b49ee80c5464487c","text":"Environment","translated":"环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:17Z"} -{"cache_key":"a8c116397b4632fb63df875275cd7a20e4eb7bcccf5f1015140f94df02c46874","segment_id":"index.md:86e2bbbc305c31aa","source_path":"index.md","text_hash":"86e2bbbc305c31aa988751196a1e207da68801a48798c48b90485c11578443a0","text":"Providers and UX:","translated":"提供商与用户体验:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:30Z"} -{"cache_key":"a8c2c86f1c2602cf80227b2f202b054928d4713c034b77d5bffa32f45a43f662","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:35Z"} -{"cache_key":"a93199a15f18e1ac6b70e21111f3bcce4117105f7e56633e0ec5653e45402bd6","segment_id":"index.md:0c67abfaa5415391","source_path":"index.md","text_hash":"0c67abfaa5415391a31cf3a4624746b6b212b5ae66364be28ee2d131f014e0c6","text":"🧩 ","translated":"🧩 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:45Z"} -{"cache_key":"a935bca4180982ba3ca63187d99531e61543ace3acdb5664f583de4dadebb841","segment_id":"index.md:3fc5f55ea5862824","source_path":"index.md","text_hash":"3fc5f55ea5862824fc266d26cd39fb5da22cc56670c11905d5743adac10bc9ef","text":"Mattermost Bot (plugin)","translated":"Mattermost 机器人(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:11Z"} -{"cache_key":"a95002f09359a779a93f9b9c36001885ec2e7db3ab63c978bcfe94052728248d","segment_id":"start/wizard.md:9f088dbebd6c3c70","source_path":"start/wizard.md","text_hash":"9f088dbebd6c3c70a5ddbc2c943b11e4ca9acea5757b0b4f2b32479f0dbb747e","text":"Advanced","translated":"高级","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:39Z"} -{"cache_key":"a9c30fa450ed436cb03bc256b3075761a9215bd99bcd7bd2891cf15317ffd34f","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:47Z"} -{"cache_key":"aa80cfc76e76409c5ba7bf331e4fb8aadf72703ead80d203c94e74209da993f9","segment_id":"index.md:310cc8cec6b20a30","source_path":"index.md","text_hash":"310cc8cec6b20a3003ffab12f5aade078a0e7a7d6a27ff166d62ab4c3a1ee23d","text":"If you ","translated":"如果你 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:31Z"} -{"cache_key":"aaa5becdcd694b68de2e61f6a13bd932c3f80f8b0b5a959a054a61ad5911beef","segment_id":"index.md:81a1c0449ea684aa","source_path":"index.md","text_hash":"81a1c0449ea684aadad54a7f8575061ddc5bfa713b6ca3eb8a0228843d2a3ea1","text":"Nodes (iOS/Android)","translated":"节点(iOS/Android)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:22Z"} -{"cache_key":"aacffcbc2a97abf1a5eccd00e5893be1125e364251fa27f3e0c88ef2db2b0248","segment_id":"index.md:acdd1e734125f341","source_path":"index.md","text_hash":"acdd1e734125f341604c0efbabdcc4c4b0597e8f6235d66c2445edd1812838c1","text":"Telegram","translated":"Telegram","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:36Z"} -{"cache_key":"aad00bc21098071ff9c86ff467cb7f5c65d3467ce4bf7d707f560479783e9eaa","segment_id":"index.md:b79cac926e0b2e34","source_path":"index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:51Z"} -{"cache_key":"aae01909516ef373ddb2e4996f9016675f297208f7f075a68490f1f48eb0c87f","segment_id":"environment.md:6a26e1694d9e8520","source_path":"environment.md","text_hash":"6a26e1694d9e852038e5a472ed6b54cc023b4ace8ac10d745cad426d5dc057f3","text":" details.","translated":" 详情。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:11Z"} -{"cache_key":"aae4e71d06b01c462919dcb88e06b6e65c9edf88f774847e6397e907b81af99b","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:03Z"} -{"cache_key":"aaf2e5a5c90fbf43eb61201449ef2794c5a272f1262285178a51a22890816101","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量与 `.env` 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:14Z"} -{"cache_key":"ab19c27dcd5a1799b5d41ad95ccd7cc9a8ec1e685e7b7bcbc6f620a57ba64c73","segment_id":"index.md:39bbb719fa2b9d22","source_path":"index.md","text_hash":"39bbb719fa2b9d2251039cbf2cd072e1120a414278263e2f11d99af0236c4262","text":"Groups","translated":"群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:42Z"} -{"cache_key":"ab2362ccd249b707169072e9b3e0030307eca102e4795d4252be21f596247a95","segment_id":"start/getting-started.md:624f09022ea974b9","source_path":"start/getting-started.md","text_hash":"624f09022ea974b98abb7e922576072ca4467f4f6cce62d39b5591207fca4232","text":" (Ubuntu recommended). WSL2 is strongly recommended; native Windows is untested, more problematic, and has poorer tool compatibility. Install WSL2 first, then run the Linux steps inside WSL. See ","translated":" (推荐 Ubuntu)。强烈推荐使用 WSL2;原生 Windows 未经测试,问题较多,且工具兼容性较差。请先安装 WSL2,然后在 WSL 内执行 Linux 步骤。参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:42Z"} -{"cache_key":"ab5a661b139f2271cc3da6eb98afbd8c56c9a47b1bfa2570aba46677a28bb509","segment_id":"index.md:6d6577cb1c128ac1","source_path":"index.md","text_hash":"6d6577cb1c128ac18a286d3c352755d1a265b1e3a03eded8885532c3f36e32ed","text":"Mario Zechner","translated":"Mario Zechner","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:00Z"} -{"cache_key":"abafe9669ff562150a4e76ad066e4ad761bb391e29ce4416a9b58e1583e500be","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:55Z"} -{"cache_key":"abc5cfa176d8a536bccc8bdf09aa69c56c08c41f519d5e050384ecf88670ce2d","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:33Z"} -{"cache_key":"abdba3de87eed812fa8b91c34ca0a00364c0d432e6dd6229b58ca9ab81f3828a","segment_id":"index.md:316cd41f595f3095","source_path":"index.md","text_hash":"316cd41f595f3095f149f98af70f77ab85404307a1505467ee45a26b316a9984","text":"Guided setup (recommended):","translated":"引导式设置(推荐):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:46Z"} -{"cache_key":"abf5a32f0d0613c45205a09d8a62ba4454c5a1e6342938a841eb266f169648fa","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:22Z"} -{"cache_key":"ac1c676f8b0fc38c55da8beae422685700924821fc4a22af902f4028e6b6b1b4","segment_id":"start/getting-started.md:b97a7337efe8076b","source_path":"start/getting-started.md","text_hash":"b97a7337efe8076beea41f887d7fb1006d383c094728e3ddfe3e6228e47ca095","text":"macOS remote","translated":"macOS 远程","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:44Z"} -{"cache_key":"ac7c1c475e44053caaa8f0aad4a4c7cf61d349b95857ea7b44ac1e48836f9783","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:03Z"} -{"cache_key":"ad1eb4b87dcff4153a93d9aa9f3adb2be423b8f3eb61c8c69e79cc843b9b06dc","segment_id":"start/getting-started.md:7843665e87c6ef82","source_path":"start/getting-started.md","text_hash":"7843665e87c6ef82a8995362c43cacaf9aac743f9737aae4130de8fb3548e37b","text":").\n See ","translated":")。\n 参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:34Z"} -{"cache_key":"ad534581940aa1b636a88890801421659be78fa961141a10a595506ad9413584","segment_id":"index.md:3fc5f55ea5862824","source_path":"index.md","text_hash":"3fc5f55ea5862824fc266d26cd39fb5da22cc56670c11905d5743adac10bc9ef","text":"Mattermost Bot (plugin)","translated":"Mattermost 机器人(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:47Z"} -{"cache_key":"ad6b8f87fd0971ae528bf36026dd7d1d1aecace6621ef3bfe00bc4f0195deece","segment_id":"start/wizard.md:325f237dda4ec247","source_path":"start/wizard.md","text_hash":"325f237dda4ec24753c4b157abd9645efd361ae1adf64a5a97f023c8bef7baff","text":"What the wizard does","translated":"向导的功能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:11Z"} -{"cache_key":"ade480827c0ce46d4dfc9141efcaf7ff0afac9c4895ae48a4824049c1b079791","segment_id":"start/wizard.md:f3f51d88046314e4","source_path":"start/wizard.md","text_hash":"f3f51d88046314e4f0fb9e0e6d84a21ffd8ffeb7f8643f282c928a6176f84196","text":"The wizard starts with ","translated":"向导以 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:32Z"} -{"cache_key":"adfb3af54146b47b4e744815d9ccc0855ba7030eb0580a74b0bc2fc25be8825f","segment_id":"index.md:0b7e778664921066","source_path":"index.md","text_hash":"0b7e77866492106632e98e7718a8e1e89e8cb0ee3f44c1572dfd9e54845023de","text":"/concepts/streaming","translated":"/concepts/streaming","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:38Z"} -{"cache_key":"ae362832194711d0f893594a03e3bb80106c5f270cf53505aa8d85909cf18d1b","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:44Z"} -{"cache_key":"ae38697f064f10b478a11c227a88eb0a8649159a6488fe8d31acc2cec8ad05fa","segment_id":"index.md:6e0f6eca4ff17d33","source_path":"index.md","text_hash":"6e0f6eca4ff17d3377c1c3e8e1f73457553ad3b9cfcd5e4f2b94cfb1028b6234","text":"iOS app","translated":"iOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:08Z"} -{"cache_key":"ae6374b547927202ad7b2766b4b93d614453d51af2667ce8e8c4c50a1788ccda","segment_id":"index.md:79a482cf546c23b0","source_path":"index.md","text_hash":"79a482cf546c23b04cd48a33d4ca8411f62e5b7dc8c3a8f30165e28e747f263a","text":"iMessage","translated":"iMessage","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:18Z"} -{"cache_key":"ae7043304208a45c9727b207699b4a24db4fe776eee16a1c8f1bed9d9fcd7c5c","segment_id":"index.md:bf084dc7b82e1e62","source_path":"index.md","text_hash":"bf084dc7b82e1e62c63727b13451d1eba2269860e27db290d2d5908d7ade0529","text":" — Pairs as a node and exposes Canvas + Chat + Camera","translated":" — 作为节点配对并提供 Canvas + 聊天 + 相机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:02Z"} -{"cache_key":"ae7343dadbee931e1ac99fcf3a1bdc0745e6960c0e075482401e7dc615439225","segment_id":"environment.md:46ab081177a452aa","source_path":"environment.md","text_hash":"46ab081177a452aa62354b581730f4675cb03e58cde8282071da30cabe18fb2e","text":"Optional login-shell import","translated":"可选的登录 shell 导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:50Z"} -{"cache_key":"ae96b8aee2f9be9d9843ec8c1f0c693d9d64a220bb3b226e904be86c041e5af4","segment_id":"index.md:41ed52921661c7f0","source_path":"index.md","text_hash":"41ed52921661c7f0d68d92511589cc9d7aaeab2b5db49fb27f0be336cbfdb7df","text":"Gateway","translated":"Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:34Z"} -{"cache_key":"aeac09e385428be1a6afe9d98844b4f45ffa5f9690937b11572543441dfbe93e","segment_id":"start/getting-started.md:frontmatter:read_when:0","source_path":"start/getting-started.md:frontmatter:read_when:0","text_hash":"1cbb4fd6536838366360092615465643e07ae65489e0d0a68f9b7500a7ac6c96","text":"First time setup from zero","translated":"从零开始的首次设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:17Z"} -{"cache_key":"aeb7007c273f0c7bca86dbf2cd6cd544ca79abb504054d08244ad9f11abd4fa5","segment_id":"index.md:b0d125182029e6c5","source_path":"index.md","text_hash":"b0d125182029e6c500cbcc81011341df77de8fe24d9e80190c32be390c916ec2","text":"🤖 ","translated":"🤖 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:55Z"} -{"cache_key":"af003c0a076e77417f3b2415efeeb038bf57f2a1eed124f692238fcdb66119e8","segment_id":"start/wizard.md:1f66d361f1307d4e","source_path":"start/wizard.md","text_hash":"1f66d361f1307d4e66676bb21e36b6bc6be07759ca8cd0b1c73561821e298188","text":"Discovery hints:","translated":"发现提示:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:34Z"} -{"cache_key":"af2c767d10d616dd189bb9ed963e45f036beb388e91afbaa60bf62be6ef35d1e","segment_id":"index.md:075a4a45c3999f34","source_path":"index.md","text_hash":"075a4a45c3999f340be8487cd7c0dd2ed77ced931054d75e95e5e24d5539b45b","text":" — Pi (RPC mode) with tool streaming","translated":" —— Pi(RPC 模式),支持 工具 流式传输","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:02Z"} -{"cache_key":"af2f58bcf5bdd60d1c98dcbc846239117cef3e202bea91afc78f0147c45c3a60","segment_id":"index.md:255ce77b7a6a015f","source_path":"index.md","text_hash":"255ce77b7a6a015f8595868a524b67c134e8fb405f4584fdac020e57f4ccd5f6","text":"Loopback-first","translated":"回环优先","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:37Z"} -{"cache_key":"af3c614067406b2bfae3faa3dc5c74b9ad7de00832ef2213f1d208a39e4eae92","segment_id":"index.md:3c064c83b8d244fe","source_path":"index.md","text_hash":"3c064c83b8d244fef61e5fd8ce5f070b857a3578a71745e61eea02892788c020","text":" — Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth","translated":" — 通过 OAuth 支持 Anthropic(Claude Pro/Max)+ OpenAI(ChatGPT/Codex)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:20Z"} -{"cache_key":"af41fffb606a61d612d3709f3732fc9cddca09ff369ed0bf469af9c994fcc648","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"你可以使用以下方式在配置的字符串值中直接引用环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:32Z"} -{"cache_key":"af52d0343a217e1ebc960bf8e847f48d24146c9a5f695eb4d0cfb1c13bd92e1c","segment_id":"start/getting-started.md:b482e45229e19f5f","source_path":"start/getting-started.md","text_hash":"b482e45229e19f5f7ba590b5ac81bdb25d5d24116ed961bfa0eb1a23c20a204c","text":" (or ","translated":" (或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:11Z"} -{"cache_key":"af7a992a13d7295a28b94032d28c8cc7ae177dba2b4f2fbb2008c3de7a74c3dc","segment_id":"start/wizard.md:a6c7a84baa6750fc","source_path":"start/wizard.md","text_hash":"a6c7a84baa6750fce33f7512acd6793e53def1d228b5f2efb8074b42648424fc","text":"Finish","translated":"完成","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:58Z"} -{"cache_key":"af9372d7088143330cee32dde6ee4ea2058a314debffdfacbf5343da8e95da7b","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:16Z"} -{"cache_key":"afb8249d9b9d237120a860c3f9c70470fc1ba2125f5b94110e50b3b0073032c5","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:16Z"} -{"cache_key":"afba4d250aee5bbd63f27e2e64fdb895b043fdda06ee9b89a277422664d39428","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:05Z"} -{"cache_key":"afca6ce610f4888a3cfb0237a69f5700b984c656c5b829646fe19b2e61b8a190","segment_id":"start/wizard.md:316877bf8e401701","source_path":"start/wizard.md","text_hash":"316877bf8e401701c9ac95fdb7dee63577480e090eb586b6eb7cf7b36fa24cbf","text":"Google Chat","translated":"Google Chat","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:35Z"} -{"cache_key":"b004008c93e0b1ea2852beb2c430beae131fc3e19a69b11c5c9f2a24cda8590b","segment_id":"index.md:4818a3f84331b702","source_path":"index.md","text_hash":"4818a3f84331b702815c94b4402067e09e9e2d27ebc1a79258df8315f2c8600b","text":"📎 ","translated":"📎 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:35Z"} -{"cache_key":"b006bf9903fff3583e0a70cd9c332cdc44d30e5432e47628924d2b8d3f704444","segment_id":"index.md:053bc65874ad6098","source_path":"index.md","text_hash":"053bc65874ad6098e58c41c57b378a2f36b0220e5e0b46722245e6c2f796818c","text":"Discord","translated":"Discord","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:48Z"} -{"cache_key":"b0b8109bdac59602c326a82adc11b20713a0c0c2ad6595be6894fb0a3a489dc9","segment_id":"index.md:f0b349e90cb60b2f","source_path":"index.md","text_hash":"f0b349e90cb60b2f96222d0be1ff6532185f385f4909a19dd269ea3e9e77a04d","text":" (default); groups are isolated","translated":" (默认);群组为隔离","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:27Z"} -{"cache_key":"b0fcfd73b064dce0675db3e53661b400af1cfed802373334f865c27a3eda6303","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出现问题时的排查方向","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:18:54Z"} -{"cache_key":"b1248cc34d9a7c8ecfaa5612bfffbdaf26305acc8a6db269255ae6f591b4a841","segment_id":"start/getting-started.md:e16e5747158aac73","source_path":"start/getting-started.md","text_hash":"e16e5747158aac73e7f9e2ddb7c99efda2431fa25bb3effe93102c55fc7dbe77","text":": the wizard generates one by default (even on loopback) and stores it in ","translated":":向导默认会生成一个(即使在回环地址上)并将其存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:25Z"} -{"cache_key":"b15acb5c7418f2e49045d730674b2f6470f73699aa97b03c7ada099d55cd53e8","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在编写提供商认证或部署环境的文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:18Z"} -{"cache_key":"b1a0214973416cbfb4dcac01605c51911f412a6b7d862a6b8aed7db6364bb93a","segment_id":"start/wizard.md:1a0f5fc7ca6e8a74","source_path":"start/wizard.md","text_hash":"1a0f5fc7ca6e8a74bc099d9c397a23564b55eca50c3b2e33c472acb7032a6f3b","text":" (if Minimax chosen)","translated":" (如果选择了 Minimax)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:35Z"} -{"cache_key":"b1babe6ce88663854adf02aa4a23f21c9a98e036c72bf36dbe4b518d5d025d8b","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"您可以使用以下方式在配置字符串值中直接引用 环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:25Z"} -{"cache_key":"b1bfed2a2039ffc6f83d8201645caf18d6b942a8e5efbe2a28ca24978f750aa7","segment_id":"index.md:a97c0f391117ef55","source_path":"index.md","text_hash":"a97c0f391117ef554586ed43255ab3ff0e15adcfc1829c62b6d359672c0bec93","text":" — Mention-based by default; owner can toggle ","translated":" — 默认基于提及;所有者可切换 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:09Z"} -{"cache_key":"b1e93b43d06bcf0651c4bee0920f356e1f38bceca29db1936d449b4be99e77d2","segment_id":"index.md:8f6fb4eb7f42c0e2","source_path":"index.md","text_hash":"8f6fb4eb7f42c0e245e29e63f5b82cc3ba19852681d1ed9aed291f59cf75ec0e","text":"Security","translated":"安全","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:56Z"} -{"cache_key":"b212246fea49637bc0db899bd39dff2b1762ecf0d8cac3ec6160a8cd4c4da860","segment_id":"start/wizard.md:1f01936efef6e09c","source_path":"start/wizard.md","text_hash":"1f01936efef6e09cd29c9b1a9b6a64c1fcdb35682c9cf25db02dfde331f83fa7","text":" if present or prompts for a key, then saves it to ","translated":" (如果存在)或提示输入密钥,然后保存到 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:29Z"} -{"cache_key":"b240cb7927de51aca09fb318798ffd79fe597965722be259f799a2002cbe0f43","segment_id":"start/getting-started.md:4ea5ee68fea05586","source_path":"start/getting-started.md","text_hash":"4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889","text":" gateway","translated":" Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:02Z"} -{"cache_key":"b27a4eb21eb3ee61916c2db4b356e29106524ae9d8e48aeb3f68f690c6cfb8f7","segment_id":"start/wizard.md:97f068362253059c","source_path":"start/wizard.md","text_hash":"97f068362253059c26de02d1c75c972c102f2ca201fca6015153c8077cfdbdd7","text":" way to set up OpenClaw on macOS,\nLinux, or Windows (via WSL2; strongly recommended).\nIt configures a local Gateway or a remote Gateway connection, plus channels, skills,\nand workspace defaults in one guided flow.","translated":" 在 macOS、Linux 或 Windows(通过 WSL2;强烈推荐)上设置 OpenClaw 的方式。它通过一个引导式流程配置本地 Gateway 或远程 Gateway 连接,以及渠道、技能和工作区默认设置。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:03Z"} -{"cache_key":"b2d36a6219cd6ef9fa18da47d2583999f398895d209ec3595c2c1f3789ded3f2","segment_id":"index.md:b79cac926e0b2e34","source_path":"index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:17Z"} -{"cache_key":"b324a4a080cbe3b8cd7ae6ea1f8812027eeee42cdbd1db38d84f4240371db0ba","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想要最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:27Z"} -{"cache_key":"b36d09f6dceced206ef224552875840995ff1ad070c158298f356c7a308c4401","segment_id":"start/getting-started.md:f9194e73f9e9459e","source_path":"start/getting-started.md","text_hash":"f9194e73f9e9459e3450ea10a179cdf77aafa695beecd3b9344a98d111622243","text":"zero","translated":"零开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:26Z"} -{"cache_key":"b38f8218a329aa459516734a74c0141efdd0901ffc65900b9b5e3ffc338cb49d","segment_id":"start/getting-started.md:6201111b83a0cb5b","source_path":"start/getting-started.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:40Z"} -{"cache_key":"b3eb30fbc137a10687841225ce40db87439bcd2052ede47102f01f5a3da81d12","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:25Z"} -{"cache_key":"b3f38013bdfa47cf7e56f9f97e5f0c56d9ceb3fdede7720d31afe1aa3ed90d47","segment_id":"start/wizard.md:acde1b96aeebd08f","source_path":"start/wizard.md","text_hash":"acde1b96aeebd08fade2a26e1979ff55edee9a7e5b3b8d8bc7dd03b024ace1d0","text":"Skills (recommended)","translated":"技能(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:32Z"} -{"cache_key":"b3fd77464fffaf86fd7c4db02054abe4ad46b8da5cd9a6338a6a164a559039fb","segment_id":"index.md:1cce617e15b49dca","source_path":"index.md","text_hash":"1cce617e15b49dca89b212bb5290edfcfee010ef2eeef369b36af78c53756e1c","text":" — Optional transcription hook","translated":" — 可选的转录钩子","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:25Z"} -{"cache_key":"b42df969bf0af88635c8889e57849a3ae5110eab05a4f8e10b1c753221608cdb","segment_id":"environment.md:83848a0a1c101b44","source_path":"environment.md","text_hash":"83848a0a1c101b44035abecc16764b51778799d9824facbfaea7ac1f20205160","text":" missing).","translated":" 缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:09Z"} -{"cache_key":"b4368e7921aef9e2b39ca194a48d47f8f2f748e7fc40db1eaf6a96299c60c035","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:42Z"} -{"cache_key":"b45cf341beae5b0925d7ae30c7cfb491da5599a692818f25de942e5f6d44fd5f","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:03Z"} -{"cache_key":"b49a5c75c4eda0ec2bb03b48bc5f8fb35df49f92e48f750d30803e61536712db","segment_id":"environment.md:7af0b3e47c35820f","source_path":"environment.md","text_hash":"7af0b3e47c35820fabef69cc542392bd2d0f6e37c349851728f0c683013563ce","text":" variables","translated":" 变量","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:19Z"} -{"cache_key":"b49cd3645127938e9fa70191b75226ab757511ee636cdd90fd4dc9ef40062aac","segment_id":"index.md:a7a19d4f14d001a5","source_path":"index.md","text_hash":"a7a19d4f14d001a56c27f68a13ff267859a407c7a9ab457c0945693c9067dd1c","text":"Configuration (optional)","translated":"配置(可选)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:26Z"} -{"cache_key":"b4a0896a2b31bdc227d4c1aca7b2e0ff76155083208928f489c597b2ea6ec83d","segment_id":"start/getting-started.md:ab201ddd7ab330d0","source_path":"start/getting-started.md","text_hash":"ab201ddd7ab330d04be364c0ac14ce68c52073a0ee8d164a98c3034e91ce1848","text":" from the repo.","translated":" (从仓库中)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:49Z"} -{"cache_key":"b4fb8e7bfdb8c5557d0ae1e567ebe8d168cf15239a265bfc4f64adb97ce03bcf","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:35Z"} -{"cache_key":"b51ede64ac884a3ba6ed593bb845e2b3e70fa2bcda693b30c537cde875c51011","segment_id":"index.md:9c870aa6e5e93270","source_path":"index.md","text_hash":"9c870aa6e5e93270170d5a81277ad3e623afe8d4efd186d3e28f3d2b646d52e6","text":"How it works","translated":"工作原理","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:30Z"} -{"cache_key":"b52208d557116bde692639f735198f71a925dc90223bf31e0b71e9ac7b5bf86d","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:54Z"} -{"cache_key":"b5687bd5a0443bd1ccaa45996bbe3a784f66fa059e4aa68048a14712f853d56e","segment_id":"start/wizard.md:5f6a8991209034d4","source_path":"start/wizard.md","text_hash":"5f6a8991209034d4d6473c75e2f74dc3df90cc6cde2723d7d25085dbfc3fad24","text":"Providers (Telegram, WhatsApp, Discord, Google Chat, Mattermost (plugin), Signal)","translated":"提供商(Telegram、WhatsApp、Discord、Google Chat、Mattermost(插件)、Signal)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:26Z"} -{"cache_key":"b576ef2b8e071c57934d6ae354dfaa261e4f7db4bf4b3b56f33219032da96187","segment_id":"index.md:74926756385b8442","source_path":"index.md","text_hash":"74926756385b844294a215b2830576e3b2e93b84c5a8c8112b3816c5960f3022","text":" — DMs + guild channels via channels.discord.js","translated":" — 通过 channels.discord.js 支持私信和服务器 渠道","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:07Z"} -{"cache_key":"b5bd5c17c88739060e3c2a4e7a8f55897a310a69c59782ab65ef312c4d191057","segment_id":"environment.md:baa5be7f6320780b","source_path":"environment.md","text_hash":"baa5be7f6320780bd7bb7b7ddbb8cd1ffb26ccf7d94d363350668c50aedcf95f","text":" (applied only if missing).","translated":" (仅在缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:48Z"} -{"cache_key":"b5c57e3a1f3580ad70993c4901523fe0625b4b6b817da47743f3294dd6cf756e","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"设置内联环境变量的两种等效方式(均为不覆盖模式):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:43Z"} -{"cache_key":"b5d2ae67c5041c7e1d1c9eee9352714412cb0f7e25d70400ede3ec30640d3481","segment_id":"start/getting-started.md:0fe1f092dca5c0a5","source_path":"start/getting-started.md","text_hash":"0fe1f092dca5c0a52a3225794df21faacf2c8aecbb58e4b35256494e611b88bd","text":" your first DM returns a pairing code. Approve it (see next step) or the bot won’t respond.","translated":" 您的第一条私信会返回一个配对码。请批准它(参见下一步),否则机器人将不会响应。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:35Z"} -{"cache_key":"b634da14ec3675bd8c43260adb814ce2e1991550d8eec3a159a73a19bcae0a9a","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:41Z"} -{"cache_key":"b6ab46af0248d53e3135ec04e8fdf33e79acec2a08cc8870fdc18ceca6b5b032","segment_id":"start/wizard.md:16f0ee47f993d627","source_path":"start/wizard.md","text_hash":"16f0ee47f993d6270c9059450473eea493ca8ae037f8877782ae2bc176f24d18","text":"API key","translated":"API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:43Z"} -{"cache_key":"b6acf6603c3288ff678824fbc05208f2ffb9265ef1bd538af6b719f3bd0a3117","segment_id":"index.md:2f1626425f985d9a","source_path":"index.md","text_hash":"2f1626425f985d9ad8c124ea8ccb606e404ae5f43c58bd16b6c109d6d2694083","text":"Most operations flow through the ","translated":"大多数操作通过 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:45Z"} -{"cache_key":"b728d99548c47aac6f8b5df5cba915a124aa44c07b51c9bc7a298f73f98caf13","segment_id":"start/wizard.md:1e9806e4227ba3b9","source_path":"start/wizard.md","text_hash":"1e9806e4227ba3b9a986732f1b09a21fd6b96043d12e5a4334a326ec5ad39842","text":"Signal","translated":"Signal","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:46Z"} -{"cache_key":"b74d2e77f6dff2d670948e7bc471317b3d93cdcbd69be8b2a1c8b1c1e29fa6e7","segment_id":"index.md:1cce617e15b49dca","source_path":"index.md","text_hash":"1cce617e15b49dca89b212bb5290edfcfee010ef2eeef369b36af78c53756e1c","text":" — Optional transcription hook","translated":" —— 可选的转录钩子","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:58Z"} -{"cache_key":"b798dd1056c4bde2b213da50c0deaf67f6fa43b67ba57c7e8608a4ba80573de8","segment_id":"index.md:c011d6097bfbc8e9","source_path":"index.md","text_hash":"c011d6097bfbc8e936280addcf2e3e7d06ea2223ffd596973191b800a7035c32","text":"License","translated":"许可证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:04Z"} -{"cache_key":"b7b8bda0e930aa53d189e38c5844ac805547a37ca102751746c8e425c06a684c","segment_id":"index.md:0d3a30eb74e2166c","source_path":"index.md","text_hash":"0d3a30eb74e2166c1fc51b99b180841f808f384be53fe1392cecb67fdc9363c4","text":" (default ","translated":" (默认 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:09Z"} -{"cache_key":"b7c642921d34922bbb25206e04a52428c8707414d90f0aa9bbc07366d3165e09","segment_id":"start/getting-started.md:73526fff31f4fa0a","source_path":"start/getting-started.md","text_hash":"73526fff31f4fa0a98e4e135e0610652867bd8842a6abeb821e02ee87842bb96","text":"Telegram DM tip:","translated":"Telegram 私信提示:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:33Z"} -{"cache_key":"b7ef55ac0b21abd132744ee6daa0d8aebba830cf42b99105a8aa15035f636f7c","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:56Z"} -{"cache_key":"b842ea6173ee701821bd377af17913bb92cafb54dc487075c302ab3d329c88cc","segment_id":"index.md:723784fa2b6a0876","source_path":"index.md","text_hash":"723784fa2b6a0876540a92223ee1019f24603499d335d6d82afbc520ef5b5d57","text":") — Creator, lobster whisperer","translated":")— 创作者,龙虾低语者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:34Z"} -{"cache_key":"b879fc6c7bf9bcf2521829ee80839cc6b64fa033303e0d3ad8f4c14519022dd7","segment_id":"index.md:b332c3492d5eb10a","source_path":"index.md","text_hash":"b332c3492d5eb10a118eb6d8b0dcd689bc2477ce2ae16b303753b942b54377bc","text":"Configuration","translated":"配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:58Z"} -{"cache_key":"b8d882b2664af754e0a9242db46afe45a00690cb9294ebf818b517be4eb004fd","segment_id":"index.md:a10f6ed8c1ddbc10","source_path":"index.md","text_hash":"a10f6ed8c1ddbc10d3528db7f7b6921c1dd5a5e78aa191ff017bf29ce2d26449","text":"⏱️ ","translated":"⏱️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:31Z"} -{"cache_key":"b8d9c5b6ac9e5a115d60a75c55a842231d71850c2d69bfb8c20b79e3e7744b35","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量和 .env 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:18Z"} -{"cache_key":"b8efaaee77774922e208bb819be2e16edb0632860d03d901df8701e7582bec11","segment_id":"index.md:8816c52bc5877a2b","source_path":"index.md","text_hash":"8816c52bc5877a2b24e3a2f4ae7313d29cf4eba0ca568a36f2d00616cfe721d0","text":"Wizard","translated":"向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:48Z"} -{"cache_key":"b90215fad5e3df7edc635820365a97567dc5fed769e90812e8444decb4691cc5","segment_id":"start/getting-started.md:45e6d69dbe995a36","source_path":"start/getting-started.md","text_hash":"45e6d69dbe995a36f7bc20755eff4eb4d2afaaedbcac4668ab62540c57219f32","text":"macOS app","translated":"macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:23Z"} -{"cache_key":"b9140801ceed17bc6beff66df05f3fb6f825ffb03c25525672a9ed9d37cc8bef","segment_id":"index.md:be48ae89c73a75da","source_path":"index.md","text_hash":"be48ae89c73a75da3454d565526d777938c20664618905a9bc77d6a0a21a689d","text":"\"EXFOLIATE! EXFOLIATE!\"","translated":"\"EXFOLIATE! EXFOLIATE!\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:51Z"} -{"cache_key":"b91b95d70281a4d1d45bd8c853fa8bfa893d10fa36509361b58b83df1111b31b","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:54Z"} -{"cache_key":"b9b11fe51f278fc05b76b9e48d84a6b796c35bd940491457befd53ac08255496","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:31Z"} -{"cache_key":"b9c7cee99b82c57ac554d288a0b5aee19b5ca5fc10cdd6f59b31a4fc7450c3a9","segment_id":"index.md:22159a426e4f2635","source_path":"index.md","text_hash":"22159a426e4f26356382cc3ac9b2e7af5123c1309250332f5dcbbc6e6f952b0e","text":"Network model","translated":"网络模型","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:38Z"} -{"cache_key":"b9cc5f90d0c6e7deedd6ec40f46f56ce1c36844b849a3acbd488724173d8b7f4","segment_id":"start/wizard.md:254a5988b52ecb17","source_path":"start/wizard.md","text_hash":"254a5988b52ecb1730f5ab74e7998f0789c62c194e32d6a29c9500129905438d","text":"More detail: ","translated":"更多详情: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:50Z"} -{"cache_key":"ba73a727d35cc4ad3a5a48130b91107a13324a115d536a8b936ca4b56d0b8ebf","segment_id":"start/wizard.md:b248f2e01881f536","source_path":"start/wizard.md","text_hash":"b248f2e01881f536176ab4f5c76d6c067348339e0ddd2be6d2b0b0435c09f614","text":"MiniMax","translated":"MiniMax","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:00Z"} -{"cache_key":"ba7cd0c5865f73af1ced8609de573bce503046cc0135f10edf71d69ac7bed742","segment_id":"index.md:45808d75bf8911fa","source_path":"index.md","text_hash":"45808d75bf8911fa21637f9dd3f0dace1877748211976b5d61fcc5c15db594d0","text":"Webhooks","translated":"Webhooks","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:51Z"} -{"cache_key":"ba881a89787827ca73c2b6efade0f1b148a3093729931f54bcedd6516714ef9a","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:25Z"} -{"cache_key":"bab136853746e7adb4f3d6a9085f276c4b3b60b32935bf0abee97c4b8b0847d2","segment_id":"index.md:frontmatter:read_when:0","source_path":"index.md:frontmatter:read_when:0","text_hash":"08965a8ab25e66157009d1617fc167bcc2404fa0c0ca50b1e5e5750957be3b10","text":"Introducing OpenClaw to newcomers","translated":"向新用户介绍 OpenClaw","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:20Z"} -{"cache_key":"bab5f315b0b714729442371eeede15ca920f42aa5f8a6a5bbf4f2831cec6bab7","segment_id":"start/getting-started.md:1e3abf61a37e3cad","source_path":"start/getting-started.md","text_hash":"1e3abf61a37e3cad36b11b459b1cc39e76feb6a0c369fe5270957468288dcc5c","text":"If ","translated":"如果 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:00Z"} -{"cache_key":"bb01273ae2008ef3e65dac6325f0912e3297b1445007151a0eb13c637d664344","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:19Z"} -{"cache_key":"bb01eace88e3c0c55a9f90dcd2ef4db17d3ef428c9c3f0cbbc533816b3673889","segment_id":"start/getting-started.md:5ca32046e4b3e547","source_path":"start/getting-started.md","text_hash":"5ca32046e4b3e5476abcfc30f1d5abfcc42cf2cb6ad8b42b35ed51f62cddaead","text":"). It sets up:","translated":")。它会设置:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:51Z"} -{"cache_key":"bb8fe17d51b04ff11d3cdd2b428662d48746db111cb4bc5cb91f4c30ab33c86e","segment_id":"start/wizard.md:c10c181a3b7e8440","source_path":"start/wizard.md","text_hash":"c10c181a3b7e84404d307e21cf48264c7ff7e0d4a04ee15af969b08ebe47d7a3","text":" (and ","translated":" (以及 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:52Z"} -{"cache_key":"bbae60d9c55f0a4c17edd70724bf025a80c357507af18bc456b69d8e22351dd3","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:10Z"} -{"cache_key":"bbd317ed227cca52a63156dec7f92240d0a532979467fb3bb2f12481519aa3a6","segment_id":"index.md:5583785669449fc8","source_path":"index.md","text_hash":"5583785669449fc81a8037458c908c11a8f345c21c28f7f3a95de742bd52199a","text":"Media Support","translated":"媒体支持","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:36Z"} -{"cache_key":"bbe1dd74f66fb83dcdd47e77fb4ce919331298e2a8b6bb3fc8b3d0ee940a031a","segment_id":"index.md:f0a7f9d068cb7a14","source_path":"index.md","text_hash":"f0a7f9d068cb7a146d0bb89b3703688d690ed0b92734b78bcdb909aace617dbf","text":"WhatsApp group messages","translated":"WhatsApp 群消息","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:23Z"} -{"cache_key":"bc2419d59f866ec8c3f5529c5f2e87039a9e0ec7403f6fa82664b7ef9af23d47","segment_id":"start/getting-started.md:b1c8a72bb57dc747","source_path":"start/getting-started.md","text_hash":"b1c8a72bb57dc747671a456250fab49db53d0fef744eae4b959a66a4abb7aba9","text":"exe.dev","translated":"exe.dev","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:39Z"} -{"cache_key":"bc2967e4d37bce4abb8008d556e2894e97049fdfe54c4a2d6b6bdf8639a1cfd3","segment_id":"environment.md:c2d7247c8acb83a5","source_path":"environment.md","text_hash":"c2d7247c8acb83a5a020458fa836c2445922b51513dbdbf154ab5f7656cb04e9","text":"; does not override).","translated":";不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:22Z"} -{"cache_key":"bc6f614c30433e6b3bff168a2080525f05fc94e339dc42f43f2e189e3a0b226e","segment_id":"index.md:329f3c913c0a1636","source_path":"index.md","text_hash":"329f3c913c0a16363949eb8ee7eb0cda7e81137a3851108019f33e5d18b57d8f","text":"Switching between npm and git installs later is easy: install the other flavor and run ","translated":"之后在 npm 和 git 安装之间切换很简单:安装另一种方式并运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:00Z"} -{"cache_key":"bcaa9af5387d4c16acfcf673ef371654f20d3f5740f64c92747435d166d53bee","segment_id":"start/wizard.md:d65be5fbfc8f6bc9","source_path":"start/wizard.md","text_hash":"d65be5fbfc8f6bc9316db63dff758f2a5758d3fa4ddde8562b89a9baa35c0b9d","text":"Starts the Gateway (if needed) and runs ","translated":"启动 Gateway(如需)并运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:38Z"} -{"cache_key":"bcc6f5f4ada16ba9c99157f111747d22c499aab86af420e947d68797df7d0dc2","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:09Z"} -{"cache_key":"bd0afd9947ca223c780705636e9fd81efec6d821d54ead3dd5755b82ca6cabbb","segment_id":"index.md:86e2bbbc305c31aa","source_path":"index.md","text_hash":"86e2bbbc305c31aa988751196a1e207da68801a48798c48b90485c11578443a0","text":"Providers and UX:","translated":"提供商 和用户体验:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:04Z"} -{"cache_key":"bd1a787c9d8cd0ad83cfd8fd6de5a4da5fdb050d4b594904e623a1d17c5b8c21","segment_id":"index.md:c7a5e268ddd8545e","source_path":"index.md","text_hash":"c7a5e268ddd8545e5a59a58ef1365189862f802cc7b61d4a3212c70565e2dff1","text":"WhatsApp Integration","translated":"WhatsApp 集成","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:30Z"} -{"cache_key":"bde9f3ebeb2359b3b7aedd826d0a1d12e084a4a61310d0f5bd394d8eb5a120ba","segment_id":"index.md:39bbb719fa2b9d22","source_path":"index.md","text_hash":"39bbb719fa2b9d2251039cbf2cd072e1120a414278263e2f11d99af0236c4262","text":"Groups","translated":"群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:53Z"} -{"cache_key":"bdecbc1be817872a0692411e78c70677191fe2da6e081c369fb09de0ef2601cf","segment_id":"start/getting-started.md:618240b69ec6c809","source_path":"start/getting-started.md","text_hash":"618240b69ec6c8090801f0a1c0298939ec16e6c30607b1117173bd5e4770f27e","text":"first working chat","translated":"第一次成功聊天","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:29Z"} -{"cache_key":"bdf975c1288d74f830e912ea439f34bd12327414e67a0e3b0031b20daee8fa90","segment_id":"environment.md:a5839747a1cd90df","source_path":"environment.md","text_hash":"a5839747a1cd90df1cb7dbb6df6d1dddba552865d54e3e2fa0c6b87e6616c666","text":"; does not","translated":";不会","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:54Z"} -{"cache_key":"bdfbc7a0fd631f051f7b46e21b996d7aa66ab700fe12e4153d61fb8cccd72b43","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:15Z"} -{"cache_key":"be43620abdc44274f5a6124fe94af02680937d7b3c843471640e6d3cfdbcb11b","segment_id":"index.md:81a1c0449ea684aa","source_path":"index.md","text_hash":"81a1c0449ea684aadad54a7f8575061ddc5bfa713b6ca3eb8a0228843d2a3ea1","text":"Nodes (iOS/Android)","translated":"节点(iOS/Android)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:30Z"} -{"cache_key":"be853f7b692e34fd9acbac3fc2a4beaeffb4fccfc645083457d04704ce7e80a6","segment_id":"start/getting-started.md:32ebb1abcc1c601c","source_path":"start/getting-started.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:49Z"} -{"cache_key":"be9ef45489c42d85ef02ddbdc619e8f571efb5ad273236b11af6b087a73aac32","segment_id":"start/wizard.md:d03502c43d74a30b","source_path":"start/wizard.md","text_hash":"d03502c43d74a30b936740a9517dc4ea2b2ad7168caa0a774cefe793ce0b33e7","text":", ","translated":", ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:09Z"} -{"cache_key":"bed2a7f7ebfcaa0b5e9c08db15a562558ebb609b6ad450b19a160511fd76f36d","segment_id":"start/getting-started.md:569ca49f4aaf7846","source_path":"start/getting-started.md","text_hash":"569ca49f4aaf7846e952c1d4aeca72febd0b79fa1c4f9db08fd3127551218572","text":"Install","translated":"安装","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:50Z"} -{"cache_key":"bed8e880f819b1664d27c979ee19546883dc77b25b3f4c2bca3bb320cdb7a997","segment_id":"index.md:9bd86b0bbc71de88","source_path":"index.md","text_hash":"9bd86b0bbc71de88337aa8ca00f0365c1333c43613b77aaa46394c431cb9afd8","text":"Maxim Vovshin","translated":"Maxim Vovshin","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:41Z"} -{"cache_key":"bedbf38b79db3a7e2c68181e1c39bb9dbb0ec7872bd05c86a18d5a2cea9ff52d","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:35Z"} -{"cache_key":"bf1804a981e692a3e488d95ec6501ae0a175844faed4b62050b2c407110d73e9","segment_id":"environment.md:e234227b0e001687","source_path":"environment.md","text_hash":"e234227b0e001687821541fac3af38fc6be293ec6e13910c6826b9afc8ca33be","text":" syntax:","translated":" 语法:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:28Z"} -{"cache_key":"bf2db6ac9b982594da3a3e3dd13d6ca4e223ff16e13a95d31ffb072ab1d32c8e","segment_id":"start/getting-started.md:883c79fabfe68ee2","source_path":"start/getting-started.md","text_hash":"883c79fabfe68ee271a7635815ea9c87295a436a075926633e8865ec60c4303e","text":" (optional; recommended if you build from source)","translated":" (可选;如果从源码构建则推荐安装)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:26Z"} -{"cache_key":"bf37699805bcf078c1b1ce444bf6d1198e99667a6db48d7eb7e641c41262087b","segment_id":"start/getting-started.md:76dfd9f9a399a76a","source_path":"start/getting-started.md","text_hash":"76dfd9f9a399a76a13b092e0ce512519b8fc0cfef720142556a8350f70a040ab","text":"Pairing","translated":"配对","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:12Z"} -{"cache_key":"bf6afd51b6d116b7f7aac3bb45cc7db66e823c2fc1abd26e91d2f29989e56a53","segment_id":"index.md:da22b9d6584e1d8a","source_path":"index.md","text_hash":"da22b9d6584e1d8aa709165be214e0f9bdf2be428816e9ce1c4506bf86218cb4","text":"Core Contributors","translated":"核心贡献者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:38Z"} -{"cache_key":"bf6c745f2cf524d912a0e53b92bb7278771b97f3974e15bf7d7d5c21d2cb2bb7","segment_id":"start/wizard.md:fd42bd9065e9791f","source_path":"start/wizard.md","text_hash":"fd42bd9065e9791f5e6a611205a54d922d1b8046f78d72cb2b35a156a2ee379a","text":"WhatsApp credentials go under ","translated":"WhatsApp 凭据存储在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:51Z"} -{"cache_key":"bf825adb6efc12b0b76cb65939a149b13d9affa681ea8c41f0ff54043e15afc1","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:35Z"} -{"cache_key":"c01e11953c6ba2efa9bec09338b3e7fcbdc647a92bf09fd08678e0c6e1ee9598","segment_id":"index.md:ec05222b3777fd7f","source_path":"index.md","text_hash":"ec05222b3777fd7f91a2964132f05e3cfc75777eaeec6f06a9a5c9c34a8fc3e9","text":"Nix mode","translated":"Nix 模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:10Z"} -{"cache_key":"c0282f2e4f7da80d51262220226e41d0c83df835b9e776ed420a3fe11663d5b2","segment_id":"start/wizard.md:6301b8b1517facda","source_path":"start/wizard.md","text_hash":"6301b8b1517facda1ab48a0af2e5ed47f68867711466089050b20180cfc22433","text":"Synthetic example:","translated":"Synthetic 示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:31Z"} -{"cache_key":"c09d5cb253479a62ae433edd398f06b46aff64efd80ab44a984de33922120de6","segment_id":"start/getting-started.md:160d9109519d8d17","source_path":"start/getting-started.md","text_hash":"160d9109519d8d17b25b1d2f8202aaab71eafe0a21aa1384978dc89d2679d370","text":"From source (development)","translated":"从源码安装(开发)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:43Z"} -{"cache_key":"c100ce5c5170c043a021982a580ebd78cad6232e67057fb8d0d55dfa3fe1e8d3","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:23Z"} -{"cache_key":"c11f020ea3afe93aee794662658476af49988cea0ddc160f7f8c27b1b245076a","segment_id":"environment.md:9c85ab59cb358b12","source_path":"environment.md","text_hash":"9c85ab59cb358b1299c623e16f52f3aee204a81fb6d1c956e37607a220d13b08","text":"You can reference env vars directly in config string values using `${VAR_NAME}` syntax:","translated":"你可以在配置字符串值中使用 `${VAR_NAME}` 语法直接引用环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:44Z"} -{"cache_key":"c1300944d87f5d93e003235afb1a2a255806cb0ca7ca73081c0bda9081c00781","segment_id":"index.md:4d4d75c23a2982e1","source_path":"index.md","text_hash":"4d4d75c23a2982e184011f79e62190533f93cdad41ba760046419678fa68d430","text":"Runtime requirement: ","translated":"运行时要求: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:25Z"} -{"cache_key":"c1ed30ab3d008a94d1201ceb1b0681fb09d05d747adddc2cd9bd9ec64544cddf","segment_id":"start/wizard.md:cb773b9bc6fc5373","source_path":"start/wizard.md","text_hash":"cb773b9bc6fc5373e0b338fbcb709df301cd8e11f0699de40cb0c1c4bf3def77","text":"Existing config detection","translated":"现有配置检测","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:58Z"} -{"cache_key":"c2188cce98f83b4b4240fddcdd99a6504e9b9e044a40f429257a85d2f2485f22","segment_id":"help/index.md:71095a6d42f5d9c2","source_path":"help/index.md","text_hash":"71095a6d42f5d9c2464a8e3f231fc53636d4ce0f9356b645d245874162ec07e2","text":"Gateway troubleshooting","translated":"Gateway 故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:23Z"} -{"cache_key":"c226a7b155f9acc3489810036a9112a8b4d498f14a983ecad4c72d8b48925751","segment_id":"index.md:63a3abfa879299dd","source_path":"index.md","text_hash":"63a3abfa879299ddcc03558012bfd6075cbd72f7a175b739095bf979700297f7","text":"Multi-instance quickstart (optional):","translated":"多实例快速开始(可选):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:15Z"} -{"cache_key":"c2802148a29fff6480dd7c4126df1d7787f83156807ce1f6e0abb05d2e0a7863","segment_id":"index.md:6e0f6eca4ff17d33","source_path":"index.md","text_hash":"6e0f6eca4ff17d3377c1c3e8e1f73457553ad3b9cfcd5e4f2b94cfb1028b6234","text":"iOS app","translated":"iOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:36Z"} -{"cache_key":"c2acf62bea34b4557cbab8b7ceadd55c5cf37516c124b93afc1b8e9f08d62ab0","segment_id":"index.md:39bbb719fa2b9d22","source_path":"index.md","text_hash":"39bbb719fa2b9d2251039cbf2cd072e1120a414278263e2f11d99af0236c4262","text":"Groups","translated":"群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:21Z"} -{"cache_key":"c2e74d237df6614199282b8822741be509ff03e31b7319f3184bb2537860e8a9","segment_id":"index.md:bf084dc7b82e1e62","source_path":"index.md","text_hash":"bf084dc7b82e1e62c63727b13451d1eba2269860e27db290d2d5908d7ade0529","text":" — Pairs as a node and exposes Canvas + Chat + Camera","translated":" — 作为节点配对并提供 Canvas + 聊天 + 相机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:43Z"} -{"cache_key":"c335a0e455574c0e23a45c10a55511400b6168c38aa7d8e43521b1c8650e58f9","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"您正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:15Z"} -{"cache_key":"c34f893f16dcd3b37a3752585df805b44212829550f3d82cb5f539fdb50a5a50","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:46Z"} -{"cache_key":"c359a69d5e0e9e6470f36436f1b27a946ef28ef1069e7b7d59e0ea3132f6003c","segment_id":"start/wizard.md:4cd440e57b28aba7","source_path":"start/wizard.md","text_hash":"4cd440e57b28aba7f789ba11d0bb5837f09937ba45bab9a80b9a6a980894250e","text":"Follow‑up reconfiguration:","translated":"后续重新配置:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:15Z"} -{"cache_key":"c360b15d624bad75d881fff636c494f57b21345481b98d674df5baa6a31c7b06","segment_id":"index.md:cdb4ee2aea69cc6a","source_path":"index.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:02Z"} -{"cache_key":"c363b2aa05942d39fd0ddcddc9b63daca312937a794a7bc8027a049c9befb2bb","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:40Z"} -{"cache_key":"c3c32ca9a6e0b7331bd674903379664ef8c5ab9f675dbb531062af512452343e","segment_id":"index.md:acdd1e734125f341","source_path":"index.md","text_hash":"acdd1e734125f341604c0efbabdcc4c4b0597e8f6235d66c2445edd1812838c1","text":"Telegram","translated":"Telegram","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:46Z"} -{"cache_key":"c3f6ef9654ecec9e668759d52d4b3b337eb11cfc8c41c6c29afbd4c7a6b1a3aa","segment_id":"index.md:f0b349e90cb60b2f","source_path":"index.md","text_hash":"f0b349e90cb60b2f96222d0be1ff6532185f385f4909a19dd269ea3e9e77a04d","text":" (default); groups are isolated","translated":" (默认);群组是隔离的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:35Z"} -{"cache_key":"c459652c41ab2b7b00625ccdcbb406c410e20c6427b9c7db02f6fdd47ba6f749","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:21Z"} -{"cache_key":"c483b6ba1c94a31f76c8e7312a407d38c30bce0f4712658564a6f18c1216a82d","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"您正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:04Z"} -{"cache_key":"c492c9a161bdd51ea2c2cdd14a9b9bb5db1cd52cf0c29fb37109d054b7ee9a0d","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装健全性检查,以及出问题时该去哪里排查","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:29Z"} -{"cache_key":"c4cdc8fbd5869ac2ecac6d2aedef557b386f308d0e2819293e3c743d3cc6ae86","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:50Z"} -{"cache_key":"c504cdf411edd24aafa9f9af4a1d9555dd4813e7717812dd30f12f6ce0f36335","segment_id":"start/wizard.md:14290e1d06812977","source_path":"start/wizard.md","text_hash":"14290e1d0681297772dedd7ea7e78b2d2492a46382251c6f8f49a2977978ece1","text":"Health check","translated":"健康检查","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:30Z"} -{"cache_key":"c50cf8a23b65ef73b5bfb717f8d28d8e2e13435175b38a9b94a6a92fd79c241a","segment_id":"start/wizard.md:2addbbaf06856d61","source_path":"start/wizard.md","text_hash":"2addbbaf06856d61875d46a98c898d3985a48f1028e2e5f1f8b68022902f5879","text":"Kimi Coding","translated":"Kimi Coding","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:10Z"} -{"cache_key":"c5341e93cca2bf9b412fba71811b5c75affd70642d5cac522c20f656fce8c171","segment_id":"start/getting-started.md:85ed1b061af844c7","source_path":"start/getting-started.md","text_hash":"85ed1b061af844c761d40a5328177c10aea1be3a6eb49e3ef2aad5e9724c5edc","text":"Always-on / VPN setups: ","translated":"常驻运行 / VPN 设置: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:38Z"} -{"cache_key":"c547a034bcb14649348b839344981ab2abe4d278dd058e299ee088aca6d1cbb2","segment_id":"index.md:19525ac5e5b9c476","source_path":"index.md","text_hash":"19525ac5e5b9c476b36a38c5697063e37e8fe2fae8ef6611f620def69430cf74","text":"Canvas host","translated":"Canvas 主机","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:55Z"} -{"cache_key":"c577961fb1dd2981c632731703b6fa32ce458c2a1d22f624053d893601313a69","segment_id":"index.md:9fc31bacba5cb332","source_path":"index.md","text_hash":"9fc31bacba5cb33207804b9e6a8775a3f9521c9a653133fd06e5d14206103e48","text":"Streaming + chunking","translated":"流式传输与分块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:02Z"} -{"cache_key":"c59753265e4fde2eba581fac96edc31fac666f999016b10be79673bb9f8fff01","segment_id":"index.md:f3047ab42a6a5bbf","source_path":"index.md","text_hash":"f3047ab42a6a5bbf164106356fa823ecada895064120c4e5a30e1f632741cc5f","text":"Web surfaces","translated":"Web 界面","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:25Z"} -{"cache_key":"c5a0c89316164529f7023f5315efd593449709ea51025067e3e3ac600c2b8955","segment_id":"index.md:f1e3b32c8eb0df8e","source_path":"index.md","text_hash":"f1e3b32c8eb0df8ea105f043edf614005742c15581e2cebc5a9c3bafb0b90303","text":"Multi-agent routing","translated":"多智能体路由","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:10Z"} -{"cache_key":"c5aa6ee094793c8175cf46e51a84ccfa7bfb96483511447ee39bffc5c5d621a6","segment_id":"index.md:f9b8279bc46e847b","source_path":"index.md","text_hash":"f9b8279bc46e847bfcc47b8701fd5c5dc27baa304d5add8278a7f97925c3ec13","text":"Mattermost (plugin)","translated":"Mattermost(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:51Z"} -{"cache_key":"c600fc61e6150bfb212aae76377cc9c818199be5b646524cacdc83e1c8548e4c","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:22Z"} -{"cache_key":"c63aa51793c779b2a349df7ffac1628bb2cc332f86766a178ca09f0d1ab6b9ef","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:45Z"} -{"cache_key":"c6579c041588ea1bb181e9a8deb7415e62a84d1bd20b12e4570bfbd9c2ade3d8","segment_id":"index.md:233cfad76c3aa9dd","source_path":"index.md","text_hash":"233cfad76c3aa9dd5cc0566746af197eac457a88c1e300ae788a8ada7f96b383","text":"From source (development):","translated":"从源码安装(开发):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:17Z"} -{"cache_key":"c68def9780e982378b5c6b30c5c52340f6495cfc16ebe6378fa8655b7df12662","segment_id":"start/wizard.md:663ea1bfffe5038f","source_path":"start/wizard.md","text_hash":"663ea1bfffe5038f3f0cf667f14c4257eff52d77ce7f2a218f72e9286616ea39","text":" to ","translated":" 为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:22Z"} -{"cache_key":"c6ca6417d36b17f38103f8c80bf1974f694de7f8e5cf6c75e2df8722898afc33","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"您需要了解加载了哪些 环境变量,以及加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:12Z"} -{"cache_key":"c6f804812e9ae46bd893fabd31bc85463705d5a761157ef2dccfdc6f8a278d20","segment_id":"index.md:da22b9d6584e1d8a","source_path":"index.md","text_hash":"da22b9d6584e1d8aa709165be214e0f9bdf2be428816e9ce1c4506bf86218cb4","text":"Core Contributors","translated":"核心贡献者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:12Z"} -{"cache_key":"c6fafa0a56fb2daa3b5eb1ab12bcde96e81c8b5eb8c495ac27c999aa7ece81f0","segment_id":"index.md:66354a1d3225edbf","source_path":"index.md","text_hash":"66354a1d3225edbf01146504d06aaea1242dcf50424054c3001fc6fa2ddece0f","text":"Remote access","translated":"远程访问","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:41Z"} -{"cache_key":"c749935b054cdee1215d5c7bc80ccadc89b5251b7b720e58f1fc750832c291cc","segment_id":"start/getting-started.md:f940dae2228542bc","source_path":"start/getting-started.md","text_hash":"f940dae2228542bc51f88220681f263413d5d91c47a84b411600abc82294299a","text":"),\nso group/channel sessions are sandboxed. If you want the main agent to always\nrun on host, set an explicit per-agent override:","translated":"),因此群组/渠道会话是沙箱化的。如果您希望主智能体始终在主机上运行,请设置显式的逐智能体覆盖:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:21Z"} -{"cache_key":"c7938f197a6a0913e762962c7a145a194fb20261b6366796749cfff9bec325f1","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:31Z"} -{"cache_key":"c7d8295ce2f5f373b188cd04e782c94c0d1c45ee5dfcf10d220f7a24629104a4","segment_id":"start/getting-started.md:8f6fb4eb7f42c0e2","source_path":"start/getting-started.md","text_hash":"8f6fb4eb7f42c0e245e29e63f5b82cc3ba19852681d1ed9aed291f59cf75ec0e","text":"Security","translated":"安全","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:14Z"} -{"cache_key":"c7f525205b3a6feadb47fbfcbcbfc68f82fe9ae13af1a5c16ac3d52b9c9bf288","segment_id":"index.md:2a6b24ad28722034","source_path":"index.md","text_hash":"2a6b24ad287220345e96eb8021fe29d42b0785766c8df658827e7251da2d36dc","text":"Credits","translated":"致谢","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:15Z"} -{"cache_key":"c804bb5b5895281827002da2fcf801becaeb7680046827908a93ec9b050d971b","segment_id":"index.md:03279877bfe1de07","source_path":"index.md","text_hash":"03279877bfe1de0766393b51e69853dec7e95c287ef887d65d91c8bbe84ff9ff","text":"WebChat + macOS app","translated":"WebChat + macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:02Z"} -{"cache_key":"c8226a707aea96b4c38666b0e128055b91ef72929100106d9e62985f5d0727bc","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:39Z"} -{"cache_key":"c839449ed2f2e2c13f4b4732789e52a7884ced2ccc0f4f285709a62f52005527","segment_id":"index.md:6fa3cbf451b2a1d5","source_path":"index.md","text_hash":"6fa3cbf451b2a1d54159d42c3ea5ab8725b0c8620d831f8c1602676b38ab00e6","text":"Sessions","translated":"会话","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:56Z"} -{"cache_key":"c85ec585240e224ad62f0cde143c6625d9eb6e2dfc1a425098b24975e4aa43bf","segment_id":"index.md:856302569e24c4d6","source_path":"index.md","text_hash":"856302569e24c4d64997e2ec5c37729f852bcccf333ba1e2f71e189c9d172e6d","text":": SSH tunnel or tailnet/VPN; see ","translated":":SSH 隧道或 tailnet/VPN;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:38Z"} -{"cache_key":"c8ced90adeff8e91c3f5418bdc11abd60378688097157d3e12c7b51e9841ca2c","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:58Z"} -{"cache_key":"c982edd40183708dbf5bc791228db4bfd5b4b33d5a623e1173ee48a697e31c6f","segment_id":"index.md:f12242785ecda793","source_path":"index.md","text_hash":"f12242785ecda7935ded50cd48418357d32d3bac290f7a199bc9f0c7fbd13123","text":") — Location parsing (Telegram + WhatsApp)","translated":")—— 位置解析(Telegram + WhatsApp)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:56Z"} -{"cache_key":"c98b98cde5f7adf29bada7169968b0e7c20763589cdef21766c06460d88f0f22","segment_id":"index.md:0c67abfaa5415391","source_path":"index.md","text_hash":"0c67abfaa5415391a31cf3a4624746b6b212b5ae66364be28ee2d131f014e0c6","text":"🧩 ","translated":"🧩 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:44Z"} -{"cache_key":"c9939001c16700c5d35daa87cee1e92d3290b1c7987abc44df7af44cb0549c21","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"该点击什么/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:27Z"} -{"cache_key":"c9dab76bf88e0e641fc671ad2fbd902a1ae1db96eb22db04db9410d8a5ce0a79","segment_id":"index.md:63a3abfa879299dd","source_path":"index.md","text_hash":"63a3abfa879299ddcc03558012bfd6075cbd72f7a175b739095bf979700297f7","text":"Multi-instance quickstart (optional):","translated":"多实例快速开始(可选):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:23Z"} -{"cache_key":"ca3d654d1f779e0df22c1f09273aac145e550253cf972adfbc28d2751bbce6c5","segment_id":"index.md:1e37e607483201e2","source_path":"index.md","text_hash":"1e37e607483201e2152d2e9c68874dd4027648efdd9cfccb7bf8c9837398d143","text":"), serving ","translated":"),提供 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:01Z"} -{"cache_key":"ca81625ad797b914689b25dc7631b7d3b910d56f40d3f807c8b9253cdfd4d17f","segment_id":"index.md:f0e2018271f51504","source_path":"index.md","text_hash":"f0e2018271f515041084c8189f297236abe18f9ec77edad1a61c5413310bbd9e","text":"🖥️ ","translated":"🖥️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:49Z"} -{"cache_key":"caf51be0c1458b52f94033eb1b629dba33d1d3a372efd533cd0b13846db8c4d0","segment_id":"index.md:4d87941d681ca4e8","source_path":"index.md","text_hash":"4d87941d681ca4e89ca303d033b7d383d3acfbb6d9d9616bd88d7c19cf92c3dd","text":"Pi","translated":"Pi","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:56Z"} -{"cache_key":"cb6c11ef1460261e35016f0eaa5966553e6f8f20982b69d042a4f62515d65ad7","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"该点什么/该运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:12Z"} -{"cache_key":"cb7224509e3500bfd50fd737857395338c005b21a5cb2142a81af37ebe5204ad","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"您正在记录 提供商 的认证或部署环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:17Z"} -{"cache_key":"cbc65efaa2c9304b41332d4d4b06ec60e7b2eaf66b98f9c7de9db4ada5b50007","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"我该点击/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:32Z"} -{"cache_key":"cbccccc9ef3c5b2bdfc9137d40fcc79548902f77addaa40d473cf39ed46d1658","segment_id":"index.md:255ce77b7a6a015f","source_path":"index.md","text_hash":"255ce77b7a6a015f8595868a524b67c134e8fb405f4584fdac020e57f4ccd5f6","text":"Loopback-first","translated":"优先回环","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:48Z"} -{"cache_key":"cbff4c4140b6a285569765e9905785ee009781edd57d605ffb9171aff34c2d79","segment_id":"index.md:6b3f22c979b9e6f8","source_path":"index.md","text_hash":"6b3f22c979b9e6f8622031a6b638ec5f730c32de646d013e616078e03f5a6149","text":"iOS node","translated":"iOS 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:08Z"} -{"cache_key":"cc06ade0909671964a2ea7220e8ac6cbb33aaa9dffe47a13da27bea6d2d9a0d3","segment_id":"index.md:d08cec54f66c140c","source_path":"index.md","text_hash":"d08cec54f66c140c655a1631f6d629927c7c38b9c8bfa91c875df9bd3ad3c559","text":"OpenClaw assistant setup","translated":"OpenClaw 助手设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:14Z"} -{"cache_key":"cc58238acf407fd16eca091f737e3d7e588e27b1cad3453883c342c3c0e8e9b4","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":".","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:26Z"} -{"cache_key":"cc63b18c7aa9315b943c74483a99d77ec5c26a9ca9a1120637ac7e346b98fc4d","segment_id":"start/getting-started.md:fa6eee60553a165b","source_path":"start/getting-started.md","text_hash":"fa6eee60553a165b731e236a48d54169a31fa39cccbc1967e13fba9e4cc38868","text":"Pairing doc: ","translated":"配对文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:41Z"} -{"cache_key":"cc8f5dcfbe51a4638b375d367381be97b79d012b56b2c7eadd2e38d164cdd177","segment_id":"start/wizard.md:e18251a039a6b735","source_path":"start/wizard.md","text_hash":"e18251a039a6b7353675decc475898bfdb91d3bd9d37e83c8447d0359b8711c3","text":"Non-interactive flags: ","translated":"非交互标志: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:05Z"} -{"cache_key":"cc906618700533ea8dd9d752b8e2ef28ffb8707654a557d7cef1b867cdd57f1a","segment_id":"index.md:ceee4f2088b9d5ba","source_path":"index.md","text_hash":"ceee4f2088b9d5ba7d417bac7395003acfbcef576fd4cc1dd3063972f038218a","text":"The name","translated":"名称","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:01Z"} -{"cache_key":"cc93bf5458542a509cb8460472bf3269d769fe1cdee6201ab736c4b5460d64d5","segment_id":"start/wizard.md:4bba41aa0148ebb4","source_path":"start/wizard.md","text_hash":"4bba41aa0148ebb49b33763f1b38a983af7c0a4dd22fff07d3cf94fdcb96ecd3","text":"Linux (and Windows via WSL2): systemd user unit","translated":"Linux(以及通过 WSL2 的 Windows):systemd 用户单元","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:17Z"} -{"cache_key":"cd2d7cce6f1c10e008e8efe49ecf02b6ac401d686667986409f7e6796e9f1140","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:44Z"} -{"cache_key":"cd4cdcf85e185ce70df30cbda64fb2d77baa6a6c989e67cde3f80315c06b3839","segment_id":"index.md:45e6d69dbe995a36","source_path":"index.md","text_hash":"45e6d69dbe995a36f7bc20755eff4eb4d2afaaedbcac4668ab62540c57219f32","text":"macOS app","translated":"macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:33Z"} -{"cache_key":"cd82c395857efd6e374fec3ad86de5dd8989415770d38a86d8a1980cd372b7f5","segment_id":"start/wizard.md:c4e77a12a2c0b664","source_path":"start/wizard.md","text_hash":"c4e77a12a2c0b664f398de857da71528f66ffb4a70e65769897dcc7147167b2c","text":" or use allowlists.","translated":" 批准,或使用允许名单。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:05Z"} -{"cache_key":"cd9743cfc03baed1ac0aba354dec17a69f9204d0f64f1c71e9c137298bff5141","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:16Z"} -{"cache_key":"cdb2a2bfea264785bf8cb89785edd4df2b7de3adf29db9507ad953dcbdd6d939","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:35Z"} -{"cache_key":"cdd968f07504f0d2da9c8620421deda0bfb9153636d6be92a239eb6adcd9f2b9","segment_id":"environment.md:f0442e6e05ccca16","source_path":"environment.md","text_hash":"f0442e6e05ccca160d17de0e7d509891b91b921366b2202b2b5c80435824e140","text":"Two equivalent ways to set inline env vars (both are non-overriding):","translated":"两种等效的内联设置 环境变量 的方式(均为非覆盖):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:02Z"} -{"cache_key":"ce171e0ce019a7a095f4e7aaa27de6784ee9bb99d4353b3b3b9719eff6509d30","segment_id":"index.md:856302569e24c4d6","source_path":"index.md","text_hash":"856302569e24c4d64997e2ec5c37729f852bcccf333ba1e2f71e189c9d172e6d","text":": SSH tunnel or tailnet/VPN; see ","translated":":SSH 隧道或 Tailnet/VPN;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:16Z"} -{"cache_key":"ce26a64b93065c2ad2be924884f77346c4578db84e4df79e49d5ee43b3ccb617","segment_id":"index.md:9fc31bacba5cb332","source_path":"index.md","text_hash":"9fc31bacba5cb33207804b9e6a8775a3f9521c9a653133fd06e5d14206103e48","text":"Streaming + chunking","translated":"流式传输 + 分块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:06Z"} -{"cache_key":"ce31f98c669ba131d564edefa106a53c0d099661680c8872048ae0636dfbe73c","segment_id":"environment.md:c2d7247c8acb83a5","source_path":"environment.md","text_hash":"c2d7247c8acb83a5a020458fa836c2445922b51513dbdbf154ab5f7656cb04e9","text":"; does not override).","translated":";不覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:37Z"} -{"cache_key":"ce3c2713f373fff6ebab9c70141debe3262d0a7ff6214fd146fa277b67c1ab3e","segment_id":"start/wizard.md:bd8a6e0ff884f51d","source_path":"start/wizard.md","text_hash":"bd8a6e0ff884f51d6a4a9b70f4680033876871936c72cf8af5df4e4b2836c75c","text":"Wizard runs a model check and warns if the configured model is unknown or missing auth.","translated":"向导会运行模型检查,如果配置的模型未知或缺少认证则发出警告。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:24Z"} -{"cache_key":"ce618de323766f3aa222b534fb69a1502c03699a6b57e801e6f1a1b3c32d3431","segment_id":"index.md:9abe8e9025013e78","source_path":"index.md","text_hash":"9abe8e9025013e78a6bf2913f8c20ee43134ad001ce29ced89e2af9c07096d8f","text":"Media: images","translated":"媒体:图片","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:25Z"} -{"cache_key":"ce62c5006939b21f7a2d236f9cdb545ce653778800504e85668fe99075067cbf","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行你的登录 shell,并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:47Z"} -{"cache_key":"cf001b0403d7ae959797460c96aa4da24818c662362595f2da0be349caeb6a09","segment_id":"index.md:cda454f61dfcac70","source_path":"index.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:31Z"} -{"cache_key":"cf9fc66b44905a0c47ca04f98d6e6507821789844f1e97ca2026f7df6e5b1451","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源拉取 环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:11Z"} -{"cache_key":"cfc26997d872d590a2aba69f0aba6f704354d3aea9aa3bd433693ca7182cacdc","segment_id":"start/getting-started.md:1093115897879aa3","source_path":"start/getting-started.md","text_hash":"1093115897879aa3ad9511a1dc2850929cfb60ba45ec741605f69f5d20203472","text":"Runtime","translated":"运行时","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:17Z"} -{"cache_key":"d0594bae529c9774fa42aa68b86c4e1cb876bee2ffe9173b4d9f5a5f8325cae0","segment_id":"start/wizard.md:cac2e1b207fdd700","source_path":"start/wizard.md","text_hash":"cac2e1b207fdd700258939f1e7977375609e4b2e26785c93c230da25bc0cbd82","text":").\nClients (macOS app, Control UI) can render steps without re‑implementing onboarding logic.","translated":")。客户端(macOS 应用、Control UI)可以渲染步骤而无需重新实现上手引导逻辑。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:46Z"} -{"cache_key":"d076be47cee695839a6d7e0cd10b0c8b2a7da5ae5d222273b89c28de425b741e","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型概览","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:21Z"} -{"cache_key":"d08787ed2ed706d9bd6e4f7296e7330177093a07d1b129a0487e2e0e151eb63e","segment_id":"start/getting-started.md:ea8c0ae0a9156b3b","source_path":"start/getting-started.md","text_hash":"ea8c0ae0a9156b3bf89fa7572f685a4d9fd24e89a7326fc7f41fc7e85f139b80","text":"WSL2","translated":"WSL2","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:39Z"} -{"cache_key":"d09b7c0117a630c96ed0f5f9c262caa47d5273ff6d51a8d46c0ca45721eaebe2","segment_id":"environment.md:3fe738a7ee6aaff5","source_path":"environment.md","text_hash":"3fe738a7ee6aaff51f099d9a8314510c99ced6a568eb38c67642cd43bb54eec0","text":" in the current working directory","translated":" 在当前工作目录中","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:04Z"} -{"cache_key":"d0d44c0cc0a3150ea2571f5ecd32d65671470df6b9b093decacc0852597b2201","segment_id":"start/wizard.md:5a5902a06688a396","source_path":"start/wizard.md","text_hash":"5a5902a06688a39618ade9c26292a6e3b13124cee42cc028d35943ccc1e21a5c","text":" (full control).","translated":" (完全控制)模式开始。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:41Z"} -{"cache_key":"d0f76abf14b1216bff9974f7e507a3c2a43f331f1ebd805279843692ae78f662","segment_id":"index.md:5cf9ea2e20780551","source_path":"index.md","text_hash":"5cf9ea2e2078055129b38cfbc394142ca6ca41556bd6e31cbd527425647c1d1e","text":"One Gateway per host (recommended)","translated":"每台主机一个 Gateway(推荐)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:30Z"} -{"cache_key":"d12af03e20c20a4ebdcdbf4c32f52081339c0aa7bd1bb44b311875547bb39918","segment_id":"start/wizard.md:14a01a1b76ad6311","source_path":"start/wizard.md","text_hash":"14a01a1b76ad63111eb126c1d124a893abcb5cc90fe893825a9c96362112ab4f","text":" adds gateway health probes to status output (requires a reachable gateway).","translated":" 将 Gateway 健康探测添加到状态输出中(需要可达的 Gateway)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:41Z"} -{"cache_key":"d1818c531bc4e1cca14e64f751cf8698cb0701a745fb3da03b37b4fd7129c18b","segment_id":"start/wizard.md:6d0323ac97e5a313","source_path":"start/wizard.md","text_hash":"6d0323ac97e5a3136bae41278bfd46f5985969ee57dea5f25d7faa78bb01c87e","text":" when model is unset or ","translated":" (当模型未设置或为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:24Z"} -{"cache_key":"d1a349d8c1859f2d1c00367b86704fa95d4168c8615ada60834a6890215d1f58","segment_id":"index.md:3c064c83b8d244fe","source_path":"index.md","text_hash":"3c064c83b8d244fef61e5fd8ce5f070b857a3578a71745e61eea02892788c020","text":" — Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth","translated":" —— 通过 OAuth 支持 Anthropic(Claude Pro/Max)+ OpenAI(ChatGPT/Codex)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:28Z"} -{"cache_key":"d1d30ee69fb8519a966ebbb5cb51d2be029399b2951ef296b23f96d3fea4bc3a","segment_id":"start/wizard.md:3fad3d2e2c01a9ea","source_path":"start/wizard.md","text_hash":"3fad3d2e2c01a9ea3a66cbcb1b05a0d5982e3665cf0e1ec6dee0e031e83137e1","text":"Reads the available skills and checks requirements.","translated":"读取可用技能并检查依赖条件。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:43Z"} -{"cache_key":"d234d82b06f65337a5ab45e775d0f0abda696d4e04e6115c6a042853b3b11ca4","segment_id":"index.md:084514e91f37c3ce","source_path":"index.md","text_hash":"084514e91f37c3ce85360e26c70b77fdc95f0d3551ce309db96fbcf956a53b01","text":"Dashboard (browser Control UI)","translated":"仪表板(浏览器控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:04Z"} -{"cache_key":"d29dfffbf5c42410939bbb88504ae09e8009835fc6ba11b0bd27ae0da0839aee","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:30Z"} -{"cache_key":"d2daa68c34089a85125ae39af1770f4ec07070bbe5b06c0d0c2d84ea0d10a6ec","segment_id":"index.md:ded906ea94d05152","source_path":"index.md","text_hash":"ded906ea94d0515249f0bcab1ba63835b5968c142e9c7ea0cb6925317444d98c","text":"Configuration examples","translated":"配置示例","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:27Z"} -{"cache_key":"d2daf9c0748530a05031c851236072d2d247919151adeb5afc085b3c1df0a5d2","segment_id":"index.md:b214cd10585678ca","source_path":"index.md","text_hash":"b214cd10585678ca1250ce1ae1a50ad4001de4577a10e36be396a3409314e442","text":"@badlogicc","translated":"@badlogicc","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:27Z"} -{"cache_key":"d2eeaf2250e691f5598d218f5ab0a4086d57b68635b5d91718b8895e00fd80e6","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:25Z"} -{"cache_key":"d304bb8482d72d9a36276fe206308ad11314fae096c08348d76048bc1593c708","segment_id":"start/getting-started.md:d00eca1bae674280","source_path":"start/getting-started.md","text_hash":"d00eca1bae6742803906ab42a831e8b5396d15b6573ea13c139ec31631208ec1","text":"Getting Started","translated":"快速入门","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:21Z"} -{"cache_key":"d308117273fcffa99031b6168d0430801d743429421c4ebbc45aedace958b061","segment_id":"index.md:31365ab9453d6a1e","source_path":"index.md","text_hash":"31365ab9453d6a1ec03731622803d3b44f345b6afad08040d7f3e97290c77913","text":"do nothing","translated":"不做任何操作","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:30Z"} -{"cache_key":"d30d12f7e78eb693ff2d7b58b572be7efd8f8787f98a3ccad0b04752af019ce5","segment_id":"environment.md:b1d6b91b67c2afa5","source_path":"environment.md","text_hash":"b1d6b91b67c2afa5e322988d9462638d354ddf8a1ef79dba987f815c22b4baee","text":" at ","translated":" 位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:49Z"} -{"cache_key":"d41535413a3b4c62091cb7682dab05259a63ac65d34ea5b3463c5808ccb28960","segment_id":"index.md:268ebcd6be28e8d8","source_path":"index.md","text_hash":"268ebcd6be28e8d853ace3a6e28f269fbda1343b53e3f0de97ea3d5bf1a0e33e","text":"Clawd","translated":"Clawd","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:32Z"} -{"cache_key":"d43575ea070a82b8c1685440526dc44dd9aed79bc448b5192134b0fa0c008749","segment_id":"index.md:ee8b06871d5e335e","source_path":"index.md","text_hash":"ee8b06871d5e335e6e686f4e2ee9c9e6de5d389ece6636e0b5e654e0d4dd5b7e","text":"Control UI (browser)","translated":"控制界面(浏览器)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:10Z"} -{"cache_key":"d4735a7a8ac59df4f41d36c7c08984885356d88053b7708e6855dbd446102081","segment_id":"index.md:042c75df73389c8a","source_path":"index.md","text_hash":"042c75df73389c8a7c0871d2a451bd20431d24e908e2c192827a54022df95005","text":"Nacho Iacovino","translated":"Nacho Iacovino","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:55Z"} -{"cache_key":"d490073217e575e01f8f2e93e3101b423f269eba9ce72829891ee9b89843212e","segment_id":"index.md:0b60fe04b3c5c3c7","source_path":"index.md","text_hash":"0b60fe04b3c5c3c76371b6eca8b19c8e09a0e54c9010711ff87e782d87d2190b","text":"Android app","translated":"Android 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:38Z"} -{"cache_key":"d49ac0479b4e2121af227b4a3bdcebe1d4a0d610b35baa6782dafb7fbf4fc4a6","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"你可以使用以下方式在配置字符串值中直接引用环境变量 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:47:01Z"} -{"cache_key":"d4d0c17af1fe72f822af0009148f75c60a1ed6451e748c2b3df85d55e7124987","segment_id":"start/getting-started.md:ebaef508acb6f7b6","source_path":"start/getting-started.md","text_hash":"ebaef508acb6f7b6bb2a0a4342b2aafd862c3694450fe11789070419c1591681","text":"iOS/Android nodes (Canvas/camera/voice): ","translated":"iOS/Android 节点(Canvas/相机/语音): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:25Z"} -{"cache_key":"d4f41acdb842e7c1c8bfec5ad3ab1dab8d98a4792e99dd535877f4201a21a031","segment_id":"start/wizard.md:9db982e2d3194ff1","source_path":"start/wizard.md","text_hash":"9db982e2d3194ff10f91d59646b6193c1b3d36f86f8d4da50b3d1bf8a5ae2ac6","text":": bot token.","translated":":机器人令牌。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:30Z"} -{"cache_key":"d4f4558ec6bd856ca63ddc3f050e7f129c76188a898fa7765d990b8e1ca6fdcd","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:51Z"} -{"cache_key":"d4f9bd5e931f08626a42d41967e2597390d16854993c968eeb9cc8720374a1a0","segment_id":"start/wizard.md:9fd728c66c9a256b","source_path":"start/wizard.md","text_hash":"9fd728c66c9a256b121472dabf32a34317aed01d8427d70ec830289cf23a7cc8","text":"Add ","translated":"添加 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:00Z"} -{"cache_key":"d5381f750f50864e130866c293987087c17d023cec62188df764f7e91dc7606a","segment_id":"index.md:e1b33cfa2a781bde","source_path":"index.md","text_hash":"e1b33cfa2a781bde9ef6c1d08bf95993c62f780a6664f5c5b92e3d3633e1fcf8","text":" (@nachoiacovino, ","translated":" (@nachoiacovino, ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:00Z"} -{"cache_key":"d5c1ce3309dbb00f67e9ff21a4f6dbef5f531ee3781b33f5fc1be91b6fd46196","segment_id":"start/wizard.md:5aa55e363e93c8bc","source_path":"start/wizard.md","text_hash":"5aa55e363e93c8bc3623dcb97e318cfc0784b4fb24e287f600192488208fd8f1","text":"Local mode (default)","translated":"本地模式(默认)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:13Z"} -{"cache_key":"d61140d8a641f1f6316535bc25bdb629b4508cb21951f549a6908b0e8c75b303","segment_id":"environment.md:a9d9b94d02c2f6ab","source_path":"environment.md","text_hash":"a9d9b94d02c2f6ab616036cab13ba821053514d384f064c56d338d748050ba7c","text":" lowest)","translated":" 最低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:31Z"} -{"cache_key":"d62921e75336cfb2d915a837e650bc5d8690441848c19f2d5a57ecbf0247c33b","segment_id":"start/getting-started.md:88d90e2eef3374ce","source_path":"start/getting-started.md","text_hash":"88d90e2eef3374ce1a7b5e7fbd3b1159364b26a8ceb2493d6e546d4444b03cda","text":"Tailscale","translated":"Tailscale","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:34Z"} -{"cache_key":"d6390c8e7e97434033a209c981093a19cabd19baa33feab5462c9cbfe94ed51d","segment_id":"start/getting-started.md:8eb3ea9bbde63159","source_path":"start/getting-started.md","text_hash":"8eb3ea9bbde631592dfac3150044fabe4678c820a107c026035c13bf0c8ba9d7","text":"Auth","translated":"认证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:03Z"} -{"cache_key":"d6402ced9e7963b9ac7e01b7552846636e06afd06ad8433345d9a108f4360fab","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:21Z"} -{"cache_key":"d6cb6405997baeadc37aefa302a5594766dc76d757bdb0224e706a196265ab60","segment_id":"index.md:66d0f523a379b2de","source_path":"index.md","text_hash":"66d0f523a379b2de6f8d5fba3a817ebc395f7bcaa54cc132ca9dfa665d1e9378","text":"Skills","translated":"技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:13Z"} -{"cache_key":"d73268cbf726ddfd975878dfbe6a3b4d5418e1d7568bcb23d5745eea13b014b7","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解加载了哪些环境变量,以及它们的加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:14Z"} -{"cache_key":"d771dee3183c3dde95a035d4dd963966fff7f9d7d0d35eb1d66e26e34e6e0746","segment_id":"help/index.md:frontmatter:read_when:1","source_path":"help/index.md:frontmatter:read_when:1","text_hash":"857eafc389d179e83e21e46c10527fec40894fe064c63847ba06b946b7d5eb73","text":"Something broke and you want the fastest path to a fix","translated":"出了问题,你想找到最快的修复方法","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:29Z"} -{"cache_key":"d78b68adf70db59ac77fac9cfe5e338025bf15b23845ec12fa109dffffd26525","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行您的登录 shell 并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:14Z"} -{"cache_key":"d791df1af8af8b787e124642b683bf3a90723f32075b0da41ba134fab01e7b16","segment_id":"index.md:42071940eb773f4d","source_path":"index.md","text_hash":"42071940eb773f4dcb7111f0626b4a7a823fc44098e143ff425db8a03528609d","text":" — because every space lobster needs a time-and-space machine.","translated":" — 因为每只太空龙虾都需要一台时空机器。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:20Z"} -{"cache_key":"d798cc1cc5fcd0af14bb92521474c72168a3812ac48cc219e3c0757169d2f2b3","segment_id":"environment.md:1ec31258a6b45ea9","source_path":"environment.md","text_hash":"1ec31258a6b45ea903cd76f5b0190a99ab56afff6241a04f0681eb12b7a02484","text":"Env var equivalents:","translated":"等效的环境变量:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:27Z"} -{"cache_key":"d7efd30a0122aa5514cc6d7fb73d6279b2d1eee879e4ec731d2873142860e82b","segment_id":"index.md:723784fa2b6a0876","source_path":"index.md","text_hash":"723784fa2b6a0876540a92223ee1019f24603499d335d6d82afbc520ef5b5d57","text":") — Creator, lobster whisperer","translated":")—— 创建者,龙虾低语者","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:22Z"} -{"cache_key":"d82d08bf8b5d5245c698d1341d95dd2cbe797404269dffbb948000cab390fc3f","segment_id":"start/wizard.md:765dd901deb1679d","source_path":"start/wizard.md","text_hash":"765dd901deb1679d2fa08bebd5e5ca8a998e8c33b6203053cb18fd352ce22330","text":"Non‑interactive mode","translated":"非交互模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:11Z"} -{"cache_key":"d844ae7cf5ac1af1c8e77c093dc0a5b087dbe111241c75fcf0d68c38966fc760","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:47Z"} -{"cache_key":"d89eb1af6a6780d9f17aa4ab63b9ea6fb426a6458811cc4898df06d14464d7cb","segment_id":"start/getting-started.md:7412cf3ea50ad037","source_path":"start/getting-started.md","text_hash":"7412cf3ea50ad0377e8450ef19d397a4b62fc2a44c9ab7f02cc012f80df90199","text":" (stores ","translated":" (存储 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:32Z"} -{"cache_key":"d8ad10373e0be1e5e296d2955307d55e6dca0e4e355d46968d5baed7c6914c70","segment_id":"environment.md:cda454f61dfcac70","source_path":"environment.md","text_hash":"cda454f61dfcac7007a9edc538f9f58cf38caa0652e253975979308162bccc53","text":"Gateway configuration","translated":"Gateway 配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:17:12Z"} -{"cache_key":"d8cc06094a692bfc0650f92c245909ce4308fcc945faabdc2b7bad4f9a1b9998","segment_id":"start/wizard.md:576ed4fd7e0e5fcd","source_path":"start/wizard.md","text_hash":"576ed4fd7e0e5fcd52f1a92c0b5a8df3ed8f33c4c280c9d15e53955d15633796","text":" (you’ll be prompted for your phone number)","translated":" (系统会提示您输入手机号码)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:07Z"} -{"cache_key":"d8fe9f40df201863d43f4937a52bac7d14019fae82150f1191fe4bb66819d827","segment_id":"help/index.md:3c33340bd23b8db8","source_path":"help/index.md","text_hash":"3c33340bd23b8db89f18fe7d05a954738c0dd5ba9623cf6bdb7bb5d1a3729cfc","text":"FAQ (concepts)","translated":"常见问题(概念)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:34Z"} -{"cache_key":"d93001811d4774893fac9a800d8e9c14259b90fc5ed85a3e5e6d381bfb591846","segment_id":"index.md:32ebb1abcc1c601c","source_path":"index.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:10Z"} -{"cache_key":"d952c24b47cb7a9f69823c976f2f5e103fdc731a8bd74cae1436d86f420022df","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:50Z"} -{"cache_key":"d972ebc19ef87492ca8c11159fd6342cced6b4e19743d79d81ae33fafe35bbd8","segment_id":"environment.md:f7e239a42b7cd986","source_path":"environment.md","text_hash":"f7e239a42b7cd986a1558fed234e975ed2e96e9d37cf0a93f381778c461c89dd","text":"OpenClaw pulls environment variables from multiple sources. The rule is ","translated":"OpenClaw 从多个来源获取环境变量。规则是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:21:57Z"} -{"cache_key":"d9923f60f9531ccaaefa870fa682febfe862bf9a38ced5baa99ea8637d7fc5ae","segment_id":"start/getting-started.md:63d3b285bad7d501","source_path":"start/getting-started.md","text_hash":"63d3b285bad7d5015cea4d6e62f972e83221dfce48c6919bd536c5e894a6607d","text":" set an API key (wizard can store it for service use). ","translated":" 设置 API 密钥(向导可以将其存储以供服务使用)。 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:32Z"} -{"cache_key":"d9b22590788b6c0abf9a15102d23d2aeb6608cf4acc0339e69be4e52ae38af48","segment_id":"index.md:f9b8279bc46e847b","source_path":"index.md","text_hash":"f9b8279bc46e847bfcc47b8701fd5c5dc27baa304d5add8278a7f97925c3ec13","text":"Mattermost (plugin)","translated":"Mattermost(插件)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:18Z"} -{"cache_key":"da18bab9968b574835d3ac2fa578c4d9484bd549584abe26d6dd6ef900786186","segment_id":"start/wizard.md:b3903e5fd7656678","source_path":"start/wizard.md","text_hash":"b3903e5fd7656678464dd2a865aaddae81c1a9967b2b28de65963482c18101a4","text":", get it at ","translated":",请在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:39Z"} -{"cache_key":"da2e517a094d1b2ea1a3ef7068f6a9d51fdfdf0a022f7219b7cee208042f347e","segment_id":"environment.md:cdb4ee2aea69cc6a","source_path":"environment.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:22Z"} -{"cache_key":"da6fd0546d605ddbff40ee5eeab7a9dba889d06f55b7668b2ea364b8d13db5b0","segment_id":"start/getting-started.md:8026e8b07f2541e0","source_path":"start/getting-started.md","text_hash":"8026e8b07f2541e05438c325c641d6c725179032c826ab3d788f1d7f6ee6cc48","text":"gateway settings","translated":"Gateway 设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:54Z"} -{"cache_key":"da93b7ddfcae6217e6d6986b9ce70bb9a1a2d9cfad63f48bfad0bf32de42231f","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:17Z"} -{"cache_key":"daa769cecb2f8416182d068699a32d5eb21c0317b3290a243cdecd970d5962a8","segment_id":"index.md:0d517afa83f91ec3","source_path":"index.md","text_hash":"0d517afa83f91ec33ee74f756c400a43b11ad2824719e518f8ca791659679ef4","text":"Web surfaces (Control UI)","translated":"Web 界面(控制界面)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:26Z"} -{"cache_key":"dab106a105f2b823c007205705cad6e89b432c5ca1ef47eabc0f310d8efc383c","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:23Z"} -{"cache_key":"dac6075e2d2a3911099dba69ad509d84086bcd1b1c736fee0152408194e15e11","segment_id":"start/getting-started.md:6dd923776874c55b","source_path":"start/getting-started.md","text_hash":"6dd923776874c55bce97640e624fb7a344d86ed45b1c54be63346b52026a1652","text":"Auth profiles (OAuth + API keys): ","translated":"认证配置文件(OAuth + API 密钥): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:38Z"} -{"cache_key":"db301ad112142ff90fb1b8331377445ca0dd7eae4b68bba7cc6930841d303d06","segment_id":"start/wizard.md:0ed32a8e95d8664d","source_path":"start/wizard.md","text_hash":"0ed32a8e95d8664d39b5e673327e225f72eb6d6733b764db17d1bbc0536a2880","text":"Windows uses WSL2; signal-cli install follows the Linux flow inside WSL.","translated":"Windows 使用 WSL2;signal-cli 安装遵循 WSL 内的 Linux 流程。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:18Z"} -{"cache_key":"dbd450b11463a9da9dd0c640abc716c08a4705dd68c1b0a4c25b354b9311d439","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型 概述","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:44Z"} -{"cache_key":"dbec24d595565c4c294a91f556c491976ccdeb4f7976d9258e6420af47259608","segment_id":"help/index.md:24669ff48290c187","source_path":"help/index.md","text_hash":"24669ff48290c1875d8067bbd241e8a55444839747bffb8ab99f3a34ef248436","text":"Doctor","translated":"诊断","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:29Z"} -{"cache_key":"dbeeb5b2ad003e4152107ceade1290b2001163df5f2fb93a792c8c9d94cec345","segment_id":"start/getting-started.md:922f3f28b57bdd14","source_path":"start/getting-started.md","text_hash":"922f3f28b57bdd146b8892adf494a28a0969d5eaf21333bfdb314db2eb6c8da8","text":"Installer options (install method, non-interactive, from GitHub): ","translated":"安装选项(安装方式、非交互式、从 GitHub 安装): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:48Z"} -{"cache_key":"dbf5bae2a9b91c346475334bdb1294ace20ee07ca1e471c488c5311579ef37ab","segment_id":"index.md:b0d125182029e6c5","source_path":"index.md","text_hash":"b0d125182029e6c500cbcc81011341df77de8fe24d9e80190c32be390c916ec2","text":"🤖 ","translated":"🤖 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:58Z"} -{"cache_key":"dc745b075f86ec95e5a22fbb2ba14c5a6f2c00911dfa570cbe2f5123627e887d","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (即 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:44Z"} -{"cache_key":"dc8c80f84e5339af07824daa81e39f2801c9d6beb851b21e632b3eb6ddf79749","segment_id":"start/wizard.md:4b2a013a2a09958e","source_path":"start/wizard.md","text_hash":"4b2a013a2a09958e251e8998bdfa5fd89cc1c69abb1273fe2c1522cf54363cc6","text":"JVM builds require ","translated":"JVM 构建需要 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:09Z"} -{"cache_key":"dcb357452715d4a3fee760c79dfdee6719f235e48d176456a053646ffae10f44","segment_id":"environment.md:d08a8493f686363a","source_path":"environment.md","text_hash":"d08a8493f686363a78b913d45ebfbd87a3768d1c77b70f23b1fdade3c066e481","text":"Shell env import","translated":"Shell 环境导入","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:04Z"} -{"cache_key":"dcde0de1d52251a80249b1dfaee7ed01776cefba6298068afc3f6c3d9cc5588a","segment_id":"index.md:9dea37e7f1ff0e24","source_path":"index.md","text_hash":"9dea37e7f1ff0e24f7daecf6ea9cc38a58194f11fbeab1d3cfaa3a5645099ef4","text":"Updating / rollback","translated":"更新 / 回滚","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:05Z"} -{"cache_key":"dd09aaae7520593f0b225738900febfd800584c0d3739ac738ad25471bbebd96","segment_id":"environment.md:32ebb1abcc1c601c","source_path":"environment.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:33Z"} -{"cache_key":"dd2638564931b358d794aeef59c89f44ebfb1a77fcb1cd80b46b517854fc66c5","segment_id":"environment.md:f15f5f9f4ef4d668","source_path":"environment.md","text_hash":"f15f5f9f4ef4d6688876c894f8eba251ed1db6eaf2209084028d43c9e76a8ba1","text":" (aka ","translated":" (即 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:12:15Z"} -{"cache_key":"dd36df20c6faba4d8a51480a0d3230e61b4dea629b8457271019bd76b56796bc","segment_id":"index.md:9182ff69cf35cb47","source_path":"index.md","text_hash":"9182ff69cf35cb477c02452600d23b52a49db7bd7c9833a9a8bc1dcd90c25812","text":"Node ≥ 22","translated":"Node ≥ 22","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:27Z"} -{"cache_key":"dd92326da2311615e4319e5c3a8fdb740de38c95fabe4004d5464423cc665458","segment_id":"index.md:4d87941d681ca4e8","source_path":"index.md","text_hash":"4d87941d681ca4e89ca303d033b7d383d3acfbb6d9d9616bd88d7c19cf92c3dd","text":"Pi","translated":"Pi","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:33Z"} -{"cache_key":"de23354a5644ee88dd6cda719c74f7e42f04f3b92a74eae6a035e39e3836505b","segment_id":"start/wizard.md:211b0693ae6d4a20","source_path":"start/wizard.md","text_hash":"211b0693ae6d4a20d6c1dc31c560b94a9c12096f0711c9c3a114f7be1eb2c606","text":"Installs optional dependencies (some use Homebrew on macOS).","translated":"安装可选依赖项(部分在 macOS 上使用 Homebrew)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:54Z"} -{"cache_key":"de45cbfead4c307b1c63c8e70a26ffd33d21776ae05b33f924b12b5f28ee26c6","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:14Z"} -{"cache_key":"de5171e4493a39e50904a36b6951113b6d2301d68f06d7baac75051365bf6e21","segment_id":"index.md:frontmatter:summary","source_path":"index.md:frontmatter:summary","text_hash":"891b2aa093410f546b89f8cf1aa2b477ba958c2c06d2ae772e126d49786df061","text":"Top-level overview of OpenClaw, features, and purpose","translated":"OpenClaw 的顶层概述、功能和用途","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:43Z"} -{"cache_key":"de705dea3105826091973569de591048ac987d5a188374ba4aa8fcb94ea10a10","segment_id":"index.md:65fd6e65268ff905","source_path":"index.md","text_hash":"65fd6e65268ff9057a49d832cccfcd5a376e46a908a2129be5b43f945fa8d8ca","text":": Gateway WS defaults to ","translated":":Gateway WS 默认为 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:03Z"} -{"cache_key":"deab7aa2d56c6fe242f6f04eef414a3fed9e1ac64374fcba6ed245d7b2733f6b","segment_id":"start/getting-started.md:e0626242c2ea510e","source_path":"start/getting-started.md","text_hash":"e0626242c2ea510e9457d6fb1b2848fe7091b10201c13d28c9774e6450ad28b2","text":": WhatsApp QR login, Telegram/Discord bot tokens, Mattermost plugin tokens, etc.","translated":":WhatsApp 二维码登录、Telegram/Discord 机器人令牌、Mattermost 插件令牌等。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:11Z"} -{"cache_key":"debd94851d1f9c8951da5858e545b056346bbc436ba2720f05f5260a5dd44a44","segment_id":"start/wizard.md:aa9e63906bb59344","source_path":"start/wizard.md","text_hash":"aa9e63906bb5934462d7a9f29afd4a9562d5366c583706512cb48dce19c847df","text":"Web tools","translated":"网页工具","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:27Z"} -{"cache_key":"dfa9d0ec2c6831536363b0e1eed21cd1626774a92d3de45da94e234fae5386d2","segment_id":"environment.md:d4a67341570f4656","source_path":"environment.md","text_hash":"d4a67341570f4656784c5f8fe1bfb48a738ace57b52544977431d50e2b718099","text":"FAQ: env vars and .env loading","translated":"常见问题:环境变量 和 .env 加载","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:42Z"} -{"cache_key":"e02de3fd6a9838fd351be176f196cbde274da86bff8be2e8b2303bf6790df0cb","segment_id":"start/getting-started.md:698ca3e004f541ad","source_path":"start/getting-started.md","text_hash":"698ca3e004f541ad543cc5f936c56142f246a15f22c6dd5c9c7afd95532583c6","text":"3.5) Quick verify (2 min)","translated":"3.5)快速验证(2 分钟)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:04Z"} -{"cache_key":"e04e0151c02320e186d2fd1b07d89104ddb194e3ae4971af4bd1f9f1710bad19","segment_id":"index.md:032f5589cfa2b449","source_path":"index.md","text_hash":"032f5589cfa2b44973fe96c42e17dcc2692281413a05b16f48ff0f958f7f7ade","text":"Discord Bot","translated":"Discord 机器人","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:04Z"} -{"cache_key":"e08315c1cc4da73870b3503c2ab91309c6687ee63c42656605372e35941f2bfd","segment_id":"index.md:74f99190ef66a7d5","source_path":"index.md","text_hash":"74f99190ef66a7d513049d31bafc76e05f9703f3320bf757fb2693447a48c25b","text":"Linux app","translated":"Linux 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:53:43Z"} -{"cache_key":"e0893eb3c8cefa57f80842b1e6f91535ad0274b358f897d7bb69a01346be4a59","segment_id":"index.md:5eeecff4ba2df15c","source_path":"index.md","text_hash":"5eeecff4ba2df15c51bcc1ba70a5a2198fbcac141ebe047a2db7acf0e1e83450","text":" — Local UI + menu bar companion for ops and voice wake","translated":" — 本地界面 + 菜单栏辅助工具,用于操作和语音唤醒","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:33Z"} -{"cache_key":"e09e0f7a58717d8dd5e93c9405e9e7a87e99b23ed91d6f88fef646f8686c4c06","segment_id":"index.md:c7a5e268ddd8545e","source_path":"index.md","text_hash":"c7a5e268ddd8545e5a59a58ef1365189862f802cc7b61d4a3212c70565e2dff1","text":"WhatsApp Integration","translated":"WhatsApp 集成","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:26Z"} -{"cache_key":"e0a3b73e10d18fd81805c5666c076468ea1043dd951f611550833d143c7c86c7","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在记录提供商认证或部署环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:15Z"} -{"cache_key":"e0bae3d42ce06b6edf1f45f8f78cb8923b3cab4aa4c1e89ef2b78a6b8116bf98","segment_id":"environment.md:fb135d32fb09abb6","source_path":"environment.md","text_hash":"fb135d32fb09abb6844f68b8fdb5545a2929cbc0a980fd7e19fc1fcba4d8cb32","text":" (what the Gateway process already has from the parent","translated":" (Gateway 进程已从父级","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:36Z"} -{"cache_key":"e10ee0a761ae715ddd355ff5b07c6707d58a7c4aa3d27284863c46797dce8eb9","segment_id":"environment.md:668e5590b5bb9990","source_path":"environment.md","text_hash":"668e5590b5bb9990eeb25bf657f7d17281a4c613ee4442036787cd4b2efd22bb","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if enabled.","translated":"如果配置文件完全缺失,则跳过步骤 4;如果已启用,shell 导入仍会运行。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:05Z"} -{"cache_key":"e116abb724100f07db70423f94752290e45ae7e83fbbb522f560aa75f8827bf3","segment_id":"index.md:6fa3cbf451b2a1d5","source_path":"index.md","text_hash":"6fa3cbf451b2a1d54159d42c3ea5ab8725b0c8620d831f8c1602676b38ab00e6","text":"Sessions","translated":"会话","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:23Z"} -{"cache_key":"e1190c4a2612cc2cea5658f3b586bfab859bd0df7c15f12bc4be6d0657f84734","segment_id":"index.md:013e11a23ec9833f","source_path":"index.md","text_hash":"013e11a23ec9833f907b2ead492b0949015e25d10ba92461669609aee559335d","text":"Start here:","translated":"从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:12Z"} -{"cache_key":"e1257e0dfdcc12dc7e241311ad2ab6bd8b89cc6ced9cda94ef01fc35920887b8","segment_id":"environment.md:cf3f9ba035da9f09","source_path":"environment.md","text_hash":"cf3f9ba035da9f09202ba669adca3109148811ef31d484cc2efa1ff50a1621b1","text":" (what the Gateway process already has from the parent shell/daemon).","translated":" (Gateway 进程已从父 shell/守护进程继承的值)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:29Z"} -{"cache_key":"e1d82e4a5f815268a0e65b21f1722eb4d465937ea4849a800bfacf6dc70869bf","segment_id":"environment.md:6d4090fbae05a048","source_path":"environment.md","text_hash":"6d4090fbae05a048bc57d06313e19799dd5d4b3c1d2a18c6eb745b3dd3442593","text":" equivalents:","translated":" 等效项:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:50Z"} -{"cache_key":"e1f970bed34760abb7d362cd2f7f4af368a2c76a63130e47fb36466f738231ec","segment_id":"index.md:1016b5bdce94a848","source_path":"index.md","text_hash":"1016b5bdce94a8484312c123416c1a18c29fab915ba2512155df3a82ee097f8f","text":"If the Gateway is running on the same computer, that link opens the browser Control UI\nimmediately. If it fails, start the Gateway first: ","translated":"如果 Gateway 运行在同一台计算机上,该链接会立即打开浏览器控制界面。如果无法打开,请先启动 Gateway: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:17Z"} -{"cache_key":"e288c66a34282338017002bdebb3d43b611e9268ee96a9a71377e27358f92a8d","segment_id":"start/wizard.md:0b7555ea7f832be2","source_path":"start/wizard.md","text_hash":"0b7555ea7f832be2c45b8912d6503cb867f500ab982c899ca3edf2bbd25da155","text":"Remote Gateway URL (","translated":"远程 Gateway URL(","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:18Z"} -{"cache_key":"e2a65642000db41fe132dae4ebaf8405dbcc8b607a6f85a2fe2b0ab89fc6113f","segment_id":"help/index.md:2adc964c084749b1","source_path":"help/index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:15Z"} -{"cache_key":"e2be4f7a702604ffc4d6368630ac09d3dc83d72a7906b32ec1c6194d24768883","segment_id":"index.md:1cce617e15b49dca","source_path":"index.md","text_hash":"1cce617e15b49dca89b212bb5290edfcfee010ef2eeef369b36af78c53756e1c","text":" — Optional transcription hook","translated":" — 可选的转录钩子","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:46Z"} -{"cache_key":"e2bea8a812ba82ddc73f36802a93dadd6c4a0ab8d8c47a0b3959a2d3ac2e18e5","segment_id":"index.md:042c75df73389c8a","source_path":"index.md","text_hash":"042c75df73389c8a7c0871d2a451bd20431d24e908e2c192827a54022df95005","text":"Nacho Iacovino","translated":"Nacho Iacovino","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:25Z"} -{"cache_key":"e2f06db885ce6a775a64734d17016fb2c273cd62257def34b9ba0ca1a33a5b83","segment_id":"index.md:03279877bfe1de07","source_path":"index.md","text_hash":"03279877bfe1de0766393b51e69853dec7e95c287ef887d65d91c8bbe84ff9ff","text":"WebChat + macOS app","translated":"网页聊天 + macOS 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:50Z"} -{"cache_key":"e3046cb9f63303cfbf56509890a29667276de5c6b954a6d62bfec56bbd2f5f6f","segment_id":"index.md:e47cdb55779aa06a","source_path":"index.md","text_hash":"e47cdb55779aa06a74ae994c998061bd9b7327f5f171c141caf2cf9f626bfe4b","text":"Peter Steinberger","translated":"Peter Steinberger","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:29Z"} -{"cache_key":"e355a25ce68c149fd415e9a5282ed06cf6d1b14a323d007e6e4bb63f516b63e2","segment_id":"start/wizard.md:frontmatter:read_when:0","source_path":"start/wizard.md:frontmatter:read_when:0","text_hash":"644fc34986851b3419d5dbb492d58c980aaef5ba5b75385e789421654bac2f0e","text":"Running or configuring the onboarding wizard","translated":"运行或配置上手引导向导","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:53Z"} -{"cache_key":"e35afed952675c044e4af3fb46f49fb19ffe702d850a44bd68d322846b87c3a8","segment_id":"index.md:2566561f81db7a7c","source_path":"index.md","text_hash":"2566561f81db7a7c4adb6cee3e93139155a6b01d52ff0d3d5c11648f46bc79bb","text":"📱 ","translated":"📱 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:49Z"} -{"cache_key":"e35cd8ef4c58d52ece200d844acc87c82675d4bfab5626181d5a19a80619121b","segment_id":"index.md:fdef9f917ee2f72f","source_path":"index.md","text_hash":"fdef9f917ee2f72fbd5c08b709272d28a2ae7ad8787c7d3b973063f0ebeeff7a","text":" to update the gateway service entrypoint.","translated":" 以更新网关服务入口点。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:32Z"} -{"cache_key":"e373ad3f709800b61550e436e63f2d836a6d8ef0d20d024a17c1e84979c3123b","segment_id":"start/getting-started.md:d7fc08e9364a1f77","source_path":"start/getting-started.md","text_hash":"d7fc08e9364a1f778246387363b55f32ca59ece0738ae543c994da0dab3dba09","text":"What you’ll choose:","translated":"您需要选择的内容:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:58Z"} -{"cache_key":"e47ee10a7f2c053bb20dc3cc1e1019c5043b6704d065442933270fd16de75cbc","segment_id":"index.md:774f1d6b2910de20","source_path":"index.md","text_hash":"774f1d6b2910de200115afec1bd87fe1ea6b0bc2142ac729e121e10a45df4b5d","text":" ← ","translated":" ← ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:52Z"} -{"cache_key":"e4d336ccc6430b7ad958c679f191372f6e1cd5ad513c5ce8f9b77cda4f2766e7","segment_id":"index.md:eec70d1d47ec5ac0","source_path":"index.md","text_hash":"eec70d1d47ec5ac00f04e59437e7d8b0988984c0cea3dddd81b1a2a10257960b","text":" — DMs + groups via grammY","translated":" —— 通过 grammY 支持私聊和群组","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:36Z"} -{"cache_key":"e51947f3a8d4e7ab79dc357deb1fcb7df73a48359733696bcd8ef64aaf7c4a45","segment_id":"index.md:297d5c673f5439aa","source_path":"index.md","text_hash":"297d5c673f5439aa31dca3bbc965cb657a89a643803997257defb3baef870f89","text":"Open the dashboard (local Gateway):","translated":"打开仪表板(本地 Gateway):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:19Z"} -{"cache_key":"e535ba32611dbfdfbdb030dbefbe4fa338d0de9c3dcf09e716b80b85ac6ec56e","segment_id":"start/getting-started.md:9995caf4a7d96e04","source_path":"start/getting-started.md","text_hash":"9995caf4a7d96e04d44f069d0e4b3ef3a2b210186fb92c3b1e846daf26b21a24","text":"macOS: if you plan to build the apps, install Xcode / CLT. For the CLI + gateway only, Node is enough.\nWindows: use ","translated":"macOS:如果您计划构建应用程序,请安装 Xcode / CLT。如果仅使用 CLI + Gateway,Node 就足够了。\nWindows:使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:38Z"} -{"cache_key":"e5714db86354a7868e7543683f77af47aa597f3bcddb61f46f2c313cb4cf8636","segment_id":"index.md:74926756385b8442","source_path":"index.md","text_hash":"74926756385b844294a215b2830576e3b2e93b84c5a8c8112b3816c5960f3022","text":" — DMs + guild channels via channels.discord.js","translated":" —— 通过 渠道.discord.js 支持私聊和服务器 渠道","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:43Z"} -{"cache_key":"e5857a240e24225783be67421286d47a4b18135d04c6f4f031e82d2a61cb02a3","segment_id":"index.md:f0e2018271f51504","source_path":"index.md","text_hash":"f0e2018271f515041084c8189f297236abe18f9ec77edad1a61c5413310bbd9e","text":"🖥️ ","translated":"🖥️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:02:28Z"} -{"cache_key":"e5a865669cc0d84b9b7f66db70c9b2536473891af6dc11f20fc3f7d5fccfceb6","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:33Z"} -{"cache_key":"e5ab95a17152cbd3025b5413a5d7d8f0642fb9e3e3c72d241c7eec3e73b9104a","segment_id":"environment.md:7175517a370b5cd2","source_path":"environment.md","text_hash":"7175517a370b5cd2e664e3fd29c4ea9db5ce17058eb9772fe090a5485e49dad6","text":" or ","translated":" 或 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:39Z"} -{"cache_key":"e5b4eab0ca38617f4b76c99dc5fa36151812c02576b33f954a56cf5f77703696","segment_id":"index.md:bf0e823c81b87c5d","source_path":"index.md","text_hash":"bf0e823c81b87c5de79676155debf20a29b52d6d7eb7e77deda73a56d0afbaaa","text":"🧠 ","translated":"🧠 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:08Z"} -{"cache_key":"e5be378ff2d92da3de35b20680f90f5d1aa0a98ce205139d6fcaeac91ef06f65","segment_id":"index.md:9bcda844990ec646","source_path":"index.md","text_hash":"9bcda844990ec646b3b6ee63cbdf10f70b0403727dea3b5ab601ca55e3949db9","text":" for node WebViews; see ","translated":" 用于节点 WebView;参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:04Z"} -{"cache_key":"e5d655052f08f79672770734c9717dc24a5a9359defba7095dc7a9e2cf9e801b","segment_id":"start/wizard.md:bba52d8bacabbacc","source_path":"start/wizard.md","text_hash":"bba52d8bacabbacc510a1902b4eb35435f691903eb2db22fd110d41eadedec8d","text":" exists, the wizard can reuse it.","translated":" 存在,向导可以复用它。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:13Z"} -{"cache_key":"e628a7773be8d41e10dc53dcb383a11096e0573ec6b470aa13d2a14adcefb8e7","segment_id":"start/wizard.md:e3ba8a2959965f9c","source_path":"start/wizard.md","text_hash":"e3ba8a2959965f9c8360537e304016b2f75d561bdb03655a42adb02ce75a0e3f","text":"Default workspaces follow ","translated":"默认工作区遵循 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:57Z"} -{"cache_key":"e62ed5670f8283396dcc6a81182cda94667ff98973f153e4c86a04db364a4895","segment_id":"start/wizard.md:a8dbd136ed7c8e55","source_path":"start/wizard.md","text_hash":"a8dbd136ed7c8e55f9c0ae6e5acd2576d485f642d964a61f3693afc1c0c4ffdf","text":": uses ","translated":":使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:50Z"} -{"cache_key":"e66b34ec94f9a9c10b99b098ad8806551356222f1ac50f6fec7d719991faceee","segment_id":"start/wizard.md:c36d819e7bc6d2b7","source_path":"start/wizard.md","text_hash":"c36d819e7bc6d2b7da51394411c733db89c395987885ca6770167a3b9bc45c3c","text":"Use ","translated":"使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:45Z"} -{"cache_key":"e689f27ba4febf31a28a5b79eb2af514a15a3dff5dfe458bb3067cc59b2e7481","segment_id":"index.md:be48ae89c73a75da","source_path":"index.md","text_hash":"be48ae89c73a75da3454d565526d777938c20664618905a9bc77d6a0a21a689d","text":"\"EXFOLIATE! EXFOLIATE!\"","translated":"\"去角质!去角质!\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:25Z"} -{"cache_key":"e6b4ca13a3b7e39f521b1aadbb4f54f37875d228cd918c6406bd6519d5c7b6c8","segment_id":"index.md:6638cf2301d3109d","source_path":"index.md","text_hash":"6638cf2301d3109da66a44ee3506fbd35b29773fa4ca33ff35eb838c21609e19","text":"Features (high level)","translated":"功能特性(概览)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:26Z"} -{"cache_key":"e6e2a9985237253e0478229a54f3693bc7b0472bc450d53a4122dc20dfe08b21","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:37Z"} -{"cache_key":"e6e456289628d5a4b6cbbc0fbb263d656ba7d49427a2009ce3c5f608b8505ea0","segment_id":"index.md:f0d82ba647b4a33d","source_path":"index.md","text_hash":"f0d82ba647b4a33da3008927253f9bed21e380f54eab0608b1136de4cbff1286","text":"OpenClaw bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js), and iMessage (imsg CLI) to coding agents like ","translated":"OpenClaw 将 WhatsApp(通过 WhatsApp Web / Baileys)、Telegram(Bot API / grammY)、Discord(Bot API / channels.discord.js)和 iMessage(imsg CLI)桥接到编程 智能体,例如 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:56Z"} -{"cache_key":"e723a0b2ab360a74b84f4ccd08fdc4cc1639b85d5178d45d8103a18069bd3d8d","segment_id":"start/getting-started.md:1b59a1d9fa6d392f","source_path":"start/getting-started.md","text_hash":"1b59a1d9fa6d392f1f68642200583ed0f7b372af2fbc7c01d5f7f00463e229de","text":" also bundles A2UI assets; if you need to run just that step, use ","translated":" 也会打包 A2UI 资源;如果您只需要运行该步骤,请使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:51Z"} -{"cache_key":"e7279b78eeb5dccdf1897af612ce9f34bbae6f6ad7d8a7fed40a48f2f59c2367","segment_id":"environment.md:frontmatter:summary","source_path":"environment.md:frontmatter:summary","text_hash":"78351223e7068721146d2de022fdf440c2866b2ee02fbbb50bf64369b999820b","text":"Where OpenClaw loads environment variables and the precedence order","translated":"OpenClaw 加载环境变量的位置及优先级顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:05Z"} -{"cache_key":"e73887cca1549bd1acf945a50dfbd054a3ec1c87741be5a0a4381a4840ce13e5","segment_id":"index.md:1df4f2299f0d9cc4","source_path":"index.md","text_hash":"1df4f2299f0d9cc466fa05abeb2831e76e9f89583228174ffcd9af415fd869fe","text":"Send a test message (requires a running Gateway):","translated":"发送测试消息(需要运行中的 Gateway):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:17Z"} -{"cache_key":"e747cc049257f34351f8e9510202e9a6f21541b6ab738d9c1e2aa1a41c519657","segment_id":"environment.md:cb133602d7dd4bc6","source_path":"environment.md","text_hash":"cb133602d7dd4bc6ecfe37a040de72b562547e609327bdd41ea294f9257b7248","text":" keys.","translated":" 密钥时应用。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:22Z"} -{"cache_key":"e758b5241da8091ae15d39a4bd67f4c86e9beb81d84def2a94118597695be1b4","segment_id":"index.md:42bb365211decccb","source_path":"index.md","text_hash":"42bb365211decccb3509f3bf8c4dfcb5ae05fe36dfdedb000cbf44e59e420dc9","text":" — Local imsg CLI integration (macOS)","translated":" — 本地 imsg CLI 集成(macOS)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:21Z"} -{"cache_key":"e7692faaf02464b2a4dd119d057cc5aced8c33764089e7974d2634ae997c09f2","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:11Z"} -{"cache_key":"e7bc8ffa042426610faa9c40c7191933bfda50deb769ef153580d4ab1c75d679","segment_id":"start/getting-started.md:cdb4ee2aea69cc6a","source_path":"start/getting-started.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:45Z"} -{"cache_key":"e8160fc2a7763ac99c0933d4424a99f211b661b0d7649bb1d33f908c3ff5e0d2","segment_id":"start/getting-started.md:75e23f5184b23835","source_path":"start/getting-started.md","text_hash":"75e23f5184b23835efb6fdc64309312d3c9212d10566350b1a08ff7838c79d03","text":"2) Run the onboarding wizard (and install the service)","translated":"2)运行上手引导向导(并安装服务)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:35:55Z"} -{"cache_key":"e81fa8ea81e681a305d677a823722958c2fdf42c3afbf4149a2d5cdfc4c6e1df","segment_id":"index.md:4eb58187170dc141","source_path":"index.md","text_hash":"4eb58187170dc14198eacb534c8577bef076349c26f2479e1f6a2e31df8eb948","text":" — An AI, probably high on tokens","translated":" — 一个可能被令牌冲昏头脑的 AI","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:53Z"} -{"cache_key":"e87435d09fd52a520aeae4097eb83a149aeb498192ccfbdd63da8db57571de09","segment_id":"index.md:d08cec54f66c140c","source_path":"index.md","text_hash":"d08cec54f66c140c655a1631f6d629927c7c38b9c8bfa91c875df9bd3ad3c559","text":"OpenClaw assistant setup","translated":"OpenClaw 助手设置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:12Z"} -{"cache_key":"e8a313447619fd5d7895acf1c467e347d47a8c35861910facf5ff08f88a8905e","segment_id":"index.md:5928d14b4d45263d","source_path":"index.md","text_hash":"5928d14b4d45263d4964dfd301c84ed2674ca8b4b698c5efeb88fb86076d2bf9","text":"🎮 ","translated":"🎮 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:39Z"} -{"cache_key":"e8bfa9777ff1ca6f2921ef47688f6ddb7d1a68c074dc27c7af195521940fb68f","segment_id":"help/index.md:frontmatter:summary","source_path":"help/index.md:frontmatter:summary","text_hash":"aece82a2d540ab1a9a21c7b038127cae6e9db2149491564bb1856b6f8999f205","text":"Help hub: common fixes, install sanity, and where to look when something breaks","translated":"帮助中心:常见修复方法、安装完整性检查,以及出现问题时的排查指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:25Z"} -{"cache_key":"e8ee67c09bdbe71798a5c6348316e32fa4bf8cdf688a0fba4493ffc836a62fde","segment_id":"environment.md:c2d7247c8acb83a5","source_path":"environment.md","text_hash":"c2d7247c8acb83a5a020458fa836c2445922b51513dbdbf154ab5f7656cb04e9","text":"; does not override).","translated":";不会覆盖)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:44Z"} -{"cache_key":"e8fb144a38ce4b1553a092808d81c2faabee7f47fc5f950ff809998508ead2a9","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行您的登录 shell 并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:07Z"} -{"cache_key":"e9196b72990174331920ecd407ae4e20e96e67c7a2bd9e9deecdf9dda0a49b1e","segment_id":"index.md:c4b2896a2081395e","source_path":"index.md","text_hash":"c4b2896a2081395e282313d6683f07c81e3339ef8b9d2b5a299ea5b626a0998f","text":").","translated":")。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:34Z"} -{"cache_key":"e96f23e744751e56e76bb4914d500540aa9e7477681bf82acf3e8d249b7443e9","segment_id":"start/wizard.md:fda4a25e07825d0e","source_path":"start/wizard.md","text_hash":"fda4a25e07825d0e741782945be50a3bbf326b9403943ae322f9ff2c9d959a99","text":"QuickStart","translated":"快速入门","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:34Z"} -{"cache_key":"e974c0b5a54da233c9d3202030578368ed8f3ea979c5c958f879fcce408ef324","segment_id":"index.md:frontmatter:summary","source_path":"index.md:frontmatter:summary","text_hash":"891b2aa093410f546b89f8cf1aa2b477ba958c2c06d2ae772e126d49786df061","text":"Top-level overview of OpenClaw, features, and purpose","translated":"OpenClaw 的顶层概述、功能特性与用途","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:24Z"} -{"cache_key":"ea45ea5fb5edafd10885c5996709509fad9abd882c5daacc6f032e390b66c408","segment_id":"start/wizard.md:b1f78eea9ea563ca","source_path":"start/wizard.md","text_hash":"b1f78eea9ea563cab0611c9d9f74199e0f1dc1b7855a0f4e0eb8f4e0b9848b9e","text":"Add agent (non‑interactive) example:","translated":"添加智能体(非交互)示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:37Z"} -{"cache_key":"eacecaae490a307e52e287a93f22dd76cb2bab3c62c7d3e8e95480d7333a1d84","segment_id":"index.md:0eb95fb6244c03f1","source_path":"index.md","text_hash":"0eb95fb6244c03f1ccca696718a06766485c231347bf382424fb273145472355","text":"Quick start","translated":"快速入门","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:22Z"} -{"cache_key":"eaf2d170adde0688e23ca9cabb4074fdfbddd11f9e9327e51891878b361dfb2d","segment_id":"index.md:d372b90f0ccffad0","source_path":"index.md","text_hash":"d372b90f0ccffad0ae6e3df3c3aaeccd7a17eb59b4bc492a5469dc05ac3629ec","text":", OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.","translated":",OpenClaw 将使用捆绑的 Pi 二进制文件以 RPC 模式运行,并使用每个发送者的 会话。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:33Z"} -{"cache_key":"eba13072b1a354b471f3da30934e0e7c51b0a4954b7b528817a8f20be0ec9c53","segment_id":"index.md:ceee4f2088b9d5ba","source_path":"index.md","text_hash":"ceee4f2088b9d5ba7d417bac7395003acfbcef576fd4cc1dd3063972f038218a","text":"The name","translated":"名称由来","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:16Z"} -{"cache_key":"ec2ec567c80acb4eaebb70c38df1d9ab94f68714cb99694d11d947a071edfdd4","segment_id":"start/wizard.md:3f485847642a332e","source_path":"start/wizard.md","text_hash":"3f485847642a332ed0374201686055314594de14929920d4c40d44676929d972","text":" to automate or script onboarding:","translated":" 用于自动化或脚本化上手引导:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:14Z"} -{"cache_key":"ec52d1059c9865c5fc3c2a42df8c7a6bf0a0b11707cd03f66a7767f8ea7eb532","segment_id":"environment.md:453c14128fbfb5f6","source_path":"environment.md","text_hash":"453c14128fbfb5f6757511557132a1dbb3bcbf243267630bfec49db8518c7780","text":"Env var substitution in config","translated":"配置中的环境变量替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:19:42Z"} -{"cache_key":"ec6203797e9e6d7c8b84dff668fa87d4f4e18e599a55a3e235a54bcfa85dcc08","segment_id":"environment.md:6db0742daaf9f191","source_path":"environment.md","text_hash":"6db0742daaf9f191ab7816d2c9d317b1ea1693453a8c63b95af8b01477e0f5bb","text":" runs your login shell and imports only ","translated":" 运行你的登录 shell 并仅导入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:22:20Z"} -{"cache_key":"ec6544cf9a2fdf796cb6d3311bf84b9d9f4212fd4491ceb30cc7830f1bfe7024","segment_id":"help/index.md:b79cac926e0b2e34","source_path":"help/index.md","text_hash":"b79cac926e0b2e347e72cc91d5174037c9e17ae7733fd7bdb570f71b10cd7bfc","text":"Help","translated":"帮助","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:32Z"} -{"cache_key":"ec84b886dc2d0638c71fa040e38e36a5fa259ee781decdf9493570c2fec604fa","segment_id":"index.md:e9f63c8876aec738","source_path":"index.md","text_hash":"e9f63c8876aec7381ffb5a68efb39f50525f9fc4e732857488561516d47f5654","text":" — Uses Baileys for WhatsApp Web protocol","translated":" —— 使用 Baileys 实现 WhatsApp Web 协议","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:29Z"} -{"cache_key":"ec9e3eb6d2bd790ee1b161f31b6bb70649ee6b5df85dd2b6a0178ee01c443f69","segment_id":"start/wizard.md:61c5ae608ddc7474","source_path":"start/wizard.md","text_hash":"61c5ae608ddc7474cd3aadc92c22059f7a539eefb0a56b02f625c39e552ff7f7","text":"The wizard can install ","translated":"向导可以安装 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:51Z"} -{"cache_key":"eca7489e62538a4b68a7d49f3a67df1c6bad8affc75d6411f68ca1e81bef47b2","segment_id":"environment.md:f6b2ffe1d0d5f521","source_path":"environment.md","text_hash":"f6b2ffe1d0d5f521b76cabc67d6e96da2b1170eef8086d530558e9906a7f092d","text":"Models overview","translated":"模型概览","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:17Z"} -{"cache_key":"ecb4df64e132ff6212066948863adabaa06122c77d8971d5c924dc2e744df845","segment_id":"index.md:98a670e2fb754896","source_path":"index.md","text_hash":"98a670e2fb7548964e8b78b90fef47f679580423427bfd15e5869aca9681d0dd","text":"\"We're all just playing with our own prompts.\"","translated":"\"我们都只是在玩弄自己的提示词。\"","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:43Z"} -{"cache_key":"ecd894720faa37450014e0fe1630be8382cf6ec23cbb9bfe76bc4125495d8fa5","segment_id":"index.md:9adcfa4aa10a4e8b","source_path":"index.md","text_hash":"9adcfa4aa10a4e8b991a72ccc45261cd64f296aed5b257e4caf9c87aff1290a0","text":" — Send and receive images, audio, documents","translated":" — 收发图片、音频、文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:38Z"} -{"cache_key":"ed10c233aa195883b17061f166f647efac5a27535a85ce4d16fc90d40e138882","segment_id":"help/index.md:8cd501e1124c3047","source_path":"help/index.md","text_hash":"8cd501e1124c30473473c06e536a2d145e2a14a6d7dc1b99028ce818e14442e2","text":"Repairs:","translated":"修复:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:56Z"} -{"cache_key":"ed15427258ffbf85620a0c9c0c42deb7f37be17b7abeff5993a34962964f0e96","segment_id":"index.md:a194ca16424ddd17","source_path":"index.md","text_hash":"a194ca16424ddd17dacc45f1cbd7d0e41376d8955a7b6d02bc38c295cedd04e4","text":"RPC adapters","translated":"RPC 适配器","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:19Z"} -{"cache_key":"ed24753e60b54d629cfd978be87185f4772676322534432302319caf28452d29","segment_id":"index.md:ab201ddd7ab330d0","source_path":"index.md","text_hash":"ab201ddd7ab330d04be364c0ac14ce68c52073a0ee8d164a98c3034e91ce1848","text":" from the repo.","translated":" (在仓库目录中执行)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:21Z"} -{"cache_key":"ed37a2b1a8c3351a6c04bee81df6f507f306be344485e69eb87b3b2451aad89f","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:47Z"} -{"cache_key":"ee3f1647acf674397ba7f7e1aee0f9972b9830f978b622695d8ab5360de5a496","segment_id":"index.md:255ce77b7a6a015f","source_path":"index.md","text_hash":"255ce77b7a6a015f8595868a524b67c134e8fb405f4584fdac020e57f4ccd5f6","text":"Loopback-first","translated":"回环优先","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:01Z"} -{"cache_key":"ee582fba5363de60fb2c00f9238f2ac9ad6dc7615694d8d23d24d88bf7ec13e1","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:29Z"} -{"cache_key":"eead1cfedffdef3e1e7e8bfc6339df973b1390f8cd648602a62448762b8963f4","segment_id":"start/wizard.md:15836cbac4abdca3","source_path":"start/wizard.md","text_hash":"15836cbac4abdca3c78de3c3470fdc7bea9a96d0f38a1d0e4ec941bfc18ecb26","text":"Config only","translated":"仅配置","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:41:30Z"} -{"cache_key":"eeebff3da1cf246a7ee248bd8bc9694ee3d98c0f3fe5a0dcbfefa5e252b113a2","segment_id":"index.md:c3af076f92c5ed8d","source_path":"index.md","text_hash":"c3af076f92c5ed8dcb0d0b0d36dd120bc31b68264efea96cf8019ca19f1c13a3","text":"Troubleshooting","translated":"故障排除","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:33Z"} -{"cache_key":"eeef5f9dd1ae51906bf8d4a97c86db5d9327f00c8117da5fe2276a1ac1b155f4","segment_id":"help/index.md:156597e2632411d1","source_path":"help/index.md","text_hash":"156597e2632411d1d5f634db15004072607ba45072a4e17dfa51790a37b6781f","text":"Gateway issues:","translated":"Gateway 问题:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:24:43Z"} -{"cache_key":"ef28fdc07b59ec5ce5915e3de7389d8d70ecb8ed31445ed4066d7118fe6dd63e","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量 替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:41:33Z"} -{"cache_key":"ef3b396216400003eb534a0ab4fe41ae559b2fb39623ec3e2f9892c4f4cba9ef","segment_id":"index.md:ec05222b3777fd7f","source_path":"index.md","text_hash":"ec05222b3777fd7f91a2964132f05e3cfc75777eaeec6f06a9a5c9c34a8fc3e9","text":"Nix mode","translated":"Nix 模式","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:04:10Z"} -{"cache_key":"ef7f4605237a606f565a596c39809fa969774059be148db688b808634350bf09","segment_id":"index.md:5928d14b4d45263d","source_path":"index.md","text_hash":"5928d14b4d45263d4964dfd301c84ed2674ca8b4b698c5efeb88fb86076d2bf9","text":"🎮 ","translated":"🎮 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:38Z"} -{"cache_key":"efa246765d696f04600590562765687bb4f5fefce8a4df66bc2cbe3275f3f43e","segment_id":"start/wizard.md:426263b5cd4ab1f3","source_path":"start/wizard.md","text_hash":"426263b5cd4ab1f3211193944727955444c6454a1640bec5e6f35b017c6d285f","text":"Non‑loopback binds still require auth.","translated":"非回环绑定仍需认证。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:08Z"} -{"cache_key":"efd8767a5fede85377af51202b1450a0f73054f978162c2d8bcef5dfa6220323","segment_id":"start/getting-started.md:e67454c1b6dd66c2","source_path":"start/getting-started.md","text_hash":"e67454c1b6dd66c2f006a8a98ff9c6a1279f8283eab3a272c15436f164cefe7b","text":"Recommended path: use the ","translated":"推荐路径:使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:46Z"} -{"cache_key":"effbe87506ca4373185a6bd9eb8262362bc299b5fbd8da0ce76b0aa8fe73ff1d","segment_id":"environment.md:a258b30f88c30650","source_path":"environment.md","text_hash":"a258b30f88c30650e73073d5bdde5cfcc6987100ae62d37789e5c46a0d85b7c6","text":"Global ","translated":"全局 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:36Z"} -{"cache_key":"f02f949874120a6c5b691141073ad6c170eaa88039cdad423e870a2753e957b3","segment_id":"start/getting-started.md:caf33dca8b21dc18","source_path":"start/getting-started.md","text_hash":"caf33dca8b21dc18f96b1f009b0dba4d75ddc00ea245972e98d56b1d1a5a009d","text":"Mattermost (plugin): ","translated":"Mattermost(插件): ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:28Z"} -{"cache_key":"f04ed463aa434ea141889ce238029572813914c69789bd6fb5eacba8423f5768","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"我该点击/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:44:25Z"} -{"cache_key":"f0bc0a82d8a06b403ce5154b870a817a8097bacdb2e4fe64ab876d6f084f389c","segment_id":"index.md:d372b90f0ccffad0","source_path":"index.md","text_hash":"d372b90f0ccffad0ae6e3df3c3aaeccd7a17eb59b4bc492a5469dc05ac3629ec","text":", OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.","translated":",OpenClaw 将使用内置的 Pi 二进制文件以 RPC 模式运行,并为每个发送者提供 会话。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:58Z"} -{"cache_key":"f11584b1b8bb57dbe543960af7b37e9ff6fb5eab1a8da25c423f5780dd0d676c","segment_id":"start/getting-started.md:ab744fe26b887abd","source_path":"start/getting-started.md","text_hash":"ab744fe26b887abdb3558472d5bfe074f2716bbd88c8fab2b86bc745cbe7cf52","text":"Tip: ","translated":"提示: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:07Z"} -{"cache_key":"f16eb7fed19f8561d7438f4379417058d14d6effa70a7e8ab163a2c08e69b70f","segment_id":"start/wizard.md:8ef5034a90ff178a","source_path":"start/wizard.md","text_hash":"8ef5034a90ff178aded1c6f9898a864b8af345b28b62274e520c62e4bc44dec8","text":"Native builds are used when available.","translated":"如有原生构建则优先使用。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:15Z"} -{"cache_key":"f18978cae4cb765c8959cd68c4897fde778c8cece0f3e6a778e862fc767efebe","segment_id":"index.md:013e11a23ec9833f","source_path":"index.md","text_hash":"013e11a23ec9833f907b2ead492b0949015e25d10ba92461669609aee559335d","text":"Start here:","translated":"从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:44Z"} -{"cache_key":"f1bf5865e234c088f292333d3304a20f3b9b69544d67f32494540f263fa1e1cc","segment_id":"index.md:2adc964c084749b1","source_path":"index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:39Z"} -{"cache_key":"f1f9640f4e20ead3c4890cd38fa2d2f83e102d190c71f31bf74e43411b220707","segment_id":"environment.md:3527b238ea049608","source_path":"environment.md","text_hash":"3527b238ea04960811e4f77378c46a6cddaf9dbf907d8affb0974772028b269e","text":"If the config file is missing entirely, step 4 is skipped; shell import still runs if","translated":"如果配置文件完全缺失,则跳过第 4 步;如果","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:46:24Z"} -{"cache_key":"f2078834885c634ec26e8903f4ed129d2fa2611d43b07c1b65d99b4207dd3f17","segment_id":"index.md:cdb4ee2aea69cc6a","source_path":"index.md","text_hash":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","text":".","translated":"。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:28Z"} -{"cache_key":"f218922442b56c5e09b8f23fab26599a3631012ca6e296456125326f409f1f7e","segment_id":"help/index.md:cad44fbae951d379","source_path":"help/index.md","text_hash":"cad44fbae951d3791565b0cee788c01c3bd10e0176167acb691b8dba0f7895f8","text":"Gateway logging","translated":"Gateway 日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:40Z"} -{"cache_key":"f22c948c8f08bba03ae5ab9b17be95ed84ed98de50cbcbea09d5812b3d9fd4e1","segment_id":"start/wizard.md:7c2a0a6b7bb37dc2","source_path":"start/wizard.md","text_hash":"7c2a0a6b7bb37dc269429103bc13c5f5172b11631d7d44e84e0d5e4881354e4f","text":" works without a key). Easiest path: ","translated":" 无需密钥也可使用)。最简单的方式: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:39:21Z"} -{"cache_key":"f23e602e5722bcb75d4969fec8ae88209555d9f30e4cc863e54cb0665c150f93","segment_id":"index.md:e3572f8733529fd3","source_path":"index.md","text_hash":"e3572f8733529fd30a8604d41d624c15f4433df68f40bd092d1ee61f7d8d15e2","text":"Agent bridge","translated":"智能体桥接","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:57Z"} -{"cache_key":"f258e8524ff328198c2d9437453a1d91d940664b2f522b1ec9ac79b0139fc660","segment_id":"start/wizard.md:54ec12801f42e556","source_path":"start/wizard.md","text_hash":"54ec12801f42e5568f617d1aad18c458515c72920de170a24ef0f2be60cd3d33","text":"Moonshot AI (Kimi + Kimi Coding)","translated":"Moonshot AI (Kimi + Kimi Coding)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:13Z"} -{"cache_key":"f25bc202081adc9aa4d305452fe50f1a9c63b9077c112ebdc0d9166737b3675a","segment_id":"index.md:99260acc29f71e4b","source_path":"index.md","text_hash":"99260acc29f71e4baeb36805a1fdbd2c17254b57c8e5a9cba29ee56518832397","text":" — Route provider accounts/peers to isolated agents (workspace + per-agent sessions)","translated":" — 将 提供商 账户/对等方路由到隔离的 智能体(工作区 + 每个 智能体 的 会话)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:46Z"} -{"cache_key":"f2a0941718593a4be66a7a033a4117a7b3a502ef64b25fd7d6d3475c77dd5a1a","segment_id":"environment.md:87e89abb4c1c551f","source_path":"environment.md","text_hash":"87e89abb4c1c551fe08d355d097f18b8de78edca5f556997085681662fce8eed","text":"Config ","translated":"配置 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:24Z"} -{"cache_key":"f2a0c70d8b9f94722b586320f11c58339d30dd1fe8ff7250a962bb2db84d5ab4","segment_id":"environment.md:ffa63583dfa6706b","source_path":"environment.md","text_hash":"ffa63583dfa6706b87d284b86b0d693a161e4840aad2c5cf6b5d27c3b9621f7d","text":"missing","translated":"缺失的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:09Z"} -{"cache_key":"f2c14989f888bbff9c7330f2d5b3892af3b900910840435595031590dc8248e3","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"你需要了解加载了哪些环境变量,以及它们的加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:47Z"} -{"cache_key":"f34789e2cb492196e8c057294dd98c5f9d4b8054d548a7b883a47f113efa1277","segment_id":"index.md:31365ab9453d6a1e","source_path":"index.md","text_hash":"31365ab9453d6a1ec03731622803d3b44f345b6afad08040d7f3e97290c77913","text":"do nothing","translated":"不做任何操作","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:55Z"} -{"cache_key":"f36f13a67a73f6768bfbf346d552067475ef4f8137e13edfd4f636e1b7ef2ef8","segment_id":"start/getting-started.md:649cfa2f76a80b42","source_path":"start/getting-started.md","text_hash":"649cfa2f76a80b42e1821c89edd348794689409dcdf619dcd10624fb577c676b","text":"not recommended","translated":"不推荐","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:36:21Z"} -{"cache_key":"f3701b1ce8ac7f8931cafd209250aa5ae388ecfdb0154dbbb21c03fd72ce5d08","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题(不是\"某个东西坏了\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:11:29Z"} -{"cache_key":"f37dcde1b1a3572f2e12cec637bb9435d7594f5d680ca4c8d2916587ceaa5b49","segment_id":"environment.md:baa5be7f6320780b","source_path":"environment.md","text_hash":"baa5be7f6320780bd7bb7b7ddbb8cd1ffb26ccf7d94d363350668c50aedcf95f","text":" (applied only if missing).","translated":" (仅在缺失时应用)。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:32Z"} -{"cache_key":"f3bae8376433842a2647a0f99681be1ae704993131bd626b47c7ead29db85121","segment_id":"index.md:41ed52921661c7f0","source_path":"index.md","text_hash":"41ed52921661c7f0d68d92511589cc9d7aaeab2b5db49fb27f0be336cbfdb7df","text":"Gateway","translated":"Gateway","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:48:23Z"} -{"cache_key":"f3d666bd4b1803904177f2fd15477daab9b1988d37873a621ff0ff20fc67430a","segment_id":"index.md:32ebb1abcc1c601c","source_path":"index.md","text_hash":"32ebb1abcc1c601ceb9c4e3c4faba0caa5b85bb98c4f1e6612c40faa528a91c9","text":" (","translated":" (","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:51Z"} -{"cache_key":"f44674e6fe8bdf7df11beea733dc32ed87d3f98aa27ab39d91af414342ea24ac","segment_id":"environment.md:frontmatter:read_when:1","source_path":"environment.md:frontmatter:read_when:1","text_hash":"a3a2d99a99de98220c8e0296d6f4e4b2a34024916bd2379d1b3b9179c8fae46f","text":"You are debugging missing API keys in the Gateway","translated":"你正在调试 Gateway 中缺失的 API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:49Z"} -{"cache_key":"f4572fb2d4379ec9633f4e503fc4ffe1b6e5d42baf75386b995e4453a220112f","segment_id":"start/wizard.md:5c237035504bf1d8","source_path":"start/wizard.md","text_hash":"5c237035504bf1d829557c9f34d581e874170d29eb78178780d9de279686878b","text":": service account JSON + webhook audience.","translated":":服务账户 JSON + webhook 受众。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:37Z"} -{"cache_key":"f4b0c2b320a173553e165db9e33134bd687611509a67f872b3802da035e18003","segment_id":"start/wizard.md:c47c637c5420619c","source_path":"start/wizard.md","text_hash":"c47c637c5420619cf8a485038799bbf646ac4dd9fb434e4da93e49276e6c63cf","text":"Linux: Avahi (","translated":"Linux:Avahi(","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:39Z"} -{"cache_key":"f4b8ff8f3efbd8ee938358900957557c4222b284b44d2a7048b9d12bafcaccb3","segment_id":"environment.md:frontmatter:read_when:2","source_path":"environment.md:frontmatter:read_when:2","text_hash":"822b3d74ce16c1be19059fad4ca5bf7ae9327f58fa1ff4e75e78d5afa75c038f","text":"You are documenting provider auth or deployment environments","translated":"你正在记录提供商认证或部署环境的文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:12Z"} -{"cache_key":"f4bde41e2630aeb2a70bf71ad4d202512d708d38dd36418cd9ac8d4332cd2359","segment_id":"index.md:add4778f9e60899d","source_path":"index.md","text_hash":"add4778f9e60899d7f44218483498c0baf7a0468154bc593a60747ee769c718c","text":"Android node","translated":"Android 节点","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:59Z"} -{"cache_key":"f52a9c7d0d2374d22023815ee71b9d667d1f40014d21c495be00062bb7ff7e9d","segment_id":"start/wizard.md:9349cb3da677e30e","source_path":"start/wizard.md","text_hash":"9349cb3da677e30edeeea7e42cf0ef9b5bcbb063c2c1e11e4805728cfb809b27","text":"Auth recommendation: keep ","translated":"认证建议:保持 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:59Z"} -{"cache_key":"f560e7bf274a11b63b63dfc2b1e34b5d4f767099b60c828981323400825310c0","segment_id":"index.md:83f4fc80f6b452f7","source_path":"index.md","text_hash":"83f4fc80f6b452f7cdf426f6b87f08346d7a2d9c74a0fb62815dce2bfddacf63","text":" — A space lobster, probably","translated":" — 大概是一只太空龙虾说的","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:27:52Z"} -{"cache_key":"f5ce8d582224799c2c298caa9a9f7dfb7d86186f570cfddd641946668d1d13da","segment_id":"index.md:79a482cf546c23b0","source_path":"index.md","text_hash":"79a482cf546c23b04cd48a33d4ca8411f62e5b7dc8c3a8f30165e28e747f263a","text":"iMessage","translated":"iMessage","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:29:51Z"} -{"cache_key":"f5fa9cda34fd26fb939c24c123c64b46dd61b92c355cd4a750f394defd4a695c","segment_id":"index.md:2adc964c084749b1","source_path":"index.md","text_hash":"2adc964c084749b1f2d8aef24030988b667dbda2e38a6a1699556c93e07c1cea","text":"Start here","translated":"从这里开始","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:00Z"} -{"cache_key":"f5ffb1cdcefe6f0cd2d2b69e0756d6cc01a9c6a0e02b454f0e30b38b6ad7b2e2","segment_id":"index.md:723fad6d27da9393","source_path":"index.md","text_hash":"723fad6d27da939353c65417bbaf646b65903b316eb4456297ff4a1c20811e8d","text":": HTTP file server on ","translated":":HTTP 文件服务器位于 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:20Z"} -{"cache_key":"f60fee3592c356f74a3be54ab30e9b0a0715eb1a3bbf7e17b0f99aa6f3d33df7","segment_id":"environment.md:3f52403cd330847b","source_path":"environment.md","text_hash":"3f52403cd330847bbe6aabe3d447592616cdc1a8efcbc1f48fb6643f8384fe96","text":"Precedence (highest →","translated":"优先级(最高 →","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:28Z"} -{"cache_key":"f621705327b389ad82a822a75b8c7ca9f3373484abe4c0fa698439958d39456d","segment_id":"environment.md:6f59001999ef7b71","source_path":"environment.md","text_hash":"6f59001999ef7b7128bab80d2034c419f3034497e05f69fbdf67f7b655cdc173","text":"Configuration: Env var substitution","translated":"配置:环境变量 替换","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:58:25Z"} -{"cache_key":"f621dff6a1a64fd61fe1f234bee676aeae91455321dcee4f6e67091184df6c62","segment_id":"start/wizard.md:66d0f523a379b2de","source_path":"start/wizard.md","text_hash":"66d0f523a379b2de6f8d5fba3a817ebc395f7bcaa54cc132ca9dfa665d1e9378","text":"Skills","translated":"技能","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:49:18Z"} -{"cache_key":"f63fecf5eae55dcc313461e84c71dff7e4c62437c912b31e37160ab24e814c22","segment_id":"index.md:9dea37e7f1ff0e24","source_path":"index.md","text_hash":"9dea37e7f1ff0e24f7daecf6ea9cc38a58194f11fbeab1d3cfaa3a5645099ef4","text":"Updating / rollback","translated":"更新 / 回滚","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:31Z"} -{"cache_key":"f6b24d421bb819dd74d316c3be99e4848a1b48cd29aa83b5955b323ccf7a6c71","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:56:33Z"} -{"cache_key":"f6bca6b4934d23476401fd77c2d68803d43a4cc7147a31663887d519bebad085","segment_id":"index.md:7af023c43013b9a5","source_path":"index.md","text_hash":"7af023c43013b9a53fbff7dd4b5821588bba3319308878229740489152c43f6d","text":"Docs","translated":"文档","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:31:46Z"} -{"cache_key":"f6bf8734b049080c670e9161d3f62cff12800947ad422096af488dda32c63f66","segment_id":"index.md:5eeecff4ba2df15c","source_path":"index.md","text_hash":"5eeecff4ba2df15c51bcc1ba70a5a2198fbcac141ebe047a2db7acf0e1e83450","text":" — Local UI + menu bar companion for ops and voice wake","translated":" — 本地界面 + 菜单栏辅助工具,支持操作和语音唤醒","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:30:54Z"} -{"cache_key":"f6cb43180d1cb38f88fcf0a8d2c978f67c90b54bde664ec85ac14abce14c1b83","segment_id":"help/index.md:8ddb7fc8a87904de","source_path":"help/index.md","text_hash":"8ddb7fc8a87904dedc2afc16400fbe4e78582b302e01c30b1319c8a465d04684","text":"Troubleshooting:","translated":"故障排除:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:35Z"} -{"cache_key":"f6f420edf7e69a495fa2341fbcbfcb89f4edd0193ad98bca1bf5bd34822e6914","segment_id":"index.md:316cd41f595f3095","source_path":"index.md","text_hash":"316cd41f595f3095f149f98af70f77ab85404307a1505467ee45a26b316a9984","text":"Guided setup (recommended):","translated":"引导式设置(推荐):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:59:10Z"} -{"cache_key":"f7109a2845e6fbe35c8bdf279b2c337808867d39dd637a5c7d9b2a1b91018916","segment_id":"start/getting-started.md:d48b35a5fde42ec0","source_path":"start/getting-started.md","text_hash":"d48b35a5fde42ec00cf04a49d5ddeb555c65a520eeb97108da303bc05673dc84","text":"WhatsApp doc: ","translated":"WhatsApp 文档: ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:12Z"} -{"cache_key":"f722cbdc201f4b5e079dd175c0f52bce3bf3aa1658174683d7b51d71a4e9cd84","segment_id":"index.md:6b8ebac7903757ce","source_path":"index.md","text_hash":"6b8ebac7903757ce7399cc729651a27e459903c24c64aa94827b20d8a2a411d2","text":"For Tailnet access, run ","translated":"如需 Tailnet 访问,请运行 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:28:53Z"} -{"cache_key":"f727381238c5d317e8cd685354a48f793bc0d76af5f89de378ced4f0307c043d","segment_id":"start/wizard.md:3dd83b614e806664","source_path":"start/wizard.md","text_hash":"3dd83b614e8066647eed34747cca7bd8ecd848f994ab0e1870611515a0947051","text":"macOS: Bonjour (","translated":"macOS:Bonjour(","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:36Z"} -{"cache_key":"f75c83d90f9118aeb4862c47a07a5896f5da054fa28cebd9a9770f2bd5fcbe1c","segment_id":"start/wizard.md:e7ac0786668e0ff0","source_path":"start/wizard.md","text_hash":"e7ac0786668e0ff0f02b62bd04f45ff636fd82db63b1104601c975dc005f3a67","text":":","translated":":","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:30Z"} -{"cache_key":"f76e7b041b6273a09aa1e9309c09963be833cac5d00695ee47013a664b4d68d7","segment_id":"help/index.md:frontmatter:read_when:0","source_path":"help/index.md:frontmatter:read_when:0","text_hash":"ee0615553374970664b58ebd8e5d0ebc9bc8a5f03387671afbfd0096b390aa9b","text":"You’re new and want the “what do I click/run” guide","translated":"你是新手,想要一份\"我该点击/运行什么\"的指南","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:18:57Z"} -{"cache_key":"f794b56056508717fd48cd6db6dc75a458a0fa23834757f5ab7a0993982c6594","segment_id":"environment.md:496aca80e4d8f29f","source_path":"environment.md","text_hash":"496aca80e4d8f29fb8e8cd816c3afb48d3f103970b3a2ee1600c08ca67326dee","text":" block","translated":" 块","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:59Z"} -{"cache_key":"f80879a2302c298e8c95d914d9d6c71f03acd6f6dd6f974af01bfc0bc6c2e1c5","segment_id":"start/wizard.md:b90faf89583190c7","source_path":"start/wizard.md","text_hash":"b90faf89583190c7e34f7f5da172378019ea35b5da533c04dd2f7eec4c22eb9b","text":"Add another agent","translated":"添加另一个智能体","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:43Z"} -{"cache_key":"f8ba17c2741fd5744982e25324fa40baf96c8bc58d317be0648263b55a430f7e","segment_id":"index.md:76d6f9c532961885","source_path":"index.md","text_hash":"76d6f9c5329618856f133dc695e78f085545ae05fae74228fb1135cba7009fca","text":") — Pi creator, security pen-tester","translated":")—— Pi 创建者,安全渗透测试员","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:54:30Z"} -{"cache_key":"f9105824cf6a7d20518e37b8bf0823c644d1c0f6ce291e122a94e6e6470b7533","segment_id":"index.md:898e28d91a14b400","source_path":"index.md","text_hash":"898e28d91a14b400e7dc11f9dc861afe9143c18bf9424b1d1b274841615f38b1","text":"If you want to lock it down, start with ","translated":"如果您想进行锁定配置,请从以下内容开始 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:00Z"} -{"cache_key":"f91d9117f2bb9b64cf66ea1411b0be3f171f40e08c8c9e9f26c55c7e8bfe7189","segment_id":"environment.md:6863067eb0a2c749","source_path":"environment.md","text_hash":"6863067eb0a2c7499425c6c189b2c88bac55ca754285a6ab1ef37b75b4cfad4d","text":"See ","translated":"参见 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:28Z"} -{"cache_key":"f94a81f9b0bf40ffe1357c455d8aa1521caf2e5b7567514ceebb6cddac71ed20","segment_id":"start/wizard.md:812ae9cc61bc8004","source_path":"start/wizard.md","text_hash":"812ae9cc61bc800431e08012a3e2dedf0f928f6f5d1266663f3f9c9009a33865","text":"What the wizard writes","translated":"向导写入的内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:48:22Z"} -{"cache_key":"f9d9e2053d57e1dbcea8393af82dbd0d30bed4822f1d89bfe03c7cfadb02ecd7","segment_id":"environment.md:8d076464a84995bc","source_path":"environment.md","text_hash":"8d076464a84995bc095e934b0aa1e4419372f27cd71d033571e4dbba201ee5d8","text":"You can reference env vars directly in config string values using ","translated":"你可以在配置的字符串值中直接引用环境变量,使用 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:26:23Z"} -{"cache_key":"f9f5b27505056942f667c21acc05200a9acbbdcb3fddaceca9d2a30e2dbe81a9","segment_id":"index.md:b214cd10585678ca","source_path":"index.md","text_hash":"b214cd10585678ca1250ce1ae1a50ad4001de4577a10e36be396a3409314e442","text":"@badlogicc","translated":"@badlogicc","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:38Z"} -{"cache_key":"fa024aedd372ab7765061298a10db13f4e5bcdc6133bc25a65c53f8236557315","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不要覆盖现有值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T11:45:24Z"} -{"cache_key":"fa3713ea436d20ec73664c073e488b38fc0bb3809eaa3ac4dc08811132bee115","segment_id":"index.md:5afbb1c887f6d850","source_path":"index.md","text_hash":"5afbb1c887f6d8501dba36cd2113d8f8b6ce6fa711a0d3e7efdc66f170abd2c2","text":"Cron jobs","translated":"定时任务","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:33:06Z"} -{"cache_key":"fa78bcdd35b740179d777f1399ca259d74e49151d5fe68ebcb2e8e073e5cacbd","segment_id":"environment.md:582967534d0f909d","source_path":"environment.md","text_hash":"582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf","text":" in ","translated":" 在 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:25:51Z"} -{"cache_key":"fa7eadfbeb6089c235d526f5463bcba6bd1d0ab30fbc4eff7f170e3e03fb83be","segment_id":"help/index.md:5c94724fa7810fa9","source_path":"help/index.md","text_hash":"5c94724fa7810fa9902e565cf66c5f5a973074f2961fcd3a40bad4ee4aeca5e0","text":"If you want a quick “get unstuck” flow, start here:","translated":"如果你想快速排障,请从这里开始:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:09Z"} -{"cache_key":"fa8390ce00f9c591f6fb7e0d5d4753ca5f421b96668f90965f884e53f15ff87c","segment_id":"index.md:185beb968bd1a81d","source_path":"index.md","text_hash":"185beb968bd1a81d07ebcf82376642f7b29f1b5594b21fe9edee714efbdcaa44","text":"✈️ ","translated":"✈️ ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:49:31Z"} -{"cache_key":"fa9908d4e7381bb3cc4d9ce5dd90158a06ebae51ae44d2b138bc9191e25abc34","segment_id":"start/wizard.md:4c8906cf76f5740a","source_path":"start/wizard.md","text_hash":"4c8906cf76f5740ab8792aef9f0033fe21a92045e90b357816064e9f6860a03e","text":"Channels","translated":"渠道","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:44:11Z"} -{"cache_key":"faae749a1e3720731bd89450cc30ca39d65ca2d3968ac048373c3f6ba5087381","segment_id":"start/getting-started.md:9c7c1a1750d380e8","source_path":"start/getting-started.md","text_hash":"9c7c1a1750d380e8b4f5329437dd3e6066f20891e74af700595ddf8a5eac42a3","text":"Bun warning (WhatsApp + Telegram):","translated":"Bun 警告(WhatsApp + Telegram):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:37:01Z"} -{"cache_key":"fab1c40ef11182f7118f5528b5ba6ed5b5c169c37b302382107e3fbab3d200c1","segment_id":"index.md:3d8fed7c358b2ccf","source_path":"index.md","text_hash":"3d8fed7c358b2ccf225ee16857a0bb9b950fd414319749e0f6fff58c99fa5f22","text":"Subscription auth","translated":"订阅认证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:50:25Z"} -{"cache_key":"fae191ae8b8380df30a34afd63fc9ba9125258cee9f76e625da9a9c41a858973","segment_id":"start/wizard.md:158ac20b77d1dc12","source_path":"start/wizard.md","text_hash":"158ac20b77d1dc1223a47723e75f03b49fe61d0a6d69de4c3bba9fdd4c123c04","text":" only configures the local client to connect to a Gateway elsewhere.\nIt does ","translated":" 仅配置本地客户端以连接到其他位置的 Gateway。它 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:40:36Z"} -{"cache_key":"faf6394b29b7de4f1af4a5c01405a2c33d4a1f8f58691915d75eedd3572b1d49","segment_id":"index.md:a7a19d4f14d001a5","source_path":"index.md","text_hash":"a7a19d4f14d001a56c27f68a13ff267859a407c7a9ab457c0945693c9067dd1c","text":"Configuration (optional)","translated":"配置(可选)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:03:21Z"} -{"cache_key":"fc41f7c0ff1d82b20353a8a79f2da756675af014a48e1c36b3e693e2030aca4c","segment_id":"help/index.md:6201111b83a0cb5b","source_path":"help/index.md","text_hash":"6201111b83a0cb5b0922cb37cc442b9a40e24e3b1ce100a4bb204f4c63fd2ac0","text":" and ","translated":" 和 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:39:50Z"} -{"cache_key":"fc43ec1fbbcff82d8d617e73687d1fa0c004b3fa731fdb6c9a1b0825ac2df2f5","segment_id":"start/wizard.md:d80c4025fe9728d6","source_path":"start/wizard.md","text_hash":"d80c4025fe9728d67b8330bdbb25a3062c7748ae6779d348b66687d5a796550f","text":"Gateway wizard RPC","translated":"Gateway 向导 RPC","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:47:41Z"} -{"cache_key":"fc503e5044847f8c5412b75ba55ec912df5577a3bc37a7a975393684059d9c12","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:16:00Z"} -{"cache_key":"fc5a2a3c595c777506fa783ae7fdb46154bc1a9d2990062d2816de3f42b4a5a4","segment_id":"index.md:c011d6097bfbc8e9","source_path":"index.md","text_hash":"c011d6097bfbc8e936280addcf2e3e7d06ea2223ffd596973191b800a7035c32","text":"License","translated":"许可证","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:06:48Z"} -{"cache_key":"fc7b6106c6fe0ee6f9470690d4557420fe96c6bf88d32572c1c6bcebeeca0ba5","segment_id":"index.md:1e37e607483201e2","source_path":"index.md","text_hash":"1e37e607483201e2152d2e9c68874dd4027648efdd9cfccb7bf8c9837398d143","text":"), serving ","translated":"),提供 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:00:27Z"} -{"cache_key":"fc98ca0f83f0fb76119a9483b4e7cf04bba735dc5c4bac23b5fea356315322a6","segment_id":"start/wizard.md:78db1bd89a6a2b1c","source_path":"start/wizard.md","text_hash":"78db1bd89a6a2b1cfa5c7af25c03cdd0aaef049910f8532b3440fdf3e5d41759","text":"May prompt for sudo (writes ","translated":"可能会提示输入 sudo(写入 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:45:24Z"} -{"cache_key":"fca2c0b7fa4c88f595ccb62204b07c5d014cb1f1240a39a203bfe37e25fe8c07","segment_id":"index.md:eef0107bb5a4e06b","source_path":"index.md","text_hash":"eef0107bb5a4e06b9de432b9e62bcf1e39ca5dfbbb9cb0cc1c803ca7671c06ab","text":"Gateway runbook","translated":"Gateway 运行手册","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:54Z"} -{"cache_key":"fcb8a00898eb27b04a3ced786d117b0d7be079d0f45d8608b8a8fe87ad32f0eb","segment_id":"index.md:82ba9b60b12da3ab","source_path":"index.md","text_hash":"82ba9b60b12da3ab4e7dbcb0d7d937214cff80c82268311423a6dc8c4bc09df5","text":"OpenClaw 🦞","translated":"OpenClaw 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:47:22Z"} -{"cache_key":"fd042da779d8af0e3f90024d3ee3ed60dc05ed4220b6645c1c7afd148c481918","segment_id":"help/index.md:729bc562eec2658b","source_path":"help/index.md","text_hash":"729bc562eec2658bd11ffdd522fe5277177dc73e86eaca7baac0b472a4d8f8b2","text":"If you’re looking for conceptual questions (not “something broke”):","translated":"如果你在寻找概念性问题的答案(而不是\"出了问题\"):","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:15:36Z"} -{"cache_key":"fd16400d64e6f3b7376b1999211a6ed33688eeb2c9a6fd26ce226094628b2647","segment_id":"help/index.md:d3ef01b4a9c99103","source_path":"help/index.md","text_hash":"d3ef01b4a9c9910364c9b26b2499c8787a0461d2d24ab80376fff736a288b34c","text":"Logging","translated":"日志记录","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:11:22Z"} -{"cache_key":"fd42cd6d27d391746b39a68daf76869aab50130d11563f38793103f97b0cc634","segment_id":"environment.md:b4736422e64c0a36","source_path":"environment.md","text_hash":"b4736422e64c0a369663d1b2d386f1b8f4b31b8936b588e4a54453c61a24e0fd","text":"Process environment","translated":"进程环境","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:40:30Z"} -{"cache_key":"fd81a6834413dec93cb0fa720f94f980ebd8de062a9f03c67f8a5eac7dba177b","segment_id":"start/wizard.md:f9101c545949c8fd","source_path":"start/wizard.md","text_hash":"f9101c545949c8fd264de16e8705ea2867f73b1e72f14ed6701d37169226731b","text":"The onboarding wizard is the ","translated":"上手引导向导是 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:38:59Z"} -{"cache_key":"fdd0251e3da40ed9b7947f5fc52798e46adbdbe32b4687efe40bf1c34c3f8a54","segment_id":"environment.md:45ca56d179d4788c","source_path":"environment.md","text_hash":"45ca56d179d4788c55ba9f7653b376d62e7faa738e92259e3d4f6f5c1b554f28","text":"Related","translated":"相关内容","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:13:09Z"} -{"cache_key":"fe03652b8fbba7658cd3c33e1ecfc88bf7a2a2416727c8de537a1ff4a7d04c63","segment_id":"start/wizard.md:51aa8bdcedfdb0c9","source_path":"start/wizard.md","text_hash":"51aa8bdcedfdb0c9eefbf91a6fa25d78b4c367be285bd472553cc0b461d983c8","text":"OpenAI API key","translated":"OpenAI API 密钥","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:26Z"} -{"cache_key":"fe28d810ff498a350b586785445582bed45cf1b1de02ea8be1569cf0da546ecc","segment_id":"index.md:3f8466cd9cb153d0","source_path":"index.md","text_hash":"3f8466cd9cb153d0c78a88f6a209e2206992db28c6dab45424132dc187974e2b","text":"Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.","translated":"注意:旧版 Claude/Codex/Gemini/Opencode 路径已被移除;Pi 是唯一的编程 智能体 路径。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:51:20Z"} -{"cache_key":"fe4dd967a44b8e8082aa5b2441ea4e4fc4478e2e370087cf666830f23b215d1c","segment_id":"index.md:74f99190ef66a7d5","source_path":"index.md","text_hash":"74f99190ef66a7d513049d31bafc76e05f9703f3320bf757fb2693447a48c25b","text":"Linux app","translated":"Linux 应用","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:05:16Z"} -{"cache_key":"fe554549a7c67caf1f51ae69b2d4bdb126cc0bfeb0963610e8b0be605fb058e3","segment_id":"start/wizard.md:87bb59ba2f92f2a5","source_path":"start/wizard.md","text_hash":"87bb59ba2f92f2a5a9f13e021fd58dd14ae5c065b1046146875e6e68d5ebc8b7","text":"Workspace","translated":"工作区","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:43:38Z"} -{"cache_key":"fe81eef1d52c47b26c55cb74fd8c6fe31a5c648213d3dcf3de567d8125f222fd","segment_id":"index.md:11450a0f023dc48c","source_path":"index.md","text_hash":"11450a0f023dc48cc9cef026357e2b4569a2b756290191c45a9eb0120a919cb7","text":" and (for groups) mention rules.","translated":" 以及(针对群组的)提及规则。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:03Z"} -{"cache_key":"fe9fff29a8a3a18b8ba8f7493dc3331ffb90c4585bcdc2a3c03e402202f786ae","segment_id":"start/wizard.md:2f6975ca07f6b950","source_path":"start/wizard.md","text_hash":"2f6975ca07f6b95055db357fed97ef04d04d7ac57351e48bd69e0a0675ac47b1","text":"OpenCode Zen (multi-model proxy)","translated":"OpenCode Zen(多模型代理)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:42:32Z"} -{"cache_key":"fecfa9809bf3844fdc62208030ad2364304c83d2c2a278f691a06fe1d95eef29","segment_id":"environment.md:61115f6649792387","source_path":"environment.md","text_hash":"61115f664979238731a390e84433a818965b7eaf1d38fa5b4b1507c33ef28c91","text":"Precedence (highest → lowest)","translated":"优先级(从高到低)","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:18Z"} -{"cache_key":"fed9ca0b4a8c8162f989410401afbb3038f19d1060104d1804a5bacb2af45013","segment_id":"start/wizard.md:f7952490362d43d3","source_path":"start/wizard.md","text_hash":"f7952490362d43d362bce1e931f3e707e6b39369e9182fae26b54f677f778145","text":"If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.","translated":"如果未检测到 GUI,向导会打印 Control UI 的 SSH 端口转发说明,而不是打开浏览器。","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:46:04Z"} -{"cache_key":"ff0818747bde0777bfd88d234d27b7ccd9e866cb8d477f1c022943f425735631","segment_id":"environment.md:frontmatter:read_when:0","source_path":"environment.md:frontmatter:read_when:0","text_hash":"90fc0487bff88009979cff1061c1a882df8c3b1baa9c43538331d9d5dab15479","text":"You need to know which env vars are loaded, and in what order","translated":"您需要了解哪些 环境变量 被加载,以及加载顺序","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:01Z"} -{"cache_key":"ff35a70223602ebd4e2ccb376f9a05a23436de50c0661a69a6c189e54386369c","segment_id":"environment.md:907940a35852447a","source_path":"environment.md","text_hash":"907940a35852447aad5f21c5a180d993ff31cfd5807b1352ed0c24eabe183465","text":"never override existing values","translated":"永远不覆盖已有的值","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:57:13Z"} -{"cache_key":"ff4870ed3d31dd15db9a3753847994b892bfbbcd169eaf654fa2a9347de1b80a","segment_id":"index.md:053bc65874ad6098","source_path":"index.md","text_hash":"053bc65874ad6098e58c41c57b378a2f36b0220e5e0b46722245e6c2f796818c","text":"Discord","translated":"Discord","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:32:38Z"} -{"cache_key":"ff9cd1150279b1783fc13d1d8deb389b0589027719aa184d39812dab44ad30c3","segment_id":"index.md:075a4a45c3999f34","source_path":"index.md","text_hash":"075a4a45c3999f340be8487cd7c0dd2ed77ced931054d75e95e5e24d5539b45b","text":" — Pi (RPC mode) with tool streaming","translated":" — Pi(RPC 模式)配合 工具 流式传输","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:29Z"} -{"cache_key":"ffc0edaae36968ae44b65f6baba8cef750ebcff415a26c7bbda8f59ed632b548","segment_id":"index.md:872887e563e75957","source_path":"index.md","text_hash":"872887e563e75957ffc20b021332504f2ddd0a8f3964cb93070863bfaf13cdad","text":"Example:","translated":"示例:","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T12:52:06Z"} -{"cache_key":"ffd04ac4efed00f848ef0d6f549a5e3f7237a0942d8d18a0ace2751a1f044099","segment_id":"index.md:0c67abfaa5415391","source_path":"index.md","text_hash":"0c67abfaa5415391a31cf3a4624746b6b212b5ae66364be28ee2d131f014e0c6","text":"🧩 ","translated":"🧩 ","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:01:09Z"} -{"cache_key":"ffd193a2ab6714302a69cbe3b1bc24f881807a3a8ce88558687554509a4c1c1c","segment_id":"index.md:7e2735e5df8f4e9f","source_path":"index.md","text_hash":"7e2735e5df8f4e9f006d10e079fe8045612aa662b02a9d1948081d1173798dec","text":"MIT — Free as a lobster in the ocean 🦞","translated":"MIT — 像大海中的龙虾一样自由 🦞","provider":"pi","model":"claude-opus-4-5","src_lang":"en","tgt_lang":"zh-CN","updated_at":"2026-02-01T13:34:07Z"} diff --git a/docs/.i18n/zh-Hans-navigation.json b/docs/.i18n/zh-Hans-navigation.json new file mode 100644 index 00000000000..da0ec3e87a0 --- /dev/null +++ b/docs/.i18n/zh-Hans-navigation.json @@ -0,0 +1,544 @@ +{ + "language": "zh-Hans", + "tabs": [ + { + "tab": "快速开始", + "groups": [ + { + "group": "首页", + "pages": ["zh-CN/index"] + }, + { + "group": "概览", + "pages": ["zh-CN/start/showcase"] + }, + { + "group": "核心概念", + "pages": ["zh-CN/concepts/features"] + }, + { + "group": "第一步", + "pages": ["zh-CN/start/getting-started", "zh-CN/start/wizard", "zh-CN/start/onboarding"] + }, + { + "group": "指南", + "pages": ["zh-CN/start/openclaw"] + } + ] + }, + { + "tab": "安装", + "groups": [ + { + "group": "安装概览", + "pages": ["zh-CN/install/index", "zh-CN/install/installer"] + }, + { + "group": "安装方式", + "pages": [ + "zh-CN/install/docker", + "zh-CN/install/nix", + "zh-CN/install/ansible", + "zh-CN/install/bun" + ] + }, + { + "group": "维护", + "pages": ["zh-CN/install/updating", "zh-CN/install/migrating", "zh-CN/install/uninstall"] + }, + { + "group": "托管与部署", + "pages": [ + "zh-CN/vps", + "zh-CN/install/fly", + "zh-CN/install/hetzner", + "zh-CN/install/gcp", + "zh-CN/install/macos-vm", + "zh-CN/install/exe-dev", + "zh-CN/install/railway", + "zh-CN/install/render", + "zh-CN/install/northflank" + ] + }, + { + "group": "高级", + "pages": ["zh-CN/install/development-channels"] + } + ] + }, + { + "tab": "消息渠道", + "groups": [ + { + "group": "概览", + "pages": ["zh-CN/channels/index"] + }, + { + "group": "消息平台", + "pages": [ + "zh-CN/channels/bluebubbles", + "zh-CN/channels/discord", + "zh-CN/channels/feishu", + "zh-CN/channels/grammy", + "zh-CN/channels/googlechat", + "zh-CN/channels/imessage", + "zh-CN/channels/line", + "zh-CN/channels/matrix", + "zh-CN/channels/mattermost", + "zh-CN/channels/msteams", + "zh-CN/channels/nextcloud-talk", + "zh-CN/channels/nostr", + "zh-CN/channels/signal", + "zh-CN/channels/slack", + "zh-CN/channels/telegram", + "zh-CN/channels/tlon", + "zh-CN/channels/twitch", + "zh-CN/channels/whatsapp", + "zh-CN/channels/zalo", + "zh-CN/channels/zalouser" + ] + }, + { + "group": "配置", + "pages": [ + "zh-CN/channels/pairing", + "zh-CN/channels/group-messages", + "zh-CN/channels/groups", + "zh-CN/channels/broadcast-groups", + "zh-CN/channels/channel-routing", + "zh-CN/channels/location", + "zh-CN/channels/troubleshooting" + ] + } + ] + }, + { + "tab": "代理", + "groups": [ + { + "group": "基础", + "pages": [ + "zh-CN/pi", + "zh-CN/concepts/architecture", + "zh-CN/concepts/agent", + "zh-CN/concepts/agent-loop", + "zh-CN/concepts/system-prompt", + "zh-CN/concepts/context", + "zh-CN/concepts/agent-workspace", + "zh-CN/concepts/oauth" + ] + }, + { + "group": "引导", + "pages": ["zh-CN/start/bootstrapping"] + }, + { + "group": "会话与记忆", + "pages": [ + "zh-CN/concepts/session", + "zh-CN/concepts/session-pruning", + "zh-CN/concepts/session-tool", + "zh-CN/concepts/memory", + "zh-CN/concepts/compaction" + ] + }, + { + "group": "多代理", + "pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"] + }, + { + "group": "消息与投递", + "pages": [ + "zh-CN/concepts/messages", + "zh-CN/concepts/streaming", + "zh-CN/concepts/retry", + "zh-CN/concepts/queue" + ] + } + ] + }, + { + "tab": "工具", + "groups": [ + { + "group": "概览", + "pages": ["zh-CN/tools/index"] + }, + { + "group": "内置工具", + "pages": [ + "zh-CN/tools/apply-patch", + "zh-CN/brave-search", + "zh-CN/tools/elevated", + "zh-CN/tools/exec", + "zh-CN/tools/exec-approvals", + "zh-CN/tools/firecrawl", + "zh-CN/tools/llm-task", + "zh-CN/tools/lobster", + "zh-CN/perplexity", + "zh-CN/tools/reactions", + "zh-CN/tools/thinking", + "zh-CN/tools/web" + ] + }, + { + "group": "浏览器", + "pages": [ + "zh-CN/tools/browser", + "zh-CN/tools/browser-login", + "zh-CN/tools/browser-linux-troubleshooting" + ] + }, + { + "group": "代理协作", + "pages": [ + "zh-CN/tools/agent-send", + "zh-CN/tools/subagents", + "zh-CN/tools/multi-agent-sandbox-tools" + ] + }, + { + "group": "技能", + "pages": [ + "zh-CN/tools/creating-skills", + "zh-CN/tools/slash-commands", + "zh-CN/tools/skills", + "zh-CN/tools/skills-config", + "zh-CN/tools/clawhub", + "zh-CN/tools/plugin" + ] + }, + { + "group": "扩展", + "pages": [ + "zh-CN/plugins/voice-call", + "zh-CN/plugins/zalouser", + "zh-CN/plugins/manifest", + "zh-CN/plugins/agent-tools", + "zh-CN/prose" + ] + }, + { + "group": "自动化与任务", + "pages": ["zh-CN/automation/hooks", "zh-CN/automation/cron-jobs"] + }, + { + "group": "媒体与设备", + "pages": [ + "zh-CN/nodes/index", + "zh-CN/nodes/troubleshooting", + "zh-CN/nodes/media-understanding", + "zh-CN/nodes/images", + "zh-CN/nodes/audio", + "zh-CN/nodes/camera", + "zh-CN/nodes/talk", + "zh-CN/nodes/voicewake", + "zh-CN/nodes/location-command", + "zh-CN/tts" + ] + } + ] + }, + { + "tab": "模型", + "groups": [ + { + "group": "概览", + "pages": ["zh-CN/providers/index", "zh-CN/providers/models"] + }, + { + "group": "模型概念", + "pages": ["zh-CN/concepts/models"] + }, + { + "group": "配置", + "pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"] + }, + { + "group": "提供商", + "pages": [ + "zh-CN/providers/anthropic", + "zh-CN/providers/bedrock", + "zh-CN/providers/claude-max-api-proxy", + "zh-CN/providers/deepgram", + "zh-CN/providers/github-copilot", + "zh-CN/providers/glm", + "zh-CN/providers/moonshot", + "zh-CN/providers/minimax", + "zh-CN/providers/opencode", + "zh-CN/providers/ollama", + "zh-CN/providers/openai", + "zh-CN/providers/openrouter", + "zh-CN/providers/qianfan", + "zh-CN/providers/qwen", + "zh-CN/providers/synthetic", + "zh-CN/providers/venice", + "zh-CN/providers/vercel-ai-gateway", + "zh-CN/providers/xiaomi", + "zh-CN/providers/zai" + ] + } + ] + }, + { + "tab": "平台", + "groups": [ + { + "group": "平台概览", + "pages": [ + "zh-CN/platforms/index", + "zh-CN/platforms/macos", + "zh-CN/platforms/linux", + "zh-CN/platforms/windows", + "zh-CN/platforms/android", + "zh-CN/platforms/ios", + "zh-CN/platforms/digitalocean", + "zh-CN/platforms/oracle", + "zh-CN/platforms/raspberry-pi" + ] + }, + { + "group": "macOS 配套应用", + "pages": [ + "zh-CN/platforms/mac/dev-setup", + "zh-CN/platforms/mac/menu-bar", + "zh-CN/platforms/mac/voicewake", + "zh-CN/platforms/mac/voice-overlay", + "zh-CN/platforms/mac/webchat", + "zh-CN/platforms/mac/canvas", + "zh-CN/platforms/mac/child-process", + "zh-CN/platforms/mac/health", + "zh-CN/platforms/mac/icon", + "zh-CN/platforms/mac/logging", + "zh-CN/platforms/mac/permissions", + "zh-CN/platforms/mac/remote", + "zh-CN/platforms/mac/signing", + "zh-CN/platforms/mac/bundled-gateway", + "zh-CN/platforms/mac/xpc", + "zh-CN/platforms/mac/skills", + "zh-CN/platforms/mac/peekaboo" + ] + } + ] + }, + { + "tab": "网关与运维", + "groups": [ + { + "group": "网关", + "pages": [ + "zh-CN/gateway/index", + { + "group": "配置与运维", + "pages": [ + "zh-CN/gateway/configuration", + "zh-CN/gateway/configuration-examples", + "zh-CN/gateway/authentication", + "zh-CN/gateway/health", + "zh-CN/gateway/heartbeat", + "zh-CN/gateway/doctor", + "zh-CN/gateway/logging", + "zh-CN/gateway/gateway-lock", + "zh-CN/gateway/background-process", + "zh-CN/gateway/multiple-gateways", + "zh-CN/gateway/troubleshooting" + ] + }, + { + "group": "安全与沙箱", + "pages": [ + "zh-CN/gateway/security/index", + "zh-CN/gateway/sandboxing", + "zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated" + ] + }, + { + "group": "协议与 API", + "pages": [ + "zh-CN/gateway/protocol", + "zh-CN/gateway/bridge-protocol", + "zh-CN/gateway/openai-http-api", + "zh-CN/gateway/openresponses-http-api", + "zh-CN/gateway/tools-invoke-http-api", + "zh-CN/gateway/cli-backends", + "zh-CN/gateway/local-models" + ] + }, + { + "group": "网络与发现", + "pages": [ + "zh-CN/gateway/network-model", + "zh-CN/gateway/pairing", + "zh-CN/gateway/discovery", + "zh-CN/gateway/bonjour" + ] + } + ] + }, + { + "group": "远程访问", + "pages": [ + "zh-CN/gateway/remote", + "zh-CN/gateway/remote-gateway-readme", + "zh-CN/gateway/tailscale" + ] + }, + { + "group": "运维专题", + "pages": ["zh-CN/network", "zh-CN/logging"] + }, + { + "group": "安全", + "pages": ["zh-CN/security/formal-verification"] + }, + { + "group": "Web 界面", + "pages": [ + "zh-CN/web/index", + "zh-CN/web/control-ui", + "zh-CN/web/dashboard", + "zh-CN/web/webchat", + "zh-CN/web/tui" + ] + } + ] + }, + { + "tab": "参考", + "groups": [ + { + "group": "CLI 命令", + "pages": [ + "zh-CN/cli/index", + "zh-CN/cli/acp", + "zh-CN/cli/agent", + "zh-CN/cli/agents", + "zh-CN/cli/approvals", + "zh-CN/cli/browser", + "zh-CN/cli/channels", + "zh-CN/cli/config", + "zh-CN/cli/configure", + "zh-CN/cli/cron", + "zh-CN/cli/dashboard", + "zh-CN/cli/devices", + "zh-CN/cli/directory", + "zh-CN/cli/dns", + "zh-CN/cli/docs", + "zh-CN/cli/doctor", + "zh-CN/cli/gateway", + "zh-CN/cli/health", + "zh-CN/cli/hooks", + "zh-CN/cli/logs", + "zh-CN/cli/memory", + "zh-CN/cli/message", + "zh-CN/cli/models", + "zh-CN/cli/node", + "zh-CN/cli/nodes", + "zh-CN/cli/onboard", + "zh-CN/cli/pairing", + "zh-CN/cli/plugins", + "zh-CN/cli/reset", + "zh-CN/cli/sandbox", + "zh-CN/cli/security", + "zh-CN/cli/sessions", + "zh-CN/cli/setup", + "zh-CN/cli/skills", + "zh-CN/cli/status", + "zh-CN/cli/system", + "zh-CN/cli/tui", + "zh-CN/cli/uninstall", + "zh-CN/cli/update", + "zh-CN/cli/voicecall", + "zh-CN/cli/webhooks" + ] + }, + { + "group": "RPC 与 API", + "pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"] + }, + { + "group": "模板", + "pages": [ + "zh-CN/reference/AGENTS.default", + "zh-CN/reference/templates/AGENTS", + "zh-CN/reference/templates/BOOT", + "zh-CN/reference/templates/BOOTSTRAP", + "zh-CN/reference/templates/HEARTBEAT", + "zh-CN/reference/templates/IDENTITY", + "zh-CN/reference/templates/SOUL", + "zh-CN/reference/templates/TOOLS", + "zh-CN/reference/templates/USER" + ] + }, + { + "group": "技术参考", + "pages": [ + "zh-CN/reference/wizard", + "zh-CN/reference/token-use", + "zh-CN/reference/api-usage-costs", + "zh-CN/reference/transcript-hygiene", + "zh-CN/date-time" + ] + }, + { + "group": "概念内部机制", + "pages": [ + "zh-CN/concepts/typebox", + "zh-CN/concepts/markdown-formatting", + "zh-CN/concepts/typing-indicators", + "zh-CN/concepts/usage-tracking", + "zh-CN/concepts/timezone" + ] + }, + { + "group": "项目", + "pages": ["zh-CN/reference/credits"] + }, + { + "group": "发布策略", + "pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"] + } + ] + }, + { + "tab": "帮助", + "groups": [ + { + "group": "帮助", + "pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"] + }, + { + "group": "社区", + "pages": ["zh-CN/start/lore"] + }, + { + "group": "环境与调试", + "pages": [ + "zh-CN/help/environment", + "zh-CN/help/debugging", + "zh-CN/help/testing", + "zh-CN/help/scripts", + "zh-CN/debug/node-issue", + "zh-CN/diagnostics/flags" + ] + }, + { + "group": "Node 运行时", + "pages": ["zh-CN/install/node"] + }, + { + "group": "压缩机制内部参考", + "pages": ["zh-CN/reference/session-management-compaction"] + }, + { + "group": "开发者设置", + "pages": ["zh-CN/start/setup", "zh-CN/pi-dev"] + }, + { + "group": "文档元信息", + "pages": ["zh-CN/start/hubs", "zh-CN/start/docs-directory", "zh-CN/AGENTS"] + } + ] + } + ] +} diff --git a/docs/docs.json b/docs/docs.json index 87e9864dc51..953372c4525 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1587,558 +1587,6 @@ } ] }, - { - "language": "zh-Hans", - "tabs": [ - { - "tab": "快速开始", - "groups": [ - { - "group": "首页", - "pages": ["zh-CN/index"] - }, - { - "group": "概览", - "pages": ["zh-CN/start/showcase"] - }, - { - "group": "核心概念", - "pages": ["zh-CN/concepts/features"] - }, - { - "group": "第一步", - "pages": [ - "zh-CN/start/getting-started", - "zh-CN/start/wizard", - "zh-CN/start/onboarding" - ] - }, - { - "group": "指南", - "pages": ["zh-CN/start/openclaw"] - } - ] - }, - { - "tab": "安装", - "groups": [ - { - "group": "安装概览", - "pages": ["zh-CN/install/index", "zh-CN/install/installer"] - }, - { - "group": "安装方式", - "pages": [ - "zh-CN/install/docker", - "zh-CN/install/nix", - "zh-CN/install/ansible", - "zh-CN/install/bun" - ] - }, - { - "group": "维护", - "pages": [ - "zh-CN/install/updating", - "zh-CN/install/migrating", - "zh-CN/install/uninstall" - ] - }, - { - "group": "托管与部署", - "pages": [ - "zh-CN/vps", - "zh-CN/install/fly", - "zh-CN/install/hetzner", - "zh-CN/install/gcp", - "zh-CN/install/macos-vm", - "zh-CN/install/exe-dev", - "zh-CN/install/railway", - "zh-CN/install/render", - "zh-CN/install/northflank" - ] - }, - { - "group": "高级", - "pages": ["zh-CN/install/development-channels"] - } - ] - }, - { - "tab": "消息渠道", - "groups": [ - { - "group": "概览", - "pages": ["zh-CN/channels/index"] - }, - { - "group": "消息平台", - "pages": [ - "zh-CN/channels/bluebubbles", - "zh-CN/channels/discord", - "zh-CN/channels/feishu", - "zh-CN/channels/grammy", - "zh-CN/channels/googlechat", - "zh-CN/channels/imessage", - "zh-CN/channels/line", - "zh-CN/channels/matrix", - "zh-CN/channels/mattermost", - "zh-CN/channels/msteams", - "zh-CN/channels/nextcloud-talk", - "zh-CN/channels/nostr", - "zh-CN/channels/signal", - "zh-CN/channels/slack", - "zh-CN/channels/telegram", - "zh-CN/channels/tlon", - "zh-CN/channels/twitch", - "zh-CN/channels/whatsapp", - "zh-CN/channels/zalo", - "zh-CN/channels/zalouser" - ] - }, - { - "group": "配置", - "pages": [ - "zh-CN/channels/pairing", - "zh-CN/channels/group-messages", - "zh-CN/channels/groups", - "zh-CN/channels/broadcast-groups", - "zh-CN/channels/channel-routing", - "zh-CN/channels/location", - "zh-CN/channels/troubleshooting" - ] - } - ] - }, - { - "tab": "代理", - "groups": [ - { - "group": "基础", - "pages": [ - "zh-CN/pi", - "zh-CN/concepts/architecture", - "zh-CN/concepts/agent", - "zh-CN/concepts/agent-loop", - "zh-CN/concepts/system-prompt", - "zh-CN/concepts/context", - "zh-CN/concepts/agent-workspace", - "zh-CN/concepts/oauth" - ] - }, - { - "group": "引导", - "pages": ["zh-CN/start/bootstrapping"] - }, - { - "group": "会话与记忆", - "pages": [ - "zh-CN/concepts/session", - "zh-CN/concepts/session-pruning", - "zh-CN/concepts/session-tool", - "zh-CN/concepts/memory", - "zh-CN/concepts/compaction" - ] - }, - { - "group": "多代理", - "pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"] - }, - { - "group": "消息与投递", - "pages": [ - "zh-CN/concepts/messages", - "zh-CN/concepts/streaming", - "zh-CN/concepts/retry", - "zh-CN/concepts/queue" - ] - } - ] - }, - { - "tab": "工具", - "groups": [ - { - "group": "概览", - "pages": ["zh-CN/tools/index"] - }, - { - "group": "内置工具", - "pages": [ - "zh-CN/tools/apply-patch", - "zh-CN/brave-search", - "zh-CN/tools/elevated", - "zh-CN/tools/exec", - "zh-CN/tools/exec-approvals", - "zh-CN/tools/firecrawl", - "zh-CN/tools/llm-task", - "zh-CN/tools/lobster", - "zh-CN/perplexity", - "zh-CN/tools/reactions", - "zh-CN/tools/thinking", - "zh-CN/tools/web" - ] - }, - { - "group": "浏览器", - "pages": [ - "zh-CN/tools/browser", - "zh-CN/tools/browser-login", - "zh-CN/tools/browser-linux-troubleshooting" - ] - }, - { - "group": "代理协作", - "pages": [ - "zh-CN/tools/agent-send", - "zh-CN/tools/subagents", - "zh-CN/tools/multi-agent-sandbox-tools" - ] - }, - { - "group": "技能", - "pages": [ - "zh-CN/tools/creating-skills", - "zh-CN/tools/slash-commands", - "zh-CN/tools/skills", - "zh-CN/tools/skills-config", - "zh-CN/tools/clawhub", - "zh-CN/tools/plugin" - ] - }, - { - "group": "扩展", - "pages": [ - "zh-CN/plugins/voice-call", - "zh-CN/plugins/zalouser", - "zh-CN/plugins/manifest", - "zh-CN/plugins/agent-tools", - "zh-CN/prose" - ] - }, - { - "group": "自动化与任务", - "pages": ["zh-CN/automation/hooks", "zh-CN/automation/cron-jobs"] - }, - { - "group": "媒体与设备", - "pages": [ - "zh-CN/nodes/index", - "zh-CN/nodes/troubleshooting", - "zh-CN/nodes/media-understanding", - "zh-CN/nodes/images", - "zh-CN/nodes/audio", - "zh-CN/nodes/camera", - "zh-CN/nodes/talk", - "zh-CN/nodes/voicewake", - "zh-CN/nodes/location-command", - "zh-CN/tts" - ] - } - ] - }, - { - "tab": "模型", - "groups": [ - { - "group": "概览", - "pages": ["zh-CN/providers/index", "zh-CN/providers/models"] - }, - { - "group": "模型概念", - "pages": ["zh-CN/concepts/models"] - }, - { - "group": "配置", - "pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"] - }, - { - "group": "提供商", - "pages": [ - "zh-CN/providers/anthropic", - "zh-CN/providers/bedrock", - "zh-CN/providers/claude-max-api-proxy", - "zh-CN/providers/deepgram", - "zh-CN/providers/github-copilot", - "zh-CN/providers/glm", - "zh-CN/providers/moonshot", - "zh-CN/providers/minimax", - "zh-CN/providers/opencode", - "zh-CN/providers/ollama", - "zh-CN/providers/openai", - "zh-CN/providers/openrouter", - "zh-CN/providers/qianfan", - "zh-CN/providers/qwen", - "zh-CN/providers/synthetic", - "zh-CN/providers/venice", - "zh-CN/providers/vercel-ai-gateway", - "zh-CN/providers/xiaomi", - "zh-CN/providers/zai" - ] - } - ] - }, - { - "tab": "平台", - "groups": [ - { - "group": "平台概览", - "pages": [ - "zh-CN/platforms/index", - "zh-CN/platforms/macos", - "zh-CN/platforms/linux", - "zh-CN/platforms/windows", - "zh-CN/platforms/android", - "zh-CN/platforms/ios", - "zh-CN/platforms/digitalocean", - "zh-CN/platforms/oracle", - "zh-CN/platforms/raspberry-pi" - ] - }, - { - "group": "macOS 配套应用", - "pages": [ - "zh-CN/platforms/mac/dev-setup", - "zh-CN/platforms/mac/menu-bar", - "zh-CN/platforms/mac/voicewake", - "zh-CN/platforms/mac/voice-overlay", - "zh-CN/platforms/mac/webchat", - "zh-CN/platforms/mac/canvas", - "zh-CN/platforms/mac/child-process", - "zh-CN/platforms/mac/health", - "zh-CN/platforms/mac/icon", - "zh-CN/platforms/mac/logging", - "zh-CN/platforms/mac/permissions", - "zh-CN/platforms/mac/remote", - "zh-CN/platforms/mac/signing", - "zh-CN/platforms/mac/bundled-gateway", - "zh-CN/platforms/mac/xpc", - "zh-CN/platforms/mac/skills", - "zh-CN/platforms/mac/peekaboo" - ] - } - ] - }, - { - "tab": "网关与运维", - "groups": [ - { - "group": "网关", - "pages": [ - "zh-CN/gateway/index", - { - "group": "配置与运维", - "pages": [ - "zh-CN/gateway/configuration", - "zh-CN/gateway/configuration-examples", - "zh-CN/gateway/authentication", - "zh-CN/gateway/health", - "zh-CN/gateway/heartbeat", - "zh-CN/gateway/doctor", - "zh-CN/gateway/logging", - "zh-CN/gateway/gateway-lock", - "zh-CN/gateway/background-process", - "zh-CN/gateway/multiple-gateways", - "zh-CN/gateway/troubleshooting" - ] - }, - { - "group": "安全与沙箱", - "pages": [ - "zh-CN/gateway/security/index", - "zh-CN/gateway/sandboxing", - "zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated" - ] - }, - { - "group": "协议与 API", - "pages": [ - "zh-CN/gateway/protocol", - "zh-CN/gateway/bridge-protocol", - "zh-CN/gateway/openai-http-api", - "zh-CN/gateway/openresponses-http-api", - "zh-CN/gateway/tools-invoke-http-api", - "zh-CN/gateway/cli-backends", - "zh-CN/gateway/local-models" - ] - }, - { - "group": "网络与发现", - "pages": [ - "zh-CN/gateway/network-model", - "zh-CN/gateway/pairing", - "zh-CN/gateway/discovery", - "zh-CN/gateway/bonjour" - ] - } - ] - }, - { - "group": "远程访问", - "pages": [ - "zh-CN/gateway/remote", - "zh-CN/gateway/remote-gateway-readme", - "zh-CN/gateway/tailscale" - ] - }, - { - "group": "运维专题", - "pages": ["zh-CN/network", "zh-CN/logging"] - }, - { - "group": "安全", - "pages": ["zh-CN/security/formal-verification"] - }, - { - "group": "Web 界面", - "pages": [ - "zh-CN/web/index", - "zh-CN/web/control-ui", - "zh-CN/web/dashboard", - "zh-CN/web/webchat", - "zh-CN/web/tui" - ] - } - ] - }, - { - "tab": "参考", - "groups": [ - { - "group": "CLI 命令", - "pages": [ - "zh-CN/cli/index", - "zh-CN/cli/acp", - "zh-CN/cli/agent", - "zh-CN/cli/agents", - "zh-CN/cli/approvals", - "zh-CN/cli/browser", - "zh-CN/cli/channels", - "zh-CN/cli/config", - "zh-CN/cli/configure", - "zh-CN/cli/cron", - "zh-CN/cli/dashboard", - "zh-CN/cli/devices", - "zh-CN/cli/directory", - "zh-CN/cli/dns", - "zh-CN/cli/docs", - "zh-CN/cli/doctor", - "zh-CN/cli/gateway", - "zh-CN/cli/health", - "zh-CN/cli/hooks", - "zh-CN/cli/logs", - "zh-CN/cli/memory", - "zh-CN/cli/message", - "zh-CN/cli/models", - "zh-CN/cli/node", - "zh-CN/cli/nodes", - "zh-CN/cli/onboard", - "zh-CN/cli/pairing", - "zh-CN/cli/plugins", - "zh-CN/cli/reset", - "zh-CN/cli/sandbox", - "zh-CN/cli/security", - "zh-CN/cli/sessions", - "zh-CN/cli/setup", - "zh-CN/cli/skills", - "zh-CN/cli/status", - "zh-CN/cli/system", - "zh-CN/cli/tui", - "zh-CN/cli/uninstall", - "zh-CN/cli/update", - "zh-CN/cli/voicecall", - "zh-CN/cli/webhooks" - ] - }, - { - "group": "RPC 与 API", - "pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"] - }, - { - "group": "模板", - "pages": [ - "zh-CN/reference/AGENTS.default", - "zh-CN/reference/templates/AGENTS", - "zh-CN/reference/templates/BOOT", - "zh-CN/reference/templates/BOOTSTRAP", - "zh-CN/reference/templates/HEARTBEAT", - "zh-CN/reference/templates/IDENTITY", - "zh-CN/reference/templates/SOUL", - "zh-CN/reference/templates/TOOLS", - "zh-CN/reference/templates/USER" - ] - }, - { - "group": "技术参考", - "pages": [ - "zh-CN/reference/wizard", - "zh-CN/reference/token-use", - "zh-CN/reference/api-usage-costs", - "zh-CN/reference/transcript-hygiene", - "zh-CN/date-time" - ] - }, - { - "group": "概念内部机制", - "pages": [ - "zh-CN/concepts/typebox", - "zh-CN/concepts/markdown-formatting", - "zh-CN/concepts/typing-indicators", - "zh-CN/concepts/usage-tracking", - "zh-CN/concepts/timezone" - ] - }, - { - "group": "项目", - "pages": ["zh-CN/reference/credits"] - }, - { - "group": "发布策略", - "pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"] - } - ] - }, - { - "tab": "帮助", - "groups": [ - { - "group": "帮助", - "pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"] - }, - { - "group": "社区", - "pages": ["zh-CN/start/lore"] - }, - { - "group": "环境与调试", - "pages": [ - "zh-CN/help/environment", - "zh-CN/help/debugging", - "zh-CN/help/testing", - "zh-CN/help/scripts", - "zh-CN/debug/node-issue", - "zh-CN/diagnostics/flags" - ] - }, - { - "group": "Node 运行时", - "pages": ["zh-CN/install/node"] - }, - { - "group": "压缩机制内部参考", - "pages": ["zh-CN/reference/session-management-compaction"] - }, - { - "group": "开发者设置", - "pages": ["zh-CN/start/setup", "zh-CN/pi-dev"] - }, - { - "group": "文档元信息", - "pages": ["zh-CN/start/hubs", "zh-CN/start/docs-directory", "zh-CN/AGENTS"] - } - ] - } - ] - }, { "language": "ja", "tabs": [ diff --git a/docs/zh-CN/AGENTS.md b/docs/zh-CN/AGENTS.md deleted file mode 100644 index 719a3576480..00000000000 --- a/docs/zh-CN/AGENTS.md +++ /dev/null @@ -1,61 +0,0 @@ -# AGENTS.md - zh-CN 文档翻译工作区 - -## Read When - -- 维护 `docs/zh-CN/**` -- 更新中文翻译流水线(glossary/TM/prompt) -- 处理中文翻译反馈或回归 - -## Pipeline(docs-i18n) - -- 源文档:`docs/**/*.md` -- 目标文档:`docs/zh-CN/**/*.md` -- 术语表:`docs/.i18n/glossary.zh-CN.json` -- 翻译记忆库:`docs/.i18n/zh-CN.tm.jsonl` -- 提示词规则:`scripts/docs-i18n/prompt.go` - -常用运行方式: - -```bash -# 批量(doc 模式,可并行) -go run scripts/docs-i18n/main.go -mode doc -parallel 6 docs/**/*.md - -# 单文件 - -go run scripts/docs-i18n/main.go -mode doc docs/channels/matrix.md - -# 小范围补丁(segment 模式,使用 TM;不支持并行) -go run scripts/docs-i18n/main.go -mode segment docs/channels/matrix.md -``` - -注意事项: - -- doc 模式用于整页翻译;segment 模式用于小范围修补(依赖 TM)。 -- 新增技术术语、页面标题或短导航标签时,先更新 `docs/.i18n/glossary.zh-CN.json`,再跑 `doc` 模式;不要指望模型自行保留英文术语或固定译名。 -- `pnpm docs:check-i18n-glossary` 会检查变更过的英文文档标题和短内部链接标签是否已写入 glossary。 -- 超大文件若超时,优先做**定点替换**或拆分后再跑。 -- 翻译后检查中文引号、CJK-Latin 间距和术语一致性。 - -## zh-CN 样式规则 - -- CJK-Latin 间距:遵循 W3C CLREQ(如 `Gateway 网关`、`Skills 配置`)。 -- 中文引号:正文/标题使用 `“”`;代码/CLI/键名保持 ASCII 引号。 -- 术语保留英文:`Skills`、`local loopback`、`Tailscale`。 -- 代码块/内联代码:保持原样,不在代码内插入空格或引号替换。 - -## 关键术语(#6995 修复) - -- `Gateway 网关` -- `Skills 配置` -- `沙箱` -- `预期键名` -- `配套应用` -- `分块流式传输` -- `设备发现` - -## 反馈与变更记录 - -- 反馈来源:GitHub issue #6995 -- 反馈用户:@AaronWander、@taiyi747、@Explorer1092、@rendaoyuan -- 变更要点:更新 prompt 规则、扩充 glossary、清理 TM、批量再生成 + 定点修复 -- 参考链接:https://github.com/openclaw/openclaw/issues/6995 diff --git a/docs/zh-CN/CLAUDE.md b/docs/zh-CN/CLAUDE.md deleted file mode 120000 index 47dc3e3d863..00000000000 --- a/docs/zh-CN/CLAUDE.md +++ /dev/null @@ -1 +0,0 @@ -AGENTS.md \ No newline at end of file diff --git a/docs/zh-CN/automation/auth-monitoring.md b/docs/zh-CN/automation/auth-monitoring.md deleted file mode 100644 index 65cb795b300..00000000000 --- a/docs/zh-CN/automation/auth-monitoring.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -read_when: - - 设置认证过期监控或告警 - - 自动化 Claude Code / Codex OAuth 刷新检查 -summary: 监控模型提供商的 OAuth 过期状态 -title: 认证监控 -x-i18n: - generated_at: "2026-02-03T10:03:53Z" - model: claude-opus-4-6 - provider: pi - source_hash: eef179af9545ed7ab881f3ccbef998869437fb50cdb4088de8da7223b614fa2b - source_path: automation/auth-monitoring.md - workflow: 15 ---- - -# 认证监控 - -OpenClaw 通过 `openclaw models status` 提供 OAuth 过期健康状态。请使用该命令进行自动化和告警;脚本是为手机工作流程提供的可选附加功能。 - -## 推荐方式:CLI 检查(可移植) - -```bash -openclaw models status --check -``` - -退出码: - -- `0`:正常 -- `1`:凭证过期或缺失 -- `2`:即将过期(24 小时内) - -此方式适用于 cron/systemd,无需额外脚本。 - -## 可选脚本(运维 / 手机工作流程) - -这些脚本位于 `scripts/` 目录下,属于**可选**内容。它们假定你可以通过 SSH 访问 Gateway 网关主机,并针对 systemd + Termux 进行了调优。 - -- `scripts/claude-auth-status.sh` 现在使用 `openclaw models status --json` 作为数据来源(如果 CLI 不可用则回退到直接读取文件),因此请确保 `openclaw` 在定时器的 `PATH` 中。 -- `scripts/auth-monitor.sh`:cron/systemd 定时器目标;发送告警(ntfy 或手机)。 -- `scripts/systemd/openclaw-auth-monitor.{service,timer}`:systemd 用户定时器。 -- `scripts/claude-auth-status.sh`:Claude Code + OpenClaw 认证检查器(完整/json/简洁模式)。 -- `scripts/mobile-reauth.sh`:通过 SSH 引导的重新认证流程。 -- `scripts/termux-quick-auth.sh`:一键小部件状态查看 + 打开认证 URL。 -- `scripts/termux-auth-widget.sh`:完整的引导式小部件流程。 -- `scripts/termux-sync-widget.sh`:同步 Claude Code 凭证 → OpenClaw。 - -如果你不需要手机自动化或 systemd 定时器,可以跳过这些脚本。 diff --git a/docs/zh-CN/automation/cron-jobs.md b/docs/zh-CN/automation/cron-jobs.md deleted file mode 100644 index 08f2145bab0..00000000000 --- a/docs/zh-CN/automation/cron-jobs.md +++ /dev/null @@ -1,435 +0,0 @@ ---- -read_when: - - 调度后台任务或唤醒 - - 配置需要与心跳一起或并行运行的自动化 - - 在心跳和定时任务之间做选择 -summary: Gateway网关调度器的定时任务与唤醒 -title: 定时任务 -x-i18n: - generated_at: "2026-02-01T19:37:32Z" - model: claude-opus-4-6 - provider: pi - source_hash: d43268b0029f1b13d0825ddcc9c06a354987ea17ce02f3b5428a9c68bf936676 - source_path: automation/cron-jobs.md - workflow: 14 ---- - -# 定时任务(Gateway网关调度器) - -> **定时任务还是心跳?** 请参阅[定时任务与心跳对比](/automation/cron-vs-heartbeat)了解何时使用哪种方式。 - -定时任务是 Gateway网关内置的调度器。它持久化任务、在合适的时间唤醒智能体,并可选择将输出发送回聊天。 - -如果你想要 _"每天早上运行"_ 或 _"20 分钟后提醒智能体"_,定时任务就是对应的机制。 - -## 简要概述 - -- 定时任务运行在 **Gateway网关内部**(而非模型内部)。 -- 任务持久化存储在 `~/.openclaw/cron/` 下,因此重启不会丢失计划。 -- 两种执行方式: - - **主会话**:入队一个系统事件,然后在下一次心跳时运行。 - - **隔离式**:在 `cron:` 或自定义会话中运行专用智能体轮次,可投递摘要(默认 announce)或不投递。 - - **当前会话**:绑定到创建定时任务时的会话 (`sessionTarget: "current"`)。 - - **自定义会话**:在持久化的命名会话中运行 (`sessionTarget: "session:custom-id"`)。 -- 唤醒是一等功能:任务可以请求"立即唤醒"或"下次心跳时"。 - -## 快速开始(可操作) - -创建一个一次性提醒,验证其存在,然后立即运行: - -```bash -openclaw cron add \ - --name "Reminder" \ - --at "2026-02-01T16:00:00Z" \ - --session main \ - --system-event "Reminder: check the cron docs draft" \ - --wake now \ - --delete-after-run - -openclaw cron list -openclaw cron run --force -openclaw cron runs --id -``` - -调度一个带投递功能的周期性隔离任务: - -```bash -openclaw cron add \ - --name "Morning brief" \ - --cron "0 7 * * *" \ - --tz "America/Los_Angeles" \ - --session isolated \ - --message "Summarize overnight updates." \ - --announce \ - --channel slack \ - --to "channel:C1234567890" -``` - -## 工具调用等价形式(Gateway网关定时任务工具) - -有关规范的 JSON 结构和示例,请参阅[工具调用的 JSON 模式](/automation/cron-jobs#json-schema-for-tool-calls)。 - -## 定时任务的存储位置 - -定时任务默认持久化存储在 Gateway网关主机的 `~/.openclaw/cron/jobs.json` 中。Gateway网关将文件加载到内存中,并在更改时写回,因此仅在 Gateway网关停止时手动编辑才是安全的。请优先使用 `openclaw cron add/edit` 或定时任务工具调用 API 进行更改。 - -## 新手友好概述 - -将定时任务理解为:**何时**运行 + **做什么**。 - -1. **选择调度计划** - - 一次性提醒 → `schedule.kind = "at"`(CLI:`--at`) - - 重复任务 → `schedule.kind = "every"` 或 `schedule.kind = "cron"` - - 如果你的 ISO 时间戳省略了时区,将被视为 **UTC**。 - -2. **选择运行位置** - - `sessionTarget: "main"` → 在下一次心跳时使用主会话上下文运行。 - - `sessionTarget: "isolated"` → 在 `cron:` 中运行专用智能体轮次。 - - `sessionTarget: "current"` → 绑定到当前会话(创建时解析为 `session:`)。 - - `sessionTarget: "session:custom-id"` → 在持久化的命名会话中运行,跨运行保持上下文。 - - 默认行为(保持不变): - - `systemEvent` 负载默认使用 `main` - - `agentTurn` 负载默认使用 `isolated` - - 要使用当前会话绑定,需显式设置 `sessionTarget: "current"`。 - -3. **选择负载** - - 主会话 → `payload.kind = "systemEvent"` - - 隔离会话 → `payload.kind = "agentTurn"` - -可选:一次性任务(`schedule.kind = "at"`)默认会在成功运行后删除。设置 -`deleteAfterRun: false` 可保留它(成功后会禁用)。 - -## 概念 - -### 任务 - -定时任务是一条存储记录,包含: - -- 一个**调度计划**(何时运行), -- 一个**负载**(做什么), -- 可选的**投递**(输出发送到哪里)。 -- 可选的**智能体绑定**(`agentId`):在指定智能体下运行任务;如果缺失或未知,Gateway网关会回退到默认智能体。 - -任务通过稳定的 `jobId` 标识(用于 CLI/Gateway网关 API)。 -在智能体工具调用中,`jobId` 是规范字段;旧版 `id` 仍可兼容使用。 -一次性任务默认会在成功运行后自动删除;设置 `deleteAfterRun: false` 可保留它。 - -### 调度计划 - -定时任务支持三种调度类型: - -- `at`:一次性时间戳(ISO 8601 字符串)。 -- `every`:固定间隔(毫秒)。 -- `cron`:5 字段 cron 表达式,可选 IANA 时区。 - -Cron 表达式使用 `croner`。如果省略时区,将使用 Gateway网关主机的本地时区。 - -### 主会话与隔离式执行 - -#### 主会话任务(系统事件) - -主会话任务入队一个系统事件,并可选择唤醒心跳运行器。它们必须使用 `payload.kind = "systemEvent"`。 - -- `wakeMode: "next-heartbeat"`(默认):事件等待下一次计划心跳。 -- `wakeMode: "now"`:事件触发立即心跳运行。 - -当你需要正常的心跳提示 + 主会话上下文时,这是最佳选择。参见[心跳](/gateway/heartbeat)。 - -#### 隔离任务(专用定时会话) - -隔离任务在会话 `cron:` 或自定义会话中运行专用智能体轮次。 - -关键行为: - -- 提示以 `[cron: <任务名称>]` 为前缀,便于追踪。 -- 每次运行都会启动一个**全新的会话 ID**(不继承之前的对话),除非使用自定义会话。 -- 自定义会话(`session:xxx`)可跨运行保持上下文,适用于如每日站会等需要基于前次摘要的工作流。 -- 如果未指定 `delivery`,隔离任务会默认以“announce”方式投递摘要。 -- `delivery.mode` 可选 `announce`(投递摘要)或 `none`(内部运行)。 - -对于嘈杂、频繁或"后台杂务"类任务,使用隔离任务可以避免污染你的主聊天记录。 - -### 负载结构(运行内容) - -支持两种负载类型: - -- `systemEvent`:仅限主会话,通过心跳提示路由。 -- `agentTurn`:仅限隔离会话,运行专用智能体轮次。 - -常用 `agentTurn` 字段: - -- `message`:必填文本提示。 -- `model` / `thinking`:可选覆盖(见下文)。 -- `timeoutSeconds`:可选超时覆盖。 - -### 模型和思维覆盖 - -隔离任务(`agentTurn`)可以覆盖模型和思维级别: - -- `model`:提供商/模型字符串(例如 `anthropic/claude-sonnet-4-20250514`)或别名(例如 `opus`) -- `thinking`:思维级别(`off`、`minimal`、`low`、`medium`、`high`、`xhigh`;仅限 GPT-5.2 + Codex 模型) - -注意:你也可以在主会话任务上设置 `model`,但这会更改共享的主会话模型。我们建议仅对隔离任务使用模型覆盖,以避免意外的上下文切换。 - -优先级解析顺序: - -1. 任务负载覆盖(最高优先级) -2. 钩子特定默认值(例如 `hooks.gmail.model`) -3. 智能体配置默认值 - -### 投递(渠道 + 目标) - -隔离任务可以通过顶层 `delivery` 配置投递输出: - -- `delivery.mode`:`announce`(投递摘要)或 `none` -- `delivery.channel`:`whatsapp` / `telegram` / `discord` / `slack` / `mattermost`(插件)/ `signal` / `imessage` / `last` -- `delivery.to`:渠道特定的接收目标 -- `delivery.bestEffort`:投递失败时避免任务失败 - -当启用 announce 投递时,该轮次会抑制消息工具发送;请使用 `delivery.channel`/`delivery.to` 来指定目标。 - -如果省略 `delivery.channel` 或 `delivery.to`,定时任务会回退到主会话的“最后路由”(智能体最后回复的位置)。 - -目标格式提醒: - -- Slack/Discord/Mattermost(插件)目标应使用明确前缀(例如 `channel:`、`user:`)以避免歧义。 -- Telegram 主题应使用 `:topic:` 格式(见下文)。 - -#### Telegram 投递目标(主题/论坛帖子) - -Telegram 通过 `message_thread_id` 支持论坛主题。对于定时任务投递,你可以将主题/帖子编码到 `to` 字段中: - -- `-1001234567890`(仅聊天 ID) -- `-1001234567890:topic:123`(推荐:明确的主题标记) -- `-1001234567890:123`(简写:数字后缀) - -带前缀的目标如 `telegram:...` / `telegram:group:...` 也可接受: - -- `telegram:group:-1001234567890:topic:123` - -## 工具调用的 JSON 模式 - -直接调用 Gateway网关 `cron.*` 工具(智能体工具调用或 RPC)时使用这些结构。CLI 标志接受人类可读的时间格式如 `20m`,但工具调用应使用 ISO 8601 字符串作为 `schedule.at`,并使用毫秒作为 `schedule.everyMs`。 - -### cron.add 参数 - -一次性主会话任务(系统事件): - -```json -{ - "name": "Reminder", - "schedule": { "kind": "at", "at": "2026-02-01T16:00:00Z" }, - "sessionTarget": "main", - "wakeMode": "now", - "payload": { "kind": "systemEvent", "text": "Reminder text" }, - "deleteAfterRun": true -} -``` - -带投递的周期性隔离任务: - -```json -{ - "name": "Morning brief", - "schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "America/Los_Angeles" }, - "sessionTarget": "isolated", - "wakeMode": "next-heartbeat", - "payload": { - "kind": "agentTurn", - "message": "Summarize overnight updates." - }, - "delivery": { - "mode": "announce", - "channel": "slack", - "to": "channel:C1234567890", - "bestEffort": true - } -} -``` - -说明: - -- `schedule.kind`:`at`(`at`)、`every`(`everyMs`)或 `cron`(`expr`,可选 `tz`)。 -- `schedule.at` 接受 ISO 8601(可省略时区;省略时按 UTC 处理)。 -- `everyMs` 为毫秒数。 -- `sessionTarget` 必须为 `"main"` 或 `"isolated"`,且必须与 `payload.kind` 匹配。 -- 可选字段:`agentId`、`description`、`enabled`、`deleteAfterRun`、`delivery`。 -- `wakeMode` 省略时默认为 `"next-heartbeat"`。 - -### cron.update 参数 - -```json -{ - "jobId": "job-123", - "patch": { - "enabled": false, - "schedule": { "kind": "every", "everyMs": 3600000 } - } -} -``` - -说明: - -- `jobId` 是规范字段;`id` 可兼容使用。 -- 在补丁中使用 `agentId: null` 可清除智能体绑定。 - -### cron.run 和 cron.remove 参数 - -```json -{ "jobId": "job-123", "mode": "force" } -``` - -```json -{ "jobId": "job-123" } -``` - -## 存储与历史 - -- 任务存储:`~/.openclaw/cron/jobs.json`(Gateway网关管理的 JSON)。 -- 运行历史:`~/.openclaw/cron/runs/.jsonl`(JSONL,自动清理)。 -- 覆盖存储路径:配置中的 `cron.store`。 - -## 配置 - -```json5 -{ - cron: { - enabled: true, // 默认 true - store: "~/.openclaw/cron/jobs.json", - maxConcurrentRuns: 1, // 默认 1 - }, -} -``` - -完全禁用定时任务: - -- `cron.enabled: false`(配置) -- `OPENCLAW_SKIP_CRON=1`(环境变量) - -## CLI 快速开始 - -一次性提醒(UTC ISO,成功后自动删除): - -```bash -openclaw cron add \ - --name "Send reminder" \ - --at "2026-01-12T18:00:00Z" \ - --session main \ - --system-event "Reminder: submit expense report." \ - --wake now \ - --delete-after-run -``` - -一次性提醒(主会话,立即唤醒): - -```bash -openclaw cron add \ - --name "Calendar check" \ - --at "20m" \ - --session main \ - --system-event "Next heartbeat: check calendar." \ - --wake now -``` - -周期性隔离任务(投递到 WhatsApp): - -```bash -openclaw cron add \ - --name "Morning status" \ - --cron "0 7 * * *" \ - --tz "America/Los_Angeles" \ - --session isolated \ - --message "Summarize inbox + calendar for today." \ - --announce \ - --channel whatsapp \ - --to "+15551234567" -``` - -周期性隔离任务(投递到 Telegram 主题): - -```bash -openclaw cron add \ - --name "Nightly summary (topic)" \ - --cron "0 22 * * *" \ - --tz "America/Los_Angeles" \ - --session isolated \ - --message "Summarize today; send to the nightly topic." \ - --announce \ - --channel telegram \ - --to "-1001234567890:topic:123" -``` - -带模型和思维覆盖的隔离任务: - -```bash -openclaw cron add \ - --name "Deep analysis" \ - --cron "0 6 * * 1" \ - --tz "America/Los_Angeles" \ - --session isolated \ - --message "Weekly deep analysis of project progress." \ - --model "opus" \ - --thinking high \ - --announce \ - --channel whatsapp \ - --to "+15551234567" -``` - -智能体选择(多智能体配置): - -```bash -# 将任务绑定到智能体 "ops"(如果该智能体不存在则回退到默认智能体) -openclaw cron add --name "Ops sweep" --cron "0 6 * * *" --session isolated --message "Check ops queue" --agent ops - -# 切换或清除现有任务的智能体 -openclaw cron edit --agent ops -openclaw cron edit --clear-agent -``` - -手动运行(调试): - -```bash -openclaw cron run --force -``` - -编辑现有任务(补丁字段): - -```bash -openclaw cron edit \ - --message "Updated prompt" \ - --model "opus" \ - --thinking low -``` - -运行历史: - -```bash -openclaw cron runs --id --limit 50 -``` - -不创建任务直接发送系统事件: - -```bash -openclaw system event --mode now --text "Next heartbeat: check battery." -``` - -## Gateway网关 API 接口 - -- `cron.list`、`cron.status`、`cron.add`、`cron.update`、`cron.remove` -- `cron.run`(强制或到期)、`cron.runs` - 如需不创建任务直接发送系统事件,请使用 [`openclaw system event`](/cli/system)。 - -## 故障排除 - -### "没有任何任务运行" - -- 检查定时任务是否已启用:`cron.enabled` 和 `OPENCLAW_SKIP_CRON`。 -- 检查 Gateway网关是否持续运行(定时任务运行在 Gateway网关进程内部)。 -- 对于 `cron` 调度:确认时区(`--tz`)与主机时区的关系。 - -### Telegram 投递到了错误的位置 - -- 对于论坛主题,使用 `-100…:topic:` 以确保明确无歧义。 -- 如果你在日志或存储的"最后路由"目标中看到 `telegram:...` 前缀,这是正常的;定时任务投递接受这些前缀并仍能正确解析主题 ID。 diff --git a/docs/zh-CN/automation/cron-vs-heartbeat.md b/docs/zh-CN/automation/cron-vs-heartbeat.md deleted file mode 100644 index 2cab45521f5..00000000000 --- a/docs/zh-CN/automation/cron-vs-heartbeat.md +++ /dev/null @@ -1,286 +0,0 @@ ---- -read_when: - - 决定如何调度周期性任务 - - 设置后台监控或通知 - - 优化定期检查的 token 用量 -summary: 选择心跳还是定时任务进行自动化的指南 -title: 定时任务与心跳对比 -x-i18n: - generated_at: "2026-02-01T19:38:18Z" - model: claude-opus-4-6 - provider: pi - source_hash: 5f71a63181baa41b1c307eb7bfac561df7943d4627077dfa2861eb9f76ab086b - source_path: automation/cron-vs-heartbeat.md - workflow: 14 ---- - -# 定时任务与心跳:何时使用哪种方式 - -心跳和定时任务都可以按计划运行任务。本指南帮助你根据使用场景选择合适的机制。 - -## 快速决策指南 - -| 使用场景 | 推荐方式 | 原因 | -| ------------------------- | -------------------------- | ---------------------------------------- | -| 每 30 分钟检查收件箱 | 心跳 | 可与其他检查批量处理,具备上下文感知能力 | -| 每天上午 9 点准时发送报告 | 定时任务(隔离式) | 需要精确定时 | -| 监控日历中即将到来的事件 | 心跳 | 天然适合周期性感知 | -| 运行每周深度分析 | 定时任务(隔离式) | 独立任务,可使用不同模型 | -| 20 分钟后提醒我 | 定时任务(主会话,`--at`) | 精确定时的一次性任务 | -| 后台项目健康检查 | 心跳 | 搭载在现有周期上 | - -## 心跳:周期性感知 - -心跳在**主会话**中以固定间隔运行(默认:30 分钟)。它的设计目的是让智能体检查各种事项并呈现重要信息。 - -### 何时使用心跳 - -- **多个周期性检查**:与其设置 5 个独立的定时任务分别检查收件箱、日历、天气、通知和项目状态,不如用一次心跳批量处理所有内容。 -- **上下文感知决策**:智能体拥有完整的主会话上下文,因此可以智能判断哪些紧急、哪些可以等待。 -- **对话连续性**:心跳运行共享同一会话,因此智能体记得最近的对话,可以自然地进行后续跟进。 -- **低开销监控**:一次心跳替代多个小型轮询任务。 - -### 心跳优势 - -- **批量处理多项检查**:一次智能体轮次可以同时审查收件箱、日历和通知。 -- **减少 API 调用**:一次心跳比 5 个隔离式定时任务更经济。 -- **上下文感知**:智能体了解你一直在做什么,可以据此排定优先级。 -- **智能抑制**:如果没有需要关注的事项,智能体回复 `HEARTBEAT_OK`,不会投递任何消息。 -- **自然定时**:会根据队列负载略有漂移,但对大多数监控来说没有问题。 - -### 心跳示例:HEARTBEAT.md 检查清单 - -```md -# Heartbeat checklist - -- Check email for urgent messages -- Review calendar for events in next 2 hours -- If a background task finished, summarize results -- If idle for 8+ hours, send a brief check-in -``` - -智能体在每次心跳时读取此清单,并在一次轮次中处理所有项目。 - -### 配置心跳 - -```json5 -{ - agents: { - defaults: { - heartbeat: { - every: "30m", // 间隔 - target: "last", // 告警投递目标 - activeHours: { start: "08:00", end: "22:00" }, // 可选 - }, - }, - }, -} -``` - -完整配置请参阅[心跳](/gateway/heartbeat)。 - -## 定时任务:精确调度 - -定时任务在**精确时间**运行,可以在隔离会话中运行而不影响主会话上下文。 - -### 何时使用定时任务 - -- **需要精确定时**:"每周一上午 9:00 发送"(而不是"大约 9 点左右")。 -- **独立任务**:不需要对话上下文的任务。 -- **不同的模型/思维级别**:需要更强大模型的深度分析。 -- **一次性提醒**:使用 `--at` 实现"20 分钟后提醒我"。 -- **嘈杂/频繁的任务**:会把主会话历史搞得杂乱的任务。 -- **外部触发器**:无论智能体是否处于活跃状态都应独立运行的任务。 - -### 定时任务优势 - -- **精确定时**:支持带时区的 5 字段 cron 表达式。 -- **会话隔离**:在 `cron:` 中运行,不会污染主会话历史。 -- **模型覆盖**:可按任务使用更便宜或更强大的模型。 -- **投递控制**:隔离任务默认以 `announce` 投递摘要,可选 `none` 仅内部运行。 -- **无需智能体上下文**:即使主会话空闲或已压缩,也能运行。 -- **一次性支持**:`--at` 用于精确的未来时间戳。 - -### 定时任务示例:每日早间简报 - -```bash -openclaw cron add \ - --name "Morning briefing" \ - --cron "0 7 * * *" \ - --tz "America/New_York" \ - --session isolated \ - --message "Generate today's briefing: weather, calendar, top emails, news summary." \ - --model opus \ - --announce \ - --channel whatsapp \ - --to "+15551234567" -``` - -这会在纽约时间每天早上 7:00 准时运行,使用 Opus 保证质量,并直接投递到 WhatsApp。 - -### 定时任务示例:一次性提醒 - -```bash -openclaw cron add \ - --name "Meeting reminder" \ - --at "20m" \ - --session main \ - --system-event "Reminder: standup meeting starts in 10 minutes." \ - --wake now \ - --delete-after-run -``` - -完整 CLI 参考请参阅[定时任务](/automation/cron-jobs)。 - -## 决策流程图 - -``` -任务是否需要在精确时间运行? - 是 -> 使用定时任务 - 否 -> 继续... - -任务是否需要与主会话隔离? - 是 -> 使用定时任务(隔离式) - 否 -> 继续... - -此任务能否与其他周期性检查批量处理? - 是 -> 使用心跳(添加到 HEARTBEAT.md) - 否 -> 使用定时任务 - -这是一次性提醒吗? - 是 -> 使用定时任务配合 --at - 否 -> 继续... - -是否需要不同的模型或思维级别? - 是 -> 使用定时任务(隔离式)配合 --model/--thinking - 否 -> 使用心跳 -``` - -## 组合使用 - -最高效的配置是**两者结合**: - -1. **心跳**处理常规监控(收件箱、日历、通知),每 30 分钟批量处理一次。 -2. **定时任务**处理精确调度(每日报告、每周回顾)和一次性提醒。 - -### 示例:高效自动化配置 - -**HEARTBEAT.md**(每 30 分钟检查一次): - -```md -# Heartbeat checklist - -- Scan inbox for urgent emails -- Check calendar for events in next 2h -- Review any pending tasks -- Light check-in if quiet for 8+ hours -``` - -**定时任务**(精确定时): - -```bash -# 每天早上 7 点的早间简报 -openclaw cron add --name "Morning brief" --cron "0 7 * * *" --session isolated --message "..." --announce - -# 每周一上午 9 点的项目回顾 -openclaw cron add --name "Weekly review" --cron "0 9 * * 1" --session isolated --message "..." --model opus - -# 一次性提醒 -openclaw cron add --name "Call back" --at "2h" --session main --system-event "Call back the client" --wake now -``` - -## Lobster:带审批的确定性工作流 - -Lobster 是用于**多步骤工具管道**的工作流运行时,适用于需要确定性执行和明确审批的场景。当任务不只是单次智能体轮次,且你需要可恢复的带人工检查点的工作流时,使用它。 - -### 何时适合使用 Lobster - -- **多步骤自动化**:你需要一个固定的工具调用管道,而不是一次性提示。 -- **审批关卡**:副作用应暂停直到你批准,然后继续执行。 -- **可恢复运行**:继续暂停的工作流而无需重新运行之前的步骤。 - -### 如何与心跳和定时任务配合 - -- **心跳/定时任务**决定*何时*运行。 -- **Lobster** 定义运行开始后*执行哪些步骤*。 - -对于计划性工作流,使用定时任务或心跳触发一次调用 Lobster 的智能体轮次。对于临时工作流,直接调用 Lobster。 - -### 操作说明(来自代码) - -- Lobster 以**本地子进程**(`lobster` CLI)在工具模式下运行,并返回 **JSON 信封**。 -- 如果工具返回 `needs_approval`,你需要使用 `resumeToken` 和 `approve` 标志来恢复。 -- 该工具是**可选插件**;建议通过 `tools.alsoAllow: ["lobster"]` 附加启用。 -- 如果传入 `lobsterPath`,必须是**绝对路径**。 - -完整用法和示例请参阅 [Lobster](/tools/lobster)。 - -## 主会话与隔离会话 - -心跳和定时任务都可以与主会话交互,但方式不同: - -| | 心跳 | 定时任务(主会话) | 定时任务(隔离式) | -| ------ | ------------------------ | ---------------------- | --------------------- | -| 会话 | 主会话 | 主会话(通过系统事件) | `cron:` | -| 历史 | 共享 | 共享 | 每次运行全新 | -| 上下文 | 完整 | 完整 | 无(从零开始) | -| 模型 | 主会话模型 | 主会话模型 | 可覆盖 | -| 输出 | 非 `HEARTBEAT_OK` 时投递 | 心跳提示 + 事件 | announce 摘要(默认) | - -### 何时使用主会话定时任务 - -当你需要以下场景时,使用 `--session main` 配合 `--system-event`: - -- 提醒/事件出现在主会话上下文中 -- 智能体在下一次心跳时带着完整上下文处理它 -- 不需要单独的隔离运行 - -```bash -openclaw cron add \ - --name "Check project" \ - --every "4h" \ - --session main \ - --system-event "Time for a project health check" \ - --wake now -``` - -### 何时使用隔离式定时任务 - -当你需要以下场景时,使用 `--session isolated`: - -- 无先前上下文的全新环境 -- 不同的模型或思维设置 -- 输出可通过 `announce` 直接投递摘要(或用 `none` 仅内部运行) -- 不会把主会话搞得杂乱的历史记录 - -```bash -openclaw cron add \ - --name "Deep analysis" \ - --cron "0 6 * * 0" \ - --session isolated \ - --message "Weekly codebase analysis..." \ - --model opus \ - --thinking high \ - --announce -``` - -## 成本考量 - -| 机制 | 成本特征 | -| ------------------ | ---------------------------------------------- | -| 心跳 | 每 N 分钟一次轮次;随 HEARTBEAT.md 大小扩展 | -| 定时任务(主会话) | 将事件添加到下一次心跳(无隔离轮次) | -| 定时任务(隔离式) | 每个任务一次完整智能体轮次;可使用更便宜的模型 | - -**建议**: - -- 保持 `HEARTBEAT.md` 精简以减少 token 开销。 -- 将类似的检查批量放入心跳,而不是创建多个定时任务。 -- 如果只需要内部处理,在心跳上使用 `target: "none"`。 -- 对常规任务使用隔离式定时任务配合更便宜的模型。 - -## 相关内容 - -- [心跳](/gateway/heartbeat) - 完整的心跳配置 -- [定时任务](/automation/cron-jobs) - 完整的定时任务 CLI 和 API 参考 -- [系统](/cli/system) - 系统事件 + 心跳控制 diff --git a/docs/zh-CN/automation/gmail-pubsub.md b/docs/zh-CN/automation/gmail-pubsub.md deleted file mode 100644 index 21aa5aa439d..00000000000 --- a/docs/zh-CN/automation/gmail-pubsub.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -read_when: - - 将 Gmail 收件箱触发器接入 OpenClaw - - 为智能体唤醒设置 Pub/Sub 推送 -summary: 通过 gogcli 将 Gmail Pub/Sub 推送接入 OpenClaw webhooks -title: Gmail PubSub -x-i18n: - generated_at: "2026-02-03T07:43:25Z" - model: claude-opus-4-6 - provider: pi - source_hash: dfb92133b69177e4e984b7d072f5dc28aa53a9e0cf984a018145ed811aa96195 - source_path: automation/gmail-pubsub.md - workflow: 15 ---- - -# Gmail Pub/Sub -> OpenClaw - -目标:Gmail watch -> Pub/Sub 推送 -> `gog gmail watch serve` -> OpenClaw webhook。 - -## 前置条件 - -- 已安装并登录 `gcloud`([安装指南](https://docs.cloud.google.com/sdk/docs/install-sdk))。 -- 已安装 `gog` (gogcli) 并为 Gmail 账户授权([gogcli.sh](https://gogcli.sh/))。 -- 已启用 OpenClaw hooks(参见 [Webhooks](/automation/webhook))。 -- 已登录 `tailscale`([tailscale.com](https://tailscale.com/))。支持的设置使用 Tailscale Funnel 作为公共 HTTPS 端点。 - 其他隧道服务也可以使用,但需要自行配置/不受支持,需要手动接入。 - 目前,我们支持的是 Tailscale。 - -示例 hook 配置(启用 Gmail 预设映射): - -```json5 -{ - hooks: { - enabled: true, - token: "OPENCLAW_HOOK_TOKEN", - path: "/hooks", - presets: ["gmail"], - }, -} -``` - -要将 Gmail 摘要投递到聊天界面,请用设置了 `deliver` 以及可选的 `channel`/`to` 的映射覆盖预设: - -```json5 -{ - hooks: { - enabled: true, - token: "OPENCLAW_HOOK_TOKEN", - presets: ["gmail"], - mappings: [ - { - match: { path: "gmail" }, - action: "agent", - wakeMode: "now", - name: "Gmail", - sessionKey: "hook:gmail:{{messages[0].id}}", - messageTemplate: "New email from {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}\n{{messages[0].body}}", - model: "openai/gpt-5.4-mini", - deliver: true, - channel: "last", - // to: "+15551234567" - }, - ], - }, -} -``` - -如果你想使用固定渠道,请设置 `channel` + `to`。否则 `channel: "last"` 会使用上次的投递路由(默认回退到 WhatsApp)。 - -要为 Gmail 运行强制使用更便宜的模型,请在映射中设置 `model`(`provider/model` 或别名)。如果你强制启用了 `agents.defaults.models`,请将其包含在内。 - -要专门为 Gmail hooks 设置默认模型和思考级别,请在配置中添加 `hooks.gmail.model` / `hooks.gmail.thinking`: - -```json5 -{ - hooks: { - gmail: { - model: "openrouter/meta-llama/llama-3.3-70b-instruct:free", - thinking: "off", - }, - }, -} -``` - -注意事项: - -- 映射中的每个 hook 的 `model`/`thinking` 仍会覆盖这些默认值。 -- 回退顺序:`hooks.gmail.model` → `agents.defaults.model.fallbacks` → 主模型(认证/速率限制/超时)。 -- 如果设置了 `agents.defaults.models`,Gmail 模型必须在允许列表中。 -- Gmail hook 内容默认使用外部内容安全边界包装。 - 要禁用(危险),请设置 `hooks.gmail.allowUnsafeExternalContent: true`。 - -要进一步自定义负载处理,请添加 `hooks.mappings` 或在 `hooks.transformsDir` 下添加 JS/TS 转换模块(参见 [Webhooks](/automation/webhook))。 - -## 向导(推荐) - -使用 OpenClaw 助手将所有内容接入在一起(在 macOS 上通过 brew 安装依赖): - -```bash -openclaw webhooks gmail setup \ - --account openclaw@gmail.com -``` - -默认设置: - -- 使用 Tailscale Funnel 作为公共推送端点。 -- 为 `openclaw webhooks gmail run` 写入 `hooks.gmail` 配置。 -- 启用 Gmail hook 预设(`hooks.presets: ["gmail"]`)。 - -路径说明:当启用 `tailscale.mode` 时,OpenClaw 会自动将 `hooks.gmail.serve.path` 设置为 `/`,并将公共路径保持在 `hooks.gmail.tailscale.path`(默认 `/gmail-pubsub`),因为 Tailscale 在代理之前会剥离设置的路径前缀。 -如果你需要后端接收带前缀的路径,请将 `hooks.gmail.tailscale.target`(或 `--tailscale-target`)设置为完整 URL,如 `http://127.0.0.1:8788/gmail-pubsub`,并匹配 `hooks.gmail.serve.path`。 - -想要自定义端点?使用 `--push-endpoint ` 或 `--tailscale off`。 - -平台说明:在 macOS 上,向导通过 Homebrew 安装 `gcloud`、`gogcli` 和 `tailscale`;在 Linux 上请先手动安装它们。 - -Gateway 网关自动启动(推荐): - -- 当 `hooks.enabled=true` 且设置了 `hooks.gmail.account` 时,Gateway 网关会在启动时运行 `gog gmail watch serve` 并自动续期 watch。 -- 设置 `OPENCLAW_SKIP_GMAIL_WATCHER=1` 可退出(如果你自己运行守护进程则很有用)。 -- 不要同时运行手动守护进程,否则会遇到 `listen tcp 127.0.0.1:8788: bind: address already in use`。 - -手动守护进程(启动 `gog gmail watch serve` + 自动续期): - -```bash -openclaw webhooks gmail run -``` - -## 一次性设置 - -1. 选择**拥有 `gog` 使用的 OAuth 客户端**的 GCP 项目。 - -```bash -gcloud auth login -gcloud config set project -``` - -注意:Gmail watch 要求 Pub/Sub 主题与 OAuth 客户端位于同一项目中。 - -2. 启用 API: - -```bash -gcloud services enable gmail.googleapis.com pubsub.googleapis.com -``` - -3. 创建主题: - -```bash -gcloud pubsub topics create gog-gmail-watch -``` - -4. 允许 Gmail push 发布: - -```bash -gcloud pubsub topics add-iam-policy-binding gog-gmail-watch \ - --member=serviceAccount:gmail-api-push@system.gserviceaccount.com \ - --role=roles/pubsub.publisher -``` - -## 启动 watch - -```bash -gog gmail watch start \ - --account openclaw@gmail.com \ - --label INBOX \ - --topic projects//topics/gog-gmail-watch -``` - -保存输出中的 `history_id`(用于调试)。 - -## 运行推送处理程序 - -本地示例(共享 token 认证): - -```bash -gog gmail watch serve \ - --account openclaw@gmail.com \ - --bind 127.0.0.1 \ - --port 8788 \ - --path /gmail-pubsub \ - --token \ - --hook-url http://127.0.0.1:18789/hooks/gmail \ - --hook-token OPENCLAW_HOOK_TOKEN \ - --include-body \ - --max-bytes 20000 -``` - -注意事项: - -- `--token` 保护推送端点(`x-gog-token` 或 `?token=`)。 -- `--hook-url` 指向 OpenClaw `/hooks/gmail`(已映射;隔离运行 + 摘要发送到主线程)。 -- `--include-body` 和 `--max-bytes` 控制发送到 OpenClaw 的正文片段。 - -推荐:`openclaw webhooks gmail run` 封装了相同的流程并自动续期 watch。 - -## 暴露处理程序(高级,不受支持) - -如果你需要非 Tailscale 隧道,请手动接入并在推送订阅中使用公共 URL(不受支持,无保护措施): - -```bash -cloudflared tunnel --url http://127.0.0.1:8788 --no-autoupdate -``` - -使用生成的 URL 作为推送端点: - -```bash -gcloud pubsub subscriptions create gog-gmail-watch-push \ - --topic gog-gmail-watch \ - --push-endpoint "https:///gmail-pubsub?token=" -``` - -生产环境:使用稳定的 HTTPS 端点并配置 Pub/Sub OIDC JWT,然后运行: - -```bash -gog gmail watch serve --verify-oidc --oidc-email -``` - -## 测试 - -向被监视的收件箱发送一条消息: - -```bash -gog gmail send \ - --account openclaw@gmail.com \ - --to openclaw@gmail.com \ - --subject "watch test" \ - --body "ping" -``` - -检查 watch 状态和历史记录: - -```bash -gog gmail watch status --account openclaw@gmail.com -gog gmail history --account openclaw@gmail.com --since -``` - -## 故障排除 - -- `Invalid topicName`:项目不匹配(主题不在 OAuth 客户端项目中)。 -- `User not authorized`:主题缺少 `roles/pubsub.publisher`。 -- 空消息:Gmail push 仅提供 `historyId`;通过 `gog gmail history` 获取。 - -## 清理 - -```bash -gog gmail watch stop --account openclaw@gmail.com -gcloud pubsub subscriptions delete gog-gmail-watch-push -gcloud pubsub topics delete gog-gmail-watch -``` diff --git a/docs/zh-CN/automation/hooks.md b/docs/zh-CN/automation/hooks.md deleted file mode 100644 index b0615569eec..00000000000 --- a/docs/zh-CN/automation/hooks.md +++ /dev/null @@ -1,1051 +0,0 @@ ---- -read_when: - - 你希望为 `/new`、`/reset`、`/stop` 和智能体生命周期事件使用事件驱动自动化 - - 你希望构建、安装或调试 Hooks -summary: Hooks:用于命令和生命周期事件的事件驱动自动化 -title: Hooks -x-i18n: - generated_at: "2026-03-16T06:21:34Z" - model: gpt-5.4 - provider: openai - source_hash: fc1370a05127d778eb685f687ee9a52062aa6f5c895e80152b9de41c3a02c592 - source_path: automation/hooks.md - workflow: 15 ---- - -# Hooks - -Hooks 提供了一个可扩展的事件驱动系统,用于在响应智能体命令和事件时自动执行操作。Hooks 会从目录中自动发现,并且可以通过 CLI 命令进行管理,方式与 OpenClaw 中的 Skills 类似。 - -## 熟悉基础 - -Hooks 是在某些事情发生时运行的小脚本。它们有两种类型: - -- **Hooks**(本页):当智能体事件触发时,在 Gateway 网关内运行,例如 `/new`、`/reset`、`/stop` 或生命周期事件。 -- **Webhooks**:外部 HTTP webhook,可让其他系统在 OpenClaw 中触发工作。请参阅 [Webhook Hooks](/automation/webhook),或使用 `openclaw webhooks` 获取 Gmail 辅助命令。 - -Hooks 也可以打包在插件中;请参阅 [Plugins](/tools/plugin#plugin-hooks)。 - -常见用途: - -- 当你重置会话时保存一份内存快照 -- 为故障排除或合规保留命令审计轨迹 -- 当会话开始或结束时触发后续自动化 -- 当事件触发时,将文件写入智能体工作区或调用外部 API - -如果你会写一个小型 TypeScript 函数,你就能编写一个 hook。Hooks 会被自动发现,你可以通过 CLI 启用或禁用它们。 - -## 概览 - -Hooks 系统允许你: - -- 当发出 `/new` 时,将会话上下文保存到 memory -- 记录所有命令以供审计 -- 在智能体生命周期事件上触发自定义自动化 -- 在不修改核心代码的情况下扩展 OpenClaw 的行为 - -## 入门指南 - -### 内置 Hooks - -OpenClaw 自带四个会被自动发现的内置 hook: - -- **💾 session-memory**:当你发出 `/new` 时,将会话上下文保存到你的智能体工作区(默认是 `~/.openclaw/workspace/memory/`) -- **📎 bootstrap-extra-files**:在 `agent:bootstrap` 期间,从已配置的 glob/路径模式中注入额外的工作区引导文件 -- **📝 command-logger**:将所有命令事件记录到 `~/.openclaw/logs/commands.log` -- **🚀 boot-md**:当 Gateway 网关启动时运行 `BOOT.md`(需要启用内部 hooks) - -列出可用 hooks: - -```bash -openclaw hooks list -``` - -启用一个 hook: - -```bash -openclaw hooks enable session-memory -``` - -检查 hook 状态: - -```bash -openclaw hooks check -``` - -获取详细信息: - -```bash -openclaw hooks info session-memory -``` - -### 新手引导 - -在新手引导期间(`openclaw onboard`),系统会提示你启用推荐的 hooks。向导会自动发现符合条件的 hooks 并供你选择。 - -## Hook 发现 - -Hooks 会从三个目录中自动发现(按优先级顺序): - -1. **工作区 hooks**:`/hooks/`(每个智能体单独配置,优先级最高) -2. **托管 hooks**:`~/.openclaw/hooks/`(用户安装,在各工作区之间共享) -3. **内置 hooks**:`/dist/hooks/bundled/`(随 OpenClaw 一起提供) - -托管 hook 目录既可以是 **单个 hook**,也可以是 **hook 包**(包目录)。 - -每个 hook 都是一个包含以下内容的目录: - -``` -my-hook/ -├── HOOK.md # 元数据 + 文档 -└── handler.ts # 处理器实现 -``` - -## Hook 包(npm/归档) - -Hook 包是标准的 npm 包,它们通过 `package.json` 中的 `openclaw.hooks` 导出一个或多个 hook。使用以下命令安装它们: - -```bash -openclaw hooks install -``` - -npm spec 仅支持注册表形式(包名 + 可选的精确版本或 dist-tag)。 -Git/URL/file spec 和 semver 范围会被拒绝。 - -裸 spec 和 `@latest` 会保持在稳定轨道上。如果 npm 将其中任意一种解析为预发布版本,OpenClaw 会停止并要求你通过预发布标签(例如 `@beta`/`@rc`)或精确的预发布版本显式选择加入。 - -`package.json` 示例: - -```json -{ - "name": "@acme/my-hooks", - "version": "0.1.0", - "openclaw": { - "hooks": ["./hooks/my-hook", "./hooks/other-hook"] - } -} -``` - -每个条目都指向一个包含 `HOOK.md` 和 `handler.ts`(或 `index.ts`)的 hook 目录。 -Hook 包可以携带依赖;它们会安装到 `~/.openclaw/hooks/` 下。 -每个 `openclaw.hooks` 条目在解析符号链接后都必须保持在包目录内部;超出目录范围的条目会被拒绝。 - -安全说明:`openclaw hooks install` 会使用 `npm install --ignore-scripts` 安装依赖 -(不运行生命周期脚本)。请保持 hook 包依赖树为“纯 JS/TS”,并避免依赖 `postinstall` 构建的包。 - -## Hook 结构 - -### HOOK.md 格式 - -`HOOK.md` 文件包含 YAML frontmatter 中的元数据以及 Markdown 文档: - -```markdown ---- -name: my-hook -description: "关于此 hook 功能的简短描述" -homepage: https://docs.openclaw.ai/automation/hooks#my-hook -metadata: - { "openclaw": { "emoji": "🔗", "events": ["command:new"], "requires": { "bins": ["node"] } } } ---- - -# My Hook - -详细文档写在这里…… - -## 它的作用 - -- 监听 `/new` 命令 -- 执行某些操作 -- 记录结果 - -## 要求 - -- 必须安装 Node.js - -## 配置 - -无需配置。 -``` - -### 元数据字段 - -`metadata.openclaw` 对象支持: - -- **`emoji`**:CLI 显示用 emoji(例如 `"💾"`) -- **`events`**:要监听的事件数组(例如 `["command:new", "command:reset"]`) -- **`export`**:要使用的命名导出(默认为 `"default"`) -- **`homepage`**:文档 URL -- **`requires`**:可选要求 - - **`bins`**:PATH 中必须存在的二进制文件(例如 `["git", "node"]`) - - **`anyBins`**:这些二进制文件中至少要存在一个 - - **`env`**:必需的环境变量 - - **`config`**:必需的配置路径(例如 `["workspace.dir"]`) - - **`os`**:支持的平台(例如 `["darwin", "linux"]`) -- **`always`**:绕过资格检查(布尔值) -- **`install`**:安装方式(对于内置 hooks:`[{"id":"bundled","kind":"bundled"}]`) - -### 处理器实现 - -`handler.ts` 文件会导出一个 `HookHandler` 函数: - -```typescript -const myHandler = async (event) => { - // 仅在 'new' 命令时触发 - if (event.type !== "command" || event.action !== "new") { - return; - } - - console.log(`[my-hook] New command triggered`); - console.log(` Session: ${event.sessionKey}`); - console.log(` Timestamp: ${event.timestamp.toISOString()}`); - - // 你的自定义逻辑写在这里 - - // 可选:向用户发送消息 - event.messages.push("✨ My hook executed!"); -}; - -export default myHandler; -``` - -#### 事件上下文 - -每个事件都包含: - -```typescript -{ - type: 'command' | 'session' | 'agent' | 'gateway' | 'message', - action: string, // 例如 'new'、'reset'、'stop'、'received'、'sent' - sessionKey: string, // 会话标识符 - timestamp: Date, // 事件发生时间 - messages: string[], // 将消息推入这里以发送给用户 - context: { - // 命令事件: - sessionEntry?: SessionEntry, - sessionId?: string, - sessionFile?: string, - commandSource?: string, // 例如 'whatsapp'、'telegram' - senderId?: string, - workspaceDir?: string, - bootstrapFiles?: WorkspaceBootstrapFile[], - cfg?: OpenClawConfig, - // 消息事件(完整详情见“消息事件”部分): - from?: string, // message:received - to?: string, // message:sent - content?: string, - channelId?: string, - success?: boolean, // message:sent - } -} -``` - -## 事件类型 - -### 命令事件 - -在发出智能体命令时触发: - -- **`command`**:所有命令事件(通用监听器) -- **`command:new`**:发出 `/new` 命令时 -- **`command:reset`**:发出 `/reset` 命令时 -- **`command:stop`**:发出 `/stop` 命令时 - -### 会话事件 - -- **`session:compact:before`**:在压缩开始总结历史记录之前 -- **`session:compact:after`**:在压缩完成并带有摘要元数据之后 - -内部 hook 负载会将这些事件表示为 `type: "session"`,并将 `action` 设为 `"compact:before"` / `"compact:after"`;监听器使用上面的组合键进行订阅。 -具体处理器注册使用字面量键格式 `${type}:${action}`。对于这些事件,请注册 `session:compact:before` 和 `session:compact:after`。 - -### 智能体事件 - -- **`agent:bootstrap`**:在工作区引导文件被注入之前(hooks 可以修改 `context.bootstrapFiles`) - -### Gateway 网关事件 - -在 Gateway 网关启动时触发: - -- **`gateway:startup`**:在渠道启动且 hooks 已加载之后 - -### 消息事件 - -在消息被接收或发送时触发: - -- **`message`**:所有消息事件(通用监听器) -- **`message:received`**:当从任意渠道收到入站消息时。在处理的早期阶段触发,此时媒体理解尚未完成。对于尚未处理的媒体附件,内容中可能包含类似 `` 的原始占位符。 -- **`message:transcribed`**:当一条消息已被完全处理,包括音频转写和链接理解时触发。此时,`transcript` 包含音频消息的完整转写文本。当你需要访问已转写的音频内容时,请使用此 hook。 -- **`message:preprocessed`**:在所有媒体 + 链接理解完成后,为每条消息触发,使 hooks 可以在智能体看到消息之前访问完全增强的正文(转写、图像描述、链接摘要)。 -- **`message:sent`**:当出站消息成功发送时 - -#### 消息事件上下文 - -消息事件包含关于消息的丰富上下文: - -```typescript -// message:received context -{ - from: string, // 发送者标识符(电话号码、用户 ID 等) - content: string, // 消息内容 - timestamp?: number, // 接收时的 Unix 时间戳 - channelId: string, // 渠道(例如 "whatsapp"、"telegram"、"discord") - accountId?: string, // 多账号设置中的提供商账号 ID - conversationId?: string, // 聊天/会话 ID - messageId?: string, // 提供商返回的消息 ID - metadata?: { // 额外的提供商特定数据 - to?: string, - provider?: string, - surface?: string, - threadId?: string, - senderId?: string, - senderName?: string, - senderUsername?: string, - senderE164?: string, - } -} - -// message:sent context -{ - to: string, // 接收者标识符 - content: string, // 已发送的消息内容 - success: boolean, // 发送是否成功 - error?: string, // 如果发送失败,则为错误消息 - channelId: string, // 渠道(例如 "whatsapp"、"telegram"、"discord") - accountId?: string, // 提供商账号 ID - conversationId?: string, // 聊天/会话 ID - messageId?: string, // 提供商返回的消息 ID - isGroup?: boolean, // 此出站消息是否属于群组/渠道上下文 - groupId?: string, // 用于与 message:received 关联的群组/渠道标识符 -} - -// message:transcribed context -{ - body?: string, // 增强前的原始入站正文 - bodyForAgent?: string, // 对智能体可见的增强正文 - transcript: string, // 音频转写文本 - channelId: string, // 渠道(例如 "telegram"、"whatsapp") - conversationId?: string, - messageId?: string, -} - -// message:preprocessed context -{ - body?: string, // 原始入站正文 - bodyForAgent?: string, // 媒体/链接理解后的最终增强正文 - transcript?: string, // 存在音频时的转写内容 - channelId: string, // 渠道(例如 "telegram"、"whatsapp") - conversationId?: string, - messageId?: string, - isGroup?: boolean, - groupId?: string, -} -``` - -#### 示例:消息记录器 Hook - -```typescript -const isMessageReceivedEvent = (event: { type: string; action: string }) => - event.type === "message" && event.action === "received"; -const isMessageSentEvent = (event: { type: string; action: string }) => - event.type === "message" && event.action === "sent"; - -const handler = async (event) => { - if (isMessageReceivedEvent(event as { type: string; action: string })) { - console.log(`[message-logger] Received from ${event.context.from}: ${event.context.content}`); - } else if (isMessageSentEvent(event as { type: string; action: string })) { - console.log(`[message-logger] Sent to ${event.context.to}: ${event.context.content}`); - } -}; - -export default handler; -``` - -### 工具结果 Hooks(插件 API) - -这些 hooks 不是事件流监听器;它们允许插件在 OpenClaw 持久化工具结果之前同步调整工具结果。 - -- **`tool_result_persist`**:在工具结果写入会话转录之前对其进行转换。必须是同步的;返回更新后的工具结果负载,或返回 `undefined` 以保持原样。请参阅 [Agent Loop](/concepts/agent-loop)。 - -### 插件 Hook 事件 - -通过插件 hook 运行器公开的压缩生命周期 hooks: - -- **`before_compaction`**:在压缩前运行,并带有计数/token 元数据 -- **`after_compaction`**:在压缩后运行,并带有压缩摘要元数据 - -### 未来事件 - -计划中的事件类型: - -- **`session:start`**:当新会话开始时 -- **`session:end`**:当会话结束时 -- **`agent:error`**:当智能体遇到错误时 - -## 创建自定义 Hooks - -### 1. 选择位置 - -- **工作区 hooks**(`/hooks/`):每个智能体单独配置,优先级最高 -- **托管 hooks**(`~/.openclaw/hooks/`):跨工作区共享 - -### 2. 创建目录结构 - -```bash -mkdir -p ~/.openclaw/hooks/my-hook -cd ~/.openclaw/hooks/my-hook -``` - -### 3. 创建 HOOK.md - -```markdown ---- -name: my-hook -description: "执行某些有用的事情" -metadata: { "openclaw": { "emoji": "🎯", "events": ["command:new"] } } ---- - -# My Custom Hook - -当你发出 `/new` 时,此 hook 会执行一些有用的事情。 -``` - -### 4. 创建 handler.ts - -```typescript -const handler = async (event) => { - if (event.type !== "command" || event.action !== "new") { - return; - } - - console.log("[my-hook] Running!"); - // 你的逻辑写在这里 -}; - -export default handler; -``` - -### 5. 启用并测试 - -```bash -# 验证 hook 已被发现 -openclaw hooks list - -# 启用它 -openclaw hooks enable my-hook - -# 重启你的 Gateway 网关进程(macOS 上重启菜单栏应用,或重启你的开发进程) - -# 触发事件 -# 通过你的消息渠道发送 /new -``` - -## 配置 - -### 新配置格式(推荐) - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "entries": { - "session-memory": { "enabled": true }, - "command-logger": { "enabled": false } - } - } - } -} -``` - -### 每个 Hook 的配置 - -Hooks 可以具有自定义配置: - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "entries": { - "my-hook": { - "enabled": true, - "env": { - "MY_CUSTOM_VAR": "value" - } - } - } - } - } -} -``` - -### 额外目录 - -从额外目录加载 hooks: - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "load": { - "extraDirs": ["/path/to/more/hooks"] - } - } - } -} -``` - -### 旧版配置格式(仍受支持) - -旧配置格式仍可用于向后兼容: - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "handlers": [ - { - "event": "command:new", - "module": "./hooks/handlers/my-handler.ts", - "export": "default" - } - ] - } - } -} -``` - -注意:`module` 必须是相对于工作区的路径。绝对路径和超出工作区范围的遍历路径会被拒绝。 - -**迁移**:对于新的 hooks,请使用基于发现的新系统。旧版 handlers 会在基于目录的 hooks 之后加载。 - -## CLI 命令 - -### 列出 Hooks - -```bash -# 列出所有 hooks -openclaw hooks list - -# 仅显示符合条件的 hooks -openclaw hooks list --eligible - -# 详细输出(显示缺失的要求) -openclaw hooks list --verbose - -# JSON 输出 -openclaw hooks list --json -``` - -### Hook 信息 - -```bash -# 显示某个 hook 的详细信息 -openclaw hooks info session-memory - -# JSON 输出 -openclaw hooks info session-memory --json -``` - -### 检查资格 - -```bash -# 显示资格摘要 -openclaw hooks check - -# JSON 输出 -openclaw hooks check --json -``` - -### 启用/禁用 - -```bash -# 启用一个 hook -openclaw hooks enable session-memory - -# 禁用一个 hook -openclaw hooks disable command-logger -``` - -## 内置 hook 参考 - -### session-memory - -当你发出 `/new` 时,将会话上下文保存到 memory。 - -**事件**:`command:new` - -**要求**:必须配置 `workspace.dir` - -**输出**:`/memory/YYYY-MM-DD-slug.md`(默认是 `~/.openclaw/workspace`) - -**它的作用**: - -1. 使用重置前的会话条目定位正确的转录 -2. 提取最近 15 行对话 -3. 使用 LLM 生成描述性的文件名 slug -4. 将会话元数据保存到带日期的 memory 文件中 - -**示例输出**: - -```markdown -# Session: 2026-01-16 14:30:00 UTC - -- **Session Key**: agent:main:main -- **Session ID**: abc123def456 -- **Source**: telegram -``` - -**文件名示例**: - -- `2026-01-16-vendor-pitch.md` -- `2026-01-16-api-design.md` -- `2026-01-16-1430.md`(如果 slug 生成失败,则回退为时间戳) - -**启用**: - -```bash -openclaw hooks enable session-memory -``` - -### bootstrap-extra-files - -在 `agent:bootstrap` 期间注入额外的引导文件(例如 monorepo 本地的 `AGENTS.md` / `TOOLS.md`)。 - -**事件**:`agent:bootstrap` - -**要求**:必须配置 `workspace.dir` - -**输出**:不写入文件;仅在内存中修改引导上下文。 - -**配置**: - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "entries": { - "bootstrap-extra-files": { - "enabled": true, - "paths": ["packages/*/AGENTS.md", "packages/*/TOOLS.md"] - } - } - } - } -} -``` - -**说明**: - -- 路径相对于工作区解析。 -- 文件必须保持在工作区内部(通过 realpath 检查)。 -- 仅加载已识别的引导基础文件名。 -- 会保留子智能体允许列表(仅 `AGENTS.md` 和 `TOOLS.md`)。 - -**启用**: - -```bash -openclaw hooks enable bootstrap-extra-files -``` - -### command-logger - -将所有命令事件记录到集中式审计文件。 - -**事件**:`command` - -**要求**:无 - -**输出**:`~/.openclaw/logs/commands.log` - -**它的作用**: - -1. 捕获事件详情(命令操作、时间戳、会话键、发送者 ID、来源) -2. 以 JSONL 格式附加到日志文件 -3. 在后台静默运行 - -**示例日志条目**: - -```jsonl -{"timestamp":"2026-01-16T14:30:00.000Z","action":"new","sessionKey":"agent:main:main","senderId":"+1234567890","source":"telegram"} -{"timestamp":"2026-01-16T15:45:22.000Z","action":"stop","sessionKey":"agent:main:main","senderId":"user@example.com","source":"whatsapp"} -``` - -**查看日志**: - -```bash -# 查看最近的命令 -tail -n 20 ~/.openclaw/logs/commands.log - -# 使用 jq 美化输出 -cat ~/.openclaw/logs/commands.log | jq . - -# 按操作筛选 -grep '"action":"new"' ~/.openclaw/logs/commands.log | jq . -``` - -**启用**: - -```bash -openclaw hooks enable command-logger -``` - -### boot-md - -当 Gateway 网关启动时(渠道启动之后)运行 `BOOT.md`。 -必须启用内部 hooks,此功能才会运行。 - -**事件**:`gateway:startup` - -**要求**:必须配置 `workspace.dir` - -**它的作用**: - -1. 从你的工作区读取 `BOOT.md` -2. 通过智能体运行器执行其中的指令 -3. 通过消息工具发送任何请求的出站消息 - -**启用**: - -```bash -openclaw hooks enable boot-md -``` - -## 最佳实践 - -### 保持处理器快速 - -Hooks 在命令处理期间运行。请保持其轻量: - -```typescript -// ✓ 好 - 异步工作,立即返回 -const handler: HookHandler = async (event) => { - void processInBackground(event); // 触发后不等待 -}; - -// ✗ 差 - 阻塞命令处理 -const handler: HookHandler = async (event) => { - await slowDatabaseQuery(event); - await evenSlowerAPICall(event); -}; -``` - -### 优雅地处理错误 - -始终包装高风险操作: - -```typescript -const handler: HookHandler = async (event) => { - try { - await riskyOperation(event); - } catch (err) { - console.error("[my-handler] Failed:", err instanceof Error ? err.message : String(err)); - // 不要抛出错误 - 让其他处理器继续运行 - } -}; -``` - -### 尽早过滤事件 - -如果事件不相关,请尽早返回: - -```typescript -const handler: HookHandler = async (event) => { - // 仅处理 'new' 命令 - if (event.type !== "command" || event.action !== "new") { - return; - } - - // 你的逻辑写在这里 -}; -``` - -### 使用具体事件键 - -如果可能,请在元数据中指定精确事件: - -```yaml -metadata: { "openclaw": { "events": ["command:new"] } } # 精确 -``` - -而不是: - -```yaml -metadata: { "openclaw": { "events": ["command"] } } # 通用 - 开销更大 -``` - -## 调试 - -### 启用 Hook 日志 - -Gateway 网关会在启动时记录 hook 加载情况: - -``` -Registered hook: session-memory -> command:new -Registered hook: bootstrap-extra-files -> agent:bootstrap -Registered hook: command-logger -> command -Registered hook: boot-md -> gateway:startup -``` - -### 检查发现情况 - -列出所有已发现的 hooks: - -```bash -openclaw hooks list --verbose -``` - -### 检查注册情况 - -在你的处理器中,记录它何时被调用: - -```typescript -const handler: HookHandler = async (event) => { - console.log("[my-handler] Triggered:", event.type, event.action); - // 你的逻辑 -}; -``` - -### 验证资格 - -检查某个 hook 为什么不符合条件: - -```bash -openclaw hooks info my-hook -``` - -查看输出中缺失的要求。 - -## 测试 - -### Gateway 网关日志 - -监控 Gateway 网关日志以查看 hook 执行情况: - -```bash -# macOS -./scripts/clawlog.sh -f - -# 其他平台 -tail -f ~/.openclaw/gateway.log -``` - -### 直接测试 Hooks - -单独测试你的 handlers: - -```typescript -import { test } from "vitest"; -import myHandler from "./hooks/my-hook/handler.js"; - -test("my handler works", async () => { - const event = { - type: "command", - action: "new", - sessionKey: "test-session", - timestamp: new Date(), - messages: [], - context: { foo: "bar" }, - }; - - await myHandler(event); - - // 断言副作用 -}); -``` - -## 架构 - -### 核心组件 - -- **`src/hooks/types.ts`**:类型定义 -- **`src/hooks/workspace.ts`**:目录扫描与加载 -- **`src/hooks/frontmatter.ts`**:`HOOK.md` 元数据解析 -- **`src/hooks/config.ts`**:资格检查 -- **`src/hooks/hooks-status.ts`**:状态报告 -- **`src/hooks/loader.ts`**:动态模块加载器 -- **`src/cli/hooks-cli.ts`**:CLI 命令 -- **`src/gateway/server-startup.ts`**:在 Gateway 网关启动时加载 hooks -- **`src/auto-reply/reply/commands-core.ts`**:触发命令事件 - -### 发现流程 - -``` -Gateway 网关启动 - ↓ -扫描目录(工作区 → 托管 → 内置) - ↓ -解析 HOOK.md 文件 - ↓ -检查资格(bins、env、config、os) - ↓ -从符合条件的 hooks 加载 handlers - ↓ -为事件注册 handlers -``` - -### 事件流程 - -``` -用户发送 /new - ↓ -命令校验 - ↓ -创建 hook 事件 - ↓ -触发 hook(所有已注册的 handlers) - ↓ -命令处理继续 - ↓ -会话重置 -``` - -## 故障排除 - -### Hook 未被发现 - -1. 检查目录结构: - - ```bash - ls -la ~/.openclaw/hooks/my-hook/ - # 应显示:HOOK.md, handler.ts - ``` - -2. 验证 HOOK.md 格式: - - ```bash - cat ~/.openclaw/hooks/my-hook/HOOK.md - # 应包含带有 name 和 metadata 的 YAML frontmatter - ``` - -3. 列出所有已发现的 hooks: - - ```bash - openclaw hooks list - ``` - -### Hook 不符合条件 - -检查要求: - -```bash -openclaw hooks info my-hook -``` - -查看是否缺少: - -- 二进制文件(检查 PATH) -- 环境变量 -- 配置值 -- OS 兼容性 - -### Hook 未执行 - -1. 验证 hook 已启用: - - ```bash - openclaw hooks list - # 应在已启用的 hooks 旁显示 ✓ - ``` - -2. 重启你的 Gateway 网关进程以重新加载 hooks。 - -3. 检查 Gateway 网关日志中的错误: - - ```bash - ./scripts/clawlog.sh | grep hook - ``` - -### 处理器错误 - -检查 TypeScript/import 错误: - -```bash -# 直接测试导入 -node -e "import('./path/to/handler.ts').then(console.log)" -``` - -## 迁移指南 - -### 从旧版配置迁移到发现机制 - -**迁移前**: - -```json -{ - "hooks": { - "internal": { - "enabled": true, - "handlers": [ - { - "event": "command:new", - "module": "./hooks/handlers/my-handler.ts" - } - ] - } - } -} -``` - -**迁移后**: - -1. 创建 hook 目录: - - ```bash - mkdir -p ~/.openclaw/hooks/my-hook - mv ./hooks/handlers/my-handler.ts ~/.openclaw/hooks/my-hook/handler.ts - ``` - -2. 创建 HOOK.md: - - ```markdown - --- - name: my-hook - description: "我的自定义 hook" - metadata: { "openclaw": { "emoji": "🎯", "events": ["command:new"] } } - --- - - # My Hook - - 执行某些有用的事情。 - ``` - -3. 更新配置: - - ```json - { - "hooks": { - "internal": { - "enabled": true, - "entries": { - "my-hook": { "enabled": true } - } - } - } - } - ``` - -4. 验证并重启你的 Gateway 网关进程: - - ```bash - openclaw hooks list - # 应显示:🎯 my-hook ✓ - ``` - -**迁移的好处**: - -- 自动发现 -- CLI 管理 -- 资格检查 -- 更好的文档 -- 一致的结构 - -## 另请参阅 - -- [CLI Reference: hooks](/cli/hooks) -- [Bundled Hooks README](https://github.com/openclaw/openclaw/tree/main/src/hooks/bundled) -- [Webhook Hooks](/automation/webhook) -- [Configuration](/gateway/configuration#hooks) diff --git a/docs/zh-CN/automation/poll.md b/docs/zh-CN/automation/poll.md deleted file mode 100644 index f68041ff449..00000000000 --- a/docs/zh-CN/automation/poll.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -read_when: - - 添加或修改投票支持 - - 调试从 CLI 或 Gateway 网关发送的投票 -summary: 通过 Gateway 网关 + CLI 发送投票 -title: 投票 -x-i18n: - generated_at: "2026-02-03T07:43:12Z" - model: claude-opus-4-6 - provider: pi - source_hash: 760339865d27ec40def7996cac1d294d58ab580748ad6b32cc34d285d0314eaf - source_path: automation/poll.md - workflow: 15 ---- - -# 投票 - -## 支持的渠道 - -- WhatsApp(Web 渠道) -- Discord -- MS Teams(Adaptive Cards) - -## CLI - -```bash -# WhatsApp -openclaw message poll --target +15555550123 \ - --poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe" -openclaw message poll --target 123456789@g.us \ - --poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi - -# Discord -openclaw message poll --channel discord --target channel:123456789 \ - --poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi" -openclaw message poll --channel discord --target channel:123456789 \ - --poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48 - -# MS Teams -openclaw message poll --channel msteams --target conversation:19:abc@thread.tacv2 \ - --poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi" -``` - -选项: - -- `--channel`:`whatsapp`(默认)、`discord` 或 `msteams` -- `--poll-multi`:允许选择多个选项 -- `--poll-duration-hours`:仅限 Discord(省略时默认为 24) - -## Gateway 网关 RPC - -方法:`poll` - -参数: - -- `to`(字符串,必需) -- `question`(字符串,必需) -- `options`(字符串数组,必需) -- `maxSelections`(数字,可选) -- `durationHours`(数字,可选) -- `channel`(字符串,可选,默认:`whatsapp`) -- `idempotencyKey`(字符串,必需) - -## 渠道差异 - -- WhatsApp:2-12 个选项,`maxSelections` 必须在选项数量范围内,忽略 `durationHours`。 -- Discord:2-10 个选项,`durationHours` 限制在 1-768 小时之间(默认 24)。`maxSelections > 1` 启用多选;Discord 不支持严格的选择数量限制。 -- MS Teams:Adaptive Card 投票(由 OpenClaw 管理)。无原生投票 API;`durationHours` 被忽略。 - -## 智能体工具(Message) - -使用 `message` 工具的 `poll` 操作(`to`、`pollQuestion`、`pollOption`,可选 `pollMulti`、`pollDurationHours`、`channel`)。 - -注意:Discord 没有"恰好选择 N 个"模式;`pollMulti` 映射为多选。 -Teams 投票以 Adaptive Cards 形式渲染,需要 Gateway 网关保持在线 -以将投票记录到 `~/.openclaw/msteams-polls.json`。 diff --git a/docs/zh-CN/automation/troubleshooting.md b/docs/zh-CN/automation/troubleshooting.md deleted file mode 100644 index 3da90add21f..00000000000 --- a/docs/zh-CN/automation/troubleshooting.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -summary: 自动化故障排查:排查 cron 和 heartbeat 调度与投递问题 -title: 自动化故障排查 ---- - -# 自动化故障排查 - -该页面是英文文档的中文占位版本,完整内容请先参考英文版:[Automation Troubleshooting](/automation/troubleshooting)。 diff --git a/docs/zh-CN/automation/webhook.md b/docs/zh-CN/automation/webhook.md deleted file mode 100644 index cf9070681c9..00000000000 --- a/docs/zh-CN/automation/webhook.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -read_when: - - 添加或更改 webhook 端点 - - 将外部系统接入 OpenClaw -summary: 用于唤醒和隔离智能体运行的 Webhook 入口 -title: Webhooks -x-i18n: - generated_at: "2026-02-03T07:43:23Z" - model: claude-opus-4-6 - provider: pi - source_hash: f26b88864567be82366b1f66a4772ef2813c7846110c62fce6caf7313568265e - source_path: automation/webhook.md - workflow: 15 ---- - -# Webhooks - -Gateway 网关可以暴露一个小型 HTTP webhook 端点用于外部触发。 - -## 启用 - -```json5 -{ - hooks: { - enabled: true, - token: "shared-secret", - path: "/hooks", - }, -} -``` - -注意事项: - -- 当 `hooks.enabled=true` 时,`hooks.token` 为必填项。 -- `hooks.path` 默认为 `/hooks`。 - -## 认证 - -每个请求必须包含 hook 令牌。推荐使用请求头: - -- `Authorization: Bearer `(推荐) -- `x-openclaw-token: ` -- `?token=`(已弃用;会记录警告日志,将在未来的主要版本中移除) - -## 端点 - -### `POST /hooks/wake` - -请求体: - -```json -{ "text": "System line", "mode": "now" } -``` - -- `text` **必填**(字符串):事件描述(例如"收到新邮件")。 -- `mode` 可选(`now` | `next-heartbeat`):是否立即触发心跳(默认 `now`)或等待下一次定期检查。 - -效果: - -- 为**主**会话加入一个系统事件队列 -- 如果 `mode=now`,则立即触发心跳 - -### `POST /hooks/agent` - -请求体: - -```json -{ - "message": "Run this", - "name": "Email", - "sessionKey": "hook:email:msg-123", - "wakeMode": "now", - "deliver": true, - "channel": "last", - "to": "+15551234567", - "model": "openai/gpt-5.4-mini", - "thinking": "low", - "timeoutSeconds": 120 -} -``` - -- `message` **必填**(字符串):智能体要处理的提示或消息。 -- `name` 可选(字符串):hook 的可读名称(例如"GitHub"),用作会话摘要的前缀。 -- `sessionKey` 可选(字符串):用于标识智能体会话的键。默认为随机的 `hook:`。使用一致的键可以在 hook 上下文中进行多轮对话。 -- `wakeMode` 可选(`now` | `next-heartbeat`):是否立即触发心跳(默认 `now`)或等待下一次定期检查。 -- `deliver` 可选(布尔值):如果为 `true`,智能体的响应将发送到消息渠道。默认为 `true`。仅为心跳确认的响应会自动跳过。 -- `channel` 可选(字符串):用于投递的消息渠道。可选值:`last`、`whatsapp`、`telegram`、`discord`、`slack`、`mattermost`(插件)、`signal`、`imessage`、`msteams`。默认为 `last`。 -- `to` 可选(字符串):渠道的接收者标识符(例如 WhatsApp/Signal 的电话号码、Telegram 的聊天 ID、Discord/Slack/Mattermost(插件)的频道 ID、MS Teams 的会话 ID)。默认为主会话中的最后一个接收者。 -- `model` 可选(字符串):模型覆盖(例如 `anthropic/claude-3-5-sonnet` 或别名)。如果有限制,必须在允许的模型列表中。 -- `thinking` 可选(字符串):思考级别覆盖(例如 `low`、`medium`、`high`)。 -- `timeoutSeconds` 可选(数字):智能体运行的最大持续时间(秒)。 - -效果: - -- 运行一个**隔离的**智能体回合(独立的会话键) -- 始终在**主**会话中发布摘要 -- 如果 `wakeMode=now`,则立即触发心跳 - -### `POST /hooks/`(映射) - -自定义 hook 名称通过 `hooks.mappings` 解析(见配置)。映射可以将任意请求体转换为 `wake` 或 `agent` 操作,支持可选的模板或代码转换。 - -映射选项(摘要): - -- `hooks.presets: ["gmail"]` 启用内置的 Gmail 映射。 -- `hooks.mappings` 允许你在配置中定义 `match`、`action` 和模板。 -- `hooks.transformsDir` + `transform.module` 加载 JS/TS 模块用于自定义逻辑。 -- 使用 `match.source` 保持通用的接收端点(基于请求体的路由)。 -- TS 转换需要 TS 加载器(例如 `bun` 或 `tsx`)或运行时预编译的 `.js`。 -- 在映射上设置 `deliver: true` + `channel`/`to` 可将回复路由到聊天界面(`channel` 默认为 `last`,回退到 WhatsApp)。 -- `allowUnsafeExternalContent: true` 禁用该 hook 的外部内容安全包装(危险;仅用于受信任的内部来源)。 -- `openclaw webhooks gmail setup` 为 `openclaw webhooks gmail run` 写入 `hooks.gmail` 配置。完整的 Gmail 监听流程请参阅 [Gmail Pub/Sub](/automation/gmail-pubsub)。 - -## 响应 - -- `200` 用于 `/hooks/wake` -- `202` 用于 `/hooks/agent`(异步运行已启动) -- `401` 认证失败 -- `400` 请求体无效 -- `413` 请求体过大 - -## 示例 - -```bash -curl -X POST http://127.0.0.1:18789/hooks/wake \ - -H 'Authorization: Bearer SECRET' \ - -H 'Content-Type: application/json' \ - -d '{"text":"New email received","mode":"now"}' -``` - -```bash -curl -X POST http://127.0.0.1:18789/hooks/agent \ - -H 'x-openclaw-token: SECRET' \ - -H 'Content-Type: application/json' \ - -d '{"message":"Summarize inbox","name":"Email","wakeMode":"next-heartbeat"}' -``` - -### 使用不同的模型 - -在智能体请求体(或映射)中添加 `model` 以覆盖该次运行的模型: - -```bash -curl -X POST http://127.0.0.1:18789/hooks/agent \ - -H 'x-openclaw-token: SECRET' \ - -H 'Content-Type: application/json' \ - -d '{"message":"Summarize inbox","name":"Email","model":"openai/gpt-5.4-mini"}' -``` - -如果你启用了 `agents.defaults.models` 限制,请确保覆盖的模型包含在其中。 - -```bash -curl -X POST http://127.0.0.1:18789/hooks/gmail \ - -H 'Authorization: Bearer SECRET' \ - -H 'Content-Type: application/json' \ - -d '{"source":"gmail","messages":[{"from":"Ada","subject":"Hello","snippet":"Hi"}]}' -``` - -## 安全 - -- 将 hook 端点保持在 loopback、tailnet 或受信任的反向代理之后。 -- 使用专用的 hook 令牌;不要复用 Gateway 网关认证令牌。 -- 避免在 webhook 日志中包含敏感的原始请求体。 -- Hook 请求体默认被视为不受信任并使用安全边界包装。如果你必须为特定 hook 禁用此功能,请在该 hook 的映射中设置 `allowUnsafeExternalContent: true`(危险)。 diff --git a/docs/zh-CN/brave-search.md b/docs/zh-CN/brave-search.md deleted file mode 100644 index b9cf1a705f7..00000000000 --- a/docs/zh-CN/brave-search.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -read_when: - - 你想使用 Brave Search 进行 web_search - - 你需要 BRAVE_API_KEY 或套餐详情 -summary: 用于 web_search 的 Brave Search API 设置 -title: Brave Search -x-i18n: - generated_at: "2026-02-03T07:43:09Z" - model: claude-opus-4-6 - provider: pi - source_hash: cdcb037b092b8a10609f02acf062b4164cb826ac22bdb3fb2909c842a1405341 - source_path: brave-search.md - workflow: 15 ---- - -# Brave Search API - -OpenClaw 使用 Brave Search 作为 `web_search` 的默认提供商。 - -## 获取 API 密钥 - -1. 在 https://brave.com/search/api/ 创建 Brave Search API 账户 -2. 在控制面板中,选择 **Data for Search** 套餐并生成 API 密钥。 -3. 将密钥存储在配置中(推荐),或在 Gateway 网关环境中设置 `BRAVE_API_KEY`。 - -## 配置示例 - -```json5 -{ - plugins: { - entries: { - brave: { - config: { - webSearch: { - apiKey: "BRAVE_API_KEY_HERE", - }, - }, - }, - }, - }, - tools: { - web: { - search: { - provider: "brave", - maxResults: 5, - timeoutSeconds: 30, - }, - }, - }, -} -``` - -Brave 的提供商专属搜索配置现在位于 `plugins.entries.brave.config.webSearch.*`。旧的 `tools.web.search.apiKey` 仅作为兼容层暂时保留。 - -## 注意事项 - -- Data for AI 套餐与 `web_search` **不**兼容。 -- Brave 提供免费层级和付费套餐;请查看 Brave API 门户了解当前限制。 - -请参阅 [Web 工具](/tools/web) 了解完整的 web_search 配置。 diff --git a/docs/zh-CN/channels/bluebubbles.md b/docs/zh-CN/channels/bluebubbles.md deleted file mode 100644 index b7f8534065b..00000000000 --- a/docs/zh-CN/channels/bluebubbles.md +++ /dev/null @@ -1,354 +0,0 @@ ---- -read_when: - - 设置 BlueBubbles 渠道 - - 排查 webhook 配对问题 - - 在 macOS 上配置 iMessage -summary: 通过 BlueBubbles macOS 服务器使用 iMessage(REST 发送/接收、输入状态、回应、配对、高级操作)。 -title: BlueBubbles -x-i18n: - generated_at: "2026-03-16T06:21:08Z" - model: gpt-5.4 - provider: openai - source_hash: 877592bf7b9b06abdddd7567d56e756eff229d6ffa5056ef33fa3356086aa580 - source_path: channels/bluebubbles.md - workflow: 15 ---- - -# BlueBubbles(macOS REST) - -状态:内置插件,通过 HTTP 与 BlueBubbles macOS 服务器通信。由于其 API 更丰富且设置比旧版 imsg 渠道更简单,**推荐用于 iMessage 集成**。 - -## 概览 - -- 通过 BlueBubbles 辅助应用在 macOS 上运行([bluebubbles.app](https://bluebubbles.app))。 -- 推荐/已测试:macOS Sequoia(15)。macOS Tahoe(26)可用;目前编辑功能在 Tahoe 上已损坏,群组图标更新可能会报告成功但不会同步。 -- OpenClaw 通过其 REST API 与其通信(`GET /api/v1/ping`、`POST /message/text`、`POST /chat/:id/*`)。 -- 传入消息通过 webhook 到达;传出回复、输入状态指示、已读回执和 tapback 都通过 REST 调用完成。 -- 附件和贴纸会作为入站媒体接收(并在可能时展示给智能体)。 -- 配对/allowlist 的工作方式与其他渠道相同(`/channels/pairing` 等),使用 `channels.bluebubbles.allowFrom` + 配对码。 -- 回应会像 Slack/Telegram 一样作为系统事件呈现,因此智能体可以在回复前“提及”它们。 -- 高级功能:编辑、撤回、回复线程、消息效果、群组管理。 - -## 快速开始 - -1. 在你的 Mac 上安装 BlueBubbles 服务器(按照 [bluebubbles.app/install](https://bluebubbles.app/install) 上的说明操作)。 -2. 在 BlueBubbles 配置中启用 Web API 并设置密码。 -3. 运行 `openclaw onboard` 并选择 BlueBubbles,或手动配置: - - ```json5 - { - channels: { - bluebubbles: { - enabled: true, - serverUrl: "http://192.168.1.100:1234", - password: "example-password", - webhookPath: "/bluebubbles-webhook", - }, - }, - } - ``` - -4. 将 BlueBubbles webhook 指向你的 Gateway 网关(示例:`https://your-gateway-host:3000/bluebubbles-webhook?password=`)。 -5. 启动 Gateway 网关;它会注册 webhook 处理器并开始配对。 - -安全说明: - -- 始终设置 webhook 密码。 -- 始终要求进行 webhook 身份验证。无论 loopback/代理拓扑如何,除非 BlueBubbles webhook 请求包含与 `channels.bluebubbles.password` 匹配的 password/guid(例如 `?password=` 或 `x-password`),否则 OpenClaw 会拒绝该请求。 -- 在读取/解析完整 webhook 请求体之前就会检查密码身份验证。 - -## 保持 Messages.app 处于活动状态(VM / 无头设置) - -某些 macOS VM / 常开设置可能会导致 Messages.app 进入“空闲”状态(传入事件会停止,直到应用被打开/切到前台)。一个简单的解决方法是使用 AppleScript + LaunchAgent **每 5 分钟“触碰”一次 Messages**。 - -### 1)保存 AppleScript - -将以下内容保存为: - -- `~/Scripts/poke-messages.scpt` - -示例脚本(非交互式;不会抢占焦点): - -```applescript -try - tell application "Messages" - if not running then - launch - end if - - -- Touch the scripting interface to keep the process responsive. - set _chatCount to (count of chats) - end tell -on error - -- Ignore transient failures (first-run prompts, locked session, etc). -end try -``` - -### 2)安装 LaunchAgent - -将以下内容保存为: - -- `~/Library/LaunchAgents/com.user.poke-messages.plist` - -```xml - - - - - Label - com.user.poke-messages - - ProgramArguments - - /bin/bash - -lc - /usr/bin/osascript "$HOME/Scripts/poke-messages.scpt" - - - RunAtLoad - - - StartInterval - 300 - - StandardOutPath - /tmp/poke-messages.log - StandardErrorPath - /tmp/poke-messages.err - - -``` - -说明: - -- 这会**每 300 秒**运行一次,并且**在登录时**运行。 -- 首次运行可能会触发 macOS 的**自动化**权限提示(`osascript` → Messages)。请在运行该 LaunchAgent 的同一用户会话中批准这些提示。 - -加载它: - -```bash -launchctl unload ~/Library/LaunchAgents/com.user.poke-messages.plist 2>/dev/null || true -launchctl load ~/Library/LaunchAgents/com.user.poke-messages.plist -``` - -## 新手引导 - -BlueBubbles 可在交互式设置向导中使用: - -``` -openclaw onboard -``` - -向导会提示输入: - -- **服务器 URL**(必填):BlueBubbles 服务器地址(例如 `http://192.168.1.100:1234`) -- **密码**(必填):来自 BlueBubbles Server 设置的 API 密码 -- **Webhook 路径**(可选):默认为 `/bluebubbles-webhook` -- **私信策略**:pairing、allowlist、open 或 disabled -- **允许列表**:电话号码、电子邮件或聊天目标 - -你也可以通过 CLI 添加 BlueBubbles: - -``` -openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --password -``` - -## 访问控制(私信 + 群组) - -私信: - -- 默认值:`channels.bluebubbles.dmPolicy = "pairing"`。 -- 未知发送者会收到一个配对码;在获得批准前,消息会被忽略(代码 1 小时后过期)。 -- 通过以下方式批准: - - `openclaw pairing list bluebubbles` - - `openclaw pairing approve bluebubbles ` -- 配对是默认的令牌交换方式。详情见:[配对](/channels/pairing) - -群组: - -- `channels.bluebubbles.groupPolicy = open | allowlist | disabled`(默认:`allowlist`)。 -- 当设置为 `allowlist` 时,`channels.bluebubbles.groupAllowFrom` 控制谁可以在群组中触发。 - -### 提及门控(群组) - -BlueBubbles 支持群聊中的提及门控,与 iMessage/WhatsApp 的行为一致: - -- 使用 `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)检测提及。 -- 当某个群组启用 `requireMention` 时,智能体只有在被提及时才会响应。 -- 来自授权发送者的控制命令会绕过提及门控。 - -每群组配置: - -```json5 -{ - channels: { - bluebubbles: { - groupPolicy: "allowlist", - groupAllowFrom: ["+15555550123"], - groups: { - "*": { requireMention: true }, // 所有群组的默认值 - "iMessage;-;chat123": { requireMention: false }, // 对特定群组覆盖 - }, - }, - }, -} -``` - -### 命令门控 - -- 控制命令(例如 `/config`、`/model`)需要授权。 -- 使用 `allowFrom` 和 `groupAllowFrom` 来判断命令授权。 -- 授权发送者即使在群组中未提及,也可以运行控制命令。 - -## 输入状态 + 已读回执 - -- **输入状态指示**:会在生成响应之前和期间自动发送。 -- **已读回执**:由 `channels.bluebubbles.sendReadReceipts` 控制(默认:`true`)。 -- **输入状态指示**:OpenClaw 会发送输入开始事件;BlueBubbles 会在发送后或超时后自动清除输入状态(通过 DELETE 手动停止并不可靠)。 - -```json5 -{ - channels: { - bluebubbles: { - sendReadReceipts: false, // 禁用已读回执 - }, - }, -} -``` - -## 高级操作 - -在配置中启用后,BlueBubbles 支持高级消息操作: - -```json5 -{ - channels: { - bluebubbles: { - actions: { - reactions: true, // tapback(默认:true) - edit: true, // 编辑已发送消息(macOS 13+,在 macOS 26 Tahoe 上已损坏) - unsend: true, // 撤回消息(macOS 13+) - reply: true, // 按消息 GUID 回复线程 - sendWithEffect: true, // 消息效果(slam、loud 等) - renameGroup: true, // 重命名群聊 - setGroupIcon: true, // 设置群聊图标/照片(在 macOS 26 Tahoe 上不稳定) - addParticipant: true, // 向群组添加参与者 - removeParticipant: true, // 从群组移除参与者 - leaveGroup: true, // 退出群聊 - sendAttachment: true, // 发送附件/媒体 - }, - }, - }, -} -``` - -可用操作: - -- **react**:添加/移除 tapback 回应(`messageId`、`emoji`、`remove`) -- **edit**:编辑已发送消息(`messageId`、`text`) -- **unsend**:撤回消息(`messageId`) -- **reply**:回复特定消息(`messageId`、`text`、`to`) -- **sendWithEffect**:带 iMessage 效果发送(`text`、`to`、`effectId`) -- **renameGroup**:重命名群聊(`chatGuid`、`displayName`) -- **setGroupIcon**:设置群聊图标/照片(`chatGuid`、`media`)——在 macOS 26 Tahoe 上不稳定(API 可能返回成功,但图标不会同步)。 -- **addParticipant**:向群组添加某人(`chatGuid`、`address`) -- **removeParticipant**:从群组移除某人(`chatGuid`、`address`) -- **leaveGroup**:退出群聊(`chatGuid`) -- **sendAttachment**:发送媒体/文件(`to`、`buffer`、`filename`、`asVoice`) - - 语音备忘录:将 `asVoice: true` 与 **MP3** 或 **CAF** 音频一起设置,即可作为 iMessage 语音消息发送。BlueBubbles 在发送语音备忘录时会将 MP3 转换为 CAF。 - -### 消息 ID(短 ID 与完整 ID) - -OpenClaw 可能会显示*短*消息 ID(例如 `1`、`2`)以节省 token。 - -- `MessageSid` / `ReplyToId` 可以是短 ID。 -- `MessageSidFull` / `ReplyToIdFull` 包含提供商的完整 ID。 -- 短 ID 存在于内存中;它们可能会在重启或缓存清除后失效。 -- 操作接受短或完整 `messageId`,但如果短 ID 不再可用,就会报错。 - -对于持久化自动化和存储,请使用完整 ID: - -- 模板:`{{MessageSidFull}}`、`{{ReplyToIdFull}}` -- 上下文:入站负载中的 `MessageSidFull` / `ReplyToIdFull` - -模板变量请参见[配置](/gateway/configuration)。 - -## 分块流式传输 - -控制响应是作为单条消息发送,还是按块流式发送: - -```json5 -{ - channels: { - bluebubbles: { - blockStreaming: true, // 启用分块流式传输(默认关闭) - }, - }, -} -``` - -## 媒体 + 限制 - -- 入站附件会被下载并存储在媒体缓存中。 -- 通过 `channels.bluebubbles.mediaMaxMb` 控制入站和出站媒体大小上限(默认:8 MB)。 -- 出站文本会按 `channels.bluebubbles.textChunkLimit` 分块(默认:4000 个字符)。 - -## 配置参考 - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.bluebubbles.enabled`:启用/禁用该渠道。 -- `channels.bluebubbles.serverUrl`:BlueBubbles REST API 基础 URL。 -- `channels.bluebubbles.password`:API 密码。 -- `channels.bluebubbles.webhookPath`:Webhook 端点路径(默认:`/bluebubbles-webhook`)。 -- `channels.bluebubbles.dmPolicy`:`pairing | allowlist | open | disabled`(默认:`pairing`)。 -- `channels.bluebubbles.allowFrom`:私信 allowlist(handle、电子邮件、E.164 号码、`chat_id:*`、`chat_guid:*`)。 -- `channels.bluebubbles.groupPolicy`:`open | allowlist | disabled`(默认:`allowlist`)。 -- `channels.bluebubbles.groupAllowFrom`:群组发送者 allowlist。 -- `channels.bluebubbles.groups`:每群组配置(`requireMention` 等)。 -- `channels.bluebubbles.sendReadReceipts`:发送已读回执(默认:`true`)。 -- `channels.bluebubbles.blockStreaming`:启用分块流式传输(默认:`false`;流式回复所必需)。 -- `channels.bluebubbles.textChunkLimit`:出站分块大小(按字符计,默认:4000)。 -- `channels.bluebubbles.chunkMode`:`length`(默认)仅在超过 `textChunkLimit` 时拆分;`newline` 会先按空行(段落边界)拆分,再按长度分块。 -- `channels.bluebubbles.mediaMaxMb`:入站/出站媒体大小上限(MB,默认:8)。 -- `channels.bluebubbles.mediaLocalRoots`:允许用于出站本地媒体路径的绝对本地目录显式 allowlist。默认情况下,本地路径发送会被拒绝,除非配置了此项。每账户覆盖:`channels.bluebubbles.accounts..mediaLocalRoots`。 -- `channels.bluebubbles.historyLimit`:用于上下文的最大群组消息数(0 表示禁用)。 -- `channels.bluebubbles.dmHistoryLimit`:私信历史记录上限。 -- `channels.bluebubbles.actions`:启用/禁用特定操作。 -- `channels.bluebubbles.accounts`:多账户配置。 - -相关全局选项: - -- `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)。 -- `messages.responsePrefix`。 - -## 寻址 / 送达目标 - -优先使用 `chat_guid` 以获得稳定路由: - -- `chat_guid:iMessage;-;+15555550123`(群组首选) -- `chat_id:123` -- `chat_identifier:...` -- 直接 handle:`+15555550123`、`user@example.com` - - 如果某个直接 handle 没有现有私信聊天,OpenClaw 会通过 `POST /api/v1/chat/new` 创建一个。这要求启用 BlueBubbles Private API。 - -## 安全 - -- 通过将查询参数或请求头中的 `guid`/`password` 与 `channels.bluebubbles.password` 进行比较来验证 webhook 请求。来自 `localhost` 的请求也会被接受。 -- 请妥善保管 API 密码和 webhook 端点(将它们视为凭证)。 -- 对 localhost 的信任意味着同主机上的反向代理可能会无意中绕过密码。如果你对 Gateway 网关进行了代理,请在代理层要求身份验证,并配置 `gateway.trustedProxies`。请参见 [Gateway 网关安全](/gateway/security#reverse-proxy-configuration)。 -- 如果要在局域网外暴露 BlueBubbles 服务器,请启用 HTTPS + 防火墙规则。 - -## 故障排除 - -- 如果输入状态/已读事件停止工作,请检查 BlueBubbles webhook 日志,并验证 Gateway 网关路径与 `channels.bluebubbles.webhookPath` 一致。 -- 配对码会在一小时后过期;使用 `openclaw pairing list bluebubbles` 和 `openclaw pairing approve bluebubbles `。 -- 回应需要 BlueBubbles private API(`POST /api/v1/message/react`);请确保服务器版本提供该接口。 -- 编辑/撤回需要 macOS 13+ 以及兼容的 BlueBubbles 服务器版本。在 macOS 26(Tahoe)上,由于 private API 变更,编辑功能目前已损坏。 -- 群组图标更新在 macOS 26(Tahoe)上可能不稳定:API 可能返回成功,但新图标不会同步。 -- OpenClaw 会根据 BlueBubbles 服务器的 macOS 版本自动隐藏已知损坏的操作。如果在 macOS 26(Tahoe)上仍显示编辑操作,请手动使用 `channels.bluebubbles.actions.edit=false` 禁用它。 -- 状态/健康信息请使用:`openclaw status --all` 或 `openclaw status --deep`。 - -有关通用渠道工作流程参考,请参见 [Channels](/channels) 和 [Plugins](/tools/plugin) 指南。 diff --git a/docs/zh-CN/channels/broadcast-groups.md b/docs/zh-CN/channels/broadcast-groups.md deleted file mode 100644 index 2944bd43dc5..00000000000 --- a/docs/zh-CN/channels/broadcast-groups.md +++ /dev/null @@ -1,449 +0,0 @@ ---- -read_when: - - 配置广播群组 - - 调试 WhatsApp 中的多智能体回复 -status: experimental -summary: 向多个智能体广播 WhatsApp 消息 -title: 广播群组 -x-i18n: - generated_at: "2026-02-03T07:43:43Z" - model: claude-opus-4-6 - provider: pi - source_hash: eaeb4035912c49413e012177cf0bd28b348130d30d3317674418dca728229b70 - source_path: channels/broadcast-groups.md - workflow: 15 ---- - -# 广播群组 - -**状态:** 实验性功能 -**版本:** 于 2026.1.9 版本新增 - -## 概述 - -广播群组允许多个智能体同时处理并响应同一条消息。这使你能够在单个 WhatsApp 群组或私信中创建协同工作的专业智能体团队——全部使用同一个手机号码。 - -当前范围:**仅限 WhatsApp**(web 渠道)。 - -广播群组在渠道白名单和群组激活规则之后进行评估。在 WhatsApp 群组中,这意味着广播会在 OpenClaw 正常回复时发生(例如:被提及时,具体取决于你的群组设置)。 - -## 使用场景 - -### 1. 专业智能体团队 - -部署多个具有原子化、专注职责的智能体: - -``` -Group: "Development Team" -Agents: - - CodeReviewer (reviews code snippets) - - DocumentationBot (generates docs) - - SecurityAuditor (checks for vulnerabilities) - - TestGenerator (suggests test cases) -``` - -每个智能体处理相同的消息并提供其专业视角。 - -### 2. 多语言支持 - -``` -Group: "International Support" -Agents: - - Agent_EN (responds in English) - - Agent_DE (responds in German) - - Agent_ES (responds in Spanish) -``` - -### 3. 质量保证工作流 - -``` -Group: "Customer Support" -Agents: - - SupportAgent (provides answer) - - QAAgent (reviews quality, only responds if issues found) -``` - -### 4. 任务自动化 - -``` -Group: "Project Management" -Agents: - - TaskTracker (updates task database) - - TimeLogger (logs time spent) - - ReportGenerator (creates summaries) -``` - -## 配置 - -### 基本设置 - -添加一个顶层 `broadcast` 部分(与 `bindings` 同级)。键为 WhatsApp peer id: - -- 群聊:群组 JID(例如 `120363403215116621@g.us`) -- 私信:E.164 格式的电话号码(例如 `+15551234567`) - -```json -{ - "broadcast": { - "120363403215116621@g.us": ["alfred", "baerbel", "assistant3"] - } -} -``` - -**结果:** 当 OpenClaw 在此聊天中回复时,将运行所有三个智能体。 - -### 处理策略 - -控制智能体如何处理消息: - -#### 并行(默认) - -所有智能体同时处理: - -```json -{ - "broadcast": { - "strategy": "parallel", - "120363403215116621@g.us": ["alfred", "baerbel"] - } -} -``` - -#### 顺序 - -智能体按顺序处理(后一个等待前一个完成): - -```json -{ - "broadcast": { - "strategy": "sequential", - "120363403215116621@g.us": ["alfred", "baerbel"] - } -} -``` - -### 完整示例 - -```json -{ - "agents": { - "list": [ - { - "id": "code-reviewer", - "name": "Code Reviewer", - "workspace": "/path/to/code-reviewer", - "sandbox": { "mode": "all" } - }, - { - "id": "security-auditor", - "name": "Security Auditor", - "workspace": "/path/to/security-auditor", - "sandbox": { "mode": "all" } - }, - { - "id": "docs-generator", - "name": "Documentation Generator", - "workspace": "/path/to/docs-generator", - "sandbox": { "mode": "all" } - } - ] - }, - "broadcast": { - "strategy": "parallel", - "120363403215116621@g.us": ["code-reviewer", "security-auditor", "docs-generator"], - "120363424282127706@g.us": ["support-en", "support-de"], - "+15555550123": ["assistant", "logger"] - } -} -``` - -## 工作原理 - -### 消息流程 - -1. **接收消息** 到达 WhatsApp 群组 -2. **广播检查**:系统检查 peer ID 是否在 `broadcast` 中 -3. **如果在广播列表中**: - - 所有列出的智能体处理该消息 - - 每个智能体有自己的会话键和隔离的上下文 - - 智能体并行处理(默认)或顺序处理 -4. **如果不在广播列表中**: - - 应用正常路由(第一个匹配的绑定) - -注意:广播群组不会绕过渠道白名单或群组激活规则(提及/命令等)。它们只改变消息符合处理条件时*运行哪些智能体*。 - -### 会话隔离 - -广播群组中的每个智能体完全独立维护: - -- **会话键**(`agent:alfred:whatsapp:group:120363...` vs `agent:baerbel:whatsapp:group:120363...`) -- **对话历史**(智能体看不到其他智能体的消息) -- **工作空间**(如果配置了则使用独立的沙箱) -- **工具访问权限**(不同的允许/拒绝列表) -- **记忆/上下文**(独立的 IDENTITY.md、SOUL.md 等) -- **群组上下文缓冲区**(用于上下文的最近群组消息)按 peer 共享,因此所有广播智能体在被触发时看到相同的上下文 - -这允许每个智能体拥有: - -- 不同的个性 -- 不同的工具访问权限(例如只读 vs 读写) -- 不同的模型(例如 opus vs sonnet) -- 不同的已安装 Skills - -### 示例:隔离的会话 - -在群组 `120363403215116621@g.us` 中,智能体为 `["alfred", "baerbel"]`: - -**Alfred 的上下文:** - -``` -Session: agent:alfred:whatsapp:group:120363403215116621@g.us -History: [user message, alfred's previous responses] -Workspace: /Users/pascal/openclaw-alfred/ -Tools: read, write, exec -``` - -**Bärbel 的上下文:** - -``` -Session: agent:baerbel:whatsapp:group:120363403215116621@g.us -History: [user message, baerbel's previous responses] -Workspace: /Users/pascal/openclaw-baerbel/ -Tools: read only -``` - -## 最佳实践 - -### 1. 保持智能体专注 - -将每个智能体设计为具有单一、明确的职责: - -```json -{ - "broadcast": { - "DEV_GROUP": ["formatter", "linter", "tester"] - } -} -``` - -✅ **好的做法:** 每个智能体只有一个任务 -❌ **不好的做法:** 一个通用的"dev-helper"智能体 - -### 2. 使用描述性名称 - -明确每个智能体的功能: - -```json -{ - "agents": { - "security-scanner": { "name": "Security Scanner" }, - "code-formatter": { "name": "Code Formatter" }, - "test-generator": { "name": "Test Generator" } - } -} -``` - -### 3. 配置不同的工具访问权限 - -只给智能体提供它们需要的工具: - -```json -{ - "agents": { - "reviewer": { - "tools": { "allow": ["read", "exec"] } // Read-only - }, - "fixer": { - "tools": { "allow": ["read", "write", "edit", "exec"] } // Read-write - } - } -} -``` - -### 4. 监控性能 - -当有多个智能体时,请考虑: - -- 使用 `"strategy": "parallel"`(默认)以提高速度 -- 将广播群组限制在 5-10 个智能体 -- 为较简单的智能体使用较快的模型 - -### 5. 优雅地处理失败 - -智能体独立失败。一个智能体的错误不会阻塞其他智能体: - -``` -Message → [Agent A ✓, Agent B ✗ error, Agent C ✓] -Result: Agent A and C respond, Agent B logs error -``` - -## 兼容性 - -### 提供商 - -广播群组目前支持: - -- ✅ WhatsApp(已实现) -- 🚧 Telegram(计划中) -- 🚧 Discord(计划中) -- 🚧 Slack(计划中) - -### 路由 - -广播群组与现有路由一起工作: - -```json -{ - "bindings": [ - { - "match": { "channel": "whatsapp", "peer": { "kind": "group", "id": "GROUP_A" } }, - "agentId": "alfred" - } - ], - "broadcast": { - "GROUP_B": ["agent1", "agent2"] - } -} -``` - -- `GROUP_A`:只有 alfred 响应(正常路由) -- `GROUP_B`:agent1 和 agent2 都响应(广播) - -**优先级:** `broadcast` 优先于 `bindings`。 - -## 故障排除 - -### 智能体不响应 - -**检查:** - -1. 智能体 ID 存在于 `agents.list` 中 -2. Peer ID 格式正确(例如 `120363403215116621@g.us`) -3. 智能体不在拒绝列表中 - -**调试:** - -```bash -tail -f ~/.openclaw/logs/gateway.log | grep broadcast -``` - -### 只有一个智能体响应 - -**原因:** Peer ID 可能在 `bindings` 中但不在 `broadcast` 中。 - -**修复:** 添加到广播配置或从绑定中移除。 - -### 性能问题 - -**如果智能体较多时速度较慢:** - -- 减少每个群组的智能体数量 -- 使用较轻的模型(sonnet 而非 opus) -- 检查沙箱启动时间 - -## 示例 - -### 示例 1:代码审查团队 - -```json -{ - "broadcast": { - "strategy": "parallel", - "120363403215116621@g.us": [ - "code-formatter", - "security-scanner", - "test-coverage", - "docs-checker" - ] - }, - "agents": { - "list": [ - { - "id": "code-formatter", - "workspace": "~/agents/formatter", - "tools": { "allow": ["read", "write"] } - }, - { - "id": "security-scanner", - "workspace": "~/agents/security", - "tools": { "allow": ["read", "exec"] } - }, - { - "id": "test-coverage", - "workspace": "~/agents/testing", - "tools": { "allow": ["read", "exec"] } - }, - { "id": "docs-checker", "workspace": "~/agents/docs", "tools": { "allow": ["read"] } } - ] - } -} -``` - -**用户发送:** 代码片段 -**响应:** - -- code-formatter:"修复了缩进并添加了类型提示" -- security-scanner:"⚠️ 第 12 行存在 SQL 注入漏洞" -- test-coverage:"覆盖率为 45%,缺少错误情况的测试" -- docs-checker:"函数 `process_data` 缺少文档字符串" - -### 示例 2:多语言支持 - -```json -{ - "broadcast": { - "strategy": "sequential", - "+15555550123": ["detect-language", "translator-en", "translator-de"] - }, - "agents": { - "list": [ - { "id": "detect-language", "workspace": "~/agents/lang-detect" }, - { "id": "translator-en", "workspace": "~/agents/translate-en" }, - { "id": "translator-de", "workspace": "~/agents/translate-de" } - ] - } -} -``` - -## API 参考 - -### 配置模式 - -```typescript -interface OpenClawConfig { - broadcast?: { - strategy?: "parallel" | "sequential"; - [peerId: string]: string[]; - }; -} -``` - -### 字段 - -- `strategy`(可选):如何处理智能体 - - `"parallel"`(默认):所有智能体同时处理 - - `"sequential"`:智能体按数组顺序处理 -- `[peerId]`:WhatsApp 群组 JID、E.164 号码或其他 peer ID - - 值:应处理消息的智能体 ID 数组 - -## 限制 - -1. **最大智能体数:** 无硬性限制,但 10 个以上智能体可能会较慢 -2. **共享上下文:** 智能体看不到彼此的响应(设计如此) -3. **消息顺序:** 并行响应可能以任意顺序到达 -4. **速率限制:** 所有智能体都计入 WhatsApp 速率限制 - -## 未来增强 - -计划中的功能: - -- [ ] 共享上下文模式(智能体可以看到彼此的响应) -- [ ] 智能体协调(智能体可以相互发信号) -- [ ] 动态智能体选择(根据消息内容选择智能体) -- [ ] 智能体优先级(某些智能体先于其他智能体响应) - -## 另请参阅 - -- [多智能体配置](/tools/multi-agent-sandbox-tools) -- [路由配置](/channels/channel-routing) -- [会话管理](/concepts/session) diff --git a/docs/zh-CN/channels/channel-routing.md b/docs/zh-CN/channels/channel-routing.md deleted file mode 100644 index 960e067ca79..00000000000 --- a/docs/zh-CN/channels/channel-routing.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -read_when: - - 更改渠道路由或收件箱行为 -summary: 每个渠道(WhatsApp、Telegram、Discord、Slack)的路由规则及共享上下文 -title: 渠道路由 -x-i18n: - generated_at: "2026-02-01T20:22:21Z" - model: claude-opus-4-6 - provider: pi - source_hash: 1a322b5187e32c82fc1e8aac02437e2eeb7ba84e7b3a1db89feeab1dcf7dbbab - source_path: channels/channel-routing.md - workflow: 14 ---- - -# 渠道与路由 - -OpenClaw 将回复**路由回消息来源的渠道**。模型不会选择渠道;路由是确定性的,由主机配置控制。 - -## 关键术语 - -- **渠道**:`whatsapp`、`telegram`、`discord`、`slack`、`signal`、`imessage`、`webchat`。 -- **AccountId**:每个渠道的账户实例(在支持的情况下)。 -- **AgentId**:隔离的工作区 + 会话存储("大脑")。 -- **SessionKey**:用于存储上下文和控制并发的桶键。 - -## 会话键格式(示例) - -私信会折叠到智能体的**主**会话: - -- `agent::`(默认:`agent:main:main`) - -群组和渠道按渠道隔离: - -- 群组:`agent:::group:` -- 渠道/房间:`agent:::channel:` - -线程: - -- Slack/Discord 线程会在基础键后追加 `:thread:`。 -- Telegram 论坛主题在群组键中嵌入 `:topic:`。 - -示例: - -- `agent:main:telegram:group:-1001234567890:topic:42` -- `agent:main:discord:channel:123456:thread:987654` - -## 路由规则(如何选择智能体) - -路由为每条入站消息选择**一个智能体**: - -1. **精确对端匹配**(`bindings` 中的 `peer.kind` + `peer.id`)。 -2. **Guild 匹配**(Discord)通过 `guildId`。 -3. **Team 匹配**(Slack)通过 `teamId`。 -4. **账户匹配**(渠道上的 `accountId`)。 -5. **渠道匹配**(该渠道上的任意账户)。 -6. **默认智能体**(`agents.list[].default`,否则取列表第一项,兜底为 `main`)。 - -匹配到的智能体决定使用哪个工作区和会话存储。 - -## 广播组(运行多个智能体) - -广播组允许你为同一对端运行**多个智能体**,**在 OpenClaw 正常回复时**触发(例如:在 WhatsApp 群组中,经过提及/激活门控之后)。 - -配置: - -```json5 -{ - broadcast: { - strategy: "parallel", - "120363403215116621@g.us": ["alfred", "baerbel"], - "+15555550123": ["support", "logger"], - }, -} -``` - -参见:[广播组](/channels/broadcast-groups)。 - -## 配置概览 - -- `agents.list`:命名的智能体定义(工作区、模型等)。 -- `bindings`:将入站渠道/账户/对端映射到智能体。 - -示例: - -```json5 -{ - agents: { - list: [{ id: "support", name: "Support", workspace: "~/.openclaw/workspace-support" }], - }, - bindings: [ - { match: { channel: "slack", teamId: "T123" }, agentId: "support" }, - { match: { channel: "telegram", peer: { kind: "group", id: "-100123" } }, agentId: "support" }, - ], -} -``` - -## 会话存储 - -会话存储位于状态目录下(默认 `~/.openclaw`): - -- `~/.openclaw/agents//sessions/sessions.json` -- JSONL 记录文件与存储位于同一目录 - -你可以通过 `session.store` 和 `{agentId}` 模板来覆盖存储路径。 - -## WebChat 行为 - -WebChat 连接到**所选智能体**,并默认使用该智能体的主会话。因此,WebChat 让你可以在一个地方查看该智能体的跨渠道上下文。 - -## 回复上下文 - -入站回复包含: - -- `ReplyToId`、`ReplyToBody` 和 `ReplyToSender`(在可用时)。 -- 引用的上下文会以 `[Replying to ...]` 块的形式追加到 `Body` 中。 - -这在所有渠道中保持一致。 diff --git a/docs/zh-CN/channels/discord.md b/docs/zh-CN/channels/discord.md deleted file mode 100644 index fa44a68324b..00000000000 --- a/docs/zh-CN/channels/discord.md +++ /dev/null @@ -1,468 +0,0 @@ ---- -read_when: - - 开发 Discord 渠道功能时 -summary: Discord 机器人支持状态、功能和配置 -title: Discord -x-i18n: - generated_at: "2026-02-03T07:45:45Z" - model: claude-opus-4-6 - provider: pi - source_hash: 2f0083b55648f9158668b80d078353421e7dc310135fdc43f2d280b242bf8459 - source_path: channels/discord.md - workflow: 15 ---- - -# Discord(Bot API) - -状态:已支持通过官方 Discord 机器人网关进行私信和服务器文字频道通信。 - -## 快速设置(新手) - -1. 创建 Discord 机器人并复制机器人令牌。 -2. 在 Discord 应用设置中启用 **Message Content Intent**(如果你计划使用允许列表或名称查找,还需启用 **Server Members Intent**)。 -3. 为 OpenClaw 设置令牌: - - 环境变量:`DISCORD_BOT_TOKEN=...` - - 或配置:`channels.discord.token: "..."`。 - - 如果两者都设置,配置优先(环境变量回退仅适用于默认账户)。 -4. 使用消息权限邀请机器人到你的服务器(如果你只想使用私信,可以创建一个私人服务器)。 -5. 启动 Gateway 网关。 -6. 私信访问默认采用配对模式;首次联系时需批准配对码。 - -最小配置: - -```json5 -{ - channels: { - discord: { - enabled: true, - token: "YOUR_BOT_TOKEN", - }, - }, -} -``` - -## 目标 - -- 通过 Discord 私信或服务器频道与 OpenClaw 对话。 -- 直接聊天会合并到智能体的主会话(默认 `agent:main:main`);服务器频道保持隔离为 `agent::discord:channel:`(显示名称使用 `discord:#`)。 -- 群组私信默认被忽略;通过 `channels.discord.dm.groupEnabled` 启用,并可选择通过 `channels.discord.dm.groupChannels` 进行限制。 -- 保持路由确定性:回复始终返回到消息来源的渠道。 - -## 工作原理 - -1. 创建 Discord 应用程序 → Bot,启用你需要的意图(私信 + 服务器消息 + 消息内容),并获取机器人令牌。 -2. 使用所需权限邀请机器人到你的服务器,以便在你想使用的地方读取/发送消息。 -3. 使用 `channels.discord.token` 配置 OpenClaw(或使用 `DISCORD_BOT_TOKEN` 作为回退)。 -4. 运行 Gateway 网关;当令牌可用(配置优先,环境变量回退)且 `channels.discord.enabled` 不为 `false` 时,它会自动启动 Discord 渠道。 - - 如果你更喜欢使用环境变量,设置 `DISCORD_BOT_TOKEN`(配置块是可选的)。 -5. 直接聊天:发送时使用 `user:`(或 `<@id>` 提及);所有对话都进入共享的 `main` 会话。纯数字 ID 是模糊的,会被拒绝。 -6. 服务器频道:发送时使用 `channel:`。默认需要提及,可以按服务器或按频道设置。 -7. 直接聊天:默认通过 `channels.discord.dm.policy` 进行安全保护(默认:`"pairing"`)。未知发送者会收到配对码(1 小时后过期);通过 `openclaw pairing approve discord ` 批准。 - - 要保持旧的"对任何人开放"行为:设置 `channels.discord.dm.policy="open"` 和 `channels.discord.dm.allowFrom=["*"]`。 - - 要使用硬编码允许列表:设置 `channels.discord.dm.policy="allowlist"` 并在 `channels.discord.dm.allowFrom` 中列出发送者。 - - 要忽略所有私信:设置 `channels.discord.dm.enabled=false` 或 `channels.discord.dm.policy="disabled"`。 -8. 群组私信默认被忽略;通过 `channels.discord.dm.groupEnabled` 启用,并可选择通过 `channels.discord.dm.groupChannels` 进行限制。 -9. 可选服务器规则:设置 `channels.discord.guilds`,以服务器 ID(首选)或 slug 为键,并包含每个频道的规则。 -10. 可选原生命令:`commands.native` 默认为 `"auto"`(Discord/Telegram 开启,Slack 关闭)。使用 `channels.discord.commands.native: true|false|"auto"` 覆盖;`false` 会清除之前注册的命令。文本命令由 `commands.text` 控制,必须作为独立的 `/...` 消息发送。使用 `commands.useAccessGroups: false` 可跳过命令的访问组检查。 - - 完整命令列表 + 配置:[斜杠命令](/tools/slash-commands) -11. 可选服务器上下文历史:设置 `channels.discord.historyLimit`(默认 20,回退到 `messages.groupChat.historyLimit`)以在回复提及时包含最近 N 条服务器消息作为上下文。设置 `0` 禁用。 -12. 表情反应:智能体可以通过 `discord` 工具触发表情反应(受 `channels.discord.actions.*` 控制)。 - - 表情反应移除语义:参见 [/tools/reactions](/tools/reactions)。 - - `discord` 工具仅在当前渠道是 Discord 时暴露。 -13. 原生命令使用隔离的会话键(`agent::discord:slash:`)而不是共享的 `main` 会话。 - -注意:名称 → ID 解析使用服务器成员搜索,需要 Server Members Intent;如果机器人无法搜索成员,请使用 ID 或 `<@id>` 提及。 -注意:Slug 为小写,空格替换为 `-`。频道名称的 slug 不包含前导 `#`。 -注意:服务器上下文 `[from:]` 行包含 `author.tag` + `id`,便于进行可提及的回复。 - -## 配置写入 - -默认情况下,允许 Discord 写入由 `/config set|unset` 触发的配置更新(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { discord: { configWrites: false } }, -} -``` - -## 如何创建自己的机器人 - -这是在服务器(guild)频道(如 `#help`)中运行 OpenClaw 的"Discord 开发者门户"设置。 - -### 1)创建 Discord 应用 + 机器人用户 - -1. Discord 开发者门户 → **Applications** → **New Application** -2. 在你的应用中: - - **Bot** → **Add Bot** - - 复制 **Bot Token**(这是你放入 `DISCORD_BOT_TOKEN` 的内容) - -### 2)启用 OpenClaw 需要的网关意图 - -Discord 会阻止"特权意图",除非你明确启用它们。 - -在 **Bot** → **Privileged Gateway Intents** 中启用: - -- **Message Content Intent**(在大多数服务器中读取消息文本所必需;没有它你会看到"Used disallowed intents"或机器人会连接但不响应消息) -- **Server Members Intent**(推荐;服务器中的某些成员/用户查找和允许列表匹配需要) - -你通常**不需要** **Presence Intent**。 - -### 3)生成邀请 URL(OAuth2 URL Generator) - -在你的应用中:**OAuth2** → **URL Generator** - -**Scopes** - -- ✅ `bot` -- ✅ `applications.commands`(原生命令所需) - -**Bot Permissions**(最小基线) - -- ✅ View Channels -- ✅ Send Messages -- ✅ Read Message History -- ✅ Embed Links -- ✅ Attach Files -- ✅ Add Reactions(可选但推荐) -- ✅ Use External Emojis / Stickers(可选;仅当你需要时) - -除非你在调试并完全信任机器人,否则避免使用 **Administrator**。 - -复制生成的 URL,打开它,选择你的服务器,然后安装机器人。 - -### 4)获取 ID(服务器/用户/频道) - -Discord 到处使用数字 ID;OpenClaw 配置优先使用 ID。 - -1. Discord(桌面/网页)→ **用户设置** → **高级** → 启用 **开发者模式** -2. 右键点击: - - 服务器名称 → **复制服务器 ID**(服务器 ID) - - 频道(例如 `#help`)→ **复制频道 ID** - - 你的用户 → **复制用户 ID** - -### 5)配置 OpenClaw - -#### 令牌 - -通过环境变量设置机器人令牌(服务器上推荐): - -- `DISCORD_BOT_TOKEN=...` - -或通过配置: - -```json5 -{ - channels: { - discord: { - enabled: true, - token: "YOUR_BOT_TOKEN", - }, - }, -} -``` - -多账户支持:使用 `channels.discord.accounts`,每个账户有自己的令牌和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解通用模式。 - -#### 允许列表 + 频道路由 - -示例"单服务器,只允许我,只允许 #help": - -```json5 -{ - channels: { - discord: { - enabled: true, - dm: { enabled: false }, - guilds: { - YOUR_GUILD_ID: { - users: ["YOUR_USER_ID"], - requireMention: true, - channels: { - help: { allow: true, requireMention: true }, - }, - }, - }, - retry: { - attempts: 3, - minDelayMs: 500, - maxDelayMs: 30000, - jitter: 0.1, - }, - }, - }, -} -``` - -注意: - -- `requireMention: true` 意味着机器人只在被提及时回复(推荐用于共享频道)。 -- `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)对于服务器消息也算作提及。 -- 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每个智能体的模式。 -- 如果存在 `channels`,任何未列出的频道默认被拒绝。 -- 使用 `"*"` 频道条目在所有频道应用默认值;显式频道条目覆盖通配符。 -- 话题继承父频道配置(允许列表、`requireMention`、Skills、提示词等),除非你显式添加话题频道 ID。 -- 机器人发送的消息默认被忽略;设置 `channels.discord.allowBots=true` 允许它们(自己的消息仍被过滤)。 -- 警告:如果你允许回复其他机器人(`channels.discord.allowBots=true`),请使用 `requireMention`、`channels.discord.guilds.*.channels..users` 允许列表和/或在 `AGENTS.md` 和 `SOUL.md` 中设置明确的防护措施来防止机器人之间的回复循环。 - -### 6)验证是否工作 - -1. 启动 Gateway 网关。 -2. 在你的服务器频道中发送:`@Krill hello`(或你的机器人名称)。 -3. 如果没有反应:查看下面的**故障排除**。 - -### 故障排除 - -- 首先:运行 `openclaw doctor` 和 `openclaw channels status --probe`(可操作的警告 + 快速审计)。 -- **"Used disallowed intents"**:在开发者门户中启用 **Message Content Intent**(可能还需要 **Server Members Intent**),然后重启 Gateway 网关。 -- **机器人连接但从不在服务器频道回复**: - - 缺少 **Message Content Intent**,或 - - 机器人缺少频道权限(View/Send/Read History),或 - - 你的配置需要提及但你没有提及它,或 - - 你的服务器/频道允许列表拒绝了该频道/用户。 -- **`requireMention: false` 但仍然没有回复**: -- `channels.discord.groupPolicy` 默认为 **allowlist**;将其设置为 `"open"` 或在 `channels.discord.guilds` 下添加服务器条目(可选择在 `channels.discord.guilds..channels` 下列出频道以进行限制)。 - - 如果你只设置了 `DISCORD_BOT_TOKEN` 而从未创建 `channels.discord` 部分,运行时会将 `groupPolicy` 默认为 `open`。添加 `channels.discord.groupPolicy`、`channels.defaults.groupPolicy` 或服务器/频道允许列表来锁定它。 -- `requireMention` 必须位于 `channels.discord.guilds`(或特定频道)下。顶层的 `channels.discord.requireMention` 会被忽略。 -- **权限审计**(`channels status --probe`)只检查数字频道 ID。如果你使用 slug/名称作为 `channels.discord.guilds.*.channels` 键,审计无法验证权限。 -- **私信不工作**:`channels.discord.dm.enabled=false`、`channels.discord.dm.policy="disabled"`,或者你尚未被批准(`channels.discord.dm.policy="pairing"`)。 -- **Discord 中的执行审批**:Discord 支持私信中执行审批的**按钮 UI**(允许一次 / 始终允许 / 拒绝)。`/approve ...` 仅用于转发的审批,不会解析 Discord 的按钮提示。如果你看到 `❌ Failed to submit approval: Error: unknown approval id` 或 UI 从未出现,请检查: - - 你的配置中有 `channels.discord.execApprovals.enabled: true`。 - - 你的 Discord 用户 ID 在 `channels.discord.execApprovals.approvers` 中列出(UI 仅发送给审批者)。 - - 使用私信提示中的按钮(**Allow once**、**Always allow**、**Deny**)。 - - 参见[执行审批](/tools/exec-approvals)和[斜杠命令](/tools/slash-commands)了解更广泛的审批和命令流程。 - -## 功能和限制 - -- 支持私信和服务器文字频道(话题被视为独立频道;不支持语音)。 -- 打字指示器尽力发送;消息分块使用 `channels.discord.textChunkLimit`(默认 2000),并按行数分割长回复(`channels.discord.maxLinesPerMessage`,默认 17)。 -- 可选换行分块:设置 `channels.discord.chunkMode="newline"` 以在空行(段落边界)处分割,然后再进行长度分块。 -- 支持文件上传,最大 `channels.discord.mediaMaxMb`(默认 8 MB)。 -- 默认服务器回复需要提及,以避免嘈杂的机器人。 -- 当消息引用另一条消息时,会注入回复上下文(引用内容 + ID)。 -- 原生回复线程**默认关闭**;使用 `channels.discord.replyToMode` 和回复标签启用。 - -## 重试策略 - -出站 Discord API 调用在速率限制(429)时使用 Discord `retry_after`(如果可用)进行重试,采用指数退避和抖动。通过 `channels.discord.retry` 配置。参见[重试策略](/concepts/retry)。 - -## 配置 - -```json5 -{ - channels: { - discord: { - enabled: true, - token: "abc.123", - groupPolicy: "allowlist", - guilds: { - "*": { - channels: { - general: { allow: true }, - }, - }, - }, - mediaMaxMb: 8, - actions: { - reactions: true, - stickers: true, - emojiUploads: true, - stickerUploads: true, - polls: true, - permissions: true, - messages: true, - threads: true, - pins: true, - search: true, - memberInfo: true, - roleInfo: true, - roles: false, - channelInfo: true, - channels: true, - voiceStatus: true, - events: true, - moderation: false, - }, - replyToMode: "off", - dm: { - enabled: true, - policy: "pairing", // pairing | allowlist | open | disabled - allowFrom: ["123456789012345678", "steipete"], - groupEnabled: false, - groupChannels: ["openclaw-dm"], - }, - guilds: { - "*": { requireMention: true }, - "123456789012345678": { - slug: "friends-of-openclaw", - requireMention: false, - reactionNotifications: "own", - users: ["987654321098765432", "steipete"], - channels: { - general: { allow: true }, - help: { - allow: true, - requireMention: true, - users: ["987654321098765432"], - skills: ["search", "docs"], - systemPrompt: "Keep answers short.", - }, - }, - }, - }, - }, - }, -} -``` - -确认表情反应通过 `messages.ackReaction` + `messages.ackReactionScope` 全局控制。使用 `messages.removeAckAfterReply` 在机器人回复后清除确认表情反应。 - -- `dm.enabled`:设置 `false` 忽略所有私信(默认 `true`)。 -- `dm.policy`:私信访问控制(推荐 `pairing`)。`"open"` 需要 `dm.allowFrom=["*"]`。 -- `dm.allowFrom`:私信允许列表(用户 ID 或名称)。用于 `dm.policy="allowlist"` 和 `dm.policy="open"` 验证。向导接受用户名,并在机器人可以搜索成员时将其解析为 ID。 -- `dm.groupEnabled`:启用群组私信(默认 `false`)。 -- `dm.groupChannels`:群组私信频道 ID 或 slug 的可选允许列表。 -- `groupPolicy`:控制服务器频道处理(`open|disabled|allowlist`);`allowlist` 需要频道允许列表。 -- `guilds`:按服务器规则,以服务器 ID(首选)或 slug 为键。 -- `guilds."*"`:当没有显式条目时应用的默认每服务器设置。 -- `guilds..slug`:用于显示名称的可选友好 slug。 -- `guilds..users`:可选的每服务器用户允许列表(ID 或名称)。 -- `guilds..tools`:可选的每服务器工具策略覆盖(`allow`/`deny`/`alsoAllow`),在频道覆盖缺失时使用。 -- `guilds..toolsBySender`:服务器级别的可选每发送者工具策略覆盖(在频道覆盖缺失时应用;支持 `"*"` 通配符)。 -- `guilds..channels..allow`:当 `groupPolicy="allowlist"` 时允许/拒绝频道。 -- `guilds..channels..requireMention`:频道的提及限制。 -- `guilds..channels..tools`:可选的每频道工具策略覆盖(`allow`/`deny`/`alsoAllow`)。 -- `guilds..channels..toolsBySender`:频道内的可选每发送者工具策略覆盖(支持 `"*"` 通配符)。 -- `guilds..channels..users`:可选的每频道用户允许列表。 -- `guilds..channels..skills`:Skills 过滤器(省略 = 所有 Skills,空 = 无)。 -- `guilds..channels..systemPrompt`:频道的额外系统提示词(与频道主题组合)。 -- `guilds..channels..enabled`:设置 `false` 禁用频道。 -- `guilds..channels`:频道规则(键为频道 slug 或 ID)。 -- `guilds..requireMention`:每服务器提及要求(可按频道覆盖)。 -- `guilds..reactionNotifications`:表情反应系统事件模式(`off`、`own`、`all`、`allowlist`)。 -- `textChunkLimit`:出站文本块大小(字符)。默认:2000。 -- `chunkMode`:`length`(默认)仅在超过 `textChunkLimit` 时分割;`newline` 在空行(段落边界)处分割,然后再进行长度分块。 -- `maxLinesPerMessage`:每条消息的软最大行数。默认:17。 -- `mediaMaxMb`:限制保存到磁盘的入站媒体大小。 -- `historyLimit`:回复提及时作为上下文包含的最近服务器消息数量(默认 20;回退到 `messages.groupChat.historyLimit`;`0` 禁用)。 -- `dmHistoryLimit`:私信历史限制(用户轮次)。每用户覆盖:`dms[""].historyLimit`。 -- `retry`:出站 Discord API 调用的重试策略(attempts、minDelayMs、maxDelayMs、jitter)。 -- `pluralkit`:解析 PluralKit 代理消息,使系统成员显示为不同的发送者。 -- `actions`:每操作工具门控;省略允许所有(设置 `false` 禁用)。 - - `reactions`(涵盖表情反应 + 读取表情反应) - - `stickers`、`emojiUploads`、`stickerUploads`、`polls`、`permissions`、`messages`、`threads`、`pins`、`search` - - `memberInfo`、`roleInfo`、`channelInfo`、`voiceStatus`、`events` - - `channels`(创建/编辑/删除频道 + 类别 + 权限) - - `roles`(角色添加/移除,默认 `false`) - - `moderation`(超时/踢出/封禁,默认 `false`) -- `execApprovals`:Discord 专用执行审批私信(按钮 UI)。支持 `enabled`、`approvers`、`agentFilter`、`sessionFilter`。 - -表情反应通知使用 `guilds..reactionNotifications`: - -- `off`:无表情反应事件。 -- `own`:机器人自己消息上的表情反应(默认)。 -- `all`:所有消息上的所有表情反应。 -- `allowlist`:来自 `guilds..users` 的用户在所有消息上的表情反应(空列表禁用)。 - -### PluralKit(PK)支持 - -启用 PK 查找,以便代理消息解析到底层系统 + 成员。启用后,OpenClaw 使用成员身份进行允许列表匹配,并将发送者标记为 `Member (PK:System)` 以避免意外的 Discord 提及。 - -```json5 -{ - channels: { - discord: { - pluralkit: { - enabled: true, - token: "pk_live_...", // 可选;私有系统需要 - }, - }, - }, -} -``` - -允许列表注意事项(启用 PK 时): - -- 在 `dm.allowFrom`、`guilds..users` 或每频道 `users` 中使用 `pk:`。 -- 成员显示名称也按名称/slug 匹配。 -- 查找使用**原始** Discord 消息 ID(代理前的消息),因此 PK API 只在其 30 分钟窗口内解析它。 -- 如果 PK 查找失败(例如,没有令牌的私有系统),代理消息会被视为机器人消息并被丢弃,除非 `channels.discord.allowBots=true`。 - -### 工具操作默认值 - -| 操作组 | 默认 | 说明 | -| -------------- | ---- | ----------------------------------- | -| reactions | 启用 | 表情反应 + 列出表情反应 + emojiList | -| stickers | 启用 | 发送贴纸 | -| emojiUploads | 启用 | 上传表情 | -| stickerUploads | 启用 | 上传贴纸 | -| polls | 启用 | 创建投票 | -| permissions | 启用 | 频道权限快照 | -| messages | 启用 | 读取/发送/编辑/删除 | -| threads | 启用 | 创建/列出/回复 | -| pins | 启用 | 置顶/取消置顶/列出 | -| search | 启用 | 消息搜索(预览功能) | -| memberInfo | 启用 | 成员信息 | -| roleInfo | 启用 | 角色列表 | -| channelInfo | 启用 | 频道信息 + 列表 | -| channels | 启用 | 频道/类别管理 | -| voiceStatus | 启用 | 语音状态查询 | -| events | 启用 | 列出/创建预定事件 | -| roles | 禁用 | 角色添加/移除 | -| moderation | 禁用 | 超时/踢出/封禁 | - -- `replyToMode`:`off`(默认)、`first` 或 `all`。仅在模型包含回复标签时适用。 - -## 回复标签 - -要请求线程回复,模型可以在其输出中包含一个标签: - -- `[[reply_to_current]]` — 回复触发的 Discord 消息。 -- `[[reply_to:]]` — 回复上下文/历史中的特定消息 ID。当前消息 ID 作为 `[message_id: …]` 附加到提示词;历史条目已包含 ID。 - -行为由 `channels.discord.replyToMode` 控制: - -- `off`:忽略标签。 -- `first`:只有第一个出站块/附件是回复。 -- `all`:每个出站块/附件都是回复。 - -允许列表匹配注意事项: - -- `allowFrom`/`users`/`groupChannels` 接受 ID、名称、标签或像 `<@id>` 这样的提及。 -- 支持 `discord:`/`user:`(用户)和 `channel:`(群组私信)等前缀。 -- 使用 `*` 允许任何发送者/频道。 -- 当存在 `guilds..channels` 时,未列出的频道默认被拒绝。 -- 当省略 `guilds..channels` 时,允许列表中服务器的所有频道都被允许。 -- 要**不允许任何频道**,设置 `channels.discord.groupPolicy: "disabled"`(或保持空允许列表)。 -- 配置向导接受 `Guild/Channel` 名称(公开 + 私有)并在可能时将其解析为 ID。 -- 启动时,OpenClaw 将允许列表中的频道/用户名称解析为 ID(当机器人可以搜索成员时)并记录映射;未解析的条目保持原样。 - -原生命令注意事项: - -- 注册的命令镜像 OpenClaw 的聊天命令。 -- 原生命令遵循与私信/服务器消息相同的允许列表(`channels.discord.dm.allowFrom`、`channels.discord.guilds`、每频道规则)。 -- 斜杠命令可能在 Discord UI 中对未在允许列表中的用户仍然可见;OpenClaw 在执行时强制执行允许列表并回复"未授权"。 - -## 工具操作 - -智能体可以使用以下操作调用 `discord`: - -- `react` / `reactions`(添加或列出表情反应) -- `sticker`、`poll`、`permissions` -- `readMessages`、`sendMessage`、`editMessage`、`deleteMessage` -- 读取/搜索/置顶工具负载包含规范化的 `timestampMs`(UTC 纪元毫秒)和 `timestampUtc` 以及原始 Discord `timestamp`。 -- `threadCreate`、`threadList`、`threadReply` -- `pinMessage`、`unpinMessage`、`listPins` -- `searchMessages`、`memberInfo`、`roleInfo`、`roleAdd`、`roleRemove`、`emojiList` -- `channelInfo`、`channelList`、`voiceStatus`、`eventList`、`eventCreate` -- `timeout`、`kick`、`ban` - -Discord 消息 ID 在注入的上下文中显示(`[discord message id: …]` 和历史行),以便智能体可以定位它们。 -表情可以是 unicode(例如 `✅`)或自定义表情语法如 `<:party_blob:1234567890>`。 - -## 安全与运维 - -- 像对待密码一样对待机器人令牌;在受监督的主机上优先使用 `DISCORD_BOT_TOKEN` 环境变量,或锁定配置文件权限。 -- 只授予机器人所需的权限(通常是读取/发送消息)。 -- 如果机器人卡住或受到速率限制,在确认没有其他进程拥有 Discord 会话后重启 Gateway 网关(`openclaw gateway --force`)。 diff --git a/docs/zh-CN/channels/feishu.md b/docs/zh-CN/channels/feishu.md deleted file mode 100644 index 27746f3c33d..00000000000 --- a/docs/zh-CN/channels/feishu.md +++ /dev/null @@ -1,728 +0,0 @@ ---- -read_when: - - 你想连接一个飞书/Lark 机器人 - - 你正在配置飞书渠道 -summary: 飞书机器人概览、功能和配置 -title: 飞书 -x-i18n: - generated_at: "2026-03-16T06:21:11Z" - model: gpt-5.4 - provider: openai - source_hash: 951e78c5c7264471382f863fa896a15ddeaf0717ef782da20d0f1b3eb23396ba - source_path: channels/feishu.md - workflow: 15 ---- - -# 飞书机器人 - -飞书(Lark)是企业用于消息沟通与协作的团队聊天平台。此插件通过平台的 WebSocket 事件订阅将 OpenClaw 连接到飞书/Lark 机器人,因此无需暴露公共 webhook URL 即可接收消息。 - ---- - -## 捆绑插件 - -飞书随当前的 OpenClaw 版本一同捆绑提供,因此无需单独安装插件。 - -如果你使用的是较旧版本,或使用了不包含捆绑飞书的自定义安装,请手动安装: - -```bash -openclaw plugins install @openclaw/feishu -``` - ---- - -## 快速开始 - -有两种方式可添加飞书渠道: - -### 方法 1:设置向导(推荐) - -如果你刚安装 OpenClaw,请运行设置向导: - -```bash -openclaw onboard -``` - -向导会引导你完成以下步骤: - -1. 创建飞书应用并收集凭证 -2. 在 OpenClaw 中配置应用凭证 -3. 启动 Gateway 网关 - -✅ **配置完成后**,检查 Gateway 网关状态: - -- `openclaw gateway status` -- `openclaw logs --follow` - -### 方法 2:CLI 设置 - -如果你已经完成初始安装,可通过 CLI 添加该渠道: - -```bash -openclaw channels add -``` - -选择 **Feishu**,然后输入 App ID 和 App Secret。 - -✅ **配置完成后**,管理 Gateway 网关: - -- `openclaw gateway status` -- `openclaw gateway restart` -- `openclaw logs --follow` - ---- - -## 第 1 步:创建飞书应用 - -### 1. 打开飞书开放平台 - -访问 [Feishu Open Platform](https://open.feishu.cn/app) 并登录。 - -Lark(国际版)租户应使用 [https://open.larksuite.com/app](https://open.larksuite.com/app),并在飞书配置中设置 `domain: "lark"`。 - -### 2. 创建应用 - -1. 点击 **Create enterprise app** -2. 填写应用名称和描述 -3. 选择应用图标 - -![Create enterprise app](../images/feishu-step2-create-app.png) - -### 3. 复制凭证 - -在 **Credentials & Basic Info** 中,复制: - -- **App ID**(格式:`cli_xxx`) -- **App Secret** - -❗ **重要:**请将 App Secret 妥善保密。 - -![Get credentials](../images/feishu-step3-credentials.png) - -### 4. 配置权限 - -在 **Permissions** 中,点击 **Batch import** 并粘贴: - -```json -{ - "scopes": { - "tenant": [ - "aily:file:read", - "aily:file:write", - "application:application.app_message_stats.overview:readonly", - "application:application:self_manage", - "application:bot.menu:write", - "cardkit:card:read", - "cardkit:card:write", - "contact:user.employee_id:readonly", - "corehr:file:download", - "event:ip_list", - "im:chat.access_event.bot_p2p_chat:read", - "im:chat.members:bot_access", - "im:message", - "im:message.group_at_msg:readonly", - "im:message.p2p_msg:readonly", - "im:message:readonly", - "im:message:send_as_bot", - "im:resource" - ], - "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"] - } -} -``` - -![Configure permissions](../images/feishu-step4-permissions.png) - -### 5. 启用机器人能力 - -在 **App Capability** > **Bot** 中: - -1. 启用机器人能力 -2. 设置机器人名称 - -![Enable bot capability](../images/feishu-step5-bot-capability.png) - -### 6. 配置事件订阅 - -⚠️ **重要:**在设置事件订阅前,请确保: - -1. 你已经为飞书运行过 `openclaw channels add` -2. Gateway 网关正在运行(`openclaw gateway status`) - -在 **Event Subscription** 中: - -1. 选择 **Use long connection to receive events**(WebSocket) -2. 添加事件:`im.message.receive_v1` - -⚠️ 如果 Gateway 网关未运行,长连接设置可能无法保存。 - -![Configure event subscription](../images/feishu-step6-event-subscription.png) - -### 7. 发布应用 - -1. 在 **Version Management & Release** 中创建版本 -2. 提交审核并发布 -3. 等待管理员批准(企业应用通常会自动批准) - ---- - -## 第 2 步:配置 OpenClaw - -### 使用向导配置(推荐) - -```bash -openclaw channels add -``` - -选择 **Feishu**,然后粘贴你的 App ID 和 App Secret。 - -### 通过配置文件进行配置 - -编辑 `~/.openclaw/openclaw.json`: - -```json5 -{ - channels: { - feishu: { - enabled: true, - dmPolicy: "pairing", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - name: "My AI assistant", - }, - }, - }, - }, -} -``` - -如果你使用 `connectionMode: "webhook"`,请同时设置 `verificationToken` 和 `encryptKey`。飞书 webhook 服务器默认绑定到 `127.0.0.1`;只有在你明确需要不同绑定地址时,才设置 `webhookHost`。 - -#### Verification Token 和 Encrypt Key(webhook 模式) - -使用 webhook 模式时,请在配置中同时设置 `channels.feishu.verificationToken` 和 `channels.feishu.encryptKey`。获取这些值的方法如下: - -1. 在飞书开放平台中,打开你的应用 -2. 前往 **Development** → **Events & Callbacks**(开发配置 → 事件与回调) -3. 打开 **Encryption** 标签页(加密策略) -4. 复制 **Verification Token** 和 **Encrypt Key** - -下图展示了 **Verification Token** 的位置。**Encrypt Key** 位于同一个 **Encryption** 区域中。 - -![Verification Token location](../images/feishu-verification-token.png) - -### 通过环境变量配置 - -```bash -export FEISHU_APP_ID="cli_xxx" -export FEISHU_APP_SECRET="xxx" -``` - -### Lark(国际版)域名 - -如果你的租户位于 Lark(国际版),请将域名设置为 `lark`(或完整域名字串)。你可以在 `channels.feishu.domain` 设置,也可以按账户设置(`channels.feishu.accounts..domain`)。 - -```json5 -{ - channels: { - feishu: { - domain: "lark", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - }, - }, - }, - }, -} -``` - -### 配额优化标志 - -你可以使用两个可选标志来减少飞书 API 使用量: - -- `typingIndicator`(默认 `true`):设为 `false` 时,跳过“正在输入”反应调用。 -- `resolveSenderNames`(默认 `true`):设为 `false` 时,跳过发送者资料查询调用。 - -你可以在顶层或按账户进行设置: - -```json5 -{ - channels: { - feishu: { - typingIndicator: false, - resolveSenderNames: false, - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - typingIndicator: true, - resolveSenderNames: false, - }, - }, - }, - }, -} -``` - ---- - -## 第 3 步:启动并测试 - -### 1. 启动 Gateway 网关 - -```bash -openclaw gateway -``` - -### 2. 发送测试消息 - -在飞书中找到你的机器人并发送一条消息。 - -### 3. 批准配对 - -默认情况下,机器人会回复一个配对码。批准它: - -```bash -openclaw pairing approve feishu -``` - -批准后,你就可以正常聊天了。 - ---- - -## 概览 - -- **飞书机器人渠道**:由 Gateway 网关管理的飞书机器人 -- **确定性路由**:回复始终返回到飞书 -- **会话隔离**:私信共享主会话;群组彼此隔离 -- **WebSocket 连接**:通过飞书 SDK 建立长连接,无需公共 URL - ---- - -## 访问控制 - -### 私信 - -- **默认**:`dmPolicy: "pairing"`(未知用户会收到配对码) -- **批准配对**: - - ```bash - openclaw pairing list feishu - openclaw pairing approve feishu - ``` - -- **Allowlist 模式**:设置 `channels.feishu.allowFrom`,填入允许的 Open ID - -### 群聊 - -**1. 群组策略**(`channels.feishu.groupPolicy`): - -- `"open"` = 允许群组中的所有人(默认) -- `"allowlist"` = 仅允许 `groupAllowFrom` -- `"disabled"` = 禁用群消息 - -**2. 提及要求**(`channels.feishu.groups..requireMention`): - -- `true` = 需要 @ 提及(默认) -- `false` = 无需提及也会回复 - ---- - -## 群组配置示例 - -### 允许所有群组,要求 @ 提及(默认) - -```json5 -{ - channels: { - feishu: { - groupPolicy: "open", - // Default requireMention: true - }, - }, -} -``` - -### 允许所有群组,无需 @ 提及 - -```json5 -{ - channels: { - feishu: { - groups: { - oc_xxx: { requireMention: false }, - }, - }, - }, -} -``` - -### 仅允许特定群组 - -```json5 -{ - channels: { - feishu: { - groupPolicy: "allowlist", - // Feishu group IDs (chat_id) look like: oc_xxx - groupAllowFrom: ["oc_xxx", "oc_yyy"], - }, - }, -} -``` - -### 限制哪些发送者可以在群组中发消息(发送者 allowlist) - -除了允许群组本身外,该群组中的**所有消息**还会按发送者 `open_id` 进行限制:只有列在 `groups..allowFrom` 中的用户,其消息才会被处理;其他成员发送的消息会被忽略(这是完整的发送者级限制,而不只是对 `/reset` 或 `/new` 等控制命令生效)。 - -```json5 -{ - channels: { - feishu: { - groupPolicy: "allowlist", - groupAllowFrom: ["oc_xxx"], - groups: { - oc_xxx: { - // Feishu user IDs (open_id) look like: ou_xxx - allowFrom: ["ou_user1", "ou_user2"], - }, - }, - }, - }, -} -``` - ---- - -## 获取群组/用户 ID - -### 群组 ID(`chat_id`) - -群组 ID 看起来像 `oc_xxx`。 - -**方法 1(推荐)** - -1. 启动 Gateway 网关并在群里 @ 提及机器人 -2. 运行 `openclaw logs --follow` 并查找 `chat_id` - -**方法 2** - -使用飞书 API 调试器列出群聊。 - -### 用户 ID(`open_id`) - -用户 ID 看起来像 `ou_xxx`。 - -**方法 1(推荐)** - -1. 启动 Gateway 网关并向机器人发送私信 -2. 运行 `openclaw logs --follow` 并查找 `open_id` - -**方法 2** - -检查配对请求中的用户 Open ID: - -```bash -openclaw pairing list feishu -``` - ---- - -## 常用命令 - -| Command | Description | -| --------- | -------------- | -| `/status` | 显示机器人状态 | -| `/reset` | 重置会话 | -| `/model` | 显示/切换模型 | - -> 注意:飞书暂不支持原生命令菜单,因此命令必须以文本形式发送。 - -## Gateway 网关管理命令 - -| Command | Description | -| -------------------------- | -------------------------- | -| `openclaw gateway status` | 显示 Gateway 网关状态 | -| `openclaw gateway install` | 安装/启动 Gateway 网关服务 | -| `openclaw gateway stop` | 停止 Gateway 网关服务 | -| `openclaw gateway restart` | 重启 Gateway 网关服务 | -| `openclaw logs --follow` | 跟踪 Gateway 网关日志 | - ---- - -## 故障排除 - -### 机器人在群聊中没有响应 - -1. 确保机器人已加入群组 -2. 确保你 @ 提及了机器人(默认行为) -3. 检查 `groupPolicy` 未设置为 `"disabled"` -4. 检查日志:`openclaw logs --follow` - -### 机器人未接收到消息 - -1. 确保应用已发布并获批准 -2. 确保事件订阅包含 `im.message.receive_v1` -3. 确保已启用**长连接** -4. 确保应用权限完整 -5. 确保 Gateway 网关正在运行:`openclaw gateway status` -6. 检查日志:`openclaw logs --follow` - -### App Secret 泄露 - -1. 在飞书开放平台中重置 App Secret -2. 在你的配置中更新 App Secret -3. 重启 Gateway 网关 - -### 消息发送失败 - -1. 确保应用具有 `im:message:send_as_bot` 权限 -2. 确保应用已发布 -3. 查看日志以获取详细错误信息 - ---- - -## 高级配置 - -### 多账户 - -```json5 -{ - channels: { - feishu: { - defaultAccount: "main", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - name: "Primary bot", - }, - backup: { - appId: "cli_yyy", - appSecret: "yyy", - name: "Backup bot", - enabled: false, - }, - }, - }, - }, -} -``` - -`defaultAccount` 用于控制当出站 API 未显式指定 `accountId` 时,使用哪个飞书账户。 - -### 消息限制 - -- `textChunkLimit`:出站文本分块大小(默认:2000 个字符) -- `mediaMaxMb`:媒体上传/下载限制(默认:30 MB) - -### 流式传输 - -飞书通过交互式卡片支持流式回复。启用后,机器人会在生成文本时更新卡片。 - -```json5 -{ - channels: { - feishu: { - streaming: true, // 启用流式卡片输出(默认 true) - blockStreaming: true, // 启用分块流式传输(默认 true) - }, - }, -} -``` - -将 `streaming: false` 设为等待完整回复生成后再发送。 - -### ACP 会话 - -飞书支持以下 ACP 场景: - -- 私信 -- 群组话题会话 - -飞书 ACP 由文本命令驱动。没有原生斜杠命令菜单,因此请直接在会话中使用 `/acp ...` 消息。 - -#### 持久化 ACP 绑定 - -使用顶层类型化 ACP 绑定,将飞书私信或话题会话固定到持久化 ACP 会话。 - -```json5 -{ - agents: { - list: [ - { - id: "codex", - runtime: { - type: "acp", - acp: { - agent: "codex", - backend: "acpx", - mode: "persistent", - cwd: "/workspace/openclaw", - }, - }, - }, - ], - }, - bindings: [ - { - type: "acp", - agentId: "codex", - match: { - channel: "feishu", - accountId: "default", - peer: { kind: "direct", id: "ou_1234567890" }, - }, - }, - { - type: "acp", - agentId: "codex", - match: { - channel: "feishu", - accountId: "default", - peer: { kind: "group", id: "oc_group_chat:topic:om_topic_root" }, - }, - acp: { label: "codex-feishu-topic" }, - }, - ], -} -``` - -#### 从聊天中按线程绑定 ACP 生成 - -在飞书私信或话题会话中,你可以就地生成并绑定一个 ACP 会话: - -```text -/acp spawn codex --thread here -``` - -说明: - -- `--thread here` 适用于私信和飞书话题。 -- 绑定后的私信/话题中的后续消息会直接路由到该 ACP 会话。 -- v1 不支持针对通用的非话题群聊。 - -### 多智能体路由 - -使用 `bindings` 将飞书私信或群组路由到不同的智能体。 - -```json5 -{ - agents: { - list: [ - { id: "main" }, - { - id: "clawd-fan", - workspace: "/home/user/clawd-fan", - agentDir: "/home/user/.openclaw/agents/clawd-fan/agent", - }, - { - id: "clawd-xi", - workspace: "/home/user/clawd-xi", - agentDir: "/home/user/.openclaw/agents/clawd-xi/agent", - }, - ], - }, - bindings: [ - { - agentId: "main", - match: { - channel: "feishu", - peer: { kind: "direct", id: "ou_xxx" }, - }, - }, - { - agentId: "clawd-fan", - match: { - channel: "feishu", - peer: { kind: "direct", id: "ou_yyy" }, - }, - }, - { - agentId: "clawd-xi", - match: { - channel: "feishu", - peer: { kind: "group", id: "oc_zzz" }, - }, - }, - ], -} -``` - -路由字段: - -- `match.channel`:`"feishu"` -- `match.peer.kind`:`"direct"` 或 `"group"` -- `match.peer.id`:用户 Open ID(`ou_xxx`)或群组 ID(`oc_xxx`) - -查找提示请参见 [获取群组/用户 ID](#get-groupuser-ids)。 - ---- - -## 配置参考 - -完整配置:[Gateway 网关配置](/gateway/configuration) - -关键选项: - -| Setting | Description | Default | -| ------------------------------------------------- | -------------------------------- | ---------------- | -| `channels.feishu.enabled` | 启用/禁用渠道 | `true` | -| `channels.feishu.domain` | API 域名(`feishu` 或 `lark`) | `feishu` | -| `channels.feishu.connectionMode` | 事件传输模式 | `websocket` | -| `channels.feishu.defaultAccount` | 出站路由的默认账户 ID | `default` | -| `channels.feishu.verificationToken` | webhook 模式必填 | - | -| `channels.feishu.encryptKey` | webhook 模式必填 | - | -| `channels.feishu.webhookPath` | webhook 路由路径 | `/feishu/events` | -| `channels.feishu.webhookHost` | webhook 绑定主机 | `127.0.0.1` | -| `channels.feishu.webhookPort` | webhook 绑定端口 | `3000` | -| `channels.feishu.accounts..appId` | App ID | - | -| `channels.feishu.accounts..appSecret` | App Secret | - | -| `channels.feishu.accounts..domain` | 按账户覆盖 API 域名 | `feishu` | -| `channels.feishu.dmPolicy` | 私信策略 | `pairing` | -| `channels.feishu.allowFrom` | 私信 allowlist(`open_id` 列表) | - | -| `channels.feishu.groupPolicy` | 群组策略 | `open` | -| `channels.feishu.groupAllowFrom` | 群组 allowlist | - | -| `channels.feishu.groups..requireMention` | 要求 @ 提及 | `true` | -| `channels.feishu.groups..enabled` | 启用群组 | `true` | -| `channels.feishu.textChunkLimit` | 消息分块大小 | `2000` | -| `channels.feishu.mediaMaxMb` | 媒体大小限制 | `30` | -| `channels.feishu.streaming` | 启用流式卡片输出 | `true` | -| `channels.feishu.blockStreaming` | 启用分块流式传输 | `true` | - ---- - -## dmPolicy 参考 - -| Value | Behavior | -| ------------- | ---------------------------------------------------- | -| `"pairing"` | **默认。**未知用户会收到配对码;必须获批准后才能使用 | -| `"allowlist"` | 只有 `allowFrom` 中的用户可以聊天 | -| `"open"` | 允许所有用户(要求 `allowFrom` 中有 `"*"`) | -| `"disabled"` | 禁用私信 | - ---- - -## 支持的消息类型 - -### 接收 - -- ✅ 文本 -- ✅ 富文本(post) -- ✅ 图片 -- ✅ 文件 -- ✅ 音频 -- ✅ 视频 -- ✅ 贴纸 - -### 发送 - -- ✅ 文本 -- ✅ 图片 -- ✅ 文件 -- ✅ 音频 -- ⚠️ 富文本(部分支持) diff --git a/docs/zh-CN/channels/googlechat.md b/docs/zh-CN/channels/googlechat.md deleted file mode 100644 index b8adbaf2914..00000000000 --- a/docs/zh-CN/channels/googlechat.md +++ /dev/null @@ -1,257 +0,0 @@ ---- -read_when: - - 开发 Google Chat 渠道功能时 -summary: Google Chat 应用支持状态、功能和配置 -title: Google Chat -x-i18n: - generated_at: "2026-02-03T07:43:39Z" - model: claude-opus-4-6 - provider: pi - source_hash: 3b2bb116cdd12614c3d5afddd0879e9deb05c3606e3a2385cbc07f23552b357e - source_path: channels/googlechat.md - workflow: 15 ---- - -# Google Chat(Chat API) - -状态:已支持通过 Google Chat API webhooks(仅 HTTP)使用私信和空间。 - -## 快速设置(新手) - -1. 创建一个 Google Cloud 项目并启用 **Google Chat API**。 - - 前往:[Google Chat API Credentials](https://console.cloud.google.com/apis/api/chat.googleapis.com/credentials) - - 如果 API 尚未启用,请启用它。 -2. 创建一个**服务账号**: - - 点击 **Create Credentials** > **Service Account**。 - - 随意命名(例如 `openclaw-chat`)。 - - 权限留空(点击 **Continue**)。 - - 有访问权限的主账号留空(点击 **Done**)。 -3. 创建并下载 **JSON 密钥**: - - 在服务账号列表中,点击刚刚创建的账号。 - - 前往 **Keys** 标签页。 - - 点击 **Add Key** > **Create new key**。 - - 选择 **JSON** 并点击 **Create**。 -4. 将下载的 JSON 文件存储在 Gateway 网关主机上(例如 `~/.openclaw/googlechat-service-account.json`)。 -5. 在 [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) 中创建一个 Google Chat 应用: - - 填写 **Application info**: - - **App name**:(例如 `OpenClaw`) - - **Avatar URL**:(例如 `https://openclaw.ai/logo.png`) - - **Description**:(例如 `Personal AI Assistant`) - - 启用 **Interactive features**。 - - 在 **Functionality** 下,勾选 **Join spaces and group conversations**。 - - 在 **Connection settings** 下,选择 **HTTP endpoint URL**。 - - 在 **Triggers** 下,选择 **Use a common HTTP endpoint URL for all triggers** 并将其设置为你的 Gateway 网关公网 URL 后加 `/googlechat`。 - - _提示:运行 `openclaw status` 查看你的 Gateway 网关公网 URL。_ - - 在 **Visibility** 下,勾选 **Make this Chat app available to specific people and groups in <Your Domain>**。 - - 在文本框中输入你的邮箱地址(例如 `user@example.com`)。 - - 点击底部的 **Save**。 -6. **启用应用状态**: - - 保存后,**刷新页面**。 - - 找到 **App status** 部分(通常在保存后位于顶部或底部附近)。 - - 将状态更改为 **Live - available to users**。 - - 再次点击 **Save**。 -7. 使用服务账号路径和 webhook audience 配置 OpenClaw: - - 环境变量:`GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json` - - 或配置:`channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`。 -8. 设置 webhook audience 类型和值(与你的 Chat 应用配置匹配)。 -9. 启动 Gateway 网关。Google Chat 将向你的 webhook 路径发送 POST 请求。 - -## 添加到 Google Chat - -Gateway 网关运行后,且你的邮箱已添加到可见性列表中: - -1. 前往 [Google Chat](https://chat.google.com/)。 -2. 点击 **Direct Messages** 旁边的 **+**(加号)图标。 -3. 在搜索栏(通常用于添加联系人的位置)中,输入你在 Google Cloud Console 中配置的 **App name**。 - - **注意**:该机器人*不会*出现在"Marketplace"浏览列表中,因为它是私有应用。你必须按名称搜索。 -4. 从结果中选择你的机器人。 -5. 点击 **Add** 或 **Chat** 开始一对一对话。 -6. 发送"Hello"来触发助手! - -## 公网 URL(仅 Webhook) - -Google Chat webhooks 需要一个公网 HTTPS 端点。为了安全起见,**只将 `/googlechat` 路径暴露到互联网**。将 OpenClaw 仪表板和其他敏感端点保留在你的私有网络上。 - -### 方案 A:Tailscale Funnel(推荐) - -使用 Tailscale Serve 提供私有仪表板,使用 Funnel 提供公网 webhook 路径。这样可以保持 `/` 私有,同时只暴露 `/googlechat`。 - -1. **检查你的 Gateway 网关绑定的地址:** - - ```bash - ss -tlnp | grep 18789 - ``` - - 记下 IP 地址(例如 `127.0.0.1`、`0.0.0.0` 或你的 Tailscale IP 如 `100.x.x.x`)。 - -2. **仅将仪表板暴露给 tailnet(端口 8443):** - - ```bash - # 如果绑定到 localhost(127.0.0.1 或 0.0.0.0): - tailscale serve --bg --https 8443 http://127.0.0.1:18789 - - # 如果仅绑定到 Tailscale IP(例如 100.106.161.80): - tailscale serve --bg --https 8443 http://100.106.161.80:18789 - ``` - -3. **仅公开暴露 webhook 路径:** - - ```bash - # 如果绑定到 localhost(127.0.0.1 或 0.0.0.0): - tailscale funnel --bg --set-path /googlechat http://127.0.0.1:18789/googlechat - - # 如果仅绑定到 Tailscale IP(例如 100.106.161.80): - tailscale funnel --bg --set-path /googlechat http://100.106.161.80:18789/googlechat - ``` - -4. **授权节点访问 Funnel:** - 如果出现提示,请访问输出中显示的授权 URL,以在你的 tailnet 策略中为此节点启用 Funnel。 - -5. **验证配置:** - ```bash - tailscale serve status - tailscale funnel status - ``` - -你的公网 webhook URL 将是: -`https://..ts.net/googlechat` - -你的私有仪表板仅限 tailnet 访问: -`https://..ts.net:8443/` - -在 Google Chat 应用配置中使用公网 URL(不带 `:8443`)。 - -> 注意:此配置在重启后会保留。如需稍后移除,请运行 `tailscale funnel reset` 和 `tailscale serve reset`。 - -### 方案 B:反向代理(Caddy) - -如果你使用像 Caddy 这样的反向代理,只代理特定路径: - -```caddy -your-domain.com { - reverse_proxy /googlechat* localhost:18789 -} -``` - -使用此配置,任何发往 `your-domain.com/` 的请求将被忽略或返回 404,而 `your-domain.com/googlechat` 会安全地路由到 OpenClaw。 - -### 方案 C:Cloudflare Tunnel - -配置你的隧道入口规则,只路由 webhook 路径: - -- **路径**:`/googlechat` -> `http://localhost:18789/googlechat` -- **默认规则**:HTTP 404(未找到) - -## 工作原理 - -1. Google Chat 向 Gateway 网关发送 webhook POST 请求。每个请求都包含一个 `Authorization: Bearer ` 头。 -2. OpenClaw 根据配置的 `audienceType` + `audience` 验证令牌: - - `audienceType: "app-url"` → audience 是你的 HTTPS webhook URL。 - - `audienceType: "project-number"` → audience 是 Cloud 项目编号。 -3. 消息按空间路由: - - 私信使用会话键 `agent::googlechat:dm:`。 - - 空间使用会话键 `agent::googlechat:group:`。 -4. 私信访问默认为配对模式。未知发送者会收到配对码;使用以下命令批准: - - `openclaw pairing approve googlechat ` -5. 群组空间默认需要 @提及。如果提及检测需要应用的用户名,请使用 `botUser`。 - -## 目标标识符 - -使用这些标识符进行消息投递和允许列表: - -- 私信:`users/` 或 `users/`(接受邮箱地址)。 -- 空间:`spaces/`。 - -## 配置要点 - -```json5 -{ - channels: { - googlechat: { - enabled: true, - serviceAccountFile: "/path/to/service-account.json", - audienceType: "app-url", - audience: "https://gateway.example.com/googlechat", - webhookPath: "/googlechat", - botUser: "users/1234567890", // 可选;帮助提及检测 - dm: { - policy: "pairing", - allowFrom: ["users/1234567890", "name@example.com"], - }, - groupPolicy: "allowlist", - groups: { - "spaces/AAAA": { - allow: true, - requireMention: true, - users: ["users/1234567890"], - systemPrompt: "Short answers only.", - }, - }, - actions: { reactions: true }, - typingIndicator: "message", - mediaMaxMb: 20, - }, - }, -} -``` - -注意事项: - -- 服务账号凭证也可以通过 `serviceAccount`(JSON 字符串)内联传递。 -- 如果未设置 `webhookPath`,默认 webhook 路径为 `/googlechat`。 -- 当 `actions.reactions` 启用时,可通过 `reactions` 工具和 `channels action` 使用表情回应。 -- `typingIndicator` 支持 `none`、`message`(默认)和 `reaction`(reaction 需要用户 OAuth)。 -- 附件通过 Chat API 下载并存储在媒体管道中(大小受 `mediaMaxMb` 限制)。 - -## 故障排除 - -### 405 Method Not Allowed - -如果 Google Cloud Logs Explorer 显示如下错误: - -``` -status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not Allowed -``` - -这意味着 webhook 处理程序未注册。常见原因: - -1. **渠道未配置**:配置中缺少 `channels.googlechat` 部分。使用以下命令验证: - - ```bash - openclaw config get channels.googlechat - ``` - - 如果返回"Config path not found",请添加配置(参见[配置要点](#配置要点))。 - -2. **插件未启用**:检查插件状态: - - ```bash - openclaw plugins list | grep googlechat - ``` - - 如果显示"disabled",请在配置中添加 `plugins.entries.googlechat.enabled: true`。 - -3. **Gateway 网关未重启**:添加配置后,重启 Gateway 网关: - ```bash - openclaw gateway restart - ``` - -验证渠道是否正在运行: - -```bash -openclaw channels status -# 应显示:Google Chat default: enabled, configured, ... -``` - -### 其他问题 - -- 检查 `openclaw channels status --probe` 以查看认证错误或缺少 audience 配置。 -- 如果没有收到消息,请确认 Chat 应用的 webhook URL 和事件订阅。 -- 如果提及门控阻止了回复,请将 `botUser` 设置为应用的用户资源名称并验证 `requireMention`。 -- 在发送测试消息时使用 `openclaw logs --follow` 查看请求是否到达 Gateway 网关。 - -相关文档: - -- [Gateway 网关配置](/gateway/configuration) -- [安全](/gateway/security) -- [表情回应](/tools/reactions) diff --git a/docs/zh-CN/channels/grammy.md b/docs/zh-CN/channels/grammy.md deleted file mode 100644 index 7f3e2fc3a18..00000000000 --- a/docs/zh-CN/channels/grammy.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -read_when: - - 开发 Telegram 或 grammY 相关功能时 -summary: 通过 grammY 集成 Telegram Bot API,附设置说明 -title: grammY -x-i18n: - generated_at: "2026-02-03T10:03:55Z" - model: claude-opus-4-6 - provider: pi - source_hash: ea7ef23e6d77801f4ef5fc56685ef4470f79f5aecab448d644a72cbab53521b7 - source_path: channels/grammy.md - workflow: 15 ---- - -# grammY 集成(Telegram Bot API) - -# 为什么选择 grammY - -- 以 TS 为核心的 Bot API 客户端,内置长轮询 + webhook 辅助工具、中间件、错误处理和速率限制器。 -- 媒体处理辅助工具比手动编写 fetch + FormData 更简洁;支持所有 Bot API 方法。 -- 可扩展:通过自定义 fetch 支持代理,可选的会话中间件,类型安全的上下文。 - -# 我们发布的内容 - -- **单一客户端路径:** 移除了基于 fetch 的实现;grammY 现在是唯一的 Telegram 客户端(发送 + Gateway 网关),默认启用 grammY throttler。 -- **Gateway 网关:** `monitorTelegramProvider` 构建 grammY `Bot`,接入 mention/allowlist 网关控制,通过 `getFile`/`download` 下载媒体,并使用 `sendMessage/sendPhoto/sendVideo/sendAudio/sendDocument` 发送回复。通过 `webhookCallback` 支持长轮询或 webhook。 -- **代理:** 可选的 `channels.telegram.proxy` 通过 grammY 的 `client.baseFetch` 使用 `undici.ProxyAgent`。 -- **Webhook 支持:** `webhook-set.ts` 封装了 `setWebhook/deleteWebhook`;`webhook.ts` 托管回调,支持健康检查和优雅关闭。当设置了 `channels.telegram.webhookUrl` + `channels.telegram.webhookSecret` 时,Gateway 网关启用 webhook 模式(否则使用长轮询)。 -- **会话:** 私聊折叠到智能体主会话(`agent::`);群组使用 `agent::telegram:group:`;回复路由回同一渠道。 -- **配置选项:** `channels.telegram.botToken`、`channels.telegram.dmPolicy`、`channels.telegram.groups`(allowlist + mention 默认值)、`channels.telegram.allowFrom`、`channels.telegram.groupAllowFrom`、`channels.telegram.groupPolicy`、`channels.telegram.mediaMaxMb`、`channels.telegram.linkPreview`、`channels.telegram.proxy`、`channels.telegram.webhookSecret`、`channels.telegram.webhookUrl`。 -- **草稿流式传输:** 可选的 `channels.telegram.streamMode` 在私有话题聊天中使用 `sendMessageDraft`(Bot API 9.3+)。这与渠道分块流式传输是分开的。 -- **测试:** grammY mock 覆盖了私信 + 群组 mention 网关控制和出站发送;欢迎添加更多媒体/webhook 测试用例。 - -待解决问题 - -- 如果遇到 Bot API 429 错误,考虑使用可选的 grammY 插件(throttler)。 -- 添加更多结构化媒体测试(贴纸、语音消息)。 -- 使 webhook 监听端口可配置(目前固定为 8787,除非通过 Gateway 网关配置)。 diff --git a/docs/zh-CN/channels/group-messages.md b/docs/zh-CN/channels/group-messages.md deleted file mode 100644 index 9507e8c0364..00000000000 --- a/docs/zh-CN/channels/group-messages.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -read_when: - - 更改群组消息规则或提及设置时 -summary: WhatsApp 群组消息处理的行为和配置(mentionPatterns 在各平台间共享) -title: 群组消息 -x-i18n: - generated_at: "2026-02-03T10:05:00Z" - model: claude-opus-4-6 - provider: pi - source_hash: 181a72f12f5021af77c2e4c913120f711e0c0bc271d218d75cb6fe80dab675bb - source_path: channels/group-messages.md - workflow: 15 ---- - -# 群组消息(WhatsApp 网页渠道) - -目标:让 Clawd 留在 WhatsApp 群组中,仅在被提及时唤醒,并将该对话线程与个人私信会话分开。 - -注意:`agents.list[].groupChat.mentionPatterns` 现在也被 Telegram/Discord/Slack/iMessage 使用;本文档重点介绍 WhatsApp 特定的行为。对于多智能体设置,为每个智能体设置 `agents.list[].groupChat.mentionPatterns`(或使用 `messages.groupChat.mentionPatterns` 作为全局回退)。 - -## 已实现的功能(2025-12-03) - -- 激活模式:`mention`(默认)或 `always`。`mention` 需要被提及(通过 `mentionedJids` 的真实 WhatsApp @提及、正则表达式模式,或文本中任意位置的机器人 E.164 号码)。`always` 会在每条消息时唤醒智能体,但它应该只在能提供有意义价值时才回复;否则返回静默令牌 `NO_REPLY`。默认值可在配置中设置(`channels.whatsapp.groups`),并可通过 `/activation` 为每个群组单独覆盖。当设置了 `channels.whatsapp.groups` 时,它同时充当群组允许列表(包含 `"*"` 以允许所有群组)。 -- 群组策略:`channels.whatsapp.groupPolicy` 控制是否接受群组消息(`open|disabled|allowlist`)。`allowlist` 使用 `channels.whatsapp.groupAllowFrom`(回退:显式的 `channels.whatsapp.allowFrom`)。默认为 `allowlist`(在你添加发送者之前被阻止)。 -- 独立群组会话:会话键格式为 `agent::whatsapp:group:`,因此 `/verbose on` 或 `/think high`(作为独立消息发送)等命令仅作用于该群组;个人私信状态不受影响。群组线程会跳过心跳。 -- 上下文注入:**仅待处理**的群组消息(默认 50 条),即*未*触发运行的消息,会以 `[Chat messages since your last reply - for context]` 为前缀注入,触发行在 `[Current message - respond to this]` 下。已在会话中的消息不会重复注入。 -- 发送者显示:每个群组批次现在以 `[from: Sender Name (+E164)]` 结尾,让 Pi 知道是谁在说话。 -- 阅后即焚/一次性查看:我们在提取文本/提及之前会先解包这些消息,因此其中的提及仍会触发。 -- 群组系统提示:在群组会话的第一轮(以及每当 `/activation` 更改模式时),我们会向系统提示注入一段简短说明,如 `You are replying inside the WhatsApp group "". Group members: Alice (+44...), Bob (+43...), … Activation: trigger-only … Address the specific sender noted in the message context.` 如果元数据不可用,我们仍会告知智能体这是一个群聊。 - -## 配置示例(WhatsApp) - -在 `~/.openclaw/openclaw.json` 中添加 `groupChat` 块,以便在 WhatsApp 剥离文本正文中的可视 `@` 时,显示名称提及仍能正常工作: - -```json5 -{ - channels: { - whatsapp: { - groups: { - "*": { requireMention: true }, - }, - }, - }, - agents: { - list: [ - { - id: "main", - groupChat: { - historyLimit: 50, - mentionPatterns: ["@?openclaw", "\\+?15555550123"], - }, - }, - ], - }, -} -``` - -注意: - -- 正则表达式不区分大小写;它们涵盖了像 `@openclaw` 这样的显示名称提及,以及带或不带 `+`/空格的原始号码。 -- 当有人点击联系人时,WhatsApp 仍会通过 `mentionedJids` 发送规范的提及,因此号码回退很少需要,但作为安全网很有用。 - -### 激活命令(仅所有者) - -使用群聊命令: - -- `/activation mention` -- `/activation always` - -只有所有者号码(来自 `channels.whatsapp.allowFrom`,或未设置时使用机器人自己的 E.164)可以更改此设置。在群组中发送 `/status` 作为独立消息以查看当前激活模式。 - -## 使用方法 - -1. 将你的 WhatsApp 账号(运行 OpenClaw 的账号)添加到群组。 -2. 说 `@openclaw …`(或包含号码)。只有允许列表中的发送者才能触发,除非你设置 `groupPolicy: "open"`。 -3. 智能体提示将包含最近的群组上下文以及尾部的 `[from: …]` 标记,以便它能够回应正确的人。 -4. 会话级指令(`/verbose on`、`/think high`、`/new` 或 `/reset`、`/compact`)仅适用于该群组的会话;将它们作为独立消息发送以使其生效。你的个人私信会话保持独立。 - -## 测试/验证 - -- 手动冒烟测试: - - 在群组中发送 `@openclaw` 提及,确认收到引用发送者名称的回复。 - - 发送第二次提及,验证历史记录块被包含,然后在下一轮清除。 -- 检查 Gateway 网关日志(使用 `--verbose` 运行)以查看 `inbound web message` 条目,显示 `from: ` 和 `[from: …]` 后缀。 - -## 已知注意事项 - -- 群组有意跳过心跳以避免嘈杂的广播。 -- 回声抑制使用组合的批次字符串;如果你发送两次相同的文本但没有提及,只有第一次会得到响应。 -- 会话存储条目将在会话存储中显示为 `agent::whatsapp:group:`(默认为 `~/.openclaw/agents//sessions/sessions.json`);缺失条目只是意味着该群组尚未触发运行。 -- 群组中的输入指示器遵循 `agents.defaults.typingMode`(默认:未被提及时为 `message`)。 diff --git a/docs/zh-CN/channels/groups.md b/docs/zh-CN/channels/groups.md deleted file mode 100644 index e00e7c7b085..00000000000 --- a/docs/zh-CN/channels/groups.md +++ /dev/null @@ -1,379 +0,0 @@ ---- -read_when: - - 更改群聊行为或提及限制 -summary: 跨平台的群聊行为(WhatsApp/Telegram/Discord/Slack/Signal/iMessage/Microsoft Teams) -title: 群组 -x-i18n: - generated_at: "2026-02-03T07:47:08Z" - model: claude-opus-4-6 - provider: pi - source_hash: b727a053edf51f6e7b5c0c324c2fc9c9789a9796c37f622418bd555e8b5a0ec4 - source_path: channels/groups.md - workflow: 15 ---- - -# 群组 - -OpenClaw 在各平台上统一处理群聊:WhatsApp、Telegram、Discord、Slack、Signal、iMessage、Microsoft Teams。 - -## 新手入门(2 分钟) - -OpenClaw"运行"在你自己的消息账户上。没有单独的 WhatsApp 机器人用户。如果**你**在一个群组中,OpenClaw 就可以看到该群组并在其中回复。 - -默认行为: - -- 群组受限(`groupPolicy: "allowlist"`)。 -- 除非你明确禁用提及限制,否则回复需要 @ 提及。 - -解释:允许列表中的发送者可以通过提及来触发 OpenClaw。 - -> 简而言之 -> -> - **私信访问**由 `*.allowFrom` 控制。 -> - **群组访问**由 `*.groupPolicy` + 允许列表(`*.groups`、`*.groupAllowFrom`)控制。 -> - **回复触发**由提及限制(`requireMention`、`/activation`)控制。 - -快速流程(群消息会发生什么): - -``` -groupPolicy? disabled -> 丢弃 -groupPolicy? allowlist -> 群组允许? 否 -> 丢弃 -requireMention? 是 -> 被提及? 否 -> 仅存储为上下文 -否则 -> 回复 -``` - -![群消息流程](/images/groups-flow.svg) - -如果你想... -| 目标 | 设置什么 | -|------|-------------| -| 允许所有群组但仅在 @ 提及时回复 | `groups: { "*": { requireMention: true } }` | -| 禁用所有群组回复 | `groupPolicy: "disabled"` | -| 仅特定群组 | `groups: { "": { ... } }`(无 `"*"` 键) | -| 仅你可以在群组中触发 | `groupPolicy: "allowlist"`、`groupAllowFrom: ["+1555..."]` | - -## 会话键 - -- 群组会话使用 `agent:::group:` 会话键(房间/频道使用 `agent:::channel:`)。 -- Telegram 论坛话题在群组 ID 后添加 `:topic:`,因此每个话题都有自己的会话。 -- 私聊使用主会话(或按发送者配置时使用各自的会话)。 -- 群组会话跳过心跳。 - -## 模式:个人私信 + 公开群组(单智能体) - -是的——如果你的"个人"流量是**私信**而"公开"流量是**群组**,这种方式效果很好。 - -原因:在单智能体模式下,私信通常落在**主**会话键(`agent:main:main`)中,而群组始终使用**非主**会话键(`agent:main::group:`)。如果你启用 `mode: "non-main"` 的沙箱隔离,这些群组会话在 Docker 中运行,而你的主私信会话保持在主机上。 - -这给你一个智能体"大脑"(共享工作区 + 记忆),但两种执行姿态: - -- **私信**:完整工具(主机) -- **群组**:沙箱 + 受限工具(Docker) - -> 如果你需要真正独立的工作区/角色("个人"和"公开"绝不能混合),请使用第二个智能体 + 绑定。参见[多智能体路由](/concepts/multi-agent)。 - -示例(私信在主机上,群组沙箱隔离 + 仅消息工具): - -```json5 -{ - agents: { - defaults: { - sandbox: { - mode: "non-main", // 群组/频道是非主 -> 沙箱隔离 - scope: "session", // 最强隔离(每个群组/频道一个容器) - workspaceAccess: "none", - }, - }, - }, - tools: { - sandbox: { - tools: { - // 如果 allow 非空,其他所有工具都被阻止(deny 仍然优先)。 - allow: ["group:messaging", "group:sessions"], - deny: ["group:runtime", "group:fs", "group:ui", "nodes", "cron", "gateway"], - }, - }, - }, -} -``` - -想要"群组只能看到文件夹 X"而不是"无主机访问"?保持 `workspaceAccess: "none"` 并仅将允许的路径挂载到沙箱中: - -```json5 -{ - agents: { - defaults: { - sandbox: { - mode: "non-main", - scope: "session", - workspaceAccess: "none", - docker: { - binds: [ - // hostPath:containerPath:mode - "~/FriendsShared:/data:ro", - ], - }, - }, - }, - }, -} -``` - -相关: - -- 配置键和默认值:[Gateway 网关配置](/gateway/configuration#agentsdefaultssandbox) -- 调试为什么工具被阻止:[沙箱 vs 工具策略 vs 提权](/gateway/sandbox-vs-tool-policy-vs-elevated) -- 绑定挂载详情:[沙箱隔离](/gateway/sandboxing#custom-bind-mounts) - -## 显示标签 - -- UI 标签在可用时使用 `displayName`,格式为 `:`。 -- `#room` 保留用于房间/频道;群聊使用 `g-`(小写,空格 -> `-`,保留 `#@+._-`)。 - -## 群组策略 - -控制每个渠道如何处理群组/房间消息: - -```json5 -{ - channels: { - whatsapp: { - groupPolicy: "disabled", // "open" | "disabled" | "allowlist" - groupAllowFrom: ["+15551234567"], - }, - telegram: { - groupPolicy: "disabled", - groupAllowFrom: ["123456789", "@username"], - }, - signal: { - groupPolicy: "disabled", - groupAllowFrom: ["+15551234567"], - }, - imessage: { - groupPolicy: "disabled", - groupAllowFrom: ["chat_id:123"], - }, - msteams: { - groupPolicy: "disabled", - groupAllowFrom: ["user@org.com"], - }, - discord: { - groupPolicy: "allowlist", - guilds: { - GUILD_ID: { channels: { help: { allow: true } } }, - }, - }, - slack: { - groupPolicy: "allowlist", - channels: { "#general": { allow: true } }, - }, - matrix: { - groupPolicy: "allowlist", - groupAllowFrom: ["@owner:example.org"], - groups: { - "!roomId:example.org": { allow: true }, - "#alias:example.org": { allow: true }, - }, - }, - }, -} -``` - -| 策略 | 行为 | -| ------------- | --------------------------------------- | -| `"open"` | 群组绕过允许列表;提及限制仍然适用。 | -| `"disabled"` | 完全阻止所有群组消息。 | -| `"allowlist"` | 仅允许与配置的允许列表匹配的群组/房间。 | - -注意事项: - -- `groupPolicy` 与提及限制(需要 @ 提及)是分开的。 -- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams:使用 `groupAllowFrom`(回退:显式 `allowFrom`)。 -- Discord:允许列表使用 `channels.discord.guilds..channels`。 -- Slack:允许列表使用 `channels.slack.channels`。 -- Matrix:允许列表使用 `channels.matrix.groups`(房间 ID、别名或名称)。使用 `channels.matrix.groupAllowFrom` 限制发送者;也支持每个房间的 `users` 允许列表。 -- 群组私信单独控制(`channels.discord.dm.*`、`channels.slack.dm.*`)。 -- Telegram 允许列表可以匹配用户 ID(`"123456789"`、`"telegram:123456789"`、`"tg:123456789"`)或用户名(`"@alice"` 或 `"alice"`);前缀不区分大小写。 -- 默认为 `groupPolicy: "allowlist"`;如果你的群组允许列表为空,群组消息将被阻止。 - -快速心智模型(群组消息的评估顺序): - -1. `groupPolicy`(open/disabled/allowlist) -2. 群组允许列表(`*.groups`、`*.groupAllowFrom`、渠道特定允许列表) -3. 提及限制(`requireMention`、`/activation`) - -## 提及限制(默认) - -群组消息需要提及,除非按群组覆盖。默认值位于 `*.groups."*"` 下的每个子系统中。 - -回复机器人消息被视为隐式提及(当渠道支持回复元数据时)。这适用于 Telegram、WhatsApp、Slack、Discord 和 Microsoft Teams。 - -```json5 -{ - channels: { - whatsapp: { - groups: { - "*": { requireMention: true }, - "123@g.us": { requireMention: false }, - }, - }, - telegram: { - groups: { - "*": { requireMention: true }, - "123456789": { requireMention: false }, - }, - }, - imessage: { - groups: { - "*": { requireMention: true }, - "123": { requireMention: false }, - }, - }, - }, - agents: { - list: [ - { - id: "main", - groupChat: { - mentionPatterns: ["@openclaw", "openclaw", "\\+15555550123"], - historyLimit: 50, - }, - }, - ], - }, -} -``` - -注意事项: - -- `mentionPatterns` 是不区分大小写的正则表达式。 -- 提供显式提及的平台仍然通过;模式是回退。 -- 每个智能体覆盖:`agents.list[].groupChat.mentionPatterns`(当多个智能体共享一个群组时有用)。 -- 提及限制仅在提及检测可行时强制执行(原生提及或 `mentionPatterns` 已配置)。 -- Discord 默认值位于 `channels.discord.guilds."*"`(可按服务器/频道覆盖)。 -- 群组历史上下文在渠道间统一包装,并且是**仅待处理**(由于提及限制而跳过的消息);使用 `messages.groupChat.historyLimit` 作为全局默认值,使用 `channels..historyLimit`(或 `channels..accounts.*.historyLimit`)进行覆盖。设置 `0` 以禁用。 - -## 群组/频道工具限制(可选) - -某些渠道配置支持限制**特定群组/房间/频道内**可用的工具。 - -- `tools`:为整个群组允许/拒绝工具。 -- `toolsBySender`:群组内的按发送者覆盖(键是发送者 ID/用户名/邮箱/电话号码,取决于渠道)。使用 `"*"` 作为通配符。 - -解析顺序(最具体的优先): - -1. 群组/频道 `toolsBySender` 匹配 -2. 群组/频道 `tools` -3. 默认(`"*"`)`toolsBySender` 匹配 -4. 默认(`"*"`)`tools` - -示例(Telegram): - -```json5 -{ - channels: { - telegram: { - groups: { - "*": { tools: { deny: ["exec"] } }, - "-1001234567890": { - tools: { deny: ["exec", "read", "write"] }, - toolsBySender: { - "123456789": { alsoAllow: ["exec"] }, - }, - }, - }, - }, - }, -} -``` - -注意事项: - -- 群组/频道工具限制在全局/智能体工具策略之外额外应用(deny 仍然优先)。 -- 某些渠道对房间/频道使用不同的嵌套结构(例如,Discord `guilds.*.channels.*`、Slack `channels.*`、MS Teams `teams.*.channels.*`)。 - -## 群组允许列表 - -当配置了 `channels.whatsapp.groups`、`channels.telegram.groups` 或 `channels.imessage.groups` 时,键作为群组允许列表。使用 `"*"` 允许所有群组,同时仍设置默认提及行为。 - -常见意图(复制/粘贴): - -1. 禁用所有群组回复 - -```json5 -{ - channels: { whatsapp: { groupPolicy: "disabled" } }, -} -``` - -2. 仅允许特定群组(WhatsApp) - -```json5 -{ - channels: { - whatsapp: { - groups: { - "123@g.us": { requireMention: true }, - "456@g.us": { requireMention: false }, - }, - }, - }, -} -``` - -3. 允许所有群组但需要提及(显式) - -```json5 -{ - channels: { - whatsapp: { - groups: { "*": { requireMention: true } }, - }, - }, -} -``` - -4. 仅所有者可以在群组中触发(WhatsApp) - -```json5 -{ - channels: { - whatsapp: { - groupPolicy: "allowlist", - groupAllowFrom: ["+15551234567"], - groups: { "*": { requireMention: true } }, - }, - }, -} -``` - -## 激活(仅所有者) - -群组所有者可以切换每个群组的激活状态: - -- `/activation mention` -- `/activation always` - -所有者由 `channels.whatsapp.allowFrom` 确定(未设置时为机器人自身的 E.164)。将命令作为独立消息发送。其他平台目前忽略 `/activation`。 - -## 上下文字段 - -群组入站负载设置: - -- `ChatType=group` -- `GroupSubject`(如果已知) -- `GroupMembers`(如果已知) -- `WasMentioned`(提及限制结果) -- Telegram 论坛话题还包括 `MessageThreadId` 和 `IsForum`。 - -智能体系统提示在新群组会话的第一轮包含群组介绍。它提醒模型像人类一样回复,避免 Markdown 表格,避免输入字面量 `\n` 序列。 - -## iMessage 特定内容 - -- 路由或允许列表时优先使用 `chat_id:`。 -- 列出聊天:`imsg chats --limit 20`。 -- 群组回复始终返回到相同的 `chat_id`。 - -## WhatsApp 特定内容 - -参见[群消息](/channels/group-messages)了解 WhatsApp 专有行为(历史注入、提及处理详情)。 diff --git a/docs/zh-CN/channels/imessage.md b/docs/zh-CN/channels/imessage.md deleted file mode 100644 index 5d33e82df90..00000000000 --- a/docs/zh-CN/channels/imessage.md +++ /dev/null @@ -1,302 +0,0 @@ ---- -read_when: - - 设置 iMessage 支持 - - 调试 iMessage 发送/接收 -summary: 通过 imsg(基于 stdio 的 JSON-RPC)实现 iMessage 支持、设置及 chat_id 路由 -title: iMessage -x-i18n: - generated_at: "2026-02-03T07:44:18Z" - model: claude-opus-4-6 - provider: pi - source_hash: bc19756a42ead80a0845f18c4830c3f1f40948f69b2b016a4026598cfb8fef0d - source_path: channels/imessage.md - workflow: 15 ---- - -# iMessage (imsg) - -状态:外部 CLI 集成。Gateway 网关生成 `imsg rpc`(基于 stdio 的 JSON-RPC)。 - -## 快速设置(新手) - -1. 确保在此 Mac 上已登录"信息"。 -2. 安装 `imsg`: - - `brew install steipete/tap/imsg` -3. 配置 OpenClaw 的 `channels.imessage.cliPath` 和 `channels.imessage.dbPath`。 -4. 启动 Gateway 网关并批准所有 macOS 提示(自动化 + 完全磁盘访问权限)。 - -最小配置: - -```json5 -{ - channels: { - imessage: { - enabled: true, - cliPath: "/usr/local/bin/imsg", - dbPath: "/Users//Library/Messages/chat.db", - }, - }, -} -``` - -## 简介 - -- 基于 macOS 上 `imsg` 的 iMessage 渠道。 -- 确定性路由:回复始终返回到 iMessage。 -- 私信共享智能体的主会话;群组是隔离的(`agent::imessage:group:`)。 -- 如果多参与者会话以 `is_group=false` 到达,你仍可使用 `channels.imessage.groups` 按 `chat_id` 隔离(参见下方"类群组会话")。 - -## 配置写入 - -默认情况下,iMessage 允许写入由 `/config set|unset` 触发的配置更新(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { imessage: { configWrites: false } }, -} -``` - -## 要求 - -- 已登录"信息"的 macOS。 -- OpenClaw + `imsg` 的完全磁盘访问权限(访问"信息"数据库)。 -- 发送时需要自动化权限。 -- `channels.imessage.cliPath` 可以指向任何代理 stdin/stdout 的命令(例如,通过 SSH 连接到另一台 Mac 并运行 `imsg rpc` 的包装脚本)。 - -## 设置(快速路径) - -1. 确保在此 Mac 上已登录"信息"。 -2. 配置 iMessage 并启动 Gateway 网关。 - -### 专用机器人 macOS 用户(用于隔离身份) - -如果你希望机器人从**独立的 iMessage 身份**发送(并保持你的个人"信息"整洁),请使用专用 Apple ID + 专用 macOS 用户。 - -1. 创建专用 Apple ID(例如:`my-cool-bot@icloud.com`)。 - - Apple 可能需要电话号码进行验证 / 2FA。 -2. 创建 macOS 用户(例如:`openclawhome`)并登录。 -3. 在该 macOS 用户中打开"信息"并使用机器人 Apple ID 登录 iMessage。 -4. 启用远程登录(系统设置 → 通用 → 共享 → 远程登录)。 -5. 安装 `imsg`: - - `brew install steipete/tap/imsg` -6. 设置 SSH 使 `ssh @localhost true` 无需密码即可工作。 -7. 将 `channels.imessage.accounts.bot.cliPath` 指向以机器人用户身份运行 `imsg` 的 SSH 包装脚本。 - -首次运行注意事项:发送/接收可能需要在*机器人 macOS 用户*中进行 GUI 批准(自动化 + 完全磁盘访问权限)。如果 `imsg rpc` 看起来卡住或退出,请登录该用户(屏幕共享很有帮助),运行一次 `imsg chats --limit 1` / `imsg send ...`,批准提示,然后重试。 - -示例包装脚本(`chmod +x`)。将 `` 替换为你的实际 macOS 用户名: - -```bash -#!/usr/bin/env bash -set -euo pipefail - -# Run an interactive SSH once first to accept host keys: -# ssh @localhost true -exec /usr/bin/ssh -o BatchMode=yes -o ConnectTimeout=5 -T @localhost \ - "/usr/local/bin/imsg" "$@" -``` - -示例配置: - -```json5 -{ - channels: { - imessage: { - enabled: true, - accounts: { - bot: { - name: "Bot", - enabled: true, - cliPath: "/path/to/imsg-bot", - dbPath: "/Users//Library/Messages/chat.db", - }, - }, - }, - }, -} -``` - -对于单账户设置,使用扁平选项(`channels.imessage.cliPath`、`channels.imessage.dbPath`)而不是 `accounts` 映射。 - -### 远程/SSH 变体(可选) - -如果你想在另一台 Mac 上使用 iMessage,请将 `channels.imessage.cliPath` 设置为通过 SSH 在远程 macOS 主机上运行 `imsg` 的包装脚本。OpenClaw 只需要 stdio。 - -示例包装脚本: - -```bash -#!/usr/bin/env bash -exec ssh -T gateway-host imsg "$@" -``` - -**远程附件:** 当 `cliPath` 通过 SSH 指向远程主机时,"信息"数据库中的附件路径引用的是远程机器上的文件。OpenClaw 可以通过设置 `channels.imessage.remoteHost` 自动通过 SCP 获取这些文件: - -```json5 -{ - channels: { - imessage: { - cliPath: "~/imsg-ssh", // SSH wrapper to remote Mac - remoteHost: "user@gateway-host", // for SCP file transfer - includeAttachments: true, - }, - }, -} -``` - -如果未设置 `remoteHost`,OpenClaw 会尝试通过解析包装脚本中的 SSH 命令自动检测。建议显式配置以提高可靠性。 - -#### 通过 Tailscale 连接远程 Mac(示例) - -如果 Gateway 网关运行在 Linux 主机/虚拟机上但 iMessage 必须运行在 Mac 上,Tailscale 是最简单的桥接方式:Gateway 网关通过 tailnet 与 Mac 通信,通过 SSH 运行 `imsg`,并通过 SCP 获取附件。 - -架构: - -``` -┌──────────────────────────────┐ SSH (imsg rpc) ┌──────────────────────────┐ -│ Gateway host (Linux/VM) │──────────────────────────────────▶│ Mac with Messages + imsg │ -│ - openclaw gateway │ SCP (attachments) │ - Messages signed in │ -│ - channels.imessage.cliPath │◀──────────────────────────────────│ - Remote Login enabled │ -└──────────────────────────────┘ └──────────────────────────┘ - ▲ - │ Tailscale tailnet (hostname or 100.x.y.z) - ▼ - user@gateway-host -``` - -具体配置示例(Tailscale 主机名): - -```json5 -{ - channels: { - imessage: { - enabled: true, - cliPath: "~/.openclaw/scripts/imsg-ssh", - remoteHost: "bot@mac-mini.tailnet-1234.ts.net", - includeAttachments: true, - dbPath: "/Users/bot/Library/Messages/chat.db", - }, - }, -} -``` - -示例包装脚本(`~/.openclaw/scripts/imsg-ssh`): - -```bash -#!/usr/bin/env bash -exec ssh -T bot@mac-mini.tailnet-1234.ts.net imsg "$@" -``` - -注意事项: - -- 确保 Mac 已登录"信息",并已启用远程登录。 -- 使用 SSH 密钥使 `ssh bot@mac-mini.tailnet-1234.ts.net` 无需提示即可工作。 -- `remoteHost` 应与 SSH 目标匹配,以便 SCP 可以获取附件。 - -多账户支持:使用 `channels.imessage.accounts` 配置每个账户及可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。不要提交 `~/.openclaw/openclaw.json`(它通常包含令牌)。 - -## 访问控制(私信 + 群组) - -私信: - -- 默认:`channels.imessage.dmPolicy = "pairing"`。 -- 未知发送者会收到配对码;消息在批准前会被忽略(配对码在 1 小时后过期)。 -- 批准方式: - - `openclaw pairing list imessage` - - `openclaw pairing approve imessage ` -- 配对是 iMessage 私信的默认令牌交换方式。详情:[配对](/channels/pairing) - -群组: - -- `channels.imessage.groupPolicy = open | allowlist | disabled`。 -- 设置 `allowlist` 时,`channels.imessage.groupAllowFrom` 控制谁可以在群组中触发。 -- 提及检测使用 `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`),因为 iMessage 没有原生提及元数据。 -- 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每个智能体的模式。 - -## 工作原理(行为) - -- `imsg` 流式传输消息事件;Gateway 网关将它们规范化为共享渠道信封。 -- 回复始终路由回相同的 chat id 或 handle。 - -## 类群组会话(`is_group=false`) - -某些 iMessage 会话可能有多个参与者,但根据"信息"存储聊天标识符的方式,仍以 `is_group=false` 到达。 - -如果你在 `channels.imessage.groups` 下显式配置了 `chat_id`,OpenClaw 会将该会话视为"群组"用于: - -- 会话隔离(独立的 `agent::imessage:group:` 会话键) -- 群组允许列表 / 提及检测行为 - -示例: - -```json5 -{ - channels: { - imessage: { - groupPolicy: "allowlist", - groupAllowFrom: ["+15555550123"], - groups: { - "42": { requireMention: false }, - }, - }, - }, -} -``` - -当你想为特定会话使用隔离的个性/模型时这很有用(参见[多智能体路由](/concepts/multi-agent))。关于文件系统隔离,参见[沙箱隔离](/gateway/sandboxing)。 - -## 媒体 + 限制 - -- 通过 `channels.imessage.includeAttachments` 可选附件摄取。 -- 通过 `channels.imessage.mediaMaxMb` 设置媒体上限。 - -## 限制 - -- 出站文本按 `channels.imessage.textChunkLimit` 分块(默认 4000)。 -- 可选换行分块:设置 `channels.imessage.chunkMode="newline"` 在长度分块前按空行(段落边界)分割。 -- 媒体上传受 `channels.imessage.mediaMaxMb` 限制(默认 16)。 - -## 寻址 / 投递目标 - -优先使用 `chat_id` 进行稳定路由: - -- `chat_id:123`(推荐) -- `chat_guid:...` -- `chat_identifier:...` -- 直接 handle:`imessage:+1555` / `sms:+1555` / `user@example.com` - -列出聊天: - -``` -imsg chats --limit 20 -``` - -## 配置参考(iMessage) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.imessage.enabled`:启用/禁用渠道启动。 -- `channels.imessage.cliPath`:`imsg` 路径。 -- `channels.imessage.dbPath`:"信息"数据库路径。 -- `channels.imessage.remoteHost`:当 `cliPath` 指向远程 Mac 时用于 SCP 附件传输的 SSH 主机(例如 `user@gateway-host`)。如未设置则从 SSH 包装脚本自动检测。 -- `channels.imessage.service`:`imessage | sms | auto`。 -- `channels.imessage.region`:短信区域。 -- `channels.imessage.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing)。 -- `channels.imessage.allowFrom`:私信允许列表(handle、邮箱、E.164 号码或 `chat_id:*`)。`open` 需要 `"*"`。iMessage 没有用户名;使用 handle 或聊天目标。 -- `channels.imessage.groupPolicy`:`open | allowlist | disabled`(默认:allowlist)。 -- `channels.imessage.groupAllowFrom`:群组发送者允许列表。 -- `channels.imessage.historyLimit` / `channels.imessage.accounts.*.historyLimit`:作为上下文包含的最大群组消息数(0 禁用)。 -- `channels.imessage.dmHistoryLimit`:私信历史限制(用户轮次)。每用户覆盖:`channels.imessage.dms[""].historyLimit`。 -- `channels.imessage.groups`:每群组默认值 + 允许列表(使用 `"*"` 作为全局默认值)。 -- `channels.imessage.includeAttachments`:将附件摄取到上下文。 -- `channels.imessage.mediaMaxMb`:入站/出站媒体上限(MB)。 -- `channels.imessage.textChunkLimit`:出站分块大小(字符)。 -- `channels.imessage.chunkMode`:`length`(默认)或 `newline` 在长度分块前按空行(段落边界)分割。 - -相关全局选项: - -- `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)。 -- `messages.responsePrefix`。 diff --git a/docs/zh-CN/channels/index.md b/docs/zh-CN/channels/index.md deleted file mode 100644 index 36162309808..00000000000 --- a/docs/zh-CN/channels/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -read_when: - - 你想为 OpenClaw 选择一个聊天渠道 - - 你需要快速了解支持的消息平台 -summary: OpenClaw 可连接的消息平台 -title: 聊天渠道 -x-i18n: - generated_at: "2026-02-03T07:43:27Z" - model: claude-opus-4-6 - provider: pi - source_hash: 2632863def6dee97e0fa8b931762f0969174fd4fb22303a00dcd46527fe4a141 - source_path: channels/index.md - workflow: 15 ---- - -# 聊天渠道 - -OpenClaw 可以在你已经使用的任何聊天应用上与你交流。每个渠道通过 Gateway 网关连接。 -所有渠道都支持文本;媒体和表情回应的支持因渠道而异。 - -## 支持的渠道 - -- [BlueBubbles](/channels/bluebubbles) — **推荐用于 iMessage**;使用 BlueBubbles macOS 服务器 REST API,功能完整(编辑、撤回、特效、回应、群组管理——编辑功能在 macOS 26 Tahoe 上目前不可用)。 -- [Discord](/channels/discord) — Discord Bot API + Gateway;支持服务器、频道和私信。 -- [飞书](/channels/feishu) — 飞书(Lark)机器人(插件,需单独安装)。 -- [Google Chat](/channels/googlechat) — 通过 HTTP webhook 的 Google Chat API 应用。 -- [iMessage(旧版)](/channels/imessage) — 通过 imsg CLI 的旧版 macOS 集成(已弃用,新设置请使用 BlueBubbles)。 -- [LINE](/channels/line) — LINE Messaging API 机器人(插件,需单独安装)。 -- [Matrix](/channels/matrix) — Matrix 协议(插件,需单独安装)。 -- [Mattermost](/channels/mattermost) — Bot API + WebSocket;频道、群组、私信(插件,需单独安装)。 -- [Microsoft Teams](/channels/msteams) — Bot Framework;企业支持(插件,需单独安装)。 -- [Nextcloud Talk](/channels/nextcloud-talk) — 通过 Nextcloud Talk 的自托管聊天(插件,需单独安装)。 -- [Nostr](/channels/nostr) — 通过 NIP-04 的去中心化私信(插件,需单独安装)。 -- [Signal](/channels/signal) — signal-cli;注重隐私。 -- [Slack](/channels/slack) — Bolt SDK;工作区应用。 -- [Telegram](/channels/telegram) — 通过 grammY 使用 Bot API;支持群组。 -- [Tlon](/channels/tlon) — 基于 Urbit 的消息应用(插件,需单独安装)。 -- [Twitch](/channels/twitch) — 通过 IRC 连接的 Twitch 聊天(插件,需单独安装)。 -- [WebChat](/web/webchat) — 基于 WebSocket 的 Gateway 网关 WebChat 界面。 -- [WhatsApp](/channels/whatsapp) — 最受欢迎;使用 Baileys,需要二维码配对。 -- [Zalo](/channels/zalo) — Zalo Bot API;越南流行的消息应用(插件,需单独安装)。 -- [Zalo Personal](/channels/zalouser) — 通过二维码登录的 Zalo 个人账号(插件,需单独安装)。 - -## 注意事项 - -- 渠道可以同时运行;配置多个渠道后,OpenClaw 会按聊天进行路由。 -- 最快的设置方式通常是 **Telegram**(简单的机器人令牌)。WhatsApp 需要二维码配对, - 并在磁盘上存储更多状态。 -- 群组行为因渠道而异;参见[群组](/channels/groups)。 -- 为安全起见,私信配对和允许列表会被强制执行;参见[安全](/gateway/security)。 -- Telegram 内部机制:[grammY 说明](/channels/grammy)。 -- 故障排除:[渠道故障排除](/channels/troubleshooting)。 -- 模型提供商单独记录;参见[模型提供商](/providers/models)。 diff --git a/docs/zh-CN/channels/line.md b/docs/zh-CN/channels/line.md deleted file mode 100644 index 29d7533e787..00000000000 --- a/docs/zh-CN/channels/line.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -read_when: - - 你想将 OpenClaw 连接到 LINE - - 你需要配置 LINE webhook + 凭证 - - 你想了解 LINE 特有的消息选项 -summary: LINE Messaging API 插件的配置、设置和使用方法 -title: LINE -x-i18n: - generated_at: "2026-02-03T07:43:38Z" - model: claude-opus-4-6 - provider: pi - source_hash: 8fbac126786f95b9454f3cc61906c2798393a8d7914e787d3755c020c7ab2da6 - source_path: channels/line.md - workflow: 15 ---- - -# LINE(插件) - -LINE 通过 LINE Messaging API 连接到 OpenClaw。该插件作为 webhook 接收器在 Gateway 网关上运行,使用你的 channel access token + channel secret 进行身份验证。 - -状态:通过插件支持。支持私信、群聊、媒体、位置、Flex 消息、模板消息和快捷回复。不支持表情回应和话题回复。 - -## 需要安装插件 - -安装 LINE 插件: - -```bash -openclaw plugins install @openclaw/line -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/line -``` - -## 配置步骤 - -1. 创建 LINE Developers 账户并打开控制台: - https://developers.line.biz/console/ -2. 创建(或选择)一个 Provider 并添加 **Messaging API** 渠道。 -3. 从渠道设置中复制 **Channel access token** 和 **Channel secret**。 -4. 在 Messaging API 设置中启用 **Use webhook**。 -5. 将 webhook URL 设置为你的 Gateway 网关端点(必须使用 HTTPS): - -``` -https://gateway-host/line/webhook -``` - -Gateway 网关会响应 LINE 的 webhook 验证(GET)和入站事件(POST)。如果你需要自定义路径,请设置 `channels.line.webhookPath` 或 `channels.line.accounts..webhookPath` 并相应更新 URL。 - -## 配置 - -最小配置: - -```json5 -{ - channels: { - line: { - enabled: true, - channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN", - channelSecret: "LINE_CHANNEL_SECRET", - dmPolicy: "pairing", - }, - }, -} -``` - -环境变量(仅限默认账户): - -- `LINE_CHANNEL_ACCESS_TOKEN` -- `LINE_CHANNEL_SECRET` - -Token/secret 文件: - -```json5 -{ - channels: { - line: { - tokenFile: "/path/to/line-token.txt", - secretFile: "/path/to/line-secret.txt", - }, - }, -} -``` - -多账户配置: - -```json5 -{ - channels: { - line: { - accounts: { - marketing: { - channelAccessToken: "...", - channelSecret: "...", - webhookPath: "/line/marketing", - }, - }, - }, - }, -} -``` - -## 访问控制 - -私信默认使用配对模式。未知发送者会收到配对码,其消息在获得批准前会被忽略。 - -```bash -openclaw pairing list line -openclaw pairing approve line -``` - -允许列表和策略: - -- `channels.line.dmPolicy`:`pairing | allowlist | open | disabled` -- `channels.line.allowFrom`:私信的允许列表 LINE 用户 ID -- `channels.line.groupPolicy`:`allowlist | open | disabled` -- `channels.line.groupAllowFrom`:群组的允许列表 LINE 用户 ID -- 单群组覆盖:`channels.line.groups..allowFrom` - -LINE ID 区分大小写。有效 ID 格式如下: - -- 用户:`U` + 32 位十六进制字符 -- 群组:`C` + 32 位十六进制字符 -- 房间:`R` + 32 位十六进制字符 - -## 消息行为 - -- 文本按 5000 字符分块。 -- Markdown 格式会被移除;代码块和表格会尽可能转换为 Flex 卡片。 -- 流式响应会被缓冲;智能体处理时,LINE 会收到完整分块并显示加载动画。 -- 媒体下载受 `channels.line.mediaMaxMb` 限制(默认 10)。 - -## 渠道数据(富消息) - -使用 `channelData.line` 发送快捷回复、位置、Flex 卡片或模板消息。 - -```json5 -{ - text: "Here you go", - channelData: { - line: { - quickReplies: ["Status", "Help"], - location: { - title: "Office", - address: "123 Main St", - latitude: 35.681236, - longitude: 139.767125, - }, - flexMessage: { - altText: "Status card", - contents: { - /* Flex payload */ - }, - }, - templateMessage: { - type: "confirm", - text: "Proceed?", - confirmLabel: "Yes", - confirmData: "yes", - cancelLabel: "No", - cancelData: "no", - }, - }, - }, -} -``` - -LINE 插件还提供 `/card` 命令用于 Flex 消息预设: - -``` -/card info "Welcome" "Thanks for joining!" -``` - -## 故障排除 - -- **Webhook 验证失败:** 确保 webhook URL 使用 HTTPS 且 `channelSecret` 与 LINE 控制台中的一致。 -- **没有入站事件:** 确认 webhook 路径与 `channels.line.webhookPath` 匹配,且 Gateway 网关可从 LINE 访问。 -- **媒体下载错误:** 如果媒体超过默认限制,请提高 `channels.line.mediaMaxMb`。 diff --git a/docs/zh-CN/channels/location.md b/docs/zh-CN/channels/location.md deleted file mode 100644 index e1861a87c78..00000000000 --- a/docs/zh-CN/channels/location.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -read_when: - - 添加或修改渠道位置解析 - - 在智能体提示或工具中使用位置上下文字段 -summary: 入站渠道位置解析(Telegram + WhatsApp)及上下文字段 -title: 渠道位置解析 -x-i18n: - generated_at: "2026-02-01T19:21:46Z" - model: claude-opus-4-6 - provider: pi - source_hash: 5602ef105c3da7e47497bfed8fc343dd8d7f3c019ff7e423a08b25092c5a1837 - source_path: channels/location.md - workflow: 14 ---- - -# 渠道位置解析 - -OpenClaw 将聊天渠道中分享的位置标准化为: - -- 附加到入站消息体的可读文本,以及 -- 自动回复上下文负载中的结构化字段。 - -目前支持: - -- **Telegram**(位置图钉 + 地点 + 实时位置) -- **WhatsApp**(locationMessage + liveLocationMessage) -- **Matrix**(`m.location` 配合 `geo_uri`) - -## 文本格式 - -位置以友好的行格式呈现,不带括号: - -- 图钉: - - `📍 48.858844, 2.294351 ±12m` -- 命名地点: - - `📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)` -- 实时分享: - - `🛰 Live location: 48.858844, 2.294351 ±12m` - -如果渠道包含标题/评论,会附加在下一行: - -``` -📍 48.858844, 2.294351 ±12m -Meet here -``` - -## 上下文字段 - -当存在位置信息时,以下字段会被添加到 `ctx` 中: - -- `LocationLat`(数字) -- `LocationLon`(数字) -- `LocationAccuracy`(数字,米;可选) -- `LocationName`(字符串;可选) -- `LocationAddress`(字符串;可选) -- `LocationSource`(`pin | place | live`) -- `LocationIsLive`(布尔值) - -## 渠道说明 - -- **Telegram**:地点映射到 `LocationName/LocationAddress`;实时位置使用 `live_period`。 -- **WhatsApp**:`locationMessage.comment` 和 `liveLocationMessage.caption` 作为标题行附加。 -- **Matrix**:`geo_uri` 解析为图钉位置;忽略海拔高度,`LocationIsLive` 始终为 false。 diff --git a/docs/zh-CN/channels/matrix.md b/docs/zh-CN/channels/matrix.md deleted file mode 100644 index 737826c6e83..00000000000 --- a/docs/zh-CN/channels/matrix.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -read_when: - - 开发 Matrix 渠道功能 -summary: Matrix 支持状态、功能和配置 -title: Matrix -x-i18n: - generated_at: "2026-02-03T07:44:02Z" - model: claude-opus-4-6 - provider: pi - source_hash: b276b5263593c766e7be6549abbb27927177e7b51cfd297b4825965372513ee4 - source_path: channels/matrix.md - workflow: 15 ---- - -# Matrix(插件) - -Matrix 是一个开放的去中心化消息协议。OpenClaw 以 Matrix **用户**身份连接到任意主服务器,因此你需要为机器人创建一个 Matrix 账户。登录后,你可以直接私信机器人或邀请它加入房间(Matrix"群组")。Beeper 也是一个有效的客户端选项,但它需要启用 E2EE。 - -状态:通过插件(@vector-im/matrix-bot-sdk)支持。支持私信、房间、话题、媒体、表情回应、投票(发送 + poll-start 作为文本)、位置和 E2EE(需要加密支持)。 - -## 需要插件 - -Matrix 作为插件提供,不包含在核心安装中。 - -通过 CLI 安装(npm 仓库): - -```bash -openclaw plugins install @openclaw/matrix -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/matrix -``` - -如果你在配置/新手引导期间选择 Matrix 并检测到 git 检出,OpenClaw 将自动提供本地安装路径。 - -详情:[插件](/tools/plugin) - -## 设置 - -1. 安装 Matrix 插件: - - 从 npm:`openclaw plugins install @openclaw/matrix` - - 从本地检出:`openclaw plugins install ./extensions/matrix` -2. 在主服务器上创建 Matrix 账户: - - 在 [https://matrix.org/ecosystem/hosting/](https://matrix.org/ecosystem/hosting/) 浏览托管选项 - - 或自行托管。 -3. 获取机器人账户的访问令牌: - - 在你的主服务器上使用 `curl` 调用 Matrix 登录 API: - - ```bash - curl --request POST \ - --url https://matrix.example.org/_matrix/client/v3/login \ - --header 'Content-Type: application/json' \ - --data '{ - "type": "m.login.password", - "identifier": { - "type": "m.id.user", - "user": "your-user-name" - }, - "password": "your-password" - }' - ``` - - - 将 `matrix.example.org` 替换为你的主服务器 URL。 - - 或设置 `channels.matrix.userId` + `channels.matrix.password`:OpenClaw 会调用相同的登录端点,将访问令牌存储在 `~/.openclaw/credentials/matrix/credentials.json`,并在下次启动时重用。 - -4. 配置凭证: - - 环境变量:`MATRIX_HOMESERVER`、`MATRIX_ACCESS_TOKEN`(或 `MATRIX_USER_ID` + `MATRIX_PASSWORD`) - - 或配置:`channels.matrix.*` - - 如果两者都设置,配置优先。 - - 使用访问令牌时:用户 ID 通过 `/whoami` 自动获取。 - - 设置时,`channels.matrix.userId` 应为完整的 Matrix ID(示例:`@bot:example.org`)。 -5. 重启 Gateway 网关(或完成新手引导)。 -6. 从任何 Matrix 客户端(Element、Beeper 等;参见 https://matrix.org/ecosystem/clients/)与机器人开始私信或邀请它加入房间。Beeper 需要 E2EE,因此请设置 `channels.matrix.encryption: true` 并验证设备。 - -最小配置(访问令牌,用户 ID 自动获取): - -```json5 -{ - channels: { - matrix: { - enabled: true, - homeserver: "https://matrix.example.org", - accessToken: "syt_***", - dm: { policy: "pairing" }, - }, - }, -} -``` - -E2EE 配置(启用端到端加密): - -```json5 -{ - channels: { - matrix: { - enabled: true, - homeserver: "https://matrix.example.org", - accessToken: "syt_***", - encryption: true, - dm: { policy: "pairing" }, - }, - }, -} -``` - -## 加密(E2EE) - -通过 Rust 加密 SDK **支持**端到端加密。 - -使用 `channels.matrix.encryption: true` 启用: - -- 如果加密模块加载成功,加密房间会自动解密。 -- 发送到加密房间时,出站媒体会被加密。 -- 首次连接时,OpenClaw 会向你的其他会话请求设备验证。 -- 在另一个 Matrix 客户端(Element 等)中验证设备以启用密钥共享。 -- 如果无法加载加密模块,E2EE 将被禁用,加密房间将无法解密;OpenClaw 会记录警告。 -- 如果你看到缺少加密模块的错误(例如 `@matrix-org/matrix-sdk-crypto-nodejs-*`),请允许 `@matrix-org/matrix-sdk-crypto-nodejs` 的构建脚本并运行 `pnpm rebuild @matrix-org/matrix-sdk-crypto-nodejs`,或使用 `node node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js` 获取二进制文件。 - -加密状态按账户 + 访问令牌存储在 `~/.openclaw/matrix/accounts//__//crypto/`(SQLite 数据库)。同步状态存储在同目录的 `bot-storage.json` 中。如果访问令牌(设备)更改,将创建新的存储,机器人必须重新验证才能访问加密房间。 - -**设备验证:** -启用 E2EE 时,机器人将在启动时向你的其他会话请求验证。打开 Element(或其他客户端)并批准验证请求以建立信任。验证后,机器人可以解密加密房间中的消息。 - -## 路由模型 - -- 回复始终返回到 Matrix。 -- 私信共享智能体的主会话;房间映射到群组会话。 - -## 访问控制(私信) - -- 默认:`channels.matrix.dm.policy = "pairing"`。未知发送者会收到配对码。 -- 通过以下方式批准: - - `openclaw pairing list matrix` - - `openclaw pairing approve matrix ` -- 公开私信:`channels.matrix.dm.policy="open"` 加上 `channels.matrix.dm.allowFrom=["*"]`。 -- `channels.matrix.dm.allowFrom` 仅接受完整 Matrix 用户 ID(例如 `@user:server`)。向导仅在目录搜索得到唯一精确匹配时将显示名称解析为用户 ID。 - -## 房间(群组) - -- 默认:`channels.matrix.groupPolicy = "allowlist"`(提及门控)。使用 `channels.defaults.groupPolicy` 在未设置时覆盖默认值。 -- 使用 `channels.matrix.groups` 配置房间允许列表(房间 ID 或别名;名称仅在目录搜索得到唯一精确匹配时解析为 ID): - -```json5 -{ - channels: { - matrix: { - groupPolicy: "allowlist", - groups: { - "!roomId:example.org": { allow: true }, - "#alias:example.org": { allow: true }, - }, - groupAllowFrom: ["@owner:example.org"], - }, - }, -} -``` - -- `requireMention: false` 启用该房间的自动回复。 -- `groups."*"` 可以设置跨房间的提及门控默认值。 -- `groupAllowFrom` 限制哪些发送者可以在房间中触发机器人(需完整 Matrix 用户 ID)。 -- 每个房间的 `users` 允许列表可以进一步限制特定房间内的发送者(需完整 Matrix 用户 ID)。 -- 配置向导会提示输入房间允许列表(房间 ID、别名或名称),仅在精确且唯一匹配时解析名称。 -- 启动时,OpenClaw 将允许列表中的房间/用户名称解析为 ID 并记录映射;未解析的条目不会参与允许列表匹配。 -- 默认自动加入邀请;使用 `channels.matrix.autoJoin` 和 `channels.matrix.autoJoinAllowlist` 控制。 -- 要**禁止所有房间**,设置 `channels.matrix.groupPolicy: "disabled"`(或保持空的允许列表)。 -- 旧版键名:`channels.matrix.rooms`(与 `groups` 相同的结构)。 - -## 话题 - -- 支持回复话题。 -- `channels.matrix.threadReplies` 控制回复是否保持在话题中: - - `off`、`inbound`(默认)、`always` -- `channels.matrix.replyToMode` 控制不在话题中回复时的 reply-to 元数据: - - `off`(默认)、`first`、`all` - -## 功能 - -| 功能 | 状态 | -| -------- | ------------------------------------------------------ | -| 私信 | ✅ 支持 | -| 房间 | ✅ 支持 | -| 话题 | ✅ 支持 | -| 媒体 | ✅ 支持 | -| E2EE | ✅ 支持(需要加密模块) | -| 表情回应 | ✅ 支持(通过工具发送/读取) | -| 投票 | ✅ 支持发送;入站投票开始转换为文本(响应/结束被忽略) | -| 位置 | ✅ 支持(geo URI;忽略海拔) | -| 原生命令 | ✅ 支持 | - -## 配置参考(Matrix) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.matrix.enabled`:启用/禁用渠道启动。 -- `channels.matrix.homeserver`:主服务器 URL。 -- `channels.matrix.userId`:Matrix 用户 ID(使用访问令牌时可选)。 -- `channels.matrix.accessToken`:访问令牌。 -- `channels.matrix.password`:登录密码(令牌会被存储)。 -- `channels.matrix.deviceName`:设备显示名称。 -- `channels.matrix.encryption`:启用 E2EE(默认:false)。 -- `channels.matrix.initialSyncLimit`:初始同步限制。 -- `channels.matrix.threadReplies`:`off | inbound | always`(默认:inbound)。 -- `channels.matrix.textChunkLimit`:出站文本分块大小(字符)。 -- `channels.matrix.chunkMode`:`length`(默认)或 `newline` 在长度分块前按空行(段落边界)分割。 -- `channels.matrix.dm.policy`:`pairing | allowlist | open | disabled`(默认:pairing)。 -- `channels.matrix.dm.allowFrom`:私信允许列表(需完整 Matrix 用户 ID)。`open` 需要 `"*"`。向导在可能时将名称解析为 ID。 -- `channels.matrix.groupPolicy`:`allowlist | open | disabled`(默认:allowlist)。 -- `channels.matrix.groupAllowFrom`:群组消息的允许发送者列表(需完整 Matrix 用户 ID)。 -- `channels.matrix.allowlistOnly`:强制私信 + 房间使用允许列表规则。 -- `channels.matrix.groups`:群组允许列表 + 每个房间的设置映射。 -- `channels.matrix.rooms`:旧版群组允许列表/配置。 -- `channels.matrix.replyToMode`:话题/标签的 reply-to 模式。 -- `channels.matrix.mediaMaxMb`:入站/出站媒体上限(MB)。 -- `channels.matrix.autoJoin`:邀请处理(`always | allowlist | off`,默认:always)。 -- `channels.matrix.autoJoinAllowlist`:自动加入的允许房间 ID/别名。 -- `channels.matrix.actions`:每个操作的工具限制(reactions/messages/pins/memberInfo/channelInfo)。 diff --git a/docs/zh-CN/channels/mattermost.md b/docs/zh-CN/channels/mattermost.md deleted file mode 100644 index 8bce17e3a2c..00000000000 --- a/docs/zh-CN/channels/mattermost.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -read_when: - - 设置 Mattermost - - 调试 Mattermost 路由 -summary: Mattermost 机器人设置和 OpenClaw 配置 -title: Mattermost -x-i18n: - generated_at: "2026-02-03T07:43:43Z" - model: claude-opus-4-6 - provider: pi - source_hash: 57fabe5eb0efbcb885f4178b317b2fa99a41daf609e3a471de2b44db9def4ad7 - source_path: channels/mattermost.md - workflow: 15 ---- - -# Mattermost(插件) - -状态:通过插件支持(bot token + WebSocket 事件)。支持频道、群组和私信。 -Mattermost 是一个可自托管的团队消息平台;有关产品详情和下载,请访问官方网站 -[mattermost.com](https://mattermost.com)。 - -## 需要插件 - -Mattermost 以插件形式提供,不包含在核心安装中。 - -通过 CLI 安装(npm 注册表): - -```bash -openclaw plugins install @openclaw/mattermost -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/mattermost -``` - -如果你在配置/新手引导期间选择 Mattermost 并检测到 git 检出,OpenClaw 会自动提供本地安装路径。 - -详情:[插件](/tools/plugin) - -## 快速设置 - -1. 安装 Mattermost 插件。 -2. 创建 Mattermost bot 账户并复制 **bot token**。 -3. 复制 Mattermost **基础 URL**(例如 `https://chat.example.com`)。 -4. 配置 OpenClaw 并启动 Gateway 网关。 - -最小配置: - -```json5 -{ - channels: { - mattermost: { - enabled: true, - botToken: "mm-token", - baseUrl: "https://chat.example.com", - dmPolicy: "pairing", - }, - }, -} -``` - -## 环境变量(默认账户) - -如果你偏好使用环境变量,请在 Gateway 网关主机上设置: - -- `MATTERMOST_BOT_TOKEN=...` -- `MATTERMOST_URL=https://chat.example.com` - -环境变量仅适用于**默认**账户(`default`)。其他账户必须使用配置值。 - -## 聊天模式 - -Mattermost 自动响应私信。频道行为由 `chatmode` 控制: - -- `oncall`(默认):仅在频道中被 @提及时响应。 -- `onmessage`:响应每条频道消息。 -- `onchar`:当消息以触发前缀开头时响应。 - -配置示例: - -```json5 -{ - channels: { - mattermost: { - chatmode: "onchar", - oncharPrefixes: [">", "!"], - }, - }, -} -``` - -注意事项: - -- `onchar` 仍会响应显式 @提及。 -- `channels.mattermost.requireMention` 对旧配置仍然有效,但推荐使用 `chatmode`。 - -## 访问控制(私信) - -- 默认:`channels.mattermost.dmPolicy = "pairing"`(未知发送者会收到配对码)。 -- 通过以下方式批准: - - `openclaw pairing list mattermost` - - `openclaw pairing approve mattermost ` -- 公开私信:`channels.mattermost.dmPolicy="open"` 加上 `channels.mattermost.allowFrom=["*"]`。 - -## 频道(群组) - -- 默认:`channels.mattermost.groupPolicy = "allowlist"`(提及限制)。 -- 使用 `channels.mattermost.groupAllowFrom` 将发送者加入允许列表(用户 ID 或 `@username`)。 -- 开放频道:`channels.mattermost.groupPolicy="open"`(提及限制)。 - -## 出站投递目标 - -在 `openclaw message send` 或 cron/webhooks 中使用这些目标格式: - -- `channel:` 用于频道 -- `user:` 用于私信 -- `@username` 用于私信(通过 Mattermost API 解析) - -裸 ID 被视为频道。 - -## 多账户 - -Mattermost 支持在 `channels.mattermost.accounts` 下配置多个账户: - -```json5 -{ - channels: { - mattermost: { - accounts: { - default: { name: "Primary", botToken: "mm-token", baseUrl: "https://chat.example.com" }, - alerts: { name: "Alerts", botToken: "mm-token-2", baseUrl: "https://alerts.example.com" }, - }, - }, - }, -} -``` - -## 故障排除 - -- 频道中无回复:确保 bot 在频道中并提及它(oncall),使用触发前缀(onchar),或设置 `chatmode: "onmessage"`。 -- 认证错误:检查 bot token、基础 URL 以及账户是否已启用。 -- 多账户问题:环境变量仅适用于 `default` 账户。 diff --git a/docs/zh-CN/channels/msteams.md b/docs/zh-CN/channels/msteams.md deleted file mode 100644 index 9c369fd017d..00000000000 --- a/docs/zh-CN/channels/msteams.md +++ /dev/null @@ -1,775 +0,0 @@ ---- -read_when: - - 开发 MS Teams 渠道功能 -summary: Microsoft Teams 机器人支持状态、功能和配置 -title: Microsoft Teams -x-i18n: - generated_at: "2026-02-03T07:46:52Z" - model: claude-opus-4-6 - provider: pi - source_hash: 2046cb8fa3dd349f4b25a40c013a87188af8f75c1886a782698bff2bb9f70971 - source_path: channels/msteams.md - workflow: 15 ---- - -# Microsoft Teams(插件) - -> "进入此地者,放弃一切希望。" - -更新时间:2026-01-21 - -状态:支持文本 + 私信附件;频道/群组文件发送需要 `sharePointSiteId` + Graph 权限(参见[在群聊中发送文件](#sending-files-in-group-chats))。投票通过 Adaptive Cards 发送。 - -## 需要插件 - -Microsoft Teams 作为插件提供,不包含在核心安装中。 - -**破坏性变更(2026.1.15):** MS Teams 已从核心移出。如果你使用它,必须安装插件。 - -原因说明:保持核心安装更轻量,并让 MS Teams 依赖项可以独立更新。 - -通过 CLI 安装(npm 注册表): - -```bash -openclaw plugins install @openclaw/msteams -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/msteams -``` - -如果你在配置/新手引导过程中选择 Teams 并检测到 git 检出, -OpenClaw 将自动提供本地安装路径。 - -详情:[插件](/tools/plugin) - -## 快速设置(初学者) - -1. 安装 Microsoft Teams 插件。 -2. 创建一个 **Azure Bot**(App ID + 客户端密钥 + 租户 ID)。 -3. 使用这些凭证配置 OpenClaw。 -4. 通过公共 URL 或隧道暴露 `/api/messages`(默认端口 3978)。 -5. 安装 Teams 应用包并启动 Gateway 网关。 - -最小配置: - -```json5 -{ - channels: { - msteams: { - enabled: true, - appId: "", - appPassword: "", - tenantId: "", - webhook: { port: 3978, path: "/api/messages" }, - }, - }, -} -``` - -注意:群聊默认被阻止(`channels.msteams.groupPolicy: "allowlist"`)。要允许群组回复,请设置 `channels.msteams.groupAllowFrom`(或使用 `groupPolicy: "open"` 允许任何成员,需要提及才能触发)。 - -## 目标 - -- 通过 Teams 私信、群聊或频道与 OpenClaw 交流。 -- 保持路由确定性:回复始终返回到消息到达的渠道。 -- 默认使用安全的渠道行为(除非另有配置,否则需要提及)。 - -## 配置写入 - -默认情况下,Microsoft Teams 允许通过 `/config set|unset` 触发的配置更新写入(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { msteams: { configWrites: false } }, -} -``` - -## 访问控制(私信 + 群组) - -**私信访问** - -- 默认:`channels.msteams.dmPolicy = "pairing"`。未知发送者在获得批准之前将被忽略。 -- `channels.msteams.allowFrom` 接受 AAD 对象 ID、UPN 或显示名称。当凭证允许时,向导会通过 Microsoft Graph 将名称解析为 ID。 - -**群组访问** - -- 默认:`channels.msteams.groupPolicy = "allowlist"`(除非添加 `groupAllowFrom`,否则被阻止)。使用 `channels.defaults.groupPolicy` 在未设置时覆盖默认值。 -- `channels.msteams.groupAllowFrom` 控制哪些发送者可以在群聊/频道中触发(回退到 `channels.msteams.allowFrom`)。 -- 设置 `groupPolicy: "open"` 允许任何成员(默认仍需提及才能触发)。 -- 要**不允许任何频道**,设置 `channels.msteams.groupPolicy: "disabled"`。 - -示例: - -```json5 -{ - channels: { - msteams: { - groupPolicy: "allowlist", - groupAllowFrom: ["user@org.com"], - }, - }, -} -``` - -**团队 + 频道允许列表** - -- 通过在 `channels.msteams.teams` 下列出团队和频道来限定群组/频道回复的范围。 -- 键可以是团队 ID 或名称;频道键可以是会话 ID 或名称。 -- 当 `groupPolicy="allowlist"` 且存在团队允许列表时,仅接受列出的团队/频道(需要提及才能触发)。 -- 配置向导接受 `Team/Channel` 条目并为你存储。 -- 启动时,OpenClaw 将团队/频道和用户允许列表名称解析为 ID(当 Graph 权限允许时) - 并记录映射;未解析的条目保持原样。 - -示例: - -```json5 -{ - channels: { - msteams: { - groupPolicy: "allowlist", - teams: { - "My Team": { - channels: { - General: { requireMention: true }, - }, - }, - }, - }, - }, -} -``` - -## 工作原理 - -1. 安装 Microsoft Teams 插件。 -2. 创建一个 **Azure Bot**(App ID + 密钥 + 租户 ID)。 -3. 构建一个引用机器人并包含以下 RSC 权限的 **Teams 应用包**。 -4. 将 Teams 应用上传/安装到团队中(或用于私信的个人范围)。 -5. 在 `~/.openclaw/openclaw.json`(或环境变量)中配置 `msteams` 并启动 Gateway 网关。 -6. Gateway 网关默认在 `/api/messages` 上监听 Bot Framework webhook 流量。 - -## Azure Bot 设置(前提条件) - -在配置 OpenClaw 之前,你需要创建一个 Azure Bot 资源。 - -### 步骤 1:创建 Azure Bot - -1. 前往[创建 Azure Bot](https://portal.azure.com/#create/Microsoft.AzureBot) -2. 填写**基本信息**选项卡: - - | 字段 | 值 | - | ------------------ | --------------------------------------------------- | - | **Bot handle** | 你的机器人名称,例如 `openclaw-msteams`(必须唯一) | - | **Subscription** | 选择你的 Azure 订阅 | - | **Resource group** | 新建或使用现有 | - | **Pricing tier** | **Free** 用于开发/测试 | - | **Type of App** | **Single Tenant**(推荐 - 见下方说明) | - | **Creation type** | **Create new Microsoft App ID** | - -> **弃用通知:** 2025-07-31 之后已弃用创建新的多租户机器人。新机器人请使用 **Single Tenant**。 - -3. 点击 **Review + create** → **Create**(等待约 1-2 分钟) - -### 步骤 2:获取凭证 - -1. 前往你的 Azure Bot 资源 → **Configuration** -2. 复制 **Microsoft App ID** → 这是你的 `appId` -3. 点击 **Manage Password** → 前往应用注册 -4. 在 **Certificates & secrets** → **New client secret** → 复制 **Value** → 这是你的 `appPassword` -5. 前往 **Overview** → 复制 **Directory (tenant) ID** → 这是你的 `tenantId` - -### 步骤 3:配置消息端点 - -1. 在 Azure Bot → **Configuration** -2. 将 **Messaging endpoint** 设置为你的 webhook URL: - - 生产环境:`https://your-domain.com/api/messages` - - 本地开发:使用隧道(见下方[本地开发](#local-development-tunneling)) - -### 步骤 4:启用 Teams 渠道 - -1. 在 Azure Bot → **Channels** -2. 点击 **Microsoft Teams** → Configure → Save -3. 接受服务条款 - -## 本地开发(隧道) - -Teams 无法访问 `localhost`。本地开发请使用隧道: - -**选项 A:ngrok** - -```bash -ngrok http 3978 -# 复制 https URL,例如 https://abc123.ngrok.io -# 将消息端点设置为:https://abc123.ngrok.io/api/messages -``` - -**选项 B:Tailscale Funnel** - -```bash -tailscale funnel 3978 -# 使用你的 Tailscale funnel URL 作为消息端点 -``` - -## Teams 开发者门户(替代方案) - -除了手动创建清单 ZIP,你可以使用 [Teams 开发者门户](https://dev.teams.microsoft.com/apps): - -1. 点击 **+ New app** -2. 填写基本信息(名称、描述、开发者信息) -3. 前往 **App features** → **Bot** -4. 选择 **Enter a bot ID manually** 并粘贴你的 Azure Bot App ID -5. 勾选范围:**Personal**、**Team**、**Group Chat** -6. 点击 **Distribute** → **Download app package** -7. 在 Teams 中:**Apps** → **Manage your apps** → **Upload a custom app** → 选择 ZIP - -这通常比手动编辑 JSON 清单更容易。 - -## 测试机器人 - -**选项 A:Azure Web Chat(先验证 webhook)** - -1. 在 Azure 门户 → 你的 Azure Bot 资源 → **Test in Web Chat** -2. 发送一条消息 - 你应该看到响应 -3. 这确认你的 webhook 端点在 Teams 设置之前正常工作 - -**选项 B:Teams(应用安装后)** - -1. 安装 Teams 应用(侧载或组织目录) -2. 在 Teams 中找到机器人并发送私信 -3. 检查 Gateway 网关日志中的传入活动 - -## 设置(最小纯文本) - -1. **安装 Microsoft Teams 插件** - - 从 npm:`openclaw plugins install @openclaw/msteams` - - 从本地检出:`openclaw plugins install ./extensions/msteams` - -2. **机器人注册** - - 创建一个 Azure Bot(见上文)并记录: - - App ID - - 客户端密钥(App password) - - 租户 ID(单租户) - -3. **Teams 应用清单** - - 包含一个 `bot` 条目,其中 `botId = `。 - - 范围:`personal`、`team`、`groupChat`。 - - `supportsFiles: true`(个人范围文件处理所需)。 - - 添加 RSC 权限(见下文)。 - - 创建图标:`outline.png`(32x32)和 `color.png`(192x192)。 - - 将三个文件一起打包:`manifest.json`、`outline.png`、`color.png`。 - -4. **配置 OpenClaw** - - ```json - { - "msteams": { - "enabled": true, - "appId": "", - "appPassword": "", - "tenantId": "", - "webhook": { "port": 3978, "path": "/api/messages" } - } - } - ``` - - 你也可以使用环境变量代替配置键: - - `MSTEAMS_APP_ID` - - `MSTEAMS_APP_PASSWORD` - - `MSTEAMS_TENANT_ID` - -5. **机器人端点** - - 将 Azure Bot Messaging Endpoint 设置为: - - `https://:3978/api/messages`(或你选择的路径/端口)。 - -6. **运行 Gateway 网关** - - 当插件已安装且 `msteams` 配置存在并有凭证时,Teams 渠道会自动启动。 - -## 历史上下文 - -- `channels.msteams.historyLimit` 控制将多少条最近的频道/群组消息包含到提示中。 -- 回退到 `messages.groupChat.historyLimit`。设置 `0` 禁用(默认 50)。 -- 私信历史可以通过 `channels.msteams.dmHistoryLimit`(用户轮次)限制。每用户覆盖:`channels.msteams.dms[""].historyLimit`。 - -## 当前 Teams RSC 权限(清单) - -这些是我们 Teams 应用清单中**现有的 resourceSpecific 权限**。它们仅适用于安装了应用的团队/聊天内部。 - -**对于频道(团队范围):** - -- `ChannelMessage.Read.Group`(Application)- 无需 @提及即可接收所有频道消息 -- `ChannelMessage.Send.Group`(Application) -- `Member.Read.Group`(Application) -- `Owner.Read.Group`(Application) -- `ChannelSettings.Read.Group`(Application) -- `TeamMember.Read.Group`(Application) -- `TeamSettings.Read.Group`(Application) - -**对于群聊:** - -- `ChatMessage.Read.Chat`(Application)- 无需 @提及即可接收所有群聊消息 - -## Teams 清单示例(已脱敏) - -包含必需字段的最小有效示例。请替换 ID 和 URL。 - -```json -{ - "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.23/MicrosoftTeams.schema.json", - "manifestVersion": "1.23", - "version": "1.0.0", - "id": "00000000-0000-0000-0000-000000000000", - "name": { "short": "OpenClaw" }, - "developer": { - "name": "Your Org", - "websiteUrl": "https://example.com", - "privacyUrl": "https://example.com/privacy", - "termsOfUseUrl": "https://example.com/terms" - }, - "description": { "short": "OpenClaw in Teams", "full": "OpenClaw in Teams" }, - "icons": { "outline": "outline.png", "color": "color.png" }, - "accentColor": "#5B6DEF", - "bots": [ - { - "botId": "11111111-1111-1111-1111-111111111111", - "scopes": ["personal", "team", "groupChat"], - "isNotificationOnly": false, - "supportsCalling": false, - "supportsVideo": false, - "supportsFiles": true - } - ], - "webApplicationInfo": { - "id": "11111111-1111-1111-1111-111111111111" - }, - "authorization": { - "permissions": { - "resourceSpecific": [ - { "name": "ChannelMessage.Read.Group", "type": "Application" }, - { "name": "ChannelMessage.Send.Group", "type": "Application" }, - { "name": "Member.Read.Group", "type": "Application" }, - { "name": "Owner.Read.Group", "type": "Application" }, - { "name": "ChannelSettings.Read.Group", "type": "Application" }, - { "name": "TeamMember.Read.Group", "type": "Application" }, - { "name": "TeamSettings.Read.Group", "type": "Application" }, - { "name": "ChatMessage.Read.Chat", "type": "Application" } - ] - } - } -} -``` - -### 清单注意事项(必填字段) - -- `bots[].botId` **必须**与 Azure Bot App ID 匹配。 -- `webApplicationInfo.id` **必须**与 Azure Bot App ID 匹配。 -- `bots[].scopes` 必须包含你计划使用的界面(`personal`、`team`、`groupChat`)。 -- `bots[].supportsFiles: true` 是个人范围文件处理所需的。 -- `authorization.permissions.resourceSpecific` 如果你需要频道流量,必须包含频道读取/发送权限。 - -### 更新现有应用 - -要更新已安装的 Teams 应用(例如,添加 RSC 权限): - -1. 使用新设置更新你的 `manifest.json` -2. **增加 `version` 字段**(例如,`1.0.0` → `1.1.0`) -3. **重新打包**清单和图标(`manifest.json`、`outline.png`、`color.png`) -4. 上传新的 zip: - - **选项 A(Teams 管理中心):** Teams 管理中心 → Teams apps → Manage apps → 找到你的应用 → Upload new version - - **选项 B(侧载):** 在 Teams 中 → Apps → Manage your apps → Upload a custom app -5. **对于团队频道:** 在每个团队中重新安装应用以使新权限生效 -6. **完全退出并重新启动 Teams**(不仅仅是关闭窗口)以清除缓存的应用元数据 - -## 功能:仅 RSC 与 Graph - -### 仅使用 **Teams RSC**(应用已安装,无 Graph API 权限) - -可用: - -- 读取频道消息**文本**内容。 -- 发送频道消息**文本**内容。 -- 接收**个人(私信)**文件附件。 - -不可用: - -- 频道/群组**图片或文件内容**(负载仅包含 HTML 存根)。 -- 下载存储在 SharePoint/OneDrive 中的附件。 -- 读取消息历史(超出实时 webhook 事件)。 - -### 使用 **Teams RSC + Microsoft Graph Application 权限** - -增加: - -- 下载托管内容(粘贴到消息中的图片)。 -- 下载存储在 SharePoint/OneDrive 中的文件附件。 -- 通过 Graph 读取频道/聊天消息历史。 - -### RSC 与 Graph API 对比 - -| 功能 | RSC 权限 | Graph API | -| -------------- | ------------------ | ------------------------- | -| **实时消息** | 是(通过 webhook) | 否(仅轮询) | -| **历史消息** | 否 | 是(可查询历史) | -| **设置复杂度** | 仅应用清单 | 需要管理员同意 + 令牌流程 | -| **离线工作** | 否(必须运行) | 是(随时查询) | - -**结论:** RSC 用于实时监听;Graph API 用于历史访问。要在离线时补上错过的消息,你需要带有 `ChannelMessage.Read.All` 的 Graph API(需要管理员同意)。 - -## 启用 Graph 的媒体 + 历史(频道所需) - -如果你需要**频道**中的图片/文件或想要获取**消息历史**,你必须启用 Microsoft Graph 权限并授予管理员同意。 - -1. 在 Entra ID(Azure AD)**App Registration** 中,添加 Microsoft Graph **Application 权限**: - - `ChannelMessage.Read.All`(频道附件 + 历史) - - `Chat.Read.All` 或 `ChatMessage.Read.All`(群聊) -2. 为租户**授予管理员同意**。 -3. 提升 Teams 应用**清单版本**,重新上传,并**在 Teams 中重新安装应用**。 -4. **完全退出并重新启动 Teams** 以清除缓存的应用元数据。 - -## 已知限制 - -### Webhook 超时 - -Teams 通过 HTTP webhook 传递消息。如果处理时间过长(例如,LLM 响应缓慢),你可能会看到: - -- Gateway 网关超时 -- Teams 重试消息(导致重复) -- 丢失的回复 - -OpenClaw 通过快速返回并主动发送回复来处理这个问题,但非常慢的响应仍可能导致问题。 - -### 格式化 - -Teams markdown 比 Slack 或 Discord 更有限: - -- 基本格式化有效:**粗体**、_斜体_、`代码`、链接 -- 复杂的 markdown(表格、嵌套列表)可能无法正确渲染 -- 支持 Adaptive Cards 用于投票和任意卡片发送(见下文) - -## 配置 - -关键设置(共享渠道模式见 `/gateway/configuration`): - -- `channels.msteams.enabled`:启用/禁用渠道。 -- `channels.msteams.appId`、`channels.msteams.appPassword`、`channels.msteams.tenantId`:机器人凭证。 -- `channels.msteams.webhook.port`(默认 `3978`) -- `channels.msteams.webhook.path`(默认 `/api/messages`) -- `channels.msteams.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing) -- `channels.msteams.allowFrom`:私信允许列表(AAD 对象 ID、UPN 或显示名称)。当 Graph 访问可用时,向导在设置期间将名称解析为 ID。 -- `channels.msteams.textChunkLimit`:出站文本分块大小。 -- `channels.msteams.chunkMode`:`length`(默认)或 `newline` 在长度分块之前按空行(段落边界)分割。 -- `channels.msteams.mediaAllowHosts`:入站附件主机允许列表(默认为 Microsoft/Teams 域名)。 -- `channels.msteams.mediaAuthAllowHosts`:在媒体重试时附加 Authorization 头的允许列表(默认为 Graph + Bot Framework 主机)。 -- `channels.msteams.requireMention`:在频道/群组中需要 @提及(默认 true)。 -- `channels.msteams.replyStyle`:`thread | top-level`(见[回复样式](#reply-style-threads-vs-posts))。 -- `channels.msteams.teams..replyStyle`:每团队覆盖。 -- `channels.msteams.teams..requireMention`:每团队覆盖。 -- `channels.msteams.teams..tools`:当缺少频道覆盖时使用的默认每团队工具策略覆盖(`allow`/`deny`/`alsoAllow`)。 -- `channels.msteams.teams..toolsBySender`:默认每团队每发送者工具策略覆盖(支持 `"*"` 通配符)。 -- `channels.msteams.teams..channels..replyStyle`:每频道覆盖。 -- `channels.msteams.teams..channels..requireMention`:每频道覆盖。 -- `channels.msteams.teams..channels..tools`:每频道工具策略覆盖(`allow`/`deny`/`alsoAllow`)。 -- `channels.msteams.teams..channels..toolsBySender`:每频道每发送者工具策略覆盖(支持 `"*"` 通配符)。 -- `channels.msteams.sharePointSiteId`:用于群聊/频道文件上传的 SharePoint 站点 ID(见[在群聊中发送文件](#sending-files-in-group-chats))。 - -## 路由和会话 - -- 会话键遵循标准智能体格式(见 [/concepts/session](/concepts/session)): - - 私信共享主会话(`agent::`)。 - - 频道/群组消息使用会话 ID: - - `agent::msteams:channel:` - - `agent::msteams:group:` - -## 回复样式:话题 vs 帖子 - -Teams 最近在相同的底层数据模型上引入了两种频道 UI 样式: - -| 样式 | 描述 | 推荐的 `replyStyle` | -| ----------------------- | ------------------------------ | ------------------- | -| **Posts**(经典) | 消息显示为卡片,下方有话题回复 | `thread`(默认) | -| **Threads**(类 Slack) | 消息线性流动,更像 Slack | `top-level` | - -**问题:** Teams API 不暴露频道使用的 UI 样式。如果你使用错误的 `replyStyle`: - -- 在 Threads 样式频道中使用 `thread` → 回复嵌套显示很别扭 -- 在 Posts 样式频道中使用 `top-level` → 回复显示为单独的顶级帖子而不是在话题中 - -**解决方案:** 根据频道的设置方式为每个频道配置 `replyStyle`: - -```json -{ - "msteams": { - "replyStyle": "thread", - "teams": { - "19:abc...@thread.tacv2": { - "channels": { - "19:xyz...@thread.tacv2": { - "replyStyle": "top-level" - } - } - } - } - } -} -``` - -## 附件和图片 - -**当前限制:** - -- **私信:** 图片和文件附件通过 Teams bot file API 工作。 -- **频道/群组:** 附件存储在 M365 存储(SharePoint/OneDrive)中。webhook 负载仅包含 HTML 存根,而非实际文件字节。**需要 Graph API 权限**才能下载频道附件。 - -没有 Graph 权限,带图片的频道消息将作为纯文本接收(机器人无法访问图片内容)。 -默认情况下,OpenClaw 仅从 Microsoft/Teams 主机名下载媒体。使用 `channels.msteams.mediaAllowHosts` 覆盖(使用 `["*"]` 允许任何主机)。 -Authorization 头仅附加到 `channels.msteams.mediaAuthAllowHosts` 中的主机(默认为 Graph + Bot Framework 主机)。保持此列表严格(避免多租户后缀)。 - -## 在群聊中发送文件 - -机器人可以使用 FileConsentCard 流程在私信中发送文件(内置)。但是,**在群聊/频道中发送文件**需要额外设置: - -| 上下文 | 文件发送方式 | 所需设置 | -| ---------------------- | --------------------------------------- | ------------------------------------ | -| **私信** | FileConsentCard → 用户接受 → 机器人上传 | 开箱即用 | -| **群聊/频道** | 上传到 SharePoint → 共享链接 | 需要 `sharePointSiteId` + Graph 权限 | -| **图片(任何上下文)** | Base64 编码内联 | 开箱即用 | - -### 为什么群聊需要 SharePoint - -机器人没有个人 OneDrive 驱动器(`/me/drive` Graph API 端点对应用程序身份不起作用)。要在群聊/频道中发送文件,机器人上传到 **SharePoint 站点**并创建共享链接。 - -### 设置 - -1. **在 Entra ID(Azure AD)→ App Registration 中添加 Graph API 权限**: - - `Sites.ReadWrite.All`(Application)- 上传文件到 SharePoint - - `Chat.Read.All`(Application)- 可选,启用每用户共享链接 - -2. 为租户**授予管理员同意**。 - -3. **获取你的 SharePoint 站点 ID:** - - ```bash - # 通过 Graph Explorer 或带有效令牌的 curl: - curl -H "Authorization: Bearer $TOKEN" \ - "https://graph.microsoft.com/v1.0/sites/{hostname}:/{site-path}" - - # 示例:对于 "contoso.sharepoint.com/sites/BotFiles" 的站点 - curl -H "Authorization: Bearer $TOKEN" \ - "https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/BotFiles" - - # 响应包含:"id": "contoso.sharepoint.com,guid1,guid2" - ``` - -4. **配置 OpenClaw:** - ```json5 - { - channels: { - msteams: { - // ... 其他配置 ... - sharePointSiteId: "contoso.sharepoint.com,guid1,guid2", - }, - }, - } - ``` - -### 共享行为 - -| 权限 | 共享行为 | -| --------------------------------------- | ------------------------------------------ | -| 仅 `Sites.ReadWrite.All` | 组织范围共享链接(组织中任何人都可以访问) | -| `Sites.ReadWrite.All` + `Chat.Read.All` | 每用户共享链接(仅聊天成员可以访问) | - -每用户共享更安全,因为只有聊天参与者才能访问文件。如果缺少 `Chat.Read.All` 权限,机器人回退到组织范围共享。 - -### 回退行为 - -| 场景 | 结果 | -| --------------------------------------- | ------------------------------------------------ | -| 群聊 + 文件 + 已配置 `sharePointSiteId` | 上传到 SharePoint,发送共享链接 | -| 群聊 + 文件 + 无 `sharePointSiteId` | 尝试 OneDrive 上传(可能失败),仅发送文本 | -| 个人聊天 + 文件 | FileConsentCard 流程(无需 SharePoint 即可工作) | -| 任何上下文 + 图片 | Base64 编码内联(无需 SharePoint 即可工作) | - -### 文件存储位置 - -上传的文件存储在配置的 SharePoint 站点默认文档库中的 `/OpenClawShared/` 文件夹中。 - -## 投票(Adaptive Cards) - -OpenClaw 将 Teams 投票作为 Adaptive Cards 发送(没有原生 Teams 投票 API)。 - -- CLI:`openclaw message poll --channel msteams --target conversation: ...` -- 投票由 Gateway 网关记录在 `~/.openclaw/msteams-polls.json` 中。 -- Gateway 网关必须保持在线才能记录投票。 -- 投票尚不自动发布结果摘要(如需要请检查存储文件)。 - -## Adaptive Cards(任意) - -使用 `message` 工具或 CLI 向 Teams 用户或会话发送任意 Adaptive Card JSON。 - -`card` 参数接受 Adaptive Card JSON 对象。当提供 `card` 时,消息文本是可选的。 - -**智能体工具:** - -```json -{ - "action": "send", - "channel": "msteams", - "target": "user:", - "card": { - "type": "AdaptiveCard", - "version": "1.5", - "body": [{ "type": "TextBlock", "text": "Hello!" }] - } -} -``` - -**CLI:** - -```bash -openclaw message send --channel msteams \ - --target "conversation:19:abc...@thread.tacv2" \ - --card '{"type":"AdaptiveCard","version":"1.5","body":[{"type":"TextBlock","text":"Hello!"}]}' -``` - -参见 [Adaptive Cards 文档](https://adaptivecards.io/)了解卡片模式和示例。目标格式详情见下方[目标格式](#target-formats)。 - -## 目标格式 - -MSTeams 目标使用前缀来区分用户和会话: - -| 目标类型 | 格式 | 示例 | -| ----------------- | -------------------------------- | ------------------------------------------------- | -| 用户(按 ID) | `user:` | `user:40a1a0ed-4ff2-4164-a219-55518990c197` | -| 用户(按名称) | `user:` | `user:John Smith`(需要 Graph API) | -| 群组/频道 | `conversation:` | `conversation:19:abc123...@thread.tacv2` | -| 群组/频道(原始) | `` | `19:abc123...@thread.tacv2`(如果包含 `@thread`) | - -**CLI 示例:** - -```bash -# 按 ID 发送给用户 -openclaw message send --channel msteams --target "user:40a1a0ed-..." --message "Hello" - -# 按显示名称发送给用户(触发 Graph API 查找) -openclaw message send --channel msteams --target "user:John Smith" --message "Hello" - -# 发送到群聊或频道 -openclaw message send --channel msteams --target "conversation:19:abc...@thread.tacv2" --message "Hello" - -# 向会话发送 Adaptive Card -openclaw message send --channel msteams --target "conversation:19:abc...@thread.tacv2" \ - --card '{"type":"AdaptiveCard","version":"1.5","body":[{"type":"TextBlock","text":"Hello"}]}' -``` - -**智能体工具示例:** - -```json -{ - "action": "send", - "channel": "msteams", - "target": "user:John Smith", - "message": "Hello!" -} -``` - -```json -{ - "action": "send", - "channel": "msteams", - "target": "conversation:19:abc...@thread.tacv2", - "card": { - "type": "AdaptiveCard", - "version": "1.5", - "body": [{ "type": "TextBlock", "text": "Hello" }] - } -} -``` - -注意:没有 `user:` 前缀时,名称默认解析为群组/团队。按显示名称定位人员时始终使用 `user:`。 - -## 主动消息 - -- 主动消息仅在用户交互**之后**才可能,因为我们在那时存储会话引用。 -- 有关 `dmPolicy` 和允许列表控制,请参见 `/gateway/configuration`。 - -## 团队和频道 ID(常见陷阱) - -Teams URL 中的 `groupId` 查询参数**不是**用于配置的团队 ID。请从 URL 路径中提取 ID: - -**团队 URL:** - -``` -https://teams.microsoft.com/l/team/19%3ABk4j...%40thread.tacv2/conversations?groupId=... - └────────────────────────────┘ - 团队 ID(URL 解码此部分) -``` - -**频道 URL:** - -``` -https://teams.microsoft.com/l/channel/19%3A15bc...%40thread.tacv2/ChannelName?groupId=... - └─────────────────────────┘ - 频道 ID(URL 解码此部分) -``` - -**用于配置:** - -- 团队 ID = `/team/` 后的路径段(URL 解码,例如 `19:Bk4j...@thread.tacv2`) -- 频道 ID = `/channel/` 后的路径段(URL 解码) -- **忽略** `groupId` 查询参数 - -## 私有频道 - -机器人在私有频道中的支持有限: - -| 功能 | 标准频道 | 私有频道 | -| ------------------- | -------- | ---------------- | -| 机器人安装 | 是 | 有限 | -| 实时消息(webhook) | 是 | 可能不工作 | -| RSC 权限 | 是 | 行为可能不同 | -| @提及 | 是 | 如果机器人可访问 | -| Graph API 历史 | 是 | 是(有权限) | - -**如果私有频道不工作的变通方法:** - -1. 使用标准频道进行机器人交互 -2. 使用私信 - 用户始终可以直接给机器人发消息 -3. 使用 Graph API 进行历史访问(需要 `ChannelMessage.Read.All`) - -## 故障排除 - -### 常见问题 - -- **频道中图片不显示:** 缺少 Graph 权限或管理员同意。重新安装 Teams 应用并完全退出/重新打开 Teams。 -- **频道中无响应:** 默认需要提及;设置 `channels.msteams.requireMention=false` 或按团队/频道配置。 -- **版本不匹配(Teams 仍显示旧清单):** 移除 + 重新添加应用并完全退出 Teams 以刷新。 -- **来自 webhook 的 401 Unauthorized:** 在没有 Azure JWT 的情况下手动测试时属于预期情况 - 意味着端点可达但认证失败。使用 Azure Web Chat 正确测试。 - -### 清单上传错误 - -- **"Icon file cannot be empty":** 清单引用的图标文件为 0 字节。创建有效的 PNG 图标(`outline.png` 为 32x32,`color.png` 为 192x192)。 -- **"webApplicationInfo.Id already in use":** 应用仍安装在另一个团队/聊天中。先找到并卸载它,或等待 5-10 分钟让其传播。 -- **上传时"Something went wrong":** 改为通过 https://admin.teams.microsoft.com 上传,打开浏览器 DevTools(F12)→ Network 选项卡,检查响应正文中的实际错误。 -- **侧载失败:** 尝试"Upload an app to your org's app catalog"而不是"Upload a custom app" - 这通常可以绕过侧载限制。 - -### RSC 权限不工作 - -1. 验证 `webApplicationInfo.id` 与你的机器人 App ID 完全匹配 -2. 重新上传应用并在团队/聊天中重新安装 -3. 检查你的组织管理员是否阻止了 RSC 权限 -4. 确认你使用的是正确的范围:团队使用 `ChannelMessage.Read.Group`,群聊使用 `ChatMessage.Read.Chat` - -## 参考资料 - -- [创建 Azure Bot](https://learn.microsoft.com/en-us/azure/bot-service/bot-service-quickstart-registration) - Azure Bot 设置指南 -- [Teams 开发者门户](https://dev.teams.microsoft.com/apps) - 创建/管理 Teams 应用 -- [Teams 应用清单模式](https://learn.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema) -- [使用 RSC 接收频道消息](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/channel-messages-with-rsc) -- [RSC 权限参考](https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent) -- [Teams 机器人文件处理](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/bots-filesv4)(频道/群组需要 Graph) -- [主动消息](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages) diff --git a/docs/zh-CN/channels/nextcloud-talk.md b/docs/zh-CN/channels/nextcloud-talk.md deleted file mode 100644 index daa77b02b8c..00000000000 --- a/docs/zh-CN/channels/nextcloud-talk.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -read_when: - - 开发 Nextcloud Talk 渠道功能时 -summary: Nextcloud Talk 支持状态、功能和配置 -title: Nextcloud Talk -x-i18n: - generated_at: "2026-02-03T10:04:00Z" - model: claude-opus-4-6 - provider: pi - source_hash: 21b7b9756c4356a76dc0f14c10e44ed74a284cf3badf87e2df75eb88d8a90c31 - source_path: channels/nextcloud-talk.md - workflow: 15 ---- - -# Nextcloud Talk(插件) - -状态:通过插件支持(webhook 机器人)。支持私信、房间、表情回应和 Markdown 消息。 - -## 需要插件 - -Nextcloud Talk 以插件形式提供,不包含在核心安装包中。 - -通过 CLI 安装(npm 仓库): - -```bash -openclaw plugins install @openclaw/nextcloud-talk -``` - -本地检出安装(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/nextcloud-talk -``` - -如果你在配置/新手引导过程中选择了 Nextcloud Talk,并且检测到 git 检出, -OpenClaw 将自动提供本地安装路径。 - -详情:[插件](/tools/plugin) - -## 快速设置(新手) - -1. 安装 Nextcloud Talk 插件。 -2. 在你的 Nextcloud 服务器上创建机器人: - ```bash - ./occ talk:bot:install "OpenClaw" "" "" --feature reaction - ``` -3. 在目标房间设置中启用机器人。 -4. 配置 OpenClaw: - - 配置项:`channels.nextcloud-talk.baseUrl` + `channels.nextcloud-talk.botSecret` - - 或环境变量:`NEXTCLOUD_TALK_BOT_SECRET`(仅默认账户) -5. 重启 Gateway 网关(或完成新手引导)。 - -最小配置: - -```json5 -{ - channels: { - "nextcloud-talk": { - enabled: true, - baseUrl: "https://cloud.example.com", - botSecret: "shared-secret", - dmPolicy: "pairing", - }, - }, -} -``` - -## 注意事项 - -- 机器人无法主动发起私信。用户必须先向机器人发送消息。 -- Webhook URL 必须可被 Gateway 网关访问;如果在代理后面,请设置 `webhookPublicUrl`。 -- 机器人 API 不支持媒体上传;媒体以 URL 形式发送。 -- Webhook 载荷无法区分私信和房间;设置 `apiUser` + `apiPassword` 以启用房间类型查询(否则私信将被视为房间)。 - -## 访问控制(私信) - -- 默认:`channels.nextcloud-talk.dmPolicy = "pairing"`。未知发送者将收到配对码。 -- 批准方式: - - `openclaw pairing list nextcloud-talk` - - `openclaw pairing approve nextcloud-talk ` -- 公开私信:`channels.nextcloud-talk.dmPolicy="open"` 加上 `channels.nextcloud-talk.allowFrom=["*"]`。 - -## 房间(群组) - -- 默认:`channels.nextcloud-talk.groupPolicy = "allowlist"`(需要提及触发)。 -- 使用 `channels.nextcloud-talk.rooms` 设置房间白名单: - -```json5 -{ - channels: { - "nextcloud-talk": { - rooms: { - "room-token": { requireMention: true }, - }, - }, - }, -} -``` - -- 如需禁止所有房间,保持白名单为空或设置 `channels.nextcloud-talk.groupPolicy="disabled"`。 - -## 功能支持 - -| 功能 | 状态 | -| -------- | ------ | -| 私信 | 支持 | -| 房间 | 支持 | -| 话题 | 不支持 | -| 媒体 | 仅 URL | -| 表情回应 | 支持 | -| 原生命令 | 不支持 | - -## 配置参考(Nextcloud Talk) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.nextcloud-talk.enabled`:启用/禁用渠道启动。 -- `channels.nextcloud-talk.baseUrl`:Nextcloud 实例 URL。 -- `channels.nextcloud-talk.botSecret`:机器人共享密钥。 -- `channels.nextcloud-talk.botSecretFile`:密钥文件路径。 -- `channels.nextcloud-talk.apiUser`:用于房间查询的 API 用户(私信检测)。 -- `channels.nextcloud-talk.apiPassword`:用于房间查询的 API/应用密码。 -- `channels.nextcloud-talk.apiPasswordFile`:API 密码文件路径。 -- `channels.nextcloud-talk.webhookPort`:webhook 监听端口(默认:8788)。 -- `channels.nextcloud-talk.webhookHost`:webhook 主机(默认:0.0.0.0)。 -- `channels.nextcloud-talk.webhookPath`:webhook 路径(默认:/nextcloud-talk-webhook)。 -- `channels.nextcloud-talk.webhookPublicUrl`:外部可达的 webhook URL。 -- `channels.nextcloud-talk.dmPolicy`:`pairing | allowlist | open | disabled`。 -- `channels.nextcloud-talk.allowFrom`:私信白名单(用户 ID)。`open` 需要 `"*"`。 -- `channels.nextcloud-talk.groupPolicy`:`allowlist | open | disabled`。 -- `channels.nextcloud-talk.groupAllowFrom`:群组白名单(用户 ID)。 -- `channels.nextcloud-talk.rooms`:每个房间的设置和白名单。 -- `channels.nextcloud-talk.historyLimit`:群组历史记录限制(0 表示禁用)。 -- `channels.nextcloud-talk.dmHistoryLimit`:私信历史记录限制(0 表示禁用)。 -- `channels.nextcloud-talk.dms`:每个私信的覆盖设置(historyLimit)。 -- `channels.nextcloud-talk.textChunkLimit`:出站文本分块大小(字符数)。 -- `channels.nextcloud-talk.chunkMode`:`length`(默认)或 `newline`,在长度分块前按空行(段落边界)分割。 -- `channels.nextcloud-talk.blockStreaming`:禁用此渠道的分块流式传输。 -- `channels.nextcloud-talk.blockStreamingCoalesce`:分块流式传输合并调优。 -- `channels.nextcloud-talk.mediaMaxMb`:入站媒体大小上限(MB)。 diff --git a/docs/zh-CN/channels/nostr.md b/docs/zh-CN/channels/nostr.md deleted file mode 100644 index 47efa40aedf..00000000000 --- a/docs/zh-CN/channels/nostr.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -read_when: - - 你想让 OpenClaw 通过 Nostr 接收私信 - - 你正在设置去中心化消息传递 -summary: 通过 NIP-04 加密消息实现的 Nostr 私信渠道 -title: Nostr -x-i18n: - generated_at: "2026-03-16T06:20:37Z" - model: gpt-5.4 - provider: openai - source_hash: fcce57da49256971420c4bb099aebb7944f8c7e8619b17b163da685add225001 - source_path: channels/nostr.md - workflow: 15 ---- - -# Nostr - -**状态:** 可选插件(默认禁用)。 - -Nostr 是一种用于社交网络的去中心化协议。此渠道使 OpenClaw 能够通过 NIP-04 接收并回复加密私信。 - -## 安装(按需) - -### 新手引导(推荐) - -- 设置向导(`openclaw onboard`)和 `openclaw channels add` 会列出可选渠道插件。 -- 选择 Nostr 时,系统会提示你按需安装该插件。 - -安装默认行为: - -- **Dev 渠道 + 可用的 git 检出:** 使用本地插件路径。 -- **稳定版 / Beta:** 从 npm 下载。 - -你始终可以在提示中覆盖该选择。 - -### 手动安装 - -```bash -openclaw plugins install @openclaw/nostr -``` - -使用本地检出(dev 工作流): - -```bash -openclaw plugins install --link /extensions/nostr -``` - -安装或启用插件后,重启 Gateway 网关。 - -### 非交互式设置 - -```bash -openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY" -openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY" --relay-urls "wss://relay.damus.io,wss://relay.primal.net" -``` - -使用 `--use-env` 可将 `NOSTR_PRIVATE_KEY` 保留在环境中,而不是将密钥存储在配置里。 - -## 快速设置 - -1. 生成一个 Nostr 密钥对(如有需要): - -```bash -# Using nak -nak key generate -``` - -2. 添加到配置中: - -```json -{ - "channels": { - "nostr": { - "privateKey": "${NOSTR_PRIVATE_KEY}" - } - } -} -``` - -3. 导出密钥: - -```bash -export NOSTR_PRIVATE_KEY="nsec1..." -``` - -4. 重启 Gateway 网关。 - -## 配置参考 - -| 键 | 类型 | 默认值 | 说明 | -| ------------ | -------- | ------------------------------------------- | --------------------------- | -| `privateKey` | string | 必填 | `nsec` 或十六进制格式的私钥 | -| `relays` | string[] | `['wss://relay.damus.io', 'wss://nos.lol']` | 中继 URL(WebSocket) | -| `dmPolicy` | string | `pairing` | 私信访问策略 | -| `allowFrom` | string[] | `[]` | 允许的发送方公钥 | -| `enabled` | boolean | `true` | 启用 / 禁用渠道 | -| `name` | string | - | 显示名称 | -| `profile` | object | - | NIP-01 资料元数据 | - -## 资料元数据 - -资料数据会作为 NIP-01 `kind:0` 事件发布。你可以在控制 UI 中管理它(Channels -> Nostr -> Profile),也可以直接在配置中设置。 - -示例: - -```json -{ - "channels": { - "nostr": { - "privateKey": "${NOSTR_PRIVATE_KEY}", - "profile": { - "name": "openclaw", - "displayName": "OpenClaw", - "about": "Personal assistant DM bot", - "picture": "https://example.com/avatar.png", - "banner": "https://example.com/banner.png", - "website": "https://example.com", - "nip05": "openclaw@example.com", - "lud16": "openclaw@example.com" - } - } - } -} -``` - -注意: - -- 资料 URL 必须使用 `https://`。 -- 从中继导入时会合并字段,并保留本地覆盖项。 - -## 访问控制 - -### 私信策略 - -- **pairing**(默认):未知发送方会收到一个配对码。 -- **allowlist**:只有 `allowFrom` 中的公钥可以发送私信。 -- **open**:公开接收入站私信(要求 `allowFrom: ["*"]`)。 -- **disabled**:忽略入站私信。 - -### 允许列表示例 - -```json -{ - "channels": { - "nostr": { - "privateKey": "${NOSTR_PRIVATE_KEY}", - "dmPolicy": "allowlist", - "allowFrom": ["npub1abc...", "npub1xyz..."] - } - } -} -``` - -## 密钥格式 - -接受的格式: - -- **私钥:** `nsec...` 或 64 字符十六进制 -- **公钥(`allowFrom`):** `npub...` 或十六进制 - -## 中继 - -默认值:`relay.damus.io` 和 `nos.lol`。 - -```json -{ - "channels": { - "nostr": { - "privateKey": "${NOSTR_PRIVATE_KEY}", - "relays": ["wss://relay.damus.io", "wss://relay.primal.net", "wss://nostr.wine"] - } - } -} -``` - -提示: - -- 使用 2 到 3 个中继以实现冗余。 -- 避免使用过多中继(延迟、重复)。 -- 付费中继可以提高可靠性。 -- 本地中继也适合测试(`ws://localhost:7777`)。 - -## 协议支持 - -| NIP | 状态 | 说明 | -| ------ | ------ | ------------------------- | -| NIP-01 | 已支持 | 基础事件格式 + 资料元数据 | -| NIP-04 | 已支持 | 加密私信(`kind:4`) | -| NIP-17 | 计划中 | Gift-wrapped 私信 | -| NIP-44 | 计划中 | 版本化加密 | - -## 测试 - -### 本地中继 - -```bash -# Start strfry -docker run -p 7777:7777 ghcr.io/hoytech/strfry -``` - -```json -{ - "channels": { - "nostr": { - "privateKey": "${NOSTR_PRIVATE_KEY}", - "relays": ["ws://localhost:7777"] - } - } -} -``` - -### 手动测试 - -1. 从日志中记下机器人公钥(npub)。 -2. 打开一个 Nostr 客户端(Damus、Amethyst 等)。 -3. 向该机器人公钥发送私信。 -4. 验证回复。 - -## 故障排除 - -### 未接收到消息 - -- 验证私钥有效。 -- 确保中继 URL 可访问,并使用 `wss://`(本地则使用 `ws://`)。 -- 确认 `enabled` 不是 `false`。 -- 检查 Gateway 网关日志中的中继连接错误。 - -### 未发送回复 - -- 检查中继是否接受写入。 -- 验证出站连接性。 -- 注意中继速率限制。 - -### 重复回复 - -- 使用多个中继时这是预期行为。 -- 消息会按事件 ID 去重;只有首次投递会触发回复。 - -## 安全性 - -- 切勿提交私钥。 -- 对密钥使用环境变量。 -- 对生产机器人考虑使用 `allowlist`。 - -## 限制(MVP) - -- 仅支持私信(不支持群聊)。 -- 不支持媒体附件。 -- 仅支持 NIP-04(计划支持 NIP-17 gift-wrap)。 diff --git a/docs/zh-CN/channels/pairing.md b/docs/zh-CN/channels/pairing.md deleted file mode 100644 index 796943a55b9..00000000000 --- a/docs/zh-CN/channels/pairing.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -read_when: - - 设置私信访问控制 - - 配对新的 iOS/Android 节点 - - 审查 OpenClaw 安全态势 -summary: 配对概述:批准谁可以向你发送私信 + 哪些节点可以加入 -title: 配对 -x-i18n: - generated_at: "2026-02-03T07:54:19Z" - model: claude-opus-4-6 - provider: pi - source_hash: c46a5c39f289c8fd0783baacd927f550c3d3ae8889a7bc7de133b795f16fa08a - source_path: channels/pairing.md - workflow: 15 ---- - -# 配对 - -"配对"是 OpenClaw 的显式**所有者批准**步骤。它用于两个地方: - -1. **私信配对**(谁被允许与机器人对话) -2. **节点配对**(哪些设备/节点被允许加入 Gateway 网关网络) - -安全上下文:[安全](/gateway/security) - -## 1)私信配对(入站聊天访问) - -当渠道配置为私信策略 `pairing` 时,未知发送者会收到一个短代码,他们的消息**不会被处理**,直到你批准。 - -默认私信策略记录在:[安全](/gateway/security) - -配对代码: - -- 8 个字符,大写,无歧义字符(`0O1I`)。 -- **1 小时后过期**。机器人仅在创建新请求时发送配对消息(大约每个发送者每小时一次)。 -- 待处理的私信配对请求默认上限为**每个渠道 3 个**;在一个过期或被批准之前,额外的请求将被忽略。 - -### 批准发送者 - -```bash -openclaw pairing list telegram -openclaw pairing approve telegram -``` - -支持的渠道:`telegram`、`whatsapp`、`signal`、`imessage`、`discord`、`slack`。 - -### 状态存储位置 - -存储在 `~/.openclaw/credentials/` 下: - -- 待处理请求:`-pairing.json` -- 已批准允许列表存储:`-allowFrom.json` - -将这些视为敏感信息(它们控制对你助手的访问)。 - -## 2)节点设备配对(iOS/Android/macOS/无头节点) - -节点作为 `role: node` 的**设备**连接到 Gateway 网关。Gateway 网关创建一个必须被批准的设备配对请求。 - -### 批准节点设备 - -```bash -openclaw devices list -openclaw devices approve -openclaw devices reject -``` - -### 状态存储位置 - -存储在 `~/.openclaw/devices/` 下: - -- `pending.json`(短期;待处理请求会过期) -- `paired.json`(已配对设备 + 令牌) - -### 说明 - -- 旧版 `node.pair.*` API(CLI:`openclaw nodes pending/approve`)是一个单独的 Gateway 网关拥有的配对存储。WS 节点仍然需要设备配对。 - -## 相关文档 - -- 安全模型 + 提示注入:[安全](/gateway/security) -- 安全更新(运行 doctor):[更新](/install/updating) -- 渠道配置: - - Telegram:[Telegram](/channels/telegram) - - WhatsApp:[WhatsApp](/channels/whatsapp) - - Signal:[Signal](/channels/signal) - - iMessage:[iMessage](/channels/imessage) - - Discord:[Discord](/channels/discord) - - Slack:[Slack](/channels/slack) diff --git a/docs/zh-CN/channels/signal.md b/docs/zh-CN/channels/signal.md deleted file mode 100644 index 6257c1ad913..00000000000 --- a/docs/zh-CN/channels/signal.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -read_when: - - 设置 Signal 支持 - - 调试 Signal 发送/接收 -summary: 通过 signal-cli(JSON-RPC + SSE)支持 Signal,设置和号码模型 -title: Signal -x-i18n: - generated_at: "2026-02-03T07:44:15Z" - model: claude-opus-4-6 - provider: pi - source_hash: ca4de8b3685017f54a959e3e2699357ab40b3e4e68574bd7fb5739e4679e7d8a - source_path: channels/signal.md - workflow: 15 ---- - -# Signal (signal-cli) - -状态:外部 CLI 集成。Gateway 网关通过 HTTP JSON-RPC + SSE 与 `signal-cli` 通信。 - -## 快速设置(初学者) - -1. 为 bot 使用**单独的 Signal 号码**(推荐)。 -2. 安装 `signal-cli`(需要 Java)。 -3. 链接 bot 设备并启动守护进程: - - `signal-cli link -n "OpenClaw"` -4. 配置 OpenClaw 并启动 Gateway 网关。 - -最小配置: - -```json5 -{ - channels: { - signal: { - enabled: true, - account: "+15551234567", - cliPath: "signal-cli", - dmPolicy: "pairing", - allowFrom: ["+15557654321"], - }, - }, -} -``` - -## 它是什么 - -- 通过 `signal-cli` 的 Signal 渠道(非嵌入式 libsignal)。 -- 确定性路由:回复始终返回到 Signal。 -- 私信共享智能体的主会话;群组是隔离的(`agent::signal:group:`)。 - -## 配置写入 - -默认情况下,Signal 允许写入由 `/config set|unset` 触发的配置更新(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { signal: { configWrites: false } }, -} -``` - -## 号码模型(重要) - -- Gateway 网关连接到一个 **Signal 设备**(`signal-cli` 账户)。 -- 如果你在**个人 Signal 账户**上运行 bot,它会忽略你自己的消息(循环保护)。 -- 要实现"我发消息给 bot 然后它回复",请使用**单独的 bot 号码**。 - -## 设置(快速路径) - -1. 安装 `signal-cli`(需要 Java)。 -2. 链接 bot 账户: - - `signal-cli link -n "OpenClaw"` 然后在 Signal 中扫描二维码。 -3. 配置 Signal 并启动 Gateway 网关。 - -示例: - -```json5 -{ - channels: { - signal: { - enabled: true, - account: "+15551234567", - cliPath: "signal-cli", - dmPolicy: "pairing", - allowFrom: ["+15557654321"], - }, - }, -} -``` - -多账户支持:使用 `channels.signal.accounts` 配置每个账户及可选的 `name`。共享模式请参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts)。 - -## 外部守护进程模式(httpUrl) - -如果你想自己管理 `signal-cli`(JVM 冷启动慢、容器初始化或共享 CPU),请单独运行守护进程并将 OpenClaw 指向它: - -```json5 -{ - channels: { - signal: { - httpUrl: "http://127.0.0.1:8080", - autoStart: false, - }, - }, -} -``` - -这会跳过自动启动和 OpenClaw 内部的启动等待。对于自动启动时的慢启动,请设置 `channels.signal.startupTimeoutMs`。 - -## 访问控制(私信 + 群组) - -私信: - -- 默认:`channels.signal.dmPolicy = "pairing"`。 -- 未知发送者会收到配对码;消息在批准前会被忽略(配对码 1 小时后过期)。 -- 通过以下方式批准: - - `openclaw pairing list signal` - - `openclaw pairing approve signal ` -- 配对是 Signal 私信的默认令牌交换方式。详情:[配对](/channels/pairing) -- 仅有 UUID 的发送者(来自 `sourceUuid`)在 `channels.signal.allowFrom` 中存储为 `uuid:`。 - -群组: - -- `channels.signal.groupPolicy = open | allowlist | disabled`。 -- 当设置为 `allowlist` 时,`channels.signal.groupAllowFrom` 控制谁可以在群组中触发。 - -## 工作原理(行为) - -- `signal-cli` 作为守护进程运行;Gateway 网关通过 SSE 读取事件。 -- 入站消息被规范化为共享渠道信封。 -- 回复始终路由回同一号码或群组。 - -## 媒体 + 限制 - -- 出站文本按 `channels.signal.textChunkLimit` 分块(默认 4000)。 -- 可选换行分块:设置 `channels.signal.chunkMode="newline"` 在长度分块前按空行(段落边界)分割。 -- 支持附件(从 `signal-cli` 获取 base64)。 -- 默认媒体上限:`channels.signal.mediaMaxMb`(默认 8)。 -- 使用 `channels.signal.ignoreAttachments` 跳过下载媒体。 -- 群组历史上下文使用 `channels.signal.historyLimit`(或 `channels.signal.accounts.*.historyLimit`),回退到 `messages.groupChat.historyLimit`。设置 `0` 禁用(默认 50)。 - -## 输入指示器 + 已读回执 - -- **输入指示器**:OpenClaw 通过 `signal-cli sendTyping` 发送输入信号,并在回复运行时刷新它们。 -- **已读回执**:当 `channels.signal.sendReadReceipts` 为 true 时,OpenClaw 为允许的私信转发已读回执。 -- Signal-cli 不暴露群组的已读回执。 - -## 表情回应(message 工具) - -- 使用 `message action=react` 配合 `channel=signal`。 -- 目标:发送者 E.164 或 UUID(使用配对输出中的 `uuid:`;裸 UUID 也可以)。 -- `messageId` 是你要回应的消息的 Signal 时间戳。 -- 群组表情回应需要 `targetAuthor` 或 `targetAuthorUuid`。 - -示例: - -``` -message action=react channel=signal target=uuid:123e4567-e89b-12d3-a456-426614174000 messageId=1737630212345 emoji=🔥 -message action=react channel=signal target=+15551234567 messageId=1737630212345 emoji=🔥 remove=true -message action=react channel=signal target=signal:group: targetAuthor=uuid: messageId=1737630212345 emoji=✅ -``` - -配置: - -- `channels.signal.actions.reactions`:启用/禁用表情回应操作(默认 true)。 -- `channels.signal.reactionLevel`:`off | ack | minimal | extensive`。 - - `off`/`ack` 禁用智能体表情回应(message 工具 `react` 会报错)。 - - `minimal`/`extensive` 启用智能体表情回应并设置指导级别。 -- 每账户覆盖:`channels.signal.accounts..actions.reactions`、`channels.signal.accounts..reactionLevel`。 - -## 投递目标(CLI/cron) - -- 私信:`signal:+15551234567`(或纯 E.164)。 -- UUID 私信:`uuid:`(或裸 UUID)。 -- 群组:`signal:group:`。 -- 用户名:`username:`(如果你的 Signal 账户支持)。 - -## 配置参考(Signal) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.signal.enabled`:启用/禁用渠道启动。 -- `channels.signal.account`:bot 账户的 E.164。 -- `channels.signal.cliPath`:`signal-cli` 的路径。 -- `channels.signal.httpUrl`:完整守护进程 URL(覆盖 host/port)。 -- `channels.signal.httpHost`、`channels.signal.httpPort`:守护进程绑定(默认 127.0.0.1:8080)。 -- `channels.signal.autoStart`:自动启动守护进程(如果未设置 `httpUrl` 则默认 true)。 -- `channels.signal.startupTimeoutMs`:启动等待超时(毫秒)(上限 120000)。 -- `channels.signal.receiveMode`:`on-start | manual`。 -- `channels.signal.ignoreAttachments`:跳过附件下载。 -- `channels.signal.ignoreStories`:忽略来自守护进程的动态。 -- `channels.signal.sendReadReceipts`:转发已读回执。 -- `channels.signal.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing)。 -- `channels.signal.allowFrom`:私信允许列表(E.164 或 `uuid:`)。`open` 需要 `"*"`。Signal 没有用户名;使用电话/UUID id。 -- `channels.signal.groupPolicy`:`open | allowlist | disabled`(默认:allowlist)。 -- `channels.signal.groupAllowFrom`:群组发送者允许列表。 -- `channels.signal.historyLimit`:作为上下文包含的最大群组消息数(0 禁用)。 -- `channels.signal.dmHistoryLimit`:私信历史限制(用户轮次)。每用户覆盖:`channels.signal.dms[""].historyLimit`。 -- `channels.signal.textChunkLimit`:出站分块大小(字符)。 -- `channels.signal.chunkMode`:`length`(默认)或 `newline` 在长度分块前按空行(段落边界)分割。 -- `channels.signal.mediaMaxMb`:入站/出站媒体上限(MB)。 - -相关全局选项: - -- `agents.list[].groupChat.mentionPatterns`(Signal 不支持原生提及)。 -- `messages.groupChat.mentionPatterns`(全局回退)。 -- `messages.responsePrefix`。 diff --git a/docs/zh-CN/channels/slack.md b/docs/zh-CN/channels/slack.md deleted file mode 100644 index 6a5ddfedda3..00000000000 --- a/docs/zh-CN/channels/slack.md +++ /dev/null @@ -1,531 +0,0 @@ ---- -read_when: Setting up Slack or debugging Slack socket/HTTP mode -summary: Slack 的 socket 或 HTTP webhook 模式设置 -title: Slack -x-i18n: - generated_at: "2026-02-03T07:45:49Z" - model: claude-opus-4-6 - provider: pi - source_hash: 703b4b4333bebfef26b64710ba452bdfc3e7d2115048d4e552e8659425b3609b - source_path: channels/slack.md - workflow: 15 ---- - -# Slack - -## Socket 模式(默认) - -### 快速设置(新手) - -1. 创建一个 Slack 应用并启用 **Socket Mode**。 -2. 创建一个 **App Token**(`xapp-...`)和 **Bot Token**(`xoxb-...`)。 -3. 为 OpenClaw 设置令牌并启动 Gateway 网关。 - -最小配置: - -```json5 -{ - channels: { - slack: { - enabled: true, - appToken: "xapp-...", - botToken: "xoxb-...", - }, - }, -} -``` - -### 设置 - -1. 在 https://api.slack.com/apps 创建一个 Slack 应用(从头开始)。 -2. **Socket Mode** → 开启。然后前往 **Basic Information** → **App-Level Tokens** → **Generate Token and Scopes**,添加 `connections:write` 权限范围。复制 **App Token**(`xapp-...`)。 -3. **OAuth & Permissions** → 添加 bot token 权限范围(使用下面的 manifest)。点击 **Install to Workspace**。复制 **Bot User OAuth Token**(`xoxb-...`)。 -4. 可选:**OAuth & Permissions** → 添加 **User Token Scopes**(参见下面的只读列表)。重新安装应用并复制 **User OAuth Token**(`xoxp-...`)。 -5. **Event Subscriptions** → 启用事件并订阅: - - `message.*`(包括编辑/删除/线程广播) - - `app_mention` - - `reaction_added`、`reaction_removed` - - `member_joined_channel`、`member_left_channel` - - `channel_rename` - - `pin_added`、`pin_removed` -6. 邀请机器人加入你希望它读取的频道。 -7. Slash Commands → 如果你使用 `channels.slack.slashCommand`,创建 `/openclaw`。如果启用原生命令,为每个内置命令添加一个斜杠命令(名称与 `/help` 相同)。除非你设置 `channels.slack.commands.native: true`,否则 Slack 默认关闭原生命令(全局 `commands.native` 是 `"auto"`,对 Slack 保持关闭)。 -8. App Home → 启用 **Messages Tab** 以便用户可以私信机器人。 - -使用下面的 manifest 以保持权限范围和事件同步。 - -多账户支持:使用 `channels.slack.accounts` 配置每个账户的令牌和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。 - -### OpenClaw 配置(最小) - -通过环境变量设置令牌(推荐): - -- `SLACK_APP_TOKEN=xapp-...` -- `SLACK_BOT_TOKEN=xoxb-...` - -或通过配置: - -```json5 -{ - channels: { - slack: { - enabled: true, - appToken: "xapp-...", - botToken: "xoxb-...", - }, - }, -} -``` - -### 用户令牌(可选) - -OpenClaw 可以使用 Slack 用户令牌(`xoxp-...`)进行读取操作(历史记录、置顶、表情回应、表情符号、成员信息)。默认情况下保持只读:当存在用户令牌时,读取优先使用用户令牌,而写入仍然使用 bot 令牌,除非你明确选择加入。即使设置了 `userTokenReadOnly: false`,当 bot 令牌可用时,写入仍然优先使用 bot 令牌。 - -用户令牌在配置文件中配置(不支持环境变量)。对于多账户,设置 `channels.slack.accounts..userToken`。 - -包含 bot + app + 用户令牌的示例: - -```json5 -{ - channels: { - slack: { - enabled: true, - appToken: "xapp-...", - botToken: "xoxb-...", - userToken: "xoxp-...", - }, - }, -} -``` - -明确设置 userTokenReadOnly 的示例(允许用户令牌写入): - -```json5 -{ - channels: { - slack: { - enabled: true, - appToken: "xapp-...", - botToken: "xoxb-...", - userToken: "xoxp-...", - userTokenReadOnly: false, - }, - }, -} -``` - -#### 令牌使用 - -- 读取操作(历史记录、表情回应列表、置顶列表、表情符号列表、成员信息、搜索)在配置了用户令牌时优先使用用户令牌,否则使用 bot 令牌。 -- 写入操作(发送/编辑/删除消息、添加/移除表情回应、置顶/取消置顶、文件上传)默认使用 bot 令牌。如果 `userTokenReadOnly: false` 且没有可用的 bot 令牌,OpenClaw 会回退到用户令牌。 - -### 历史上下文 - -- `channels.slack.historyLimit`(或 `channels.slack.accounts.*.historyLimit`)控制将多少条最近的频道/群组消息包含到提示中。 -- 回退到 `messages.groupChat.historyLimit`。设置为 `0` 以禁用(默认 50)。 - -## HTTP 模式(Events API) - -当你的 Gateway 网关可以通过 HTTPS 被 Slack 访问时(服务器部署的典型情况),使用 HTTP webhook 模式。 -HTTP 模式使用 Events API + Interactivity + Slash Commands,共享一个请求 URL。 - -### 设置 - -1. 创建一个 Slack 应用并**禁用 Socket Mode**(如果你只使用 HTTP 则可选)。 -2. **Basic Information** → 复制 **Signing Secret**。 -3. **OAuth & Permissions** → 安装应用并复制 **Bot User OAuth Token**(`xoxb-...`)。 -4. **Event Subscriptions** → 启用事件并将 **Request URL** 设置为你的 Gateway 网关 webhook 路径(默认 `/slack/events`)。 -5. **Interactivity & Shortcuts** → 启用并设置相同的 **Request URL**。 -6. **Slash Commands** → 为你的命令设置相同的 **Request URL**。 - -示例请求 URL: -`https://gateway-host/slack/events` - -### OpenClaw 配置(最小) - -```json5 -{ - channels: { - slack: { - enabled: true, - mode: "http", - botToken: "xoxb-...", - signingSecret: "your-signing-secret", - webhookPath: "/slack/events", - }, - }, -} -``` - -多账户 HTTP 模式:设置 `channels.slack.accounts..mode = "http"` 并为每个账户提供唯一的 `webhookPath`,以便每个 Slack 应用可以指向自己的 URL。 - -### Manifest(可选) - -使用此 Slack 应用 manifest 快速创建应用(如果需要可以调整名称/命令)。如果你计划配置用户令牌,请包含用户权限范围。 - -```json -{ - "display_information": { - "name": "OpenClaw", - "description": "Slack connector for OpenClaw" - }, - "features": { - "bot_user": { - "display_name": "OpenClaw", - "always_online": false - }, - "app_home": { - "messages_tab_enabled": true, - "messages_tab_read_only_enabled": false - }, - "slash_commands": [ - { - "command": "/openclaw", - "description": "Send a message to OpenClaw", - "should_escape": false - } - ] - }, - "oauth_config": { - "scopes": { - "bot": [ - "chat:write", - "channels:history", - "channels:read", - "groups:history", - "groups:read", - "groups:write", - "im:history", - "im:read", - "im:write", - "mpim:history", - "mpim:read", - "mpim:write", - "users:read", - "app_mentions:read", - "reactions:read", - "reactions:write", - "pins:read", - "pins:write", - "emoji:read", - "commands", - "files:read", - "files:write" - ], - "user": [ - "channels:history", - "channels:read", - "groups:history", - "groups:read", - "im:history", - "im:read", - "mpim:history", - "mpim:read", - "users:read", - "reactions:read", - "pins:read", - "emoji:read", - "search:read" - ] - } - }, - "settings": { - "socket_mode_enabled": true, - "event_subscriptions": { - "bot_events": [ - "app_mention", - "message.channels", - "message.groups", - "message.im", - "message.mpim", - "reaction_added", - "reaction_removed", - "member_joined_channel", - "member_left_channel", - "channel_rename", - "pin_added", - "pin_removed" - ] - } - } -} -``` - -如果启用原生命令,为每个要公开的命令添加一个 `slash_commands` 条目(与 `/help` 列表匹配)。使用 `channels.slack.commands.native` 覆盖。 - -## 权限范围(当前 vs 可选) - -Slack 的 Conversations API 是按类型区分的:你只需要你实际接触的会话类型(channels、groups、im、mpim)的权限范围。概述参见 https://docs.slack.dev/apis/web-api/using-the-conversations-api/。 - -### Bot 令牌权限范围(必需) - -- `chat:write`(通过 `chat.postMessage` 发送/更新/删除消息) - https://docs.slack.dev/reference/methods/chat.postMessage -- `im:write`(通过 `conversations.open` 打开私信用于用户私信) - https://docs.slack.dev/reference/methods/conversations.open -- `channels:history`、`groups:history`、`im:history`、`mpim:history` - https://docs.slack.dev/reference/methods/conversations.history -- `channels:read`、`groups:read`、`im:read`、`mpim:read` - https://docs.slack.dev/reference/methods/conversations.info -- `users:read`(用户查询) - https://docs.slack.dev/reference/methods/users.info -- `reactions:read`、`reactions:write`(`reactions.get` / `reactions.add`) - https://docs.slack.dev/reference/methods/reactions.get - https://docs.slack.dev/reference/methods/reactions.add -- `pins:read`、`pins:write`(`pins.list` / `pins.add` / `pins.remove`) - https://docs.slack.dev/reference/scopes/pins.read - https://docs.slack.dev/reference/scopes/pins.write -- `emoji:read`(`emoji.list`) - https://docs.slack.dev/reference/scopes/emoji.read -- `files:write`(通过 `files.uploadV2` 上传) - https://docs.slack.dev/messaging/working-with-files/#upload - -### 用户令牌权限范围(可选,默认只读) - -如果你配置了 `channels.slack.userToken`,在 **User Token Scopes** 下添加这些。 - -- `channels:history`、`groups:history`、`im:history`、`mpim:history` -- `channels:read`、`groups:read`、`im:read`、`mpim:read` -- `users:read` -- `reactions:read` -- `pins:read` -- `emoji:read` -- `search:read` - -### 目前不需要(但未来可能需要) - -- `mpim:write`(仅当我们添加群组私信打开/私信启动时通过 `conversations.open`) -- `groups:write`(仅当我们添加私有频道管理时:创建/重命名/邀请/归档) -- `chat:write.public`(仅当我们想发布到机器人未加入的频道时) - https://docs.slack.dev/reference/scopes/chat.write.public -- `users:read.email`(仅当我们需要从 `users.info` 获取邮箱字段时) - https://docs.slack.dev/changelog/2017-04-narrowing-email-access -- `files:read`(仅当我们开始列出/读取文件元数据时) - -## 配置 - -Slack 仅使用 Socket Mode(无 HTTP webhook 服务器)。提供两个令牌: - -```json -{ - "slack": { - "enabled": true, - "botToken": "xoxb-...", - "appToken": "xapp-...", - "groupPolicy": "allowlist", - "dm": { - "enabled": true, - "policy": "pairing", - "allowFrom": ["U123", "U456", "*"], - "groupEnabled": false, - "groupChannels": ["G123"], - "replyToMode": "all" - }, - "channels": { - "C123": { "allow": true, "requireMention": true }, - "#general": { - "allow": true, - "requireMention": true, - "users": ["U123"], - "skills": ["search", "docs"], - "systemPrompt": "Keep answers short." - } - }, - "reactionNotifications": "own", - "reactionAllowlist": ["U123"], - "replyToMode": "off", - "actions": { - "reactions": true, - "messages": true, - "pins": true, - "memberInfo": true, - "emojiList": true - }, - "slashCommand": { - "enabled": true, - "name": "openclaw", - "sessionPrefix": "slack:slash", - "ephemeral": true - }, - "textChunkLimit": 4000, - "mediaMaxMb": 20 - } -} -``` - -令牌也可以通过环境变量提供: - -- `SLACK_BOT_TOKEN` -- `SLACK_APP_TOKEN` - -确认表情回应通过 `messages.ackReaction` + `messages.ackReactionScope` 全局控制。使用 `messages.removeAckAfterReply` 在机器人回复后清除确认表情回应。 - -## 限制 - -- 出站文本按 `channels.slack.textChunkLimit` 分块(默认 4000)。 -- 可选的换行分块:设置 `channels.slack.chunkMode="newline"` 以在长度分块之前按空行(段落边界)分割。 -- 媒体上传受 `channels.slack.mediaMaxMb` 限制(默认 20)。 - -## 回复线程 - -默认情况下,OpenClaw 在主频道回复。使用 `channels.slack.replyToMode` 控制自动线程: - -| 模式 | 行为 | -| ------- | -------------------------------------------------------------------------------------------- | -| `off` | **默认。** 在主频道回复。仅当触发消息已在线程中时才使用线程。 | -| `first` | 第一条回复进入线程(在触发消息下),后续回复进入主频道。适合保持上下文可见同时避免线程混乱。 | -| `all` | 所有回复都进入线程。保持对话集中但可能降低可见性。 | - -该模式适用于自动回复和智能体工具调用(`slack sendMessage`)。 - -### 按聊天类型的线程 - -你可以通过设置 `channels.slack.replyToModeByChatType` 为每种聊天类型配置不同的线程行为: - -```json5 -{ - channels: { - slack: { - replyToMode: "off", // 频道的默认值 - replyToModeByChatType: { - direct: "all", // 私信始终使用线程 - group: "first", // 群组私信/MPIM 第一条回复使用线程 - }, - }, - }, -} -``` - -支持的聊天类型: - -- `direct`:一对一私信(Slack `im`) -- `group`:群组私信 / MPIM(Slack `mpim`) -- `channel`:标准频道(公开/私有) - -优先级: - -1. `replyToModeByChatType.` -2. `replyToMode` -3. 提供商默认值(`off`) - -当未设置聊天类型覆盖时,旧版 `channels.slack.dm.replyToMode` 仍可作为 `direct` 的回退。 - -示例: - -仅对私信使用线程: - -```json5 -{ - channels: { - slack: { - replyToMode: "off", - replyToModeByChatType: { direct: "all" }, - }, - }, -} -``` - -对群组私信使用线程但保持频道在根级别: - -```json5 -{ - channels: { - slack: { - replyToMode: "off", - replyToModeByChatType: { group: "first" }, - }, - }, -} -``` - -让频道使用线程,保持私信在根级别: - -```json5 -{ - channels: { - slack: { - replyToMode: "first", - replyToModeByChatType: { direct: "off", group: "off" }, - }, - }, -} -``` - -### 手动线程标签 - -对于细粒度控制,在智能体响应中使用这些标签: - -- `[[reply_to_current]]` — 回复触发消息(开始/继续线程)。 -- `[[reply_to:]]` — 回复特定的消息 id。 - -## 会话 + 路由 - -- 私信共享 `main` 会话(与 WhatsApp/Telegram 相同)。 -- 频道映射到 `agent::slack:channel:` 会话。 -- 斜杠命令使用 `agent::slack:slash:` 会话(前缀可通过 `channels.slack.slashCommand.sessionPrefix` 配置)。 -- 如果 Slack 未提供 `channel_type`,OpenClaw 会从频道 ID 前缀(`D`、`C`、`G`)推断并默认为 `channel` 以保持会话键稳定。 -- 原生命令注册使用 `commands.native`(全局默认 `"auto"` → Slack 关闭),可以使用 `channels.slack.commands.native` 按工作空间覆盖。文本命令需要独立的 `/...` 消息,可以使用 `commands.text: false` 禁用。Slack 斜杠命令在 Slack 应用中管理,不会自动移除。使用 `commands.useAccessGroups: false` 绕过命令的访问组检查。 -- 完整命令列表 + 配置:[斜杠命令](/tools/slash-commands) - -## 私信安全(配对) - -- 默认:`channels.slack.dm.policy="pairing"` — 未知的私信发送者会收到配对码(1 小时后过期)。 -- 通过以下方式批准:`openclaw pairing approve slack `。 -- 要允许任何人:设置 `channels.slack.dm.policy="open"` 和 `channels.slack.dm.allowFrom=["*"]`。 -- `channels.slack.dm.allowFrom` 接受用户 ID、@用户名或邮箱(在令牌允许时启动时解析)。向导在设置期间接受用户名,并在令牌允许时将其解析为 ID。 - -## 群组策略 - -- `channels.slack.groupPolicy` 控制频道处理(`open|disabled|allowlist`)。 -- `allowlist` 要求频道列在 `channels.slack.channels` 中。 -- 如果你只设置了 `SLACK_BOT_TOKEN`/`SLACK_APP_TOKEN` 而从未创建 `channels.slack` 部分,运行时默认将 `groupPolicy` 设为 `open`。添加 `channels.slack.groupPolicy`、`channels.defaults.groupPolicy` 或频道白名单来锁定它。 -- 配置向导接受 `#channel` 名称,并在可能时(公开 + 私有)将其解析为 ID;如果存在多个匹配,它优先选择活跃的频道。 -- 启动时,OpenClaw 将白名单中的频道/用户名解析为 ID(在令牌允许时)并记录映射;未解析的条目按原样保留。 -- 要**不允许任何频道**,设置 `channels.slack.groupPolicy: "disabled"`(或保留空白名单)。 - -频道选项(`channels.slack.channels.` 或 `channels.slack.channels.`): - -- `allow`:当 `groupPolicy="allowlist"` 时允许/拒绝频道。 -- `requireMention`:频道的提及门控。 -- `tools`:可选的每频道工具策略覆盖(`allow`/`deny`/`alsoAllow`)。 -- `toolsBySender`:频道内可选的每发送者工具策略覆盖(键为发送者 id/@用户名/邮箱;支持 `"*"` 通配符)。 -- `allowBots`:允许此频道中机器人发送的消息(默认:false)。 -- `users`:可选的每频道用户白名单。 -- `skills`:Skills 过滤器(省略 = 所有 Skills,空 = 无)。 -- `systemPrompt`:频道的额外系统提示(与主题/目的组合)。 -- `enabled`:设置为 `false` 以禁用频道。 - -## 投递目标 - -与 cron/CLI 发送一起使用: - -- `user:` 用于私信 -- `channel:` 用于频道 - -## 工具操作 - -Slack 工具操作可以通过 `channels.slack.actions.*` 进行门控: - -| 操作组 | 默认 | 说明 | -| ---------- | ------ | ----------------------- | -| reactions | 已启用 | 表情回应 + 列出表情回应 | -| messages | 已启用 | 读取/发送/编辑/删除 | -| pins | 已启用 | 置顶/取消置顶/列表 | -| memberInfo | 已启用 | 成员信息 | -| emojiList | 已启用 | 自定义表情符号列表 | - -## 安全说明 - -- 写入默认使用 bot 令牌,因此状态更改操作保持在应用的机器人权限和身份范围内。 -- 设置 `userTokenReadOnly: false` 允许在 bot 令牌不可用时使用用户令牌进行写入操作,这意味着操作以安装用户的访问权限运行。将用户令牌视为高权限,并保持操作门控和白名单严格。 -- 如果你启用用户令牌写入,请确保用户令牌包含你期望的写入权限范围(`chat:write`、`reactions:write`、`pins:write`、`files:write`),否则这些操作将失败。 - -## 说明 - -- 提及门控通过 `channels.slack.channels` 控制(将 `requireMention` 设置为 `true`);`agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)也算作提及。 -- 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每智能体的模式。 -- 表情回应通知遵循 `channels.slack.reactionNotifications`(在 `allowlist` 模式下使用 `reactionAllowlist`)。 -- 默认忽略机器人发送的消息;通过 `channels.slack.allowBots` 或 `channels.slack.channels..allowBots` 启用。 -- 警告:如果你允许回复其他机器人(`channels.slack.allowBots=true` 或 `channels.slack.channels..allowBots=true`),请使用 `requireMention`、`channels.slack.channels..users` 白名单和/或在 `AGENTS.md` 和 `SOUL.md` 中设置明确的防护措施来防止机器人之间的回复循环。 -- 对于 Slack 工具,表情回应移除语义见 [/tools/reactions](/tools/reactions)。 -- 附件在允许且在大小限制内时会下载到媒体存储。 diff --git a/docs/zh-CN/channels/synology-chat.md b/docs/zh-CN/channels/synology-chat.md deleted file mode 100644 index 4323e5d12d7..00000000000 --- a/docs/zh-CN/channels/synology-chat.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -read_when: - - 设置 OpenClaw 与 Synology Chat - - 调试 Synology Chat webhook 路由 -summary: Synology Chat webhook 设置与 OpenClaw 配置 -title: Synology Chat -x-i18n: - generated_at: "2026-03-16T06:20:51Z" - model: gpt-5.4 - provider: openai - source_hash: 7d77598ea759f89873a1edf0a3a7e7fedc1e4a7067709aaca6b999056a89eb1a - source_path: channels/synology-chat.md - workflow: 15 ---- - -# Synology Chat(插件) - -状态:通过插件支持,作为使用 Synology Chat webhook 的私信渠道。 -该插件接受来自 Synology Chat 出站 webhook 的入站消息,并通过 Synology Chat 入站 webhook 发送回复。 - -## 需要插件 - -Synology Chat 基于插件,不属于默认的核心渠道安装内容。 - -从本地检出安装: - -```bash -openclaw plugins install ./extensions/synology-chat -``` - -详情:[插件](/tools/plugin) - -## 快速设置 - -1. 安装并启用 Synology Chat 插件。 - - `openclaw onboard` 现在会在与 `openclaw channels add` 相同的渠道设置列表中显示 Synology Chat。 - - 非交互式设置:`openclaw channels add --channel synology-chat --token --url ` -2. 在 Synology Chat 集成中: - - 创建一个入站 webhook 并复制其 URL。 - - 使用你的 secret token 创建一个出站 webhook。 -3. 将出站 webhook URL 指向你的 OpenClaw Gateway 网关: - - 默认是 `https://gateway-host/webhook/synology`。 - - 或者使用你自定义的 `channels.synology-chat.webhookPath`。 -4. 在 OpenClaw 中完成设置。 - - 引导式:`openclaw onboard` - - 直接设置:`openclaw channels add --channel synology-chat --token --url ` -5. 重启 Gateway 网关,并向 Synology Chat 机器人发送一条私信。 - -最小配置: - -```json5 -{ - channels: { - "synology-chat": { - enabled: true, - token: "synology-outgoing-token", - incomingUrl: "https://nas.example.com/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=...", - webhookPath: "/webhook/synology", - dmPolicy: "allowlist", - allowedUserIds: ["123456"], - rateLimitPerMinute: 30, - allowInsecureSsl: false, - }, - }, -} -``` - -## 环境变量 - -对于默认账户,你可以使用环境变量: - -- `SYNOLOGY_CHAT_TOKEN` -- `SYNOLOGY_CHAT_INCOMING_URL` -- `SYNOLOGY_NAS_HOST` -- `SYNOLOGY_ALLOWED_USER_IDS`(逗号分隔) -- `SYNOLOGY_RATE_LIMIT` -- `OPENCLAW_BOT_NAME` - -配置值会覆盖环境变量。 - -## 私信策略与访问控制 - -- 推荐的默认值是 `dmPolicy: "allowlist"`。 -- `allowedUserIds` 接受 Synology 用户 ID 列表(或逗号分隔字符串)。 -- 在 `allowlist` 模式下,空的 `allowedUserIds` 列表会被视为配置错误,webhook 路由将不会启动(如需允许所有人,请使用 `dmPolicy: "open"`)。 -- `dmPolicy: "open"` 允许任何发送方。 -- `dmPolicy: "disabled"` 会阻止私信。 -- 配对批准可配合以下命令使用: - - `openclaw pairing list synology-chat` - - `openclaw pairing approve synology-chat ` - -## 出站投递 - -使用数字形式的 Synology Chat 用户 ID 作为目标。 - -示例: - -```bash -openclaw message send --channel synology-chat --target 123456 --text "Hello from OpenClaw" -openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello again" -``` - -支持通过基于 URL 的文件投递发送媒体。 - -## 多账户 - -支持在 `channels.synology-chat.accounts` 下配置多个 Synology Chat 账户。 -每个账户都可以覆盖 token、入站 URL、webhook 路径、私信策略和限制。 - -```json5 -{ - channels: { - "synology-chat": { - enabled: true, - accounts: { - default: { - token: "token-a", - incomingUrl: "https://nas-a.example.com/...token=...", - }, - alerts: { - token: "token-b", - incomingUrl: "https://nas-b.example.com/...token=...", - webhookPath: "/webhook/synology-alerts", - dmPolicy: "allowlist", - allowedUserIds: ["987654"], - }, - }, - }, - }, -} -``` - -## 安全说明 - -- 妥善保管 `token`,如果泄露请轮换。 -- 除非你明确可信任本地 NAS 的自签名证书,否则请保持 `allowInsecureSsl: false`。 -- 入站 webhook 请求会按 token 验证,并按发送方进行速率限制。 -- 生产环境优先使用 `dmPolicy: "allowlist"`。 diff --git a/docs/zh-CN/channels/telegram.md b/docs/zh-CN/channels/telegram.md deleted file mode 100644 index 7a49b8e3a95..00000000000 --- a/docs/zh-CN/channels/telegram.md +++ /dev/null @@ -1,751 +0,0 @@ ---- -read_when: - - 开发 Telegram 功能或 webhook -summary: Telegram 机器人支持状态、功能和配置 -title: Telegram -x-i18n: - generated_at: "2026-02-03T10:07:32Z" - model: claude-opus-4-6 - provider: pi - source_hash: 65da427e5f2383edb674054f8133a5777b2aae8a7c4bd78defa065124090a19c - source_path: channels/telegram.md - workflow: 15 ---- - -# Telegram(Bot API) - -状态:通过 grammY 支持机器人私信和群组,已可用于生产环境。默认使用长轮询;webhook 可选。 - -## 快速设置(入门) - -1. 通过 **@BotFather**([直达链接](https://t.me/BotFather))创建机器人。确认用户名确实是 `@BotFather`,然后复制 token。 -2. 设置 token: - - 环境变量:`TELEGRAM_BOT_TOKEN=...` - - 或配置:`channels.telegram.botToken: "..."`。 - - 如果两者都设置了,配置优先(环境变量回退仅适用于默认账户)。 -3. 启动 Gateway 网关。 -4. 私信访问默认使用配对模式;首次联系时需要批准配对码。 - -最小配置: - -```json5 -{ - channels: { - telegram: { - enabled: true, - botToken: "123:abc", - dmPolicy: "pairing", - }, - }, -} -``` - -## 这是什么 - -- 一个由 Gateway 网关拥有的 Telegram Bot API 渠道。 -- 确定性路由:回复返回到 Telegram;模型不会选择渠道。 -- 私信共享智能体的主会话;群组保持隔离(`agent::telegram:group:`)。 - -## 设置(快速路径) - -### 1)创建机器人 token(BotFather) - -1. 打开 Telegram 并与 **@BotFather**([直达链接](https://t.me/BotFather))对话。确认用户名确实是 `@BotFather`。 -2. 运行 `/newbot`,然后按照提示操作(名称 + 以 `bot` 结尾的用户名)。 -3. 复制 token 并安全保存。 - -可选的 BotFather 设置: - -- `/setjoingroups` — 允许/拒绝将机器人添加到群组。 -- `/setprivacy` — 控制机器人是否可以看到所有群组消息。 - -### 2)配置 token(环境变量或配置文件) - -示例: - -```json5 -{ - channels: { - telegram: { - enabled: true, - botToken: "123:abc", - dmPolicy: "pairing", - groups: { "*": { requireMention: true } }, - }, - }, -} -``` - -环境变量选项:`TELEGRAM_BOT_TOKEN=...`(适用于默认账户)。 -如果环境变量和配置都设置了,配置优先。 - -多账户支持:使用 `channels.telegram.accounts`,每个账户有独立的 token 和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。 - -3. 启动 Gateway 网关。当 token 解析成功时 Telegram 启动(配置优先,环境变量回退)。 -4. 私信访问默认为配对模式。机器人首次被联系时批准配对码。 -5. 对于群组:添加机器人,决定隐私/管理员行为(见下文),然后设置 `channels.telegram.groups` 来控制提及门控和允许列表。 - -## Token + 隐私 + 权限(Telegram 端) - -### Token 创建(BotFather) - -- `/newbot` 创建机器人并返回 token(请保密)。 -- 如果 token 泄露,通过 @BotFather 撤销/重新生成,并更新你的配置。 - -### 群组消息可见性(隐私模式) - -Telegram 机器人默认启用**隐私模式**,这会限制它们接收哪些群组消息。 -如果你的机器人必须看到*所有*群组消息,有两个选项: - -- 使用 `/setprivacy` 禁用隐私模式**或** -- 将机器人添加为群组**管理员**(管理员机器人可以接收所有消息)。 - -**注意:** 当你切换隐私模式时,Telegram 要求将机器人从每个群组中移除并重新添加,更改才能生效。 - -### 群组权限(管理员权限) - -管理员状态在群组内设置(Telegram UI)。管理员机器人始终接收所有群组消息,因此如果需要完全可见性,请使用管理员身份。 - -## 工作原理(行为) - -- 入站消息被规范化为共享渠道信封,包含回复上下文和媒体占位符。 -- 群组回复默认需要提及(原生 @提及或 `agents.list[].groupChat.mentionPatterns` / `messages.groupChat.mentionPatterns`)。 -- 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每个智能体的模式。 -- 回复始终路由回同一个 Telegram 聊天。 -- 长轮询使用 grammY runner,每个聊天按顺序处理;总体并发受 `agents.defaults.maxConcurrent` 限制。 -- Telegram Bot API 不支持已读回执;没有 `sendReadReceipts` 选项。 - -## 草稿流式传输 - -OpenClaw 可以在 Telegram 私信中使用 `sendMessageDraft` 流式传输部分回复。 - -要求: - -- 在 @BotFather 中为机器人启用线程模式(论坛话题模式)。 -- 仅限私聊线程(Telegram 在入站消息中包含 `message_thread_id`)。 -- `channels.telegram.streamMode` 未设置为 `"off"`(默认:`"partial"`,`"block"` 启用分块草稿更新)。 - -草稿流式传输仅限私信;Telegram 在群组或频道中不支持此功能。 - -## 格式化(Telegram HTML) - -- 出站 Telegram 文本使用 `parse_mode: "HTML"`(Telegram 支持的标签子集)。 -- 类 Markdown 输入被渲染为 **Telegram 安全 HTML**(粗体/斜体/删除线/代码/链接);块级元素被扁平化为带换行/项目符号的文本。 -- 来自模型的原始 HTML 会被转义,以避免 Telegram 解析错误。 -- 如果 Telegram 拒绝 HTML 负载,OpenClaw 会以纯文本重试相同的消息。 - -## 命令(原生 + 自定义) - -OpenClaw 在启动时向 Telegram 的机器人菜单注册原生命令(如 `/status`、`/reset`、`/model`)。 -你可以通过配置向菜单添加自定义命令: - -```json5 -{ - channels: { - telegram: { - customCommands: [ - { command: "backup", description: "Git 备份" }, - { command: "generate", description: "创建图片" }, - ], - }, - }, -} -``` - -## 故障排除 - -- 日志中出现 `setMyCommands failed` 通常意味着到 `api.telegram.org` 的出站 HTTPS/DNS 被阻止。 -- 如果你看到 `sendMessage` 或 `sendChatAction` 失败,检查 IPv6 路由和 DNS。 - -更多帮助:[渠道故障排除](/channels/troubleshooting)。 - -注意: - -- 自定义命令**仅是菜单条目**;除非你在其他地方处理它们,否则 OpenClaw 不会实现它们。 -- 命令名称会被规范化(去除前导 `/`,转为小写),必须匹配 `a-z`、`0-9`、`_`(1-32 个字符)。 -- 自定义命令**不能覆盖原生命令**。冲突会被忽略并记录日志。 -- 如果禁用了 `commands.native`,则只注册自定义命令(如果没有则清空)。 - -## 限制 - -- 出站文本按 `channels.telegram.textChunkLimit` 分块(默认 4000)。 -- 可选的换行分块:设置 `channels.telegram.chunkMode="newline"` 在长度分块之前按空行(段落边界)分割。 -- 媒体下载/上传受 `channels.telegram.mediaMaxMb` 限制(默认 5)。 -- Telegram Bot API 请求在 `channels.telegram.timeoutSeconds` 后超时(通过 grammY 默认 500)。设置较低的值以避免长时间挂起。 -- 群组历史上下文使用 `channels.telegram.historyLimit`(或 `channels.telegram.accounts.*.historyLimit`),回退到 `messages.groupChat.historyLimit`。设置 `0` 禁用(默认 50)。 -- 私信历史可以用 `channels.telegram.dmHistoryLimit`(用户轮次)限制。每用户覆盖:`channels.telegram.dms[""].historyLimit`。 - -## 群组激活模式 - -默认情况下,机器人只响应群组中的提及(`@botname` 或 `agents.list[].groupChat.mentionPatterns` 中的模式)。要更改此行为: - -### 通过配置(推荐) - -```json5 -{ - channels: { - telegram: { - groups: { - "-1001234567890": { requireMention: false }, // 在此群组中始终响应 - }, - }, - }, -} -``` - -**重要:** 设置 `channels.telegram.groups` 会创建一个**允许列表** - 只有列出的群组(或 `"*"`)会被接受。 -论坛话题继承其父群组配置(allowFrom、requireMention、skills、prompts),除非你在 `channels.telegram.groups..topics.` 下添加每话题覆盖。 - -要允许所有群组并始终响应: - -```json5 -{ - channels: { - telegram: { - groups: { - "*": { requireMention: false }, // 所有群组,始终响应 - }, - }, - }, -} -``` - -要保持所有群组仅提及响应(默认行为): - -```json5 -{ - channels: { - telegram: { - groups: { - "*": { requireMention: true }, // 或完全省略 groups - }, - }, - }, -} -``` - -### 通过命令(会话级别) - -在群组中发送: - -- `/activation always` - 响应所有消息 -- `/activation mention` - 需要提及(默认) - -**注意:** 命令只更新会话状态。要在重启后保持持久行为,请使用配置。 - -### 获取群组聊天 ID - -将群组中的任何消息转发给 Telegram 上的 `@userinfobot` 或 `@getidsbot` 以查看聊天 ID(负数,如 `-1001234567890`)。 - -**提示:** 要获取你自己的用户 ID,私信机器人,它会回复你的用户 ID(配对消息),或者在命令启用后使用 `/whoami`。 - -**隐私注意:** `@userinfobot` 是第三方机器人。如果你更倾向于其他方式,将机器人添加到群组,发送一条消息,然后使用 `openclaw logs --follow` 读取 `chat.id`,或使用 Bot API `getUpdates`。 - -## 配置写入 - -默认情况下,Telegram 允许写入由渠道事件或 `/config set|unset` 触发的配置更新。 - -这发生在以下情况: - -- 群组升级为超级群组,Telegram 发出 `migrate_to_chat_id`(聊天 ID 更改)。OpenClaw 可以自动迁移 `channels.telegram.groups`。 -- 你在 Telegram 聊天中运行 `/config set` 或 `/config unset`(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { telegram: { configWrites: false } }, -} -``` - -## 话题(论坛超级群组) - -Telegram 论坛话题在每条消息中包含 `message_thread_id`。OpenClaw: - -- 将 `:topic:` 附加到 Telegram 群组会话键,使每个话题隔离。 -- 发送输入指示器和回复时带上 `message_thread_id`,使响应保持在话题内。 -- 通用话题(线程 id `1`)是特殊的:消息发送省略 `message_thread_id`(Telegram 会拒绝),但输入指示器仍然包含它。 -- 在模板上下文中暴露 `MessageThreadId` + `IsForum` 用于路由/模板。 -- 话题特定配置可在 `channels.telegram.groups..topics.` 下设置(skills、允许列表、自动回复、系统提示、禁用)。 -- 话题配置继承群组设置(requireMention、允许列表、skills、提示、enabled),除非每话题覆盖。 - -私聊在某些边缘情况下可能包含 `message_thread_id`。OpenClaw 保持私信会话键不变,但在存在线程 id 时仍将其用于回复/草稿流式传输。 - -## 内联按钮 - -Telegram 支持带回调按钮的内联键盘。 - -```json5 -{ - channels: { - telegram: { - capabilities: { - inlineButtons: "allowlist", - }, - }, - }, -} -``` - -对于每账户配置: - -```json5 -{ - channels: { - telegram: { - accounts: { - main: { - capabilities: { - inlineButtons: "allowlist", - }, - }, - }, - }, - }, -} -``` - -作用域: - -- `off` — 禁用内联按钮 -- `dm` — 仅私信(群组目标被阻止) -- `group` — 仅群组(私信目标被阻止) -- `all` — 私信 + 群组 -- `allowlist` — 私信 + 群组,但仅限 `allowFrom`/`groupAllowFrom` 允许的发送者(与控制命令规则相同) - -默认:`allowlist`。 -旧版:`capabilities: ["inlineButtons"]` = `inlineButtons: "all"`。 - -### 发送按钮 - -使用带 `buttons` 参数的消息工具: - -```json5 -{ - action: "send", - channel: "telegram", - to: "123456789", - message: "选择一个选项:", - buttons: [ - [ - { text: "是", callback_data: "yes" }, - { text: "否", callback_data: "no" }, - ], - [{ text: "取消", callback_data: "cancel" }], - ], -} -``` - -当用户点击按钮时,回调数据会以以下格式作为消息发送回智能体: -`callback_data: value` - -### 配置选项 - -Telegram 功能可以在两个级别配置(上面显示的对象形式;旧版字符串数组仍然支持): - -- `channels.telegram.capabilities`:应用于所有 Telegram 账户的全局默认功能配置,除非被覆盖。 -- `channels.telegram.accounts..capabilities`:每账户功能,覆盖该特定账户的全局默认值。 - -当所有 Telegram 机器人/账户应具有相同行为时使用全局设置。当不同机器人需要不同行为时使用每账户配置(例如,一个账户只处理私信,而另一个允许在群组中使用)。 - -## 访问控制(私信 + 群组) - -### 私信访问 - -- 默认:`channels.telegram.dmPolicy = "pairing"`。未知发送者收到配对码;在批准之前消息被忽略(配对码 1 小时后过期)。 -- 批准方式: - - `openclaw pairing list telegram` - - `openclaw pairing approve telegram ` -- 配对是 Telegram 私信使用的默认 token 交换。详情:[配对](/channels/pairing) -- `channels.telegram.allowFrom` 接受数字用户 ID(推荐)或 `@username` 条目。这**不是**机器人用户名;使用人类发送者的 ID。向导接受 `@username` 并在可能时将其解析为数字 ID。 - -#### 查找你的 Telegram 用户 ID - -更安全(无第三方机器人): - -1. 启动 Gateway 网关并私信你的机器人。 -2. 运行 `openclaw logs --follow` 并查找 `from.id`。 - -备选(官方 Bot API): - -1. 私信你的机器人。 -2. 使用你的机器人 token 获取更新并读取 `message.from.id`: - ```bash - curl "https://api.telegram.org/bot/getUpdates" - ``` - -第三方(隐私性较低): - -- 私信 `@userinfobot` 或 `@getidsbot` 并使用返回的用户 id。 - -### 群组访问 - -两个独立的控制: - -**1. 允许哪些群组**(通过 `channels.telegram.groups` 的群组允许列表): - -- 无 `groups` 配置 = 允许所有群组 -- 有 `groups` 配置 = 只允许列出的群组或 `"*"` -- 示例:`"groups": { "-1001234567890": {}, "*": {} }` 允许所有群组 - -**2. 允许哪些发送者**(通过 `channels.telegram.groupPolicy` 的发送者过滤): - -- `"open"` = 允许群组中的所有发送者发消息 -- `"allowlist"` = 只有 `channels.telegram.groupAllowFrom` 中的发送者可以发消息 -- `"disabled"` = 不接受任何群组消息 - 默认是 `groupPolicy: "allowlist"`(除非添加 `groupAllowFrom` 否则被阻止)。 - -大多数用户需要:`groupPolicy: "allowlist"` + `groupAllowFrom` + 在 `channels.telegram.groups` 中列出特定群组 - -## 长轮询 vs webhook - -- 默认:长轮询(不需要公共 URL)。 -- Webhook 模式:设置 `channels.telegram.webhookUrl` 和 `channels.telegram.webhookSecret`(可选 `channels.telegram.webhookPath`)。 - - 本地监听器绑定到 `0.0.0.0:8787`,默认服务于 `POST /telegram-webhook`。 - - 如果你的公共 URL 不同,使用反向代理并将 `channels.telegram.webhookUrl` 指向公共端点。 - -## 回复线程 - -Telegram 通过标签支持可选的线程回复: - -- `[[reply_to_current]]` -- 回复触发消息。 -- `[[reply_to:]]` -- 回复特定消息 id。 - -通过 `channels.telegram.replyToMode` 控制: - -- `first`(默认)、`all`、`off`。 - -## 音频消息(语音 vs 文件) - -Telegram 区分**语音备忘录**(圆形气泡)和**音频文件**(元数据卡片)。 -OpenClaw 默认使用音频文件以保持向后兼容性。 - -要在智能体回复中强制使用语音备忘录气泡,在回复中的任何位置包含此标签: - -- `[[audio_as_voice]]` — 将音频作为语音备忘录而不是文件发送。 - -该标签会从发送的文本中去除。其他渠道会忽略此标签。 - -对于消息工具发送,设置 `asVoice: true` 并配合兼容语音的音频 `media` URL(当存在 media 时 `message` 是可选的): - -```json5 -{ - action: "send", - channel: "telegram", - to: "123456789", - media: "https://example.com/voice.ogg", - asVoice: true, -} -``` - -## 贴纸 - -OpenClaw 支持接收和发送 Telegram 贴纸,并具有智能缓存功能。 - -### 接收贴纸 - -当用户发送贴纸时,OpenClaw 根据贴纸类型处理: - -- **静态贴纸(WEBP):** 下载并通过视觉处理。贴纸在消息内容中显示为 `` 占位符。 -- **动画贴纸(TGS):** 跳过(Lottie 格式不支持处理)。 -- **视频贴纸(WEBM):** 跳过(视频格式不支持处理)。 - -接收贴纸时可用的模板上下文字段: - -- `Sticker` — 包含以下属性的对象: - - `emoji` — 与贴纸关联的表情符号 - - `setName` — 贴纸集名称 - - `fileId` — Telegram 文件 ID(用于发送相同贴纸) - - `fileUniqueId` — 用于缓存查找的稳定 ID - - `cachedDescription` — 可用时的缓存视觉描述 - -### 贴纸缓存 - -贴纸通过 AI 的视觉功能处理以生成描述。由于相同的贴纸经常重复发送,OpenClaw 缓存这些描述以避免冗余的 API 调用。 - -**工作原理:** - -1. **首次遇到:** 贴纸图像被发送给 AI 进行视觉分析。AI 生成描述(例如"一只卡通猫热情地挥手")。 -2. **缓存存储:** 描述与贴纸的文件 ID、表情符号和集合名称一起保存。 -3. **后续遇到:** 当再次看到相同贴纸时,直接使用缓存的描述。图像不会发送给 AI。 - -**缓存位置:** `~/.openclaw/telegram/sticker-cache.json` - -**缓存条目格式:** - -```json -{ - "fileId": "CAACAgIAAxkBAAI...", - "fileUniqueId": "AgADBAADb6cxG2Y", - "emoji": "👋", - "setName": "CoolCats", - "description": "一只卡通猫热情地挥手", - "cachedAt": "2026-01-15T10:30:00.000Z" -} -``` - -**优点:** - -- 通过避免对相同贴纸重复调用视觉 API 来降低 API 成本 -- 缓存贴纸响应更快(无视觉处理延迟) -- 基于缓存描述启用贴纸搜索功能 - -缓存在接收贴纸时自动填充。无需手动缓存管理。 - -### 发送贴纸 - -智能体可以使用 `sticker` 和 `sticker-search` 动作发送和搜索贴纸。这些默认禁用,必须在配置中启用: - -```json5 -{ - channels: { - telegram: { - actions: { - sticker: true, - }, - }, - }, -} -``` - -**发送贴纸:** - -```json5 -{ - action: "sticker", - channel: "telegram", - to: "123456789", - fileId: "CAACAgIAAxkBAAI...", -} -``` - -参数: - -- `fileId`(必需)— 贴纸的 Telegram 文件 ID。从接收贴纸时的 `Sticker.fileId` 获取,或从 `sticker-search` 结果获取。 -- `replyTo`(可选)— 要回复的消息 ID。 -- `threadId`(可选)— 论坛话题的消息线程 ID。 - -**搜索贴纸:** - -智能体可以按描述、表情符号或集合名称搜索缓存的贴纸: - -```json5 -{ - action: "sticker-search", - channel: "telegram", - query: "猫 挥手", - limit: 5, -} -``` - -返回缓存中匹配的贴纸: - -```json5 -{ - ok: true, - count: 2, - stickers: [ - { - fileId: "CAACAgIAAxkBAAI...", - emoji: "👋", - description: "一只卡通猫热情地挥手", - setName: "CoolCats", - }, - ], -} -``` - -搜索在描述文本、表情符号字符和集合名称之间使用模糊匹配。 - -**带线程的示例:** - -```json5 -{ - action: "sticker", - channel: "telegram", - to: "-1001234567890", - fileId: "CAACAgIAAxkBAAI...", - replyTo: 42, - threadId: 123, -} -``` - -## 流式传输(草稿) - -Telegram 可以在智能体生成响应时流式传输**草稿气泡**。 -OpenClaw 使用 Bot API `sendMessageDraft`(不是真实消息),然后将最终回复作为普通消息发送。 - -要求(Telegram Bot API 9.3+): - -- **启用话题的私聊**(机器人的论坛话题模式)。 -- 入站消息必须包含 `message_thread_id`(私有话题线程)。 -- 群组/超级群组/频道的流式传输被忽略。 - -配置: - -- `channels.telegram.streamMode: "off" | "partial" | "block"`(默认:`partial`) - - `partial`:用最新的流式文本更新草稿气泡。 - - `block`:以较大块(分块)更新草稿气泡。 - - `off`:禁用草稿流式传输。 -- 可选(仅用于 `streamMode: "block"`): - - `channels.telegram.draftChunk: { minChars?, maxChars?, breakPreference? }` - - 默认值:`minChars: 200`、`maxChars: 800`、`breakPreference: "paragraph"`(限制在 `channels.telegram.textChunkLimit` 内)。 - -注意:草稿流式传输与**分块流式传输**(渠道消息)不同。 -分块流式传输默认关闭,如果你想要早期 Telegram 消息而不是草稿更新,需要 `channels.telegram.blockStreaming: true`。 - -推理流(仅限 Telegram): - -- `/reasoning stream` 在回复生成时将推理流式传输到草稿气泡中,然后发送不带推理的最终答案。 -- 如果 `channels.telegram.streamMode` 为 `off`,推理流被禁用。 - 更多上下文:[流式传输 + 分块](/concepts/streaming)。 - -## 重试策略 - -出站 Telegram API 调用在遇到临时网络/429 错误时会以指数退避和抖动进行重试。通过 `channels.telegram.retry` 配置。参见[重试策略](/concepts/retry)。 - -## 智能体工具(消息 + 反应) - -- 工具:`telegram`,使用 `sendMessage` 动作(`to`、`content`,可选 `mediaUrl`、`replyToMessageId`、`messageThreadId`)。 -- 工具:`telegram`,使用 `react` 动作(`chatId`、`messageId`、`emoji`)。 -- 工具:`telegram`,使用 `deleteMessage` 动作(`chatId`、`messageId`)。 -- 反应移除语义:参见 [/tools/reactions](/tools/reactions)。 -- 工具门控:`channels.telegram.actions.reactions`、`channels.telegram.actions.sendMessage`、`channels.telegram.actions.deleteMessage`(默认:启用),以及 `channels.telegram.actions.sticker`(默认:禁用)。 - -## 反应通知 - -**反应工作原理:** -Telegram 反应作为**单独的 `message_reaction` 事件**到达,而不是消息负载中的属性。当用户添加反应时,OpenClaw: - -1. 从 Telegram API 接收 `message_reaction` 更新 -2. 将其转换为**系统事件**,格式为:`"Telegram reaction added: {emoji} by {user} on msg {id}"` -3. 使用与常规消息**相同的会话键**将系统事件加入队列 -4. 当该对话中的下一条消息到达时,系统事件被排出并前置到智能体的上下文中 - -智能体将反应视为对话历史中的**系统通知**,而不是消息元数据。 - -**配置:** - -- `channels.telegram.reactionNotifications`:控制哪些反应触发通知 - - `"off"` — 忽略所有反应 - - `"own"` — 当用户对机器人消息做出反应时通知(尽力而为;内存中)(默认) - - `"all"` — 通知所有反应 - -- `channels.telegram.reactionLevel`:控制智能体的反应能力 - - `"off"` — 智能体不能对消息做出反应 - - `"ack"` — 机器人发送确认反应(处理时显示 👀)(默认) - - `"minimal"` — 智能体可以少量反应(指导:每 5-10 次交换 1 次) - - `"extensive"` — 智能体可以在适当时自由反应 - -**论坛群组:** 论坛群组中的反应包含 `message_thread_id`,使用类似 `agent:main:telegram:group:{chatId}:topic:{threadId}` 的会话键。这确保同一话题中的反应和消息保持在一起。 - -**示例配置:** - -```json5 -{ - channels: { - telegram: { - reactionNotifications: "all", // 查看所有反应 - reactionLevel: "minimal", // 智能体可以少量反应 - }, - }, -} -``` - -**要求:** - -- Telegram 机器人必须在 `allowed_updates` 中明确请求 `message_reaction`(由 OpenClaw 自动配置) -- 对于 webhook 模式,反应包含在 webhook `allowed_updates` 中 -- 对于轮询模式,反应包含在 `getUpdates` `allowed_updates` 中 - -## 投递目标(CLI/cron) - -- 使用聊天 id(`123456789`)或用户名(`@name`)作为目标。 -- 示例:`openclaw message send --channel telegram --target 123456789 --message "hi"`。 - -## 故障排除 - -**机器人不响应群组中的非提及消息:** - -- 如果你设置了 `channels.telegram.groups.*.requireMention=false`,Telegram 的 Bot API **隐私模式**必须禁用。 - - BotFather:`/setprivacy` → **Disable**(然后从群组中移除并重新添加机器人) -- `openclaw channels status` 在配置期望未提及群组消息时显示警告。 -- `openclaw channels status --probe` 可以额外检查显式数字群组 ID 的成员资格(它无法审计通配符 `"*"` 规则)。 -- 快速测试:`/activation always`(仅会话级别;使用配置以持久化) - -**机器人完全看不到群组消息:** - -- 如果设置了 `channels.telegram.groups`,群组必须被列出或使用 `"*"` -- 在 @BotFather 中检查隐私设置 →"Group Privacy"应为 **OFF** -- 验证机器人确实是成员(不仅仅是没有读取权限的管理员) -- 检查 Gateway 网关日志:`openclaw logs --follow`(查找"skipping group message") - -**机器人响应提及但不响应 `/activation always`:** - -- `/activation` 命令更新会话状态但不持久化到配置 -- 要持久化行为,将群组添加到 `channels.telegram.groups` 并设置 `requireMention: false` - -**像 `/status` 这样的命令不起作用:** - -- 确保你的 Telegram 用户 ID 已授权(通过配对或 `channels.telegram.allowFrom`) -- 即使在 `groupPolicy: "open"` 的群组中,命令也需要授权 - -**长轮询在 Node 22+ 上立即中止(通常与代理/自定义 fetch 有关):** - -- Node 22+ 对 `AbortSignal` 实例更严格;外部信号可以立即中止 `fetch` 调用。 -- 升级到规范化中止信号的 OpenClaw 构建版本,或在可以升级之前在 Node 20 上运行 Gateway 网关。 - -**机器人启动后静默停止响应(或日志显示 `HttpError: Network request ... failed`):** - -- 某些主机首先将 `api.telegram.org` 解析为 IPv6。如果你的服务器没有可用的 IPv6 出口,grammY 可能会卡在仅 IPv6 的请求上。 -- 通过启用 IPv6 出口**或**强制 `api.telegram.org` 使用 IPv4 解析来修复(例如,使用 IPv4 A 记录添加 `/etc/hosts` 条目,或在你的 OS DNS 堆栈中优先使用 IPv4),然后重启 Gateway 网关。 -- 快速检查:`dig +short api.telegram.org A` 和 `dig +short api.telegram.org AAAA` 确认 DNS 返回的内容。 - -## 配置参考(Telegram) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.telegram.enabled`:启用/禁用渠道启动。 -- `channels.telegram.botToken`:机器人 token(BotFather)。 -- `channels.telegram.tokenFile`:从文件路径读取 token。 -- `channels.telegram.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing)。 -- `channels.telegram.allowFrom`:私信允许列表(id/用户名)。`open` 需要 `"*"`。 -- `channels.telegram.groupPolicy`:`open | allowlist | disabled`(默认:allowlist)。 -- `channels.telegram.groupAllowFrom`:群组发送者允许列表(id/用户名)。 -- `channels.telegram.groups`:每群组默认值 + 允许列表(使用 `"*"` 作为全局默认值)。 - - `channels.telegram.groups..requireMention`:提及门控默认值。 - - `channels.telegram.groups..skills`:skill 过滤器(省略 = 所有 skills,空 = 无)。 - - `channels.telegram.groups..allowFrom`:每群组发送者允许列表覆盖。 - - `channels.telegram.groups..systemPrompt`:群组的额外系统提示。 - - `channels.telegram.groups..enabled`:为 `false` 时禁用群组。 - - `channels.telegram.groups..topics..*`:每话题覆盖(与群组相同的字段)。 - - `channels.telegram.groups..topics..requireMention`:每话题提及门控覆盖。 -- `channels.telegram.capabilities.inlineButtons`:`off | dm | group | all | allowlist`(默认:allowlist)。 -- `channels.telegram.accounts..capabilities.inlineButtons`:每账户覆盖。 -- `channels.telegram.replyToMode`:`off | first | all`(默认:`off`)。 -- `channels.telegram.textChunkLimit`:出站分块大小(字符)。 -- `channels.telegram.chunkMode`:`length`(默认)或 `newline` 在长度分块之前按空行(段落边界)分割。 -- `channels.telegram.linkPreview`:切换出站消息的链接预览(默认:true)。 -- `channels.telegram.streamMode`:`off | partial | block`(草稿流式传输)。 -- `channels.telegram.mediaMaxMb`:入站/出站媒体上限(MB)。 -- `channels.telegram.retry`:出站 Telegram API 调用的重试策略(attempts、minDelayMs、maxDelayMs、jitter)。 -- `channels.telegram.network.autoSelectFamily`:覆盖 Node autoSelectFamily(true=启用,false=禁用)。在 Node 22 上默认禁用以避免 Happy Eyeballs 超时。 -- `channels.telegram.proxy`:Bot API 调用的代理 URL(SOCKS/HTTP)。 -- `channels.telegram.webhookUrl`:启用 webhook 模式(需要 `channels.telegram.webhookSecret`)。 -- `channels.telegram.webhookSecret`:webhook 密钥(设置 webhookUrl 时必需)。 -- `channels.telegram.webhookPath`:本地 webhook 路径(默认 `/telegram-webhook`)。 -- `channels.telegram.actions.reactions`:门控 Telegram 工具反应。 -- `channels.telegram.actions.sendMessage`:门控 Telegram 工具消息发送。 -- `channels.telegram.actions.deleteMessage`:门控 Telegram 工具消息删除。 -- `channels.telegram.actions.sticker`:门控 Telegram 贴纸动作 — 发送和搜索(默认:false)。 -- `channels.telegram.reactionNotifications`:`off | own | all` — 控制哪些反应触发系统事件(未设置时默认:`own`)。 -- `channels.telegram.reactionLevel`:`off | ack | minimal | extensive` — 控制智能体的反应能力(未设置时默认:`minimal`)。 - -相关全局选项: - -- `agents.list[].groupChat.mentionPatterns`(提及门控模式)。 -- `messages.groupChat.mentionPatterns`(全局回退)。 -- `commands.native`(默认为 `"auto"` → Telegram/Discord 开启,Slack 关闭)、`commands.text`、`commands.useAccessGroups`(命令行为)。使用 `channels.telegram.commands.native` 覆盖。 -- `messages.responsePrefix`、`messages.ackReaction`、`messages.ackReactionScope`、`messages.removeAckAfterReply`。 diff --git a/docs/zh-CN/channels/tlon.md b/docs/zh-CN/channels/tlon.md deleted file mode 100644 index 3bb83f98912..00000000000 --- a/docs/zh-CN/channels/tlon.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -read_when: - - 开发 Tlon/Urbit 渠道功能 -summary: Tlon/Urbit 支持状态、功能和配置 -title: Tlon -x-i18n: - generated_at: "2026-02-03T07:44:17Z" - model: claude-opus-4-6 - provider: pi - source_hash: 19d7ffe23e82239fd2a2e35913e0d52c809b2c2b939dd39184e6c27a539ed97d - source_path: channels/tlon.md - workflow: 15 ---- - -# Tlon(插件) - -Tlon 是一个基于 Urbit 构建的去中心化即时通讯工具。OpenClaw 连接到你的 Urbit ship,可以响应私信和群聊消息。群组回复默认需要 @ 提及,并可通过允许列表进一步限制。 - -状态:通过插件支持。支持私信、群组提及、话题回复和纯文本媒体回退(URL 附加到说明文字)。不支持表情回应、投票和原生媒体上传。 - -## 需要插件 - -Tlon 作为插件提供,不包含在核心安装中。 - -通过 CLI 安装(npm 仓库): - -```bash -openclaw plugins install @openclaw/tlon -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/tlon -``` - -详情:[插件](/tools/plugin) - -## 设置 - -1. 安装 Tlon 插件。 -2. 获取你的 ship URL 和登录代码。 -3. 配置 `channels.tlon`。 -4. 重启 Gateway 网关。 -5. 私信机器人或在群组频道中提及它。 - -最小配置(单账户): - -```json5 -{ - channels: { - tlon: { - enabled: true, - ship: "~sampel-palnet", - url: "https://your-ship-host", - code: "lidlut-tabwed-pillex-ridrup", - }, - }, -} -``` - -## 群组频道 - -默认启用自动发现。你也可以手动固定频道: - -```json5 -{ - channels: { - tlon: { - groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"], - }, - }, -} -``` - -禁用自动发现: - -```json5 -{ - channels: { - tlon: { - autoDiscoverChannels: false, - }, - }, -} -``` - -## 访问控制 - -私信允许列表(空 = 允许全部): - -```json5 -{ - channels: { - tlon: { - dmAllowlist: ["~zod", "~nec"], - }, - }, -} -``` - -群组授权(默认受限): - -```json5 -{ - channels: { - tlon: { - defaultAuthorizedShips: ["~zod"], - authorization: { - channelRules: { - "chat/~host-ship/general": { - mode: "restricted", - allowedShips: ["~zod", "~nec"], - }, - "chat/~host-ship/announcements": { - mode: "open", - }, - }, - }, - }, - }, -} -``` - -## 投递目标(CLI/cron) - -与 `openclaw message send` 或 cron 投递一起使用: - -- 私信:`~sampel-palnet` 或 `dm/~sampel-palnet` -- 群组:`chat/~host-ship/channel` 或 `group:~host-ship/channel` - -## 注意事项 - -- 群组回复需要提及(例如 `~your-bot-ship`)才能响应。 -- 话题回复:如果入站消息在话题中,OpenClaw 会在话题内回复。 -- 媒体:`sendMedia` 回退为文本 + URL(无原生上传)。 diff --git a/docs/zh-CN/channels/troubleshooting.md b/docs/zh-CN/channels/troubleshooting.md deleted file mode 100644 index 855049b8676..00000000000 --- a/docs/zh-CN/channels/troubleshooting.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -read_when: - - 渠道已连接但消息无法流通 - - 排查渠道配置错误(意图、权限、隐私模式) -summary: 渠道专属故障排除快捷指南(Discord/Telegram/WhatsApp) -title: 渠道故障排除 -x-i18n: - generated_at: "2026-02-01T19:58:09Z" - model: claude-opus-4-6 - provider: pi - source_hash: 6542ee86b3e50929caeaab127642d135dfbc0d8a44876ec2df0fff15bf57cd63 - source_path: channels/troubleshooting.md - workflow: 14 ---- - -# 渠道故障排除 - -首先运行: - -```bash -openclaw doctor -openclaw channels status --probe -``` - -`channels status --probe` 会在检测到常见渠道配置错误时输出警告,并包含小型实时检查(凭据、部分权限/成员资格)。 - -## 渠道 - -- Discord:[/channels/discord#troubleshooting](/channels/discord#troubleshooting) -- Telegram:[/channels/telegram#troubleshooting](/channels/telegram#troubleshooting) -- WhatsApp:[/channels/whatsapp#troubleshooting-quick](/channels/whatsapp#troubleshooting-quick) - -## Telegram 快速修复 - -- 日志显示 `HttpError: Network request for 'sendMessage' failed` 或 `sendChatAction` → 检查 IPv6 DNS。如果 `api.telegram.org` 优先解析为 IPv6 而主机缺少 IPv6 出站连接,请强制使用 IPv4 或启用 IPv6。参见 [/channels/telegram#troubleshooting](/channels/telegram#troubleshooting)。 -- 日志显示 `setMyCommands failed` → 检查到 `api.telegram.org` 的出站 HTTPS 和 DNS 可达性(常见于限制严格的 VPS 或代理环境)。 diff --git a/docs/zh-CN/channels/twitch.md b/docs/zh-CN/channels/twitch.md deleted file mode 100644 index 00ef0bd7669..00000000000 --- a/docs/zh-CN/channels/twitch.md +++ /dev/null @@ -1,385 +0,0 @@ ---- -read_when: - - 为 OpenClaw 设置 Twitch 聊天集成 -summary: Twitch 聊天机器人配置和设置 -title: Twitch -x-i18n: - generated_at: "2026-02-03T07:44:41Z" - model: claude-opus-4-6 - provider: pi - source_hash: 0dd1c05bef570470d8b82c1f6dee5337e8b76b57269c5cad6aee2e711483f8ba - source_path: channels/twitch.md - workflow: 15 ---- - -# Twitch(插件) - -通过 IRC 连接支持 Twitch 聊天。OpenClaw 以 Twitch 用户(机器人账户)身份连接,在频道中接收和发送消息。 - -## 需要插件 - -Twitch 作为插件发布,未与核心安装捆绑。 - -通过 CLI 安装(npm 注册表): - -```bash -openclaw plugins install @openclaw/twitch -``` - -本地检出(从 git 仓库运行时): - -```bash -openclaw plugins install ./extensions/twitch -``` - -详情:[插件](/tools/plugin) - -## 快速设置(新手) - -1. 为机器人创建一个专用的 Twitch 账户(或使用现有账户)。 -2. 生成凭证:[Twitch Token Generator](https://twitchtokengenerator.com/) - - 选择 **Bot Token** - - 确认已选择 `chat:read` 和 `chat:write` 权限范围 - - 复制 **Client ID** 和 **Access Token** -3. 查找你的 Twitch 用户 ID:https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ -4. 配置令牌: - - 环境变量:`OPENCLAW_TWITCH_ACCESS_TOKEN=...`(仅限默认账户) - - 或配置:`channels.twitch.accessToken` - - 如果两者都设置,配置优先(环境变量回退仅适用于默认账户)。 -5. 启动 Gateway 网关。 - -**⚠️ 重要:** 添加访问控制(`allowFrom` 或 `allowedRoles`)以防止未授权用户触发机器人。`requireMention` 默认为 `true`。 - -最小配置: - -```json5 -{ - channels: { - twitch: { - enabled: true, - username: "openclaw", // 机器人的 Twitch 账户 - accessToken: "oauth:abc123...", // OAuth Access Token(或使用 OPENCLAW_TWITCH_ACCESS_TOKEN 环境变量) - clientId: "xyz789...", // Token Generator 中的 Client ID - channel: "vevisk", // 要加入的 Twitch 频道聊天(必填) - allowFrom: ["123456789"], // (推荐)仅限你的 Twitch 用户 ID - 从 https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ 获取 - }, - }, -} -``` - -## 它是什么 - -- 由 Gateway 网关拥有的 Twitch 渠道。 -- 确定性路由:回复总是返回到 Twitch。 -- 每个账户映射到一个隔离的会话键 `agent::twitch:`。 -- `username` 是机器人账户(进行身份验证的账户),`channel` 是要加入的聊天室。 - -## 设置(详细) - -### 生成凭证 - -使用 [Twitch Token Generator](https://twitchtokengenerator.com/): - -- 选择 **Bot Token** -- 确认已选择 `chat:read` 和 `chat:write` 权限范围 -- 复制 **Client ID** 和 **Access Token** - -无需手动注册应用。令牌在几小时后过期。 - -### 配置机器人 - -**环境变量(仅限默认账户):** - -```bash -OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123... -``` - -**或配置:** - -```json5 -{ - channels: { - twitch: { - enabled: true, - username: "openclaw", - accessToken: "oauth:abc123...", - clientId: "xyz789...", - channel: "vevisk", - }, - }, -} -``` - -如果环境变量和配置都设置了,配置优先。 - -### 访问控制(推荐) - -```json5 -{ - channels: { - twitch: { - allowFrom: ["123456789"], // (推荐)仅限你的 Twitch 用户 ID - }, - }, -} -``` - -优先使用 `allowFrom` 作为硬性允许列表。如果你想要基于角色的访问控制,请改用 `allowedRoles`。 - -**可用角色:** `"moderator"`、`"owner"`、`"vip"`、`"subscriber"`、`"all"`。 - -**为什么用用户 ID?** 用户名可以更改,允许冒充。用户 ID 是永久的。 - -查找你的 Twitch 用户 ID:https://www.streamweasels.com/tools/convert-twitch-username-%20to-user-id/(将你的 Twitch 用户名转换为 ID) - -## 令牌刷新(可选) - -来自 [Twitch Token Generator](https://twitchtokengenerator.com/) 的令牌无法自动刷新 - 过期时需要重新生成。 - -要实现自动令牌刷新,请在 [Twitch Developer Console](https://dev.twitch.tv/console) 创建你自己的 Twitch 应用并添加到配置中: - -```json5 -{ - channels: { - twitch: { - clientSecret: "your_client_secret", - refreshToken: "your_refresh_token", - }, - }, -} -``` - -机器人会在令牌过期前自动刷新,并记录刷新事件。 - -## 多账户支持 - -使用 `channels.twitch.accounts` 配置每个账户的令牌。参阅 [`gateway/configuration`](/gateway/configuration) 了解共享模式。 - -示例(一个机器人账户在两个频道中): - -```json5 -{ - channels: { - twitch: { - accounts: { - channel1: { - username: "openclaw", - accessToken: "oauth:abc123...", - clientId: "xyz789...", - channel: "vevisk", - }, - channel2: { - username: "openclaw", - accessToken: "oauth:def456...", - clientId: "uvw012...", - channel: "secondchannel", - }, - }, - }, - }, -} -``` - -**注意:** 每个账户需要自己的令牌(每个频道一个令牌)。 - -## 访问控制 - -### 基于角色的限制 - -```json5 -{ - channels: { - twitch: { - accounts: { - default: { - allowedRoles: ["moderator", "vip"], - }, - }, - }, - }, -} -``` - -### 按用户 ID 允许列表(最安全) - -```json5 -{ - channels: { - twitch: { - accounts: { - default: { - allowFrom: ["123456789", "987654321"], - }, - }, - }, - }, -} -``` - -### 基于角色的访问(替代方案) - -`allowFrom` 是硬性允许列表。设置后,只允许这些用户 ID。 -如果你想要基于角色的访问,请不设置 `allowFrom`,改为配置 `allowedRoles`: - -```json5 -{ - channels: { - twitch: { - accounts: { - default: { - allowedRoles: ["moderator"], - }, - }, - }, - }, -} -``` - -### 禁用 @提及要求 - -默认情况下,`requireMention` 为 `true`。要禁用并响应所有消息: - -```json5 -{ - channels: { - twitch: { - accounts: { - default: { - requireMention: false, - }, - }, - }, - }, -} -``` - -## 故障排除 - -首先,运行诊断命令: - -```bash -openclaw doctor -openclaw channels status --probe -``` - -### 机器人不响应消息 - -**检查访问控制:** 确保你的用户 ID 在 `allowFrom` 中,或临时移除 `allowFrom` 并设置 `allowedRoles: ["all"]` 来测试。 - -**检查机器人是否在频道中:** 机器人必须加入 `channel` 中指定的频道。 - -### 令牌问题 - -**"Failed to connect"或身份验证错误:** - -- 验证 `accessToken` 是 OAuth 访问令牌值(通常以 `oauth:` 前缀开头) -- 检查令牌具有 `chat:read` 和 `chat:write` 权限范围 -- 如果使用令牌刷新,验证 `clientSecret` 和 `refreshToken` 已设置 - -### 令牌刷新不工作 - -**检查日志中的刷新事件:** - -``` -Using env token source for mybot -Access token refreshed for user 123456 (expires in 14400s) -``` - -如果你看到"token refresh disabled (no refresh token)": - -- 确保提供了 `clientSecret` -- 确保提供了 `refreshToken` - -## 配置 - -**账户配置:** - -- `username` - 机器人用户名 -- `accessToken` - 具有 `chat:read` 和 `chat:write` 权限的 OAuth 访问令牌 -- `clientId` - Twitch Client ID(来自 Token Generator 或你的应用) -- `channel` - 要加入的频道(必填) -- `enabled` - 启用此账户(默认:`true`) -- `clientSecret` - 可选:用于自动令牌刷新 -- `refreshToken` - 可选:用于自动令牌刷新 -- `expiresIn` - 令牌过期时间(秒) -- `obtainmentTimestamp` - 令牌获取时间戳 -- `allowFrom` - 用户 ID 允许列表 -- `allowedRoles` - 基于角色的访问控制(`"moderator" | "owner" | "vip" | "subscriber" | "all"`) -- `requireMention` - 需要 @提及(默认:`true`) - -**提供商选项:** - -- `channels.twitch.enabled` - 启用/禁用渠道启动 -- `channels.twitch.username` - 机器人用户名(简化的单账户配置) -- `channels.twitch.accessToken` - OAuth 访问令牌(简化的单账户配置) -- `channels.twitch.clientId` - Twitch Client ID(简化的单账户配置) -- `channels.twitch.channel` - 要加入的频道(简化的单账户配置) -- `channels.twitch.accounts.` - 多账户配置(以上所有账户字段) - -完整示例: - -```json5 -{ - channels: { - twitch: { - enabled: true, - username: "openclaw", - accessToken: "oauth:abc123...", - clientId: "xyz789...", - channel: "vevisk", - clientSecret: "secret123...", - refreshToken: "refresh456...", - allowFrom: ["123456789"], - allowedRoles: ["moderator", "vip"], - accounts: { - default: { - username: "mybot", - accessToken: "oauth:abc123...", - clientId: "xyz789...", - channel: "your_channel", - enabled: true, - clientSecret: "secret123...", - refreshToken: "refresh456...", - expiresIn: 14400, - obtainmentTimestamp: 1706092800000, - allowFrom: ["123456789", "987654321"], - allowedRoles: ["moderator"], - }, - }, - }, - }, -} -``` - -## 工具操作 - -智能体可以调用 `twitch` 执行以下操作: - -- `send` - 向频道发送消息 - -示例: - -```json5 -{ - action: "twitch", - params: { - message: "Hello Twitch!", - to: "#mychannel", - }, -} -``` - -## 安全与运维 - -- **将令牌视为密码** - 永远不要将令牌提交到 git -- **使用自动令牌刷新** 用于长时间运行的机器人 -- **使用用户 ID 允许列表** 而不是用户名进行访问控制 -- **监控日志** 查看令牌刷新事件和连接状态 -- **最小化令牌权限范围** - 只请求 `chat:read` 和 `chat:write` -- **如果卡住**:在确认没有其他进程拥有会话后重启 Gateway 网关 - -## 限制 - -- 每条消息 **500 个字符**(在单词边界自动分块) -- 分块前会去除 Markdown -- 无速率限制(使用 Twitch 内置的速率限制) diff --git a/docs/zh-CN/channels/whatsapp.md b/docs/zh-CN/channels/whatsapp.md deleted file mode 100644 index a3436e374c8..00000000000 --- a/docs/zh-CN/channels/whatsapp.md +++ /dev/null @@ -1,411 +0,0 @@ ---- -read_when: - - 处理 WhatsApp/网页渠道行为或收件箱路由时 -summary: WhatsApp(网页渠道)集成:登录、收件箱、回复、媒体和运维 -title: WhatsApp -x-i18n: - generated_at: "2026-02-03T07:46:24Z" - model: claude-opus-4-6 - provider: pi - source_hash: 44fd88f8e269284999e5a5a52b230edae6e6f978528dd298d6a5603d03c0c38d - source_path: channels/whatsapp.md - workflow: 15 ---- - -# WhatsApp(网页渠道) - -状态:仅支持通过 Baileys 的 WhatsApp Web。Gateway 网关拥有会话。 - -## 快速设置(新手) - -1. 如果可能,使用**单独的手机号码**(推荐)。 -2. 在 `~/.openclaw/openclaw.json` 中配置 WhatsApp。 -3. 运行 `openclaw channels login` 扫描二维码(关联设备)。 -4. 启动 Gateway 网关。 - -最小配置: - -```json5 -{ - channels: { - whatsapp: { - dmPolicy: "allowlist", - allowFrom: ["+15551234567"], - }, - }, -} -``` - -## 目标 - -- 在一个 Gateway 网关进程中支持多个 WhatsApp 账户(多账户)。 -- 确定性路由:回复返回到 WhatsApp,无模型路由。 -- 模型能看到足够的上下文来理解引用回复。 - -## 配置写入 - -默认情况下,WhatsApp 允许写入由 `/config set|unset` 触发的配置更新(需要 `commands.config: true`)。 - -禁用方式: - -```json5 -{ - channels: { whatsapp: { configWrites: false } }, -} -``` - -## 架构(谁拥有什么) - -- **Gateway 网关**拥有 Baileys socket 和收件箱循环。 -- **CLI / macOS 应用**与 Gateway 网关通信;不直接使用 Baileys。 -- 发送出站消息需要**活跃的监听器**;否则发送会快速失败。 - -## 获取手机号码(两种模式) - -WhatsApp 需要真实手机号码进行验证。VoIP 和虚拟号码通常会被封锁。在 WhatsApp 上运行 OpenClaw 有两种支持的方式: - -### 专用号码(推荐) - -为 OpenClaw 使用**单独的手机号码**。最佳用户体验,清晰的路由,无自聊天怪异问题。理想设置:**备用/旧 Android 手机 + eSIM**。保持 Wi-Fi 和电源连接,通过二维码关联。 - -**WhatsApp Business:** 你可以在同一设备上使用不同号码的 WhatsApp Business。非常适合将个人 WhatsApp 分开——安装 WhatsApp Business 并在那里注册 OpenClaw 号码。 - -**示例配置(专用号码,单用户允许列表):** - -```json5 -{ - channels: { - whatsapp: { - dmPolicy: "allowlist", - allowFrom: ["+15551234567"], - }, - }, -} -``` - -**配对模式(可选):** -如果你想使用配对而不是允许列表,请将 `channels.whatsapp.dmPolicy` 设置为 `pairing`。未知发送者会收到配对码;使用以下命令批准: -`openclaw pairing approve whatsapp ` - -### 个人号码(备选方案) - -快速备选方案:在**你自己的号码**上运行 OpenClaw。给自己发消息(WhatsApp"给自己发消息")进行测试,这样就不会打扰联系人。在设置和实验期间需要在主手机上阅读验证码。**必须启用自聊天模式。** -当向导询问你的个人 WhatsApp 号码时,输入你将用于发送消息的手机(所有者/发送者),而不是助手号码。 - -**示例配置(个人号码,自聊天):** - -```json -{ - "whatsapp": { - "selfChatMode": true, - "dmPolicy": "allowlist", - "allowFrom": ["+15551234567"] - } -} -``` - -当设置了 `identity.name` 时,自聊天回复默认为 `[{identity.name}]`(否则为 `[openclaw]`), -前提是 `messages.responsePrefix` 未设置。明确设置它可以自定义或禁用 -前缀(使用 `""` 来移除)。 - -### 号码获取提示 - -- **本地 eSIM** 来自你所在国家的移动运营商(最可靠) - - 奥地利:[hot.at](https://www.hot.at) - - 英国:[giffgaff](https://www.giffgaff.com) — 免费 SIM 卡,无合约 -- **预付费 SIM 卡** — 便宜,只需接收一条验证短信 - -**避免:** TextNow、Google Voice、大多数"免费短信"服务——WhatsApp 会积极封锁这些。 - -**提示:** 该号码只需要接收一条验证短信。之后,WhatsApp Web 会话通过 `creds.json` 持久化。 - -## 为什么不用 Twilio? - -- 早期 OpenClaw 版本支持 Twilio 的 WhatsApp Business 集成。 -- WhatsApp Business 号码不适合个人助手。 -- Meta 强制执行 24 小时回复窗口;如果你在过去 24 小时内没有回复,商业号码无法发起新消息。 -- 高频或"频繁"使用会触发激进的封锁,因为商业账户不适合发送大量个人助手消息。 -- 结果:投递不可靠且频繁被封锁,因此该支持已被移除。 - -## 登录 + 凭证 - -- 登录命令:`openclaw channels login`(通过关联设备扫描二维码)。 -- 多账户登录:`openclaw channels login --account `(`` = `accountId`)。 -- 默认账户(省略 `--account` 时):如果存在则为 `default`,否则为第一个配置的账户 id(排序后)。 -- 凭证存储在 `~/.openclaw/credentials/whatsapp//creds.json`。 -- 备份副本在 `creds.json.bak`(损坏时恢复)。 -- 旧版兼容性:较旧的安装将 Baileys 文件直接存储在 `~/.openclaw/credentials/` 中。 -- 登出:`openclaw channels logout`(或 `--account `)删除 WhatsApp 认证状态(但保留共享的 `oauth.json`)。 -- 已登出的 socket => 错误提示重新关联。 - -## 入站流程(私信 + 群组) - -- WhatsApp 事件来自 `messages.upsert`(Baileys)。 -- 收件箱监听器在关闭时分离,以避免在测试/重启时累积事件处理器。 -- 状态/广播聊天被忽略。 -- 直接聊天使用 E.164;群组使用群组 JID。 -- **私信策略**:`channels.whatsapp.dmPolicy` 控制直接聊天访问(默认:`pairing`)。 - - 配对:未知发送者会收到配对码(通过 `openclaw pairing approve whatsapp ` 批准;码在 1 小时后过期)。 - - 开放:需要 `channels.whatsapp.allowFrom` 包含 `"*"`。 - - 你关联的 WhatsApp 号码是隐式信任的,因此自身消息会跳过 `channels.whatsapp.dmPolicy` 和 `channels.whatsapp.allowFrom` 检查。 - -### 个人号码模式(备选方案) - -如果你在**个人 WhatsApp 号码**上运行 OpenClaw,请启用 `channels.whatsapp.selfChatMode`(见上面的示例)。 - -行为: - -- 出站私信永远不会触发配对回复(防止打扰联系人)。 -- 入站未知发送者仍遵循 `channels.whatsapp.dmPolicy`。 -- 自聊天模式(allowFrom 包含你的号码)避免自动已读回执并忽略提及 JID。 -- 非自聊天私信会发送已读回执。 - -## 已读回执 - -默认情况下,Gateway 网关在接受入站 WhatsApp 消息后将其标记为已读(蓝色勾号)。 - -全局禁用: - -```json5 -{ - channels: { whatsapp: { sendReadReceipts: false } }, -} -``` - -按账户禁用: - -```json5 -{ - channels: { - whatsapp: { - accounts: { - personal: { sendReadReceipts: false }, - }, - }, - }, -} -``` - -注意事项: - -- 自聊天模式始终跳过已读回执。 - -## WhatsApp 常见问题:发送消息 + 配对 - -**当我关联 WhatsApp 时,OpenClaw 会给随机联系人发消息吗?** -不会。默认私信策略是**配对**,因此未知发送者只会收到配对码,他们的消息**不会被处理**。OpenClaw 只会回复它收到的聊天,或你明确触发的发送(智能体/CLI)。 - -**WhatsApp 上的配对是如何工作的?** -配对是未知发送者的私信门控: - -- 来自新发送者的第一条私信返回一个短码(消息不会被处理)。 -- 使用以下命令批准:`openclaw pairing approve whatsapp `(使用 `openclaw pairing list whatsapp` 列出)。 -- 码在 1 小时后过期;每个渠道的待处理请求上限为 3 个。 - -**多个人可以在一个 WhatsApp 号码上使用不同的 OpenClaw 实例吗?** -可以,通过 `bindings` 将每个发送者路由到不同的智能体(peer `kind: "dm"`,发送者 E.164 如 `+15551234567`)。回复仍然来自**同一个 WhatsApp 账户**,直接聊天会折叠到每个智能体的主会话,因此**每人使用一个智能体**。私信访问控制(`dmPolicy`/`allowFrom`)是每个 WhatsApp 账户全局的。参见[多智能体路由](/concepts/multi-agent)。 - -**为什么向导会询问我的手机号码?** -向导使用它来设置你的**允许列表/所有者**,以便允许你自己的私信。它不会用于自动发送。如果你在个人 WhatsApp 号码上运行,请使用相同的号码并启用 `channels.whatsapp.selfChatMode`。 - -## 消息规范化(模型看到的内容) - -- `Body` 是带有信封的当前消息正文。 -- 引用回复上下文**始终附加**: - ``` - [Replying to +1555 id:ABC123] - > - [/Replying] - ``` -- 回复元数据也会设置: - - `ReplyToId` = stanzaId - - `ReplyToBody` = 引用正文或媒体占位符 - - `ReplyToSender` = 已知时为 E.164 -- 纯媒体入站消息使用占位符: - - `` - -## 群组 - -- 群组映射到 `agent::whatsapp:group:` 会话。 -- 群组策略:`channels.whatsapp.groupPolicy = open|disabled|allowlist`(默认 `allowlist`)。 -- 激活模式: - - `mention`(默认):需要 @提及或正则匹配。 - - `always`:始终触发。 -- `/activation mention|always` 仅限所有者,必须作为独立消息发送。 -- 所有者 = `channels.whatsapp.allowFrom`(如果未设置则为自身 E.164)。 -- **历史注入**(仅待处理): - - 最近*未处理*的消息(默认 50 条)插入在: - `[Chat messages since your last reply - for context]`(已在会话中的消息不会重新注入) - - 当前消息在: - `[Current message - respond to this]` - - 附加发送者后缀:`[from: Name (+E164)]` -- 群组元数据缓存 5 分钟(主题 + 参与者)。 - -## 回复投递(线程) - -- WhatsApp Web 发送标准消息(当前 Gateway 网关无引用回复线程)。 -- 此渠道忽略回复标签。 - -## 确认表情(收到时自动回应) - -WhatsApp 可以在收到传入消息时立即自动发送表情回应,在机器人生成回复之前。这为用户提供即时反馈,表明他们的消息已收到。 - -**配置:** - -```json -{ - "whatsapp": { - "ackReaction": { - "emoji": "👀", - "direct": true, - "group": "mentions" - } - } -} -``` - -**选项:** - -- `emoji`(字符串):用于确认的表情(例如"👀"、"✅"、"📨")。为空或省略 = 功能禁用。 -- `direct`(布尔值,默认:`true`):在直接/私信聊天中发送表情回应。 -- `group`(字符串,默认:`"mentions"`):群聊行为: - - `"always"`:对所有群消息做出回应(即使没有 @提及) - - `"mentions"`:仅在机器人被 @提及时做出回应 - - `"never"`:从不在群组中做出回应 - -**按账户覆盖:** - -```json -{ - "whatsapp": { - "accounts": { - "work": { - "ackReaction": { - "emoji": "✅", - "direct": false, - "group": "always" - } - } - } - } -} -``` - -**行为说明:** - -- 表情回应在消息收到时**立即**发送,在输入指示器或机器人回复之前。 -- 在 `requireMention: false`(激活:always)的群组中,`group: "mentions"` 会对所有消息做出回应(不仅仅是 @提及)。 -- 即发即忘:表情回应失败会被记录但不会阻止机器人回复。 -- 群组表情回应会自动包含参与者 JID。 -- WhatsApp 忽略 `messages.ackReaction`;请改用 `channels.whatsapp.ackReaction`。 - -## 智能体工具(表情回应) - -- 工具:`whatsapp`,带有 `react` 动作(`chatJid`、`messageId`、`emoji`,可选 `remove`)。 -- 可选:`participant`(群组发送者)、`fromMe`(对自己的消息做出回应)、`accountId`(多账户)。 -- 表情移除语义:参见 [/tools/reactions](/tools/reactions)。 -- 工具门控:`channels.whatsapp.actions.reactions`(默认:启用)。 - -## 限制 - -- 出站文本按 `channels.whatsapp.textChunkLimit` 分块(默认 4000)。 -- 可选换行分块:设置 `channels.whatsapp.chunkMode="newline"` 在长度分块之前按空行(段落边界)分割。 -- 入站媒体保存受 `channels.whatsapp.mediaMaxMb` 限制(默认 50 MB)。 -- 出站媒体项受 `agents.defaults.mediaMaxMb` 限制(默认 5 MB)。 - -## 出站发送(文本 + 媒体) - -- 使用活跃的网页监听器;如果 Gateway 网关未运行则报错。 -- 文本分块:每条消息最大 4k(可通过 `channels.whatsapp.textChunkLimit` 配置,可选 `channels.whatsapp.chunkMode`)。 -- 媒体: - - 支持图片/视频/音频/文档。 - - 音频作为 PTT 发送;`audio/ogg` => `audio/ogg; codecs=opus`。 - - 仅在第一个媒体项上添加标题。 - - 媒体获取支持 HTTP(S) 和本地路径。 - - 动画 GIF:WhatsApp 期望带有 `gifPlayback: true` 的 MP4 以实现内联循环。 - - CLI:`openclaw message send --media --gif-playback` - - Gateway 网关:`send` 参数包含 `gifPlayback: true` - -## 语音消息(PTT 音频) - -WhatsApp 将音频作为**语音消息**(PTT 气泡)发送。 - -- 最佳效果:OGG/Opus。OpenClaw 将 `audio/ogg` 重写为 `audio/ogg; codecs=opus`。 -- WhatsApp 忽略 `[[audio_as_voice]]`(音频已作为语音消息发送)。 - -## 媒体限制 + 优化 - -- 默认出站上限:5 MB(每个媒体项)。 -- 覆盖:`agents.defaults.mediaMaxMb`。 -- 图片自动优化为上限以下的 JPEG(调整大小 + 质量扫描)。 -- 超大媒体 => 错误;媒体回复降级为文本警告。 - -## 心跳 - -- **Gateway 网关心跳**记录连接健康状态(`web.heartbeatSeconds`,默认 60 秒)。 -- **智能体心跳**可以按智能体配置(`agents.list[].heartbeat`)或通过 - `agents.defaults.heartbeat` 全局配置(当没有设置按智能体条目时的降级)。 - - 使用配置的心跳提示词(默认:`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`)+ `HEARTBEAT_OK` 跳过行为。 - - 投递默认为最后使用的渠道(或配置的目标)。 - -## 重连行为 - -- 退避策略:`web.reconnect`: - - `initialMs`、`maxMs`、`factor`、`jitter`、`maxAttempts`。 -- 如果达到 maxAttempts,网页监控停止(降级)。 -- 已登出 => 停止并要求重新关联。 - -## 配置快速映射 - -- `channels.whatsapp.dmPolicy`(私信策略:pairing/allowlist/open/disabled)。 -- `channels.whatsapp.selfChatMode`(同手机设置;机器人使用你的个人 WhatsApp 号码)。 -- `channels.whatsapp.allowFrom`(私信允许列表)。WhatsApp 使用 E.164 手机号码(无用户名)。 -- `channels.whatsapp.mediaMaxMb`(入站媒体保存上限)。 -- `channels.whatsapp.ackReaction`(消息收到时的自动回应:`{emoji, direct, group}`)。 -- `channels.whatsapp.accounts..*`(按账户设置 + 可选 `authDir`)。 -- `channels.whatsapp.accounts..mediaMaxMb`(按账户入站媒体上限)。 -- `channels.whatsapp.accounts..ackReaction`(按账户确认回应覆盖)。 -- `channels.whatsapp.groupAllowFrom`(群组发送者允许列表)。 -- `channels.whatsapp.groupPolicy`(群组策略)。 -- `channels.whatsapp.historyLimit` / `channels.whatsapp.accounts..historyLimit`(群组历史上下文;`0` 禁用)。 -- `channels.whatsapp.dmHistoryLimit`(私信历史限制,按用户轮次)。按用户覆盖:`channels.whatsapp.dms[""].historyLimit`。 -- `channels.whatsapp.groups`(群组允许列表 + 提及门控默认值;使用 `"*"` 允许全部) -- `channels.whatsapp.actions.reactions`(门控 WhatsApp 工具表情回应)。 -- `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`) -- `messages.groupChat.historyLimit` -- `channels.whatsapp.messagePrefix`(入站前缀;按账户:`channels.whatsapp.accounts..messagePrefix`;已弃用:`messages.messagePrefix`) -- `messages.responsePrefix`(出站前缀) -- `agents.defaults.mediaMaxMb` -- `agents.defaults.heartbeat.every` -- `agents.defaults.heartbeat.model`(可选覆盖) -- `agents.defaults.heartbeat.target` -- `agents.defaults.heartbeat.to` -- `agents.defaults.heartbeat.session` -- `agents.list[].heartbeat.*`(按智能体覆盖) -- `session.*`(scope、idle、store、mainKey) -- `web.enabled`(为 false 时禁用渠道启动) -- `web.heartbeatSeconds` -- `web.reconnect.*` - -## 日志 + 故障排除 - -- 子系统:`whatsapp/inbound`、`whatsapp/outbound`、`web-heartbeat`、`web-reconnect`。 -- 日志文件:`/tmp/openclaw/openclaw-YYYY-MM-DD.log`(可配置)。 -- 故障排除指南:[Gateway 网关故障排除](/gateway/troubleshooting)。 - -## 故障排除(快速) - -**未关联 / 需要二维码登录** - -- 症状:`channels status` 显示 `linked: false` 或警告"Not linked"。 -- 修复:在 Gateway 网关主机上运行 `openclaw channels login` 并扫描二维码(WhatsApp → 设置 → 关联设备)。 - -**已关联但断开连接 / 重连循环** - -- 症状:`channels status` 显示 `running, disconnected` 或警告"Linked but disconnected"。 -- 修复:`openclaw doctor`(或重启 Gateway 网关)。如果问题持续,通过 `channels login` 重新关联并检查 `openclaw logs --follow`。 - -**Bun 运行时** - -- **不推荐** Bun。WhatsApp(Baileys)和 Telegram 在 Bun 上不可靠。 - 请使用 **Node** 运行 Gateway 网关。(参见入门指南运行时说明。) diff --git a/docs/zh-CN/channels/zalo.md b/docs/zh-CN/channels/zalo.md deleted file mode 100644 index c2e44207795..00000000000 --- a/docs/zh-CN/channels/zalo.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -read_when: - - 开发 Zalo 功能或 webhooks -summary: Zalo bot 支持状态、功能和配置 -title: Zalo -x-i18n: - generated_at: "2026-02-03T07:44:44Z" - model: claude-opus-4-6 - provider: pi - source_hash: 0311d932349f96412b712970b5d37329b91929bf3020536edf3ca0ff464373c0 - source_path: channels/zalo.md - workflow: 15 ---- - -# Zalo (Bot API) - -状态:实验性。仅支持私信;根据 Zalo 文档,群组即将推出。 - -## 需要插件 - -Zalo 以插件形式提供,不包含在核心安装中。 - -- 通过 CLI 安装:`openclaw plugins install @openclaw/zalo` -- 或在新手引导期间选择 **Zalo** 并确认安装提示 -- 详情:[插件](/tools/plugin) - -## 快速设置(初学者) - -1. 安装 Zalo 插件: - - 从源代码检出:`openclaw plugins install ./extensions/zalo` - - 从 npm(如果已发布):`openclaw plugins install @openclaw/zalo` - - 或在新手引导中选择 **Zalo** 并确认安装提示 -2. 设置 token: - - 环境变量:`ZALO_BOT_TOKEN=...` - - 或配置:`channels.zalo.botToken: "..."`。 -3. 重启 Gateway 网关(或完成新手引导)。 -4. 私信访问默认为配对模式;首次联系时批准配对码。 - -最小配置: - -```json5 -{ - channels: { - zalo: { - enabled: true, - botToken: "12345689:abc-xyz", - dmPolicy: "pairing", - }, - }, -} -``` - -## 它是什么 - -Zalo 是一款专注于越南市场的即时通讯应用;其 Bot API 让 Gateway 网关可以运行一个用于一对一对话的 bot。 -它非常适合需要确定性路由回 Zalo 的支持或通知场景。 - -- 由 Gateway 网关拥有的 Zalo Bot API 渠道。 -- 确定性路由:回复返回到 Zalo;模型不会选择渠道。 -- 私信共享智能体的主会话。 -- 群组尚不支持(Zalo 文档标注"即将推出")。 - -## 设置(快速路径) - -### 1)创建 bot token(Zalo Bot 平台) - -1. 前往 **https://bot.zaloplatforms.com** 并登录。 -2. 创建新 bot 并配置其设置。 -3. 复制 bot token(格式:`12345689:abc-xyz`)。 - -### 2)配置 token(环境变量或配置) - -示例: - -```json5 -{ - channels: { - zalo: { - enabled: true, - botToken: "12345689:abc-xyz", - dmPolicy: "pairing", - }, - }, -} -``` - -环境变量选项:`ZALO_BOT_TOKEN=...`(仅适用于默认账户)。 - -多账户支持:使用 `channels.zalo.accounts` 配置每账户 token 和可选的 `name`。 - -3. 重启 Gateway 网关。当 token 被解析(环境变量或配置)时,Zalo 启动。 -4. 私信访问默认为配对模式。当 bot 首次被联系时批准配对码。 - -## 工作原理(行为) - -- 入站消息被规范化为带有媒体占位符的共享渠道信封。 -- 回复始终路由回同一 Zalo 聊天。 -- 默认使用长轮询;可通过 `channels.zalo.webhookUrl` 启用 webhook 模式。 - -## 限制 - -- 出站文本按 2000 字符分块(Zalo API 限制)。 -- 媒体下载/上传受 `channels.zalo.mediaMaxMb` 限制(默认 5)。 -- 由于 2000 字符限制使流式传输效果不佳,默认阻止流式传输。 - -## 访问控制(私信) - -### 私信访问 - -- 默认:`channels.zalo.dmPolicy = "pairing"`。未知发送者会收到配对码;消息在批准前会被忽略(配对码 1 小时后过期)。 -- 通过以下方式批准: - - `openclaw pairing list zalo` - - `openclaw pairing approve zalo ` -- 配对是默认的令牌交换方式。详情:[配对](/channels/pairing) -- `channels.zalo.allowFrom` 接受数字用户 ID(无用户名查找功能)。 - -## 长轮询与 webhook - -- 默认:长轮询(不需要公共 URL)。 -- Webhook 模式:设置 `channels.zalo.webhookUrl` 和 `channels.zalo.webhookSecret`。 - - Webhook secret 必须为 8-256 个字符。 - - Webhook URL 必须使用 HTTPS。 - - Zalo 发送事件时带有 `X-Bot-Api-Secret-Token` 头用于验证。 - - Gateway 网关 HTTP 在 `channels.zalo.webhookPath` 处理 webhook 请求(默认为 webhook URL 路径)。 - -**注意:** 根据 Zalo API 文档,getUpdates(轮询)和 webhook 是互斥的。 - -## 支持的消息类型 - -- **文本消息**:完全支持,2000 字符分块。 -- **图片消息**:下载和处理入站图片;通过 `sendPhoto` 发送图片。 -- **贴纸**:已记录但未完全处理(无智能体响应)。 -- **不支持的类型**:已记录(例如来自受保护用户的消息)。 - -## 功能 - -| 功能 | 状态 | -| ------------ | ----------------------------- | -| 私信 | ✅ 支持 | -| 群组 | ❌ 即将推出(根据 Zalo 文档) | -| 媒体(图片) | ✅ 支持 | -| 表情回应 | ❌ 不支持 | -| 主题 | ❌ 不支持 | -| 投票 | ❌ 不支持 | -| 原生命令 | ❌ 不支持 | -| 流式传输 | ⚠️ 已阻止(2000 字符限制) | - -## 投递目标(CLI/cron) - -- 使用聊天 id 作为目标。 -- 示例:`openclaw message send --channel zalo --target 123456789 --message "hi"`。 - -## 故障排除 - -**Bot 不响应:** - -- 检查 token 是否有效:`openclaw channels status --probe` -- 验证发送者已被批准(配对或 allowFrom) -- 检查 Gateway 网关日志:`openclaw logs --follow` - -**Webhook 未收到事件:** - -- 确保 webhook URL 使用 HTTPS -- 验证 secret token 为 8-256 个字符 -- 确认 Gateway 网关 HTTP 端点在配置的路径上可访问 -- 检查 getUpdates 轮询未在运行(它们是互斥的) - -## 配置参考(Zalo) - -完整配置:[配置](/gateway/configuration) - -提供商选项: - -- `channels.zalo.enabled`:启用/禁用渠道启动。 -- `channels.zalo.botToken`:来自 Zalo Bot 平台的 bot token。 -- `channels.zalo.tokenFile`:从文件路径读取 token。 -- `channels.zalo.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing)。 -- `channels.zalo.allowFrom`:私信允许列表(用户 ID)。`open` 需要 `"*"`。向导会询问数字 ID。 -- `channels.zalo.mediaMaxMb`:入站/出站媒体上限(MB,默认 5)。 -- `channels.zalo.webhookUrl`:启用 webhook 模式(需要 HTTPS)。 -- `channels.zalo.webhookSecret`:webhook secret(8-256 字符)。 -- `channels.zalo.webhookPath`:Gateway 网关 HTTP 服务器上的 webhook 路径。 -- `channels.zalo.proxy`:API 请求的代理 URL。 - -多账户选项: - -- `channels.zalo.accounts..botToken`:每账户 token。 -- `channels.zalo.accounts..tokenFile`:每账户 token 文件。 -- `channels.zalo.accounts..name`:显示名称。 -- `channels.zalo.accounts..enabled`:启用/禁用账户。 -- `channels.zalo.accounts..dmPolicy`:每账户私信策略。 -- `channels.zalo.accounts..allowFrom`:每账户允许列表。 -- `channels.zalo.accounts..webhookUrl`:每账户 webhook URL。 -- `channels.zalo.accounts..webhookSecret`:每账户 webhook secret。 -- `channels.zalo.accounts..webhookPath`:每账户 webhook 路径。 -- `channels.zalo.accounts..proxy`:每账户代理 URL。 diff --git a/docs/zh-CN/channels/zalouser.md b/docs/zh-CN/channels/zalouser.md deleted file mode 100644 index 52ad501fabe..00000000000 --- a/docs/zh-CN/channels/zalouser.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -read_when: - - 为 OpenClaw 设置 Zalo Personal - - 调试 Zalo Personal 登录或消息流程 -summary: 通过 zca-cli(QR 登录)支持 Zalo 个人账户、功能和配置 -title: Zalo Personal -x-i18n: - generated_at: "2026-02-03T07:44:34Z" - model: claude-opus-4-6 - provider: pi - source_hash: 2a249728d556e5cc52274627bdaf390fa10e815afa04f4497feb57a2a0cb9261 - source_path: channels/zalouser.md - workflow: 15 ---- - -# Zalo Personal(非官方) - -状态:实验性。此集成通过 `zca-cli` 自动化**个人 Zalo 账户**。 - -> **警告:**这是一个非官方集成,可能导致账户被暂停/封禁。使用风险自负。 - -## 需要插件 - -Zalo Personal 作为插件提供,不包含在核心安装中。 - -- 通过 CLI 安装:`openclaw plugins install @openclaw/zalouser` -- 或从源码检出安装:`openclaw plugins install ./extensions/zalouser` -- 详情:[插件](/tools/plugin) - -## 前置条件:zca-cli - -Gateway 网关机器必须在 `PATH` 中有可用的 `zca` 二进制文件。 - -- 验证:`zca --version` -- 如果缺失,请安装 zca-cli(参见 `extensions/zalouser/README.md` 或上游 zca-cli 文档)。 - -## 快速设置(新手) - -1. 安装插件(见上文)。 -2. 登录(QR,在 Gateway 网关机器上): - - `openclaw channels login --channel zalouser` - - 用 Zalo 手机应用扫描终端中的二维码。 -3. 启用渠道: - -```json5 -{ - channels: { - zalouser: { - enabled: true, - dmPolicy: "pairing", - }, - }, -} -``` - -4. 重启 Gateway 网关(或完成新手引导)。 -5. 私信访问默认为配对模式;首次联系时批准配对码。 - -## 这是什么 - -- 使用 `zca listen` 接收入站消息。 -- 使用 `zca msg ...` 发送回复(文本/媒体/链接)。 -- 专为"个人账户"使用场景设计,适用于 Zalo Bot API 不可用的情况。 - -## 命名 - -渠道 ID 为 `zalouser`,以明确表示这是自动化**个人 Zalo 用户账户**(非官方)。我们保留 `zalo` 用于未来可能的官方 Zalo API 集成。 - -## 查找 ID(目录) - -使用目录 CLI 发现联系人/群组及其 ID: - -```bash -openclaw directory self --channel zalouser -openclaw directory peers list --channel zalouser --query "name" -openclaw directory groups list --channel zalouser --query "work" -``` - -## 限制 - -- 出站文本分块为约 2000 字符(Zalo 客户端限制)。 -- 默认阻止流式传输。 - -## 访问控制(私信) - -`channels.zalouser.dmPolicy` 支持:`pairing | allowlist | open | disabled`(默认:`pairing`)。 -`channels.zalouser.allowFrom` 接受用户 ID 或名称。向导会在可用时通过 `zca friend find` 将名称解析为 ID。 - -通过以下方式批准: - -- `openclaw pairing list zalouser` -- `openclaw pairing approve zalouser ` - -## 群组访问(可选) - -- 默认:`channels.zalouser.groupPolicy = "open"`(允许群组)。使用 `channels.defaults.groupPolicy` 在未设置时覆盖默认值。 -- 通过以下方式限制为允许列表: - - `channels.zalouser.groupPolicy = "allowlist"` - - `channels.zalouser.groups`(键为群组 ID 或名称) -- 阻止所有群组:`channels.zalouser.groupPolicy = "disabled"`。 -- 配置向导可以提示输入群组允许列表。 -- 启动时,OpenClaw 将允许列表中的群组/用户名称解析为 ID 并记录映射;未解析的条目保持原样。 - -示例: - -```json5 -{ - channels: { - zalouser: { - groupPolicy: "allowlist", - groups: { - "123456789": { allow: true }, - "Work Chat": { allow: true }, - }, - }, - }, -} -``` - -## 多账户 - -账户映射到 zca 配置文件。示例: - -```json5 -{ - channels: { - zalouser: { - enabled: true, - defaultAccount: "default", - accounts: { - work: { enabled: true, profile: "work" }, - }, - }, - }, -} -``` - -## 故障排除 - -**找不到 `zca`:** - -- 安装 zca-cli 并确保它在 Gateway 网关进程的 `PATH` 中。 - -**登录不保持:** - -- `openclaw channels status --probe` -- 重新登录:`openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser` diff --git a/docs/zh-CN/cli/acp.md b/docs/zh-CN/cli/acp.md deleted file mode 100644 index 7f5b431705e..00000000000 --- a/docs/zh-CN/cli/acp.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -read_when: - - 设置基于 ACP 的 IDE 集成 - - 调试到 Gateway 网关的 ACP 会话路由 -summary: 运行用于 IDE 集成的 ACP 桥接器 -title: acp -x-i18n: - generated_at: "2026-02-03T07:44:38Z" - model: claude-opus-4-6 - provider: pi - source_hash: 0c09844297da250bc1a558423e7e534d6b6be9045de12d797c07ecd64a0c63ed - source_path: cli/acp.md - workflow: 15 ---- - -# acp - -运行与 OpenClaw Gateway 网关通信的 ACP(Agent Client Protocol)桥接器。 - -此命令通过 stdio 使用 ACP 协议与 IDE 通信,并通过 WebSocket 将提示转发到 Gateway 网关。它将 ACP 会话映射到 Gateway 网关会话键。 - -## 用法 - -```bash -openclaw acp - -# Remote Gateway -openclaw acp --url wss://gateway-host:18789 --token - -# Attach to an existing session key -openclaw acp --session agent:main:main - -# Attach by label (must already exist) -openclaw acp --session-label "support inbox" - -# Reset the session key before the first prompt -openclaw acp --session agent:main:main --reset-session -``` - -## ACP 客户端(调试) - -使用内置 ACP 客户端在没有 IDE 的情况下检查桥接器的安装完整性。 -它会启动 ACP 桥接器并让你交互式输入提示。 - -```bash -openclaw acp client - -# Point the spawned bridge at a remote Gateway -openclaw acp client --server-args --url wss://gateway-host:18789 --token - -# Override the server command (default: openclaw) -openclaw acp client --server "node" --server-args openclaw.mjs acp --url ws://127.0.0.1:19001 -``` - -## 如何使用 - -当 IDE(或其他客户端)使用 Agent Client Protocol 并且你希望它驱动 OpenClaw Gateway 网关会话时,请使用 ACP。 - -1. 确保 Gateway 网关正在运行(本地或远程)。 -2. 配置 Gateway 网关目标(配置或标志)。 -3. 将你的 IDE 配置为通过 stdio 运行 `openclaw acp`。 - -示例配置(持久化): - -```bash -openclaw config set gateway.remote.url wss://gateway-host:18789 -openclaw config set gateway.remote.token -``` - -示例直接运行(不写入配置): - -```bash -openclaw acp --url wss://gateway-host:18789 --token -``` - -## 选择智能体 - -ACP 不直接选择智能体。它通过 Gateway 网关会话键进行路由。 - -使用智能体作用域的会话键来定位特定智能体: - -```bash -openclaw acp --session agent:main:main -openclaw acp --session agent:design:main -openclaw acp --session agent:qa:bug-123 -``` - -每个 ACP 会话映射到单个 Gateway 网关会话键。一个智能体可以有多个会话;除非你覆盖键或标签,否则 ACP 默认使用隔离的 `acp:` 会话。 - -## Zed 编辑器设置 - -在 `~/.config/zed/settings.json` 中添加自定义 ACP 智能体(或使用 Zed 的设置界面): - -```json -{ - "agent_servers": { - "OpenClaw ACP": { - "type": "custom", - "command": "openclaw", - "args": ["acp"], - "env": {} - } - } -} -``` - -要定位特定的 Gateway 网关或智能体: - -```json -{ - "agent_servers": { - "OpenClaw ACP": { - "type": "custom", - "command": "openclaw", - "args": [ - "acp", - "--url", - "wss://gateway-host:18789", - "--token", - "", - "--session", - "agent:design:main" - ], - "env": {} - } - } -} -``` - -在 Zed 中,打开 Agent 面板并选择"OpenClaw ACP"来开始一个会话。 - -## 会话映射 - -默认情况下,ACP 会话获得一个带有 `acp:` 前缀的隔离 Gateway 网关会话键。 -要重用已知会话,请传递会话键或标签: - -- `--session `:使用特定的 Gateway 网关会话键。 -- `--session-label