summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/zh-tw/cli.mdx
blob: 2827be9dc973e862dfcf335bb65252c1da8ac672 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
---
title: 命令行介面
description: opencode CLI 選項和命令。
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

默認情況下,OpenCode CLI 在不帶任何參數運行時啟動[TUI](/docs/tui)。

```bash
opencode
```

但它也接受本頁記錄的命令。這允許您以編程方式與 OpenCode 交互。

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### tui

啟動 OpenCode TUI。

```bash
opencode [project]
```

#### 旗標

| 旗標         | 簡寫 | 描述                                                      |
| ------------ | ---- | --------------------------------------------------------- |
| `--continue` | `-c` | 繼續上一期                                                |
| `--session`  | `-s` | 會話 ID 繼續                                              |
| `--fork`     |      | 繼續時分叉會話(與 `--continue` 或 `--session` 一起使用) |
| `--prompt`   |      | 提示使用                                                  |
| `--model`    | `-m` | 以提供者/模型形式使用的模型                               |
| `--agent`    |      | 代理使用                                                  |
| `--port`     |      | 監聽端口                                                  |
| `--hostname` |      | 監聽的主機名                                              |

---

## 命令

OpenCode CLI 還具有以下命令。

---

### agent

管理 OpenCode 代理。

```bash
opencode agent [command]
```

---

### attach

將 terminal 連接到通過 `serve` 或 `web` 命令啟動的已運行的 OpenCode 後端服務器。

```bash
opencode attach [url]
```

這允許將 TUI 與遠程 OpenCode 後端一起使用。例如:

```bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0

# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096
```

#### 旗標

| 旗標        | 簡寫 | 描述                |
| ----------- | ---- | ------------------- |
| `--dir`     |      | 啟動 TUI 的工作目錄 |
| `--session` | `-s` | 會話 ID 繼續        |

---

#### create

使用自定義配置創建新代理。

```bash
opencode agent create
```

此命令將指導您使用自定義系統提示和工具配置創建新代理。

---

#### list

列出所有可用的代理。

```bash
opencode agent list
```

---

### auth

用於管理提供商的憑據和登錄的命令。

```bash
opencode auth [command]
```

---

#### login

OpenCode 由 [Models.dev](https://models.dev) 上的提供商列表提供支持,因此您可以使用 `opencode auth login` 為您想要使用的任何提供商配置 API 密鑰。它存儲在`~/.local/share/opencode/auth.json` 中。

```bash
opencode auth login
```

當 OpenCode 啟動時,它會從憑據文件加載提供商。如果您的環境中定義了任何鍵或項目中的 `.env` 文件。

---

#### list

列出憑證文件中存儲的所有經過身份驗證的提供商。

```bash
opencode auth list
```

或者簡短的版本。

```bash
opencode auth ls
```

---

#### logout

通過從憑據文件中清除提供商,將您從提供商中註銷。

```bash
opencode auth logout
```

---

### github

管理 GitHub 代理以實現存儲庫自動化。

```bash
opencode github [command]
```

---

#### install

在您的存儲庫中安裝 GitHub 代理。

```bash
opencode github install
```

這將設置必要的 GitHub Actions 工作流程並指導您完成配置過程。 [了解更多](/docs/github)。

---

#### run

運行 GitHub 代理。這通常用在 GitHub Actions 中。

```bash
opencode github run
```

##### 旗幟

| 旗幟      | 描述                           |
| --------- | ------------------------------ |
| `--event` | 用於運行代理的 GitHub 模擬事件 |
| `--token` | GitHub 個人訪問令牌            |

---

### mcp

管理模型上下文協議服務器。

```bash
opencode mcp [command]
```

---

#### add

將 MCP 服務器添加到您的配置中。

```bash
opencode mcp add
```

此命令將指導您添加本地或遠程 MCP 服務器。

---

#### list

列出所有已配置的 MCP 服務器及其連接狀態。

```bash
opencode mcp list
```

或者使用簡短版本。

```bash
opencode mcp ls
```

---

#### auth

使用啟用 OAuth 的 MCP 服務器進行身份驗證。

```bash
opencode mcp auth [name]
```

如果您不提供服務器名稱,系統將提示您從可用的支持 OAuth 的服務器中進行選擇。

您還可以列出支持 OAuth 的服務器及其身份驗證狀態。

```bash
opencode mcp auth list
```

或者使用簡短版本。

```bash
opencode mcp auth ls
```

---

#### logout

刪除 MCP 服務器的 OAuth 憑據。

```bash
opencode mcp logout [name]
```

---

#### debug

調試 MCP 服務器的 OAuth 連接問題。

```bash
opencode mcp debug <name>
```

---

### models

列出已配置提供商的所有可用模型。

```bash
opencode models [provider]
```

此命令以 `provider/model` 格式顯示您配置的提供商中可用的所有模型。

這對於確定[你的配置](/docs/config/) 中使用的確切模型名稱很有用。

您可以選擇傳遞提供商 ID 以按該提供商篩選模型。

```bash
opencode models anthropic
```

#### 旗幟

| 旗幟        | 描述                                     |
| ----------- | ---------------------------------------- |
| `--refresh` | 從 models.dev 刷新模型緩存               |
| `--verbose` | 使用更詳細的模型輸出(包括成本等元數據) |

使用`--refresh`標誌來更新緩存的模型列表。當新模型已添加到提供商並且您希望在 OpenCode 中查看它們時,這非常有用。

```bash
opencode models --refresh
```

---

### run

通過直接傳遞提示以非交互模式運行 opencode。

```bash
opencode run [message..]
```

這對於腳本編寫、自動化,或者當您想要快速得到答案而不啟動完整的 TUI 時非常有用。例如。

```bash "opencode run"
opencode run Explain the use of context in Go
```

您還可以附加到正在運行的 `opencode serve` 實例,以避免每次運行時 MCP 服務器冷啟動時間:

```bash
# Start a headless server in one terminal
opencode serve

# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```

#### 旗幟

| 旗幟         | 短   | 描述                                                            |
| ------------ | ---- | --------------------------------------------------------------- |
| `--command`  |      | 要運行的命令,使用消息作為參數                                  |
| `--continue` | `-c` | 繼續上一期                                                      |
| `--session`  | `-s` | 會話 ID 繼續                                                    |
| `--fork`     |      | 繼續時分叉會話(與 `--continue` 或 `--session` 一起使用)       |
| `--share`    |      | 分享會議                                                        |
| `--model`    | `-m` | 以提供者/模型形式使用的模型                                     |
| `--agent`    |      | 代理使用                                                        |
| `--file`     | `-f` | 要附加到消息的文件                                              |
| `--format`   |      | 格式:默認(格式化)或 json(原始 JSON 事件)                   |
| `--title`    |      | 會話標題(如果未提供值,則使用截斷的提示)                      |
| `--attach`   |      | 連接到正在運行的 opencode 服務器(例如,http://localhost:4096) |
| `--port`     |      | 本地服務器的端口(默認為隨機端口)                              |

---

### serve

啟動無頭 opencode 服務器以進行 API 訪問。查看[服務器文檔](/docs/server) 以獲取完整的 HTTP 接口。

```bash
opencode serve
```

這將啟動一個 HTTP 服務器,該服務器提供對 opencode 功能的 API 訪問,而無需 TUI 接口。設置`OPENCODE_SERVER_PASSWORD`以啟用HTTP基本身份驗證(用戶名默認為`opencode`)。

#### 旗幟

| 旗幟         | 描述                     |
| ------------ | ------------------------ |
| `--port`     | 監聽端口                 |
| `--hostname` | 監聽的主機名             |
| `--mdns`     | 啟用 mDNS 發現           |
| `--cors`     | 允許 CORS 的其他瀏覽器源 |

---

### session

管理 opencode 會話。

```bash
opencode session [command]
```

---

#### list

列出所有 opencode 會話。

```bash
opencode session list
```

##### 旗幟

| 旗幟          | 短   | 描述                           |
| ------------- | ---- | ------------------------------ |
| `--max-count` | `-n` | 限制為最近 N 個會話            |
| `--format`    |      | 輸出格式:table 或 json(table) |

---

### stats

顯示 opencode 會話的令牌使用情況和成本統計信息。

```bash
opencode stats
```

#### 旗幟

| 旗幟        | 描述                                                     |
| ----------- | -------------------------------------------------------- |
| `--days`    | 顯示過去 N 天(所有時間)的統計數據                      |
| `--tools`   | 顯示的工具數量(全部)                                   |
| `--models`  | 顯示模型使用情況細分(默認隱藏)。傳遞一個數字來顯示前 N |
| `--project` | 按項目過濾(所有項目,空字符串:當前項目)               |

---

### export

將會話數據導出為 JSON。

```bash
opencode export [sessionID]
```

如果您不提供會話 ID,系統將提示您從可用會話中進行選擇。

---

### import

從 JSON 文件或 opencode 共享 URL 導入會話數據。

```bash
opencode import <file>
```

您可以從本地文件或 opencode 共享 URL 導入。

```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```

---

### web

使用 Web 介面啟動無頭 opencode 服務器。

```bash
opencode web
```

這將啟動 HTTP 服務器並打開 Web 瀏覽器以通過 Web 介面訪問 opencode。設置`OPENCODE_SERVER_PASSWORD`以啟用HTTP基本身份驗證(用戶名默認為`opencode`)。

#### 旗幟

| 旗幟         | 描述                     |
| ------------ | ------------------------ |
| `--port`     | 監聽端口                 |
| `--hostname` | 監聽的主機名             |
| `--mdns`     | 啟用 mDNS 發現           |
| `--cors`     | 允許 CORS 的其他瀏覽器源 |

---

### acp

啟動 ACP(Agent Client Protocol)服務器。

```bash
opencode acp
```

此命令啟動一個 ACP 服務器,該服務器使用 nd-JSON 通過 stdin/stdout 進行通信。

#### 旗幟

| 旗幟         | 描述         |
| ------------ | ------------ |
| `--cwd`      | 工作目錄     |
| `--port`     | 監聽端口     |
| `--hostname` | 監聽的主機名 |

---

### uninstall

卸載 opencode 並刪除所有相關文件。

```bash
opencode uninstall
```

#### 旗幟

| 旗幟            | 短   | 描述                             |
| --------------- | ---- | -------------------------------- |
| `--keep-config` | `-c` | 保留配置文件                     |
| `--keep-data`   | `-d` | 保留會話數據和快照               |
| `--dry-run`     |      | 顯示在不刪除的情況下將刪除的內容 |
| `--force`       | `-f` | 跳過確認提示                     |

---

### upgrade

將 opencode 更新到最新版本或特定版本。

```bash
opencode upgrade [target]
```

升級到最新版本。

```bash
opencode upgrade
```

升級到特定版本。

```bash
opencode upgrade v0.1.48
```

#### 旗幟

| 旗標       | 簡寫 | 描述                                       |
| ---------- | ---- | ------------------------------------------ |
| `--method` | `-m` | 使用的安裝方法;curl、npm、pnpm、bun、brew |

---

## 全球旗幟

opencode CLI 採用以下全局標誌。

| 旗幟           | 短   | 描述                               |
| -------------- | ---- | ---------------------------------- |
| `--help`       | `-h` | 顯示幫助                           |
| `--version`    | `-v` | 打印版本號                         |
| `--print-logs` |      | 將日誌打印到 stderr                |
| `--log-level`  |      | 日誌級別(調試、信息、警告、錯誤) |

---

## 環境變量

可以使用環境變量配置 opencode。

| 變量                                  | 類型    | 描述                                     |
| ------------------------------------- | ------- | ---------------------------------------- |
| `OPENCODE_AUTO_SHARE`                 | boolean | 自動共享會話                             |
| `OPENCODE_GIT_BASH_PATH`              | string  | Windows 上 Git Bash 可執行文件的路徑     |
| `OPENCODE_CONFIG`                     | string  | 配置文件路徑                             |
| `OPENCODE_CONFIG_DIR`                 | string  | 配置目錄的路徑                           |
| `OPENCODE_CONFIG_CONTENT`             | string  | 內聯 json 配置內容                       |
| `OPENCODE_DISABLE_AUTOUPDATE`         | boolean | 禁用自動更新檢查                         |
| `OPENCODE_DISABLE_PRUNE`              | boolean | 禁用舊數據的修剪                         |
| `OPENCODE_DISABLE_TERMINAL_TITLE`     | boolean | 禁用自動 terminal 標題更新               |
| `OPENCODE_PERMISSION`                 | string  | 內聯 json 權限配置                       |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS`    | boolean | 禁用默認插件                             |
| `OPENCODE_DISABLE_LSP_DOWNLOAD`       | boolean | 禁用自動 LSP 服務器下載                  |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | 啟用實驗模型                             |
| `OPENCODE_DISABLE_AUTOCOMPACT`        | boolean | 禁用自動上下文壓縮                       |
| `OPENCODE_DISABLE_CLAUDE_CODE`        | boolean | 禁止從`.claude`讀取(提示+技巧)         |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | 禁用讀取`~/.claude/CLAUDE.md`            |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | 禁用加載`.claude/skills`                 |
| `OPENCODE_DISABLE_MODELS_FETCH`       | boolean | 禁用從遠程源獲取模型                     |
| `OPENCODE_FAKE_VCS`                   | string  | 用於測試目的的假 VCS 提供商              |
| `OPENCODE_DISABLE_FILETIME_CHECK`     | boolean | 禁用文件時間檢查以進行優化               |
| `OPENCODE_CLIENT`                     | string  | 客戶端標識符(默認為`cli`)              |
| `OPENCODE_ENABLE_EXA`                 | boolean | 啟用 Exa 網絡搜索工具                    |
| `OPENCODE_SERVER_PASSWORD`            | string  | 為 `serve`/`web` 啟用基本身份驗證        |
| `OPENCODE_SERVER_USERNAME`            | string  | 覆蓋基本身份驗證用戶名(默認`opencode`) |
| `OPENCODE_MODELS_URL`                 | string  | 用於獲取模型配置的自定義 URL             |

---

### 實驗性的

這些環境變量啟用可能會更改或刪除的實驗性功能。

| 變量                                            | 類型    | 描述                                |
| ----------------------------------------------- | ------- | ----------------------------------- |
| `OPENCODE_EXPERIMENTAL`                         | boolean | 啟用所有實驗性功能                  |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY`          | boolean | 啟用圖標發現                        |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT`  | boolean | 在 TUI 中禁用選擇時復制             |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number  | bash 命令的默認超時(以毫秒為單位) |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX`        | number  | LLM 響應的最大輸出令牌              |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER`             | boolean | 為整個目錄啟用文件觀察器            |
| `OPENCODE_EXPERIMENTAL_OXFMT`                   | boolean | 啟用 oxfmt 格式化程序               |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL`                | boolean | 啟用實驗性 LSP 工具                 |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER`     | boolean | 禁用文件觀察器                      |
| `OPENCODE_EXPERIMENTAL_EXA`                     | boolean | 啟用實驗性 Exa 功能                 |
| `OPENCODE_EXPERIMENTAL_LSP_TY`                  | boolean | 啟用實驗性 LSP 類型檢查             |
| `OPENCODE_EXPERIMENTAL_MARKDOWN`                | boolean | 啟用實驗性 Markdown 功能            |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | boolean | 啟用計劃模式                        |