mirror of https://github.com/openclaw/openclaw.git
docs: move ja-JP output to publish repo
This commit is contained in:
parent
495ebd28a4
commit
dbfd96f4ec
|
|
@ -24,3 +24,16 @@ jobs:
|
|||
-f client_payload[release_tag]="${RELEASE_TAG}" \
|
||||
-f client_payload[source_repository]="${GITHUB_REPOSITORY}" \
|
||||
-f client_payload[source_sha]="${GITHUB_SHA}"
|
||||
|
||||
- name: Trigger ja-JP translate in publish repo
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.OPENCLAW_DOCS_SYNC_TOKEN }}
|
||||
RELEASE_TAG: ${{ github.event.release.tag_name }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
gh api repos/openclaw/docs/dispatches \
|
||||
--method POST \
|
||||
-f event_type='translate-ja-jp-release' \
|
||||
-f client_payload[release_tag]="${RELEASE_TAG}" \
|
||||
-f client_payload[source_repository]="${GITHUB_REPOSITORY}" \
|
||||
-f client_payload[source_sha]="${GITHUB_SHA}"
|
||||
|
|
|
|||
|
|
@ -81,13 +81,13 @@
|
|||
- README (GitHub): keep absolute docs URLs (`https://docs.openclaw.ai/...`) so links work on GitHub.
|
||||
- Docs content must be generic: no personal device names/hostnames/paths; use placeholders like `user@gateway-host` and “gateway host”.
|
||||
|
||||
## Docs i18n (zh-CN)
|
||||
## Docs i18n (zh-CN / ja-JP)
|
||||
|
||||
- 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.
|
||||
- Generated publish output lives in the sibling `openclaw-docs` repo; do not add or edit `docs/zh-CN/**` or `docs/ja-JP/**` here.
|
||||
- Pipeline: update English docs here → adjust glossary (`docs/.i18n/glossary.zh-CN.json`, `docs/.i18n/glossary.ja-JP.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).
|
||||
- Translation memory: `docs/.i18n/zh-CN.tm.jsonl` and `docs/.i18n/ja-JP.tm.jsonl` (generated in the publish repo).
|
||||
- See `docs/.i18n/README.md`.
|
||||
- The pipeline can be slow/inefficient; if it’s dragging, ping @jospalmbier on Discord instead of hacking around it.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
This folder stores translation config for the source docs repo.
|
||||
|
||||
Generated zh-CN pages and the live zh-CN translation memory live in the publish repo:
|
||||
Generated locale trees and live translation memory now live in the publish repo:
|
||||
|
||||
- repo: `openclaw/docs`
|
||||
- local checkout: `~/Projects/openclaw-docs`
|
||||
|
|
@ -11,7 +11,7 @@ Generated zh-CN pages and the live zh-CN translation memory live in the publish
|
|||
|
||||
- English docs are authored in `openclaw/openclaw`.
|
||||
- The source docs tree lives under `docs/`.
|
||||
- The source repo no longer keeps committed `docs/zh-CN/**`.
|
||||
- The source repo no longer keeps committed generated locale trees such as `docs/zh-CN/**` or `docs/ja-JP/**`.
|
||||
|
||||
## End-to-end flow
|
||||
|
||||
|
|
@ -20,20 +20,22 @@ Generated zh-CN pages and the live zh-CN translation memory live in the publish
|
|||
3. `openclaw/openclaw/.github/workflows/docs-sync-publish.yml` mirrors the docs tree into `openclaw/docs`.
|
||||
4. The sync script rewrites the publish `docs/docs.json` so `zh-Hans` navigation exists there even though it is no longer committed in the source repo.
|
||||
5. `openclaw/docs/.github/workflows/translate-zh-cn.yml` refreshes `docs/zh-CN/**` once a day, on demand, and after source-repo release dispatches.
|
||||
6. `openclaw/docs/.github/workflows/translate-ja-jp.yml` does the same for `docs/ja-JP/**`.
|
||||
|
||||
## Why the split exists
|
||||
|
||||
- Keep generated zh-CN output out of the main product repo.
|
||||
- Keep generated locale output out of the main product repo.
|
||||
- Keep Mintlify on a single published docs tree.
|
||||
- Preserve the built-in language switcher by letting the publish repo own `docs/zh-CN/**`.
|
||||
- Preserve the built-in language switcher by letting the publish repo own generated locale trees.
|
||||
|
||||
## Files in this folder
|
||||
|
||||
- `glossary.<lang>.json` — preferred term mappings used as prompt guidance.
|
||||
- `ja-navigation.json` — the `ja` Mintlify nav block reinserted into the publish repo during sync.
|
||||
- `zh-Hans-navigation.json` — the `zh-Hans` Mintlify nav block reinserted into the publish repo during sync.
|
||||
- `<lang>.tm.jsonl` — translation memory keyed by workflow + model + text hash.
|
||||
|
||||
In this repo, `docs/.i18n/zh-CN.tm.jsonl` is intentionally no longer committed.
|
||||
In this repo, generated locale TM files such as `docs/.i18n/zh-CN.tm.jsonl` and `docs/.i18n/ja-JP.tm.jsonl` are intentionally no longer committed.
|
||||
|
||||
## Glossary format
|
||||
|
||||
|
|
@ -57,11 +59,11 @@ Fields:
|
|||
|
||||
- `scripts/docs-i18n` still owns translation generation.
|
||||
- Doc mode writes `x-i18n.source_hash` into each translated page.
|
||||
- The publish workflow precomputes a pending file list by comparing the current English source hash to the stored zh-CN `x-i18n.source_hash`.
|
||||
- Each publish workflow precomputes a pending file list by comparing the current English source hash to the stored locale `x-i18n.source_hash`.
|
||||
- If the pending count is `0`, the expensive translation step is skipped entirely.
|
||||
- If there are pending files, the workflow translates only those files.
|
||||
- The publish workflow retries transient model-format failures, but unchanged files stay skipped because the same hash check runs on each retry.
|
||||
- The source repo also dispatches a zh-CN refresh after published GitHub releases so release docs can catch up without waiting for the daily cron.
|
||||
- The source repo also dispatches zh-CN and ja-JP refreshes after published GitHub releases so release docs can catch up without waiting for the daily cron.
|
||||
|
||||
## Operational notes
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"language": "ja",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "はじめに",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概要",
|
||||
"pages": ["ja-JP/index"]
|
||||
},
|
||||
{
|
||||
"group": "初回セットアップ",
|
||||
"pages": ["ja-JP/start/getting-started", "ja-JP/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1594,24 +1594,6 @@
|
|||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"language": "ja",
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "はじめに",
|
||||
"groups": [
|
||||
{
|
||||
"group": "概要",
|
||||
"pages": ["ja-JP/index"]
|
||||
},
|
||||
{
|
||||
"group": "初回セットアップ",
|
||||
"pages": ["ja-JP/start/getting-started", "ja-JP/start/wizard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,186 +0,0 @@
|
|||
---
|
||||
read_when:
|
||||
- 新規ユーザーにOpenClawを紹介するとき
|
||||
summary: OpenClawは、あらゆるOSで動作するAIエージェント向けのマルチチャネルgatewayです。
|
||||
title: OpenClaw
|
||||
x-i18n:
|
||||
generated_at: "2026-02-08T17:15:47Z"
|
||||
model: claude-opus-4-6
|
||||
provider: pi
|
||||
source_hash: fc8babf7885ef91d526795051376d928599c4cf8aff75400138a0d7d9fa3b75f
|
||||
source_path: index.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# OpenClaw 🦞
|
||||
|
||||
<p align="center">
|
||||
<img
|
||||
src="/assets/openclaw-logo-text-dark.png"
|
||||
alt="OpenClaw"
|
||||
width="500"
|
||||
class="dark:hidden"
|
||||
/>
|
||||
<img
|
||||
src="/assets/openclaw-logo-text.png"
|
||||
alt="OpenClaw"
|
||||
width="500"
|
||||
class="hidden dark:block"
|
||||
/>
|
||||
</p>
|
||||
|
||||
> _「EXFOLIATE! EXFOLIATE!」_ — たぶん宇宙ロブスター
|
||||
|
||||
<p align="center">
|
||||
<strong>WhatsApp、Telegram、Discord、iMessageなどに対応した、あらゆるOS向けのAIエージェントgateway。</strong><br />
|
||||
メッセージを送信すれば、ポケットからエージェントの応答を受け取れます。プラグインでMattermostなどを追加できます。
|
||||
</p>
|
||||
|
||||
<Columns>
|
||||
<Card title="はじめに" href="/start/getting-started" icon="rocket">
|
||||
OpenClawをインストールし、数分でGatewayを起動できます。
|
||||
</Card>
|
||||
<Card title="ウィザードを実行" href="/start/wizard" icon="sparkles">
|
||||
`openclaw onboard`とペアリングフローによるガイド付きセットアップ。
|
||||
</Card>
|
||||
<Card title="Control UIを開く" href="/web/control-ui" icon="layout-dashboard">
|
||||
チャット、設定、セッション用のブラウザダッシュボードを起動します。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
OpenClawは、単一のGatewayプロセスを通じてチャットアプリをPiのようなコーディングエージェントに接続します。OpenClawアシスタントを駆動し、ローカルまたはリモートのセットアップをサポートします。
|
||||
|
||||
## 仕組み
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["チャットアプリ + プラグイン"] --> B["Gateway"]
|
||||
B --> C["Piエージェント"]
|
||||
B --> D["CLI"]
|
||||
B --> E["Web Control UI"]
|
||||
B --> F["macOSアプリ"]
|
||||
B --> G["iOSおよびAndroidノード"]
|
||||
```
|
||||
|
||||
Gatewayは、セッション、ルーティング、チャネル接続の信頼できる唯一の情報源です。
|
||||
|
||||
## 主な機能
|
||||
|
||||
<Columns>
|
||||
<Card title="マルチチャネルgateway" icon="network">
|
||||
単一のGatewayプロセスでWhatsApp、Telegram、Discord、iMessageに対応。
|
||||
</Card>
|
||||
<Card title="プラグインチャネル" icon="plug">
|
||||
拡張パッケージでMattermostなどを追加。
|
||||
</Card>
|
||||
<Card title="マルチエージェントルーティング" icon="route">
|
||||
エージェント、ワークスペース、送信者ごとに分離されたセッション。
|
||||
</Card>
|
||||
<Card title="メディアサポート" icon="image">
|
||||
画像、音声、ドキュメントの送受信。
|
||||
</Card>
|
||||
<Card title="Web Control UI" icon="monitor">
|
||||
チャット、設定、セッション、ノード用のブラウザダッシュボード。
|
||||
</Card>
|
||||
<Card title="モバイルノード" icon="smartphone">
|
||||
Canvas対応のiOSおよびAndroidノードをペアリング。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
## クイックスタート
|
||||
|
||||
<Steps>
|
||||
<Step title="OpenClawをインストール">
|
||||
```bash
|
||||
npm install -g openclaw@latest
|
||||
```
|
||||
</Step>
|
||||
<Step title="オンボーディングとサービスのインストール">
|
||||
```bash
|
||||
openclaw onboard --install-daemon
|
||||
```
|
||||
</Step>
|
||||
<Step title="WhatsAppをペアリングしてGatewayを起動">
|
||||
```bash
|
||||
openclaw channels login
|
||||
openclaw gateway --port 18789
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
完全なインストールと開発セットアップが必要ですか?[クイックスタート](/start/quickstart)をご覧ください。
|
||||
|
||||
## ダッシュボード
|
||||
|
||||
Gatewayの起動後、ブラウザでControl UIを開きます。
|
||||
|
||||
- ローカルデフォルト: [http://127.0.0.1:18789/](http://127.0.0.1:18789/)
|
||||
- リモートアクセス: [Webサーフェス](/web)および[Tailscale](/gateway/tailscale)
|
||||
|
||||
<p align="center">
|
||||
<img src="/whatsapp-openclaw.jpg" alt="OpenClaw" width="420" />
|
||||
</p>
|
||||
|
||||
## 設定(オプション)
|
||||
|
||||
設定は`~/.openclaw/openclaw.json`にあります。
|
||||
|
||||
- **何もしなければ**、OpenClawはバンドルされたPiバイナリをRPCモードで使用し、送信者ごとのセッションを作成します。
|
||||
- 制限を設けたい場合は、`channels.whatsapp.allowFrom`と(グループの場合)メンションルールから始めてください。
|
||||
|
||||
例:
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
whatsapp: {
|
||||
allowFrom: ["+15555550123"],
|
||||
groups: { "*": { requireMention: true } },
|
||||
},
|
||||
},
|
||||
messages: { groupChat: { mentionPatterns: ["@openclaw"] } },
|
||||
}
|
||||
```
|
||||
|
||||
## ここから始める
|
||||
|
||||
<Columns>
|
||||
<Card title="ドキュメントハブ" href="/start/hubs" icon="book-open">
|
||||
ユースケース別に整理されたすべてのドキュメントとガイド。
|
||||
</Card>
|
||||
<Card title="設定" href="/gateway/configuration" icon="settings">
|
||||
Gatewayのコア設定、トークン、プロバイダー設定。
|
||||
</Card>
|
||||
<Card title="リモートアクセス" href="/gateway/remote" icon="globe">
|
||||
SSHおよびtailnetアクセスパターン。
|
||||
</Card>
|
||||
<Card title="チャネル" href="/channels/telegram" icon="message-square">
|
||||
WhatsApp、Telegram、Discordなどのチャネル固有のセットアップ。
|
||||
</Card>
|
||||
<Card title="ノード" href="/nodes" icon="smartphone">
|
||||
ペアリングとCanvas対応のiOSおよびAndroidノード。
|
||||
</Card>
|
||||
<Card title="ヘルプ" href="/help" icon="life-buoy">
|
||||
一般的な修正とトラブルシューティングのエントリーポイント。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
## 詳細
|
||||
|
||||
<Columns>
|
||||
<Card title="全機能リスト" href="/concepts/features" icon="list">
|
||||
チャネル、ルーティング、メディア機能の完全な一覧。
|
||||
</Card>
|
||||
<Card title="マルチエージェントルーティング" href="/concepts/multi-agent" icon="route">
|
||||
ワークスペースの分離とエージェントごとのセッション。
|
||||
</Card>
|
||||
<Card title="セキュリティ" href="/gateway/security" icon="shield">
|
||||
トークン、許可リスト、安全制御。
|
||||
</Card>
|
||||
<Card title="トラブルシューティング" href="/gateway/troubleshooting" icon="wrench">
|
||||
Gatewayの診断と一般的なエラー。
|
||||
</Card>
|
||||
<Card title="概要とクレジット" href="/reference/credits" icon="info">
|
||||
プロジェクトの起源、貢献者、ライセンス。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
---
|
||||
read_when:
|
||||
- ゼロからの初回セットアップ
|
||||
- 動作するチャットへの最短ルートを知りたい
|
||||
summary: OpenClawをインストールし、数分で最初のチャットを実行しましょう。
|
||||
title: はじめに
|
||||
x-i18n:
|
||||
generated_at: "2026-02-08T17:15:16Z"
|
||||
model: claude-opus-4-6
|
||||
provider: pi
|
||||
source_hash: 27aeeb3d18c495380e94e6b011b0df3def518535c9f1eee504f04871d8a32269
|
||||
source_path: start/getting-started.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# はじめに
|
||||
|
||||
目標:ゼロから最小限のセットアップで最初の動作するチャットを実現する。
|
||||
|
||||
<Info>
|
||||
最速のチャット方法:Control UIを開く(チャンネル設定は不要)。`openclaw dashboard`を実行してブラウザでチャットするか、<Tooltip headline="Gatewayホスト" tip="OpenClaw Gatewayサービスを実行しているマシン。">Gatewayホスト</Tooltip>で`http://127.0.0.1:18789/`を開きます。
|
||||
ドキュメント:[Dashboard](/web/dashboard)と[Control UI](/web/control-ui)。
|
||||
</Info>
|
||||
|
||||
## 前提条件
|
||||
|
||||
- Node 22以降
|
||||
|
||||
<Tip>
|
||||
不明な場合は`node --version`でNodeのバージョンを確認してください。
|
||||
</Tip>
|
||||
|
||||
## クイックセットアップ(CLI)
|
||||
|
||||
<Steps>
|
||||
<Step title="OpenClawをインストール(推奨)">
|
||||
<Tabs>
|
||||
<Tab title="macOS/Linux">
|
||||
```bash
|
||||
curl -fsSL https://openclaw.ai/install.sh | bash
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Windows (PowerShell)">
|
||||
```powershell
|
||||
iwr -useb https://openclaw.ai/install.ps1 | iex
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<Note>
|
||||
その他のインストール方法と要件:[インストール](/install)。
|
||||
</Note>
|
||||
|
||||
</Step>
|
||||
<Step title="オンボーディングウィザードを実行">
|
||||
```bash
|
||||
openclaw onboard --install-daemon
|
||||
```
|
||||
|
||||
ウィザードは認証、Gateway設定、およびオプションのチャンネルを構成します。
|
||||
詳細は[オンボーディングウィザード](/start/wizard)を参照してください。
|
||||
|
||||
</Step>
|
||||
<Step title="Gatewayを確認">
|
||||
サービスをインストールした場合、すでに実行されているはずです:
|
||||
|
||||
```bash
|
||||
openclaw gateway status
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Control UIを開く">
|
||||
```bash
|
||||
openclaw dashboard
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Check>
|
||||
Control UIが読み込まれれば、Gatewayは使用可能な状態です。
|
||||
</Check>
|
||||
|
||||
## オプションの確認と追加機能
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Gatewayをフォアグラウンドで実行">
|
||||
クイックテストやトラブルシューティングに便利です。
|
||||
|
||||
```bash
|
||||
openclaw gateway --port 18789
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="テストメッセージを送信">
|
||||
構成済みのチャンネルが必要です。
|
||||
|
||||
```bash
|
||||
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## さらに詳しく
|
||||
|
||||
<Columns>
|
||||
<Card title="オンボーディングウィザード(詳細)" href="/start/wizard">
|
||||
完全なCLIウィザードリファレンスと高度なオプション。
|
||||
</Card>
|
||||
<Card title="macOSアプリのオンボーディング" href="/start/onboarding">
|
||||
macOSアプリの初回実行フロー。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
## 完了後の状態
|
||||
|
||||
- 実行中のGateway
|
||||
- 構成済みの認証
|
||||
- Control UIアクセスまたは接続済みのチャンネル
|
||||
|
||||
## 次のステップ
|
||||
|
||||
- DMの安全性と承認:[ペアリング](/channels/pairing)
|
||||
- さらにチャンネルを接続:[チャンネル](/channels)
|
||||
- 高度なワークフローとソースからのビルド:[セットアップ](/start/setup)
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
---
|
||||
read_when:
|
||||
- オンボーディングウィザードの実行または設定時
|
||||
- 新しいマシンのセットアップ時
|
||||
sidebarTitle: Wizard (CLI)
|
||||
summary: CLIオンボーディングウィザード:Gateway、ワークスペース、チャンネル、Skillsの対話式セットアップ
|
||||
title: オンボーディングウィザード(CLI)
|
||||
x-i18n:
|
||||
generated_at: "2026-02-08T17:15:18Z"
|
||||
model: claude-opus-4-6
|
||||
provider: pi
|
||||
source_hash: 9a650d46044a930aa4aaec30b35f1273ca3969bf676ab67bf4e1575b5c46db4c
|
||||
source_path: start/wizard.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# オンボーディングウィザード(CLI)
|
||||
|
||||
CLIオンボーディングウィザードは、macOS、Linux、Windows(WSL2経由)でOpenClawをセットアップする際の推奨パスです。ローカルGatewayまたはリモートGateway接続に加えて、ワークスペースのデフォルト設定、チャンネル、Skillsを構成します。
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
<Info>
|
||||
最速で初回チャットを開始する方法:Control UI を開きます(チャンネル設定は不要)。`openclaw dashboard` を実行してブラウザでチャットできます。ドキュメント:[Dashboard](/web/dashboard)。
|
||||
</Info>
|
||||
|
||||
## クイックスタート vs 詳細設定
|
||||
|
||||
ウィザードは**クイックスタート**(デフォルト設定)と**詳細設定**(完全な制御)のどちらかを選択して開始します。
|
||||
|
||||
<Tabs>
|
||||
<Tab title="クイックスタート(デフォルト設定)">
|
||||
- loopback上のローカルGateway
|
||||
- 既存のワークスペースまたはデフォルトワークスペース
|
||||
- Gatewayポート `18789`
|
||||
- Gateway認証トークンは自動生成(loopback上でも生成されます)
|
||||
- Tailscale公開はオフ
|
||||
- TelegramとWhatsAppのDMはデフォルトで許可リスト(電話番号の入力を求められる場合があります)
|
||||
</Tab>
|
||||
<Tab title="詳細設定(完全な制御)">
|
||||
- モード、ワークスペース、Gateway、チャンネル、デーモン、Skillsの完全なプロンプトフローを表示
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## CLIオンボーディングの詳細
|
||||
|
||||
<Columns>
|
||||
<Card title="CLIリファレンス" href="/start/wizard-cli-reference">
|
||||
ローカルおよびリモートフローの完全な説明、認証とモデルマトリックス、設定出力、ウィザードRPC、signal-cliの動作。
|
||||
</Card>
|
||||
<Card title="自動化とスクリプト" href="/start/wizard-cli-automation">
|
||||
非対話式オンボーディングのレシピと自動化された `agents add` の例。
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
## よく使うフォローアップコマンド
|
||||
|
||||
```bash
|
||||
openclaw configure
|
||||
openclaw agents add <name>
|
||||
```
|
||||
|
||||
<Note>
|
||||
`--json` は非対話モードを意味しません。スクリプトでは `--non-interactive` を使用してください。
|
||||
</Note>
|
||||
|
||||
<Tip>
|
||||
推奨:エージェントが `web_search` を使用できるように、Brave Search APIキーを設定してください(`web_fetch` はキーなしで動作します)。最も簡単な方法:`openclaw configure --section web` を実行すると `plugins.entries.brave.config.webSearch.apiKey` に保存されます。旧 `tools.web.search.apiKey` パスは互換用に引き続き読み込まれますが、新しい設定では使用しないでください。ドキュメント:[Webツール](/tools/web)。
|
||||
</Tip>
|
||||
|
||||
## 関連ドキュメント
|
||||
|
||||
- CLIコマンドリファレンス:[`openclaw onboard`](/cli/onboard)
|
||||
- macOSアプリのオンボーディング:[オンボーディング](/start/onboarding)
|
||||
- エージェント初回起動の手順:[エージェントブートストラップ](/start/bootstrapping)
|
||||
|
|
@ -9,6 +9,8 @@ const HERE = path.dirname(fileURLToPath(import.meta.url));
|
|||
const ROOT = path.resolve(HERE, "..");
|
||||
const SOURCE_DOCS_DIR = path.join(ROOT, "docs");
|
||||
const SOURCE_CONFIG_PATH = path.join(SOURCE_DOCS_DIR, "docs.json");
|
||||
const JA_NAV_PATH = path.join(SOURCE_DOCS_DIR, ".i18n", "ja-navigation.json");
|
||||
const JA_TM_PATH = path.join(SOURCE_DOCS_DIR, ".i18n", "ja-JP.tm.jsonl");
|
||||
const ZH_NAV_PATH = path.join(SOURCE_DOCS_DIR, ".i18n", "zh-Hans-navigation.json");
|
||||
const ZH_TM_PATH = path.join(SOURCE_DOCS_DIR, ".i18n", "zh-CN.tm.jsonl");
|
||||
|
||||
|
|
@ -69,6 +71,7 @@ function writeJson(filePath, value) {
|
|||
|
||||
function composeDocsConfig() {
|
||||
const sourceConfig = readJson(SOURCE_CONFIG_PATH);
|
||||
const jaNavigation = readJson(JA_NAV_PATH);
|
||||
const zhNavigation = readJson(ZH_NAV_PATH);
|
||||
const languages = sourceConfig?.navigation?.languages;
|
||||
|
||||
|
|
@ -76,19 +79,22 @@ function composeDocsConfig() {
|
|||
throw new Error("docs/docs.json is missing navigation.languages");
|
||||
}
|
||||
|
||||
const withoutZh = languages.filter((entry) => entry?.language !== "zh-Hans");
|
||||
const jaIndex = withoutZh.findIndex((entry) => entry?.language === "ja");
|
||||
if (jaIndex === -1) {
|
||||
withoutZh.push(zhNavigation);
|
||||
const withoutGenerated = languages.filter(
|
||||
(entry) => entry?.language !== "zh-Hans" && entry?.language !== "ja",
|
||||
);
|
||||
const enIndex = withoutGenerated.findIndex((entry) => entry?.language === "en");
|
||||
const generated = [zhNavigation, jaNavigation];
|
||||
if (enIndex === -1) {
|
||||
withoutGenerated.push(...generated);
|
||||
} else {
|
||||
withoutZh.splice(jaIndex, 0, zhNavigation);
|
||||
withoutGenerated.splice(enIndex + 1, 0, ...generated);
|
||||
}
|
||||
|
||||
return {
|
||||
...sourceConfig,
|
||||
navigation: {
|
||||
...sourceConfig.navigation,
|
||||
languages: withoutZh,
|
||||
languages: withoutGenerated,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
@ -101,17 +107,31 @@ function syncDocsTree(targetRoot) {
|
|||
"-a",
|
||||
"--delete",
|
||||
"--filter",
|
||||
"P ja-JP/",
|
||||
"--filter",
|
||||
"P zh-CN/",
|
||||
"--filter",
|
||||
"P .i18n/ja-JP.tm.jsonl",
|
||||
"--filter",
|
||||
"P .i18n/zh-CN.tm.jsonl",
|
||||
"--exclude",
|
||||
"ja-JP/",
|
||||
"--exclude",
|
||||
"zh-CN/",
|
||||
"--exclude",
|
||||
".i18n/ja-JP.tm.jsonl",
|
||||
"--exclude",
|
||||
".i18n/zh-CN.tm.jsonl",
|
||||
`${SOURCE_DOCS_DIR}/`,
|
||||
`${targetDocsDir}/`,
|
||||
]);
|
||||
|
||||
const targetJaTmPath = path.join(targetDocsDir, ".i18n", "ja-JP.tm.jsonl");
|
||||
if (!fs.existsSync(targetJaTmPath) && fs.existsSync(JA_TM_PATH)) {
|
||||
ensureDir(path.dirname(targetJaTmPath));
|
||||
fs.copyFileSync(JA_TM_PATH, targetJaTmPath);
|
||||
}
|
||||
|
||||
const targetZhTmPath = path.join(targetDocsDir, ".i18n", "zh-CN.tm.jsonl");
|
||||
if (!fs.existsSync(targetZhTmPath) && fs.existsSync(ZH_TM_PATH)) {
|
||||
ensureDir(path.dirname(targetZhTmPath));
|
||||
|
|
|
|||
Loading…
Reference in New Issue