chore: generate
This commit is contained in:
@@ -14,6 +14,7 @@ ACP بروتوكول مفتوح يوحّد آلية التواصل بين محر
|
||||
---
|
||||
|
||||
## الإعداد
|
||||
|
||||
لاستخدام OpenCode عبر ACP، اضبط محررك ليشغّل الأمر `opencode acp`.
|
||||
|
||||
يشغّل هذا الأمر OpenCode كعملية فرعية متوافقة مع ACP تتواصل مع محررك عبر JSON-RPC باستخدام stdio.
|
||||
@@ -140,6 +141,7 @@ require("codecompanion").setup({
|
||||
إذا احتجت إلى تمرير متغيرات البيئة (مثل `OPENCODE_API_KEY`)، فارجع إلى [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) ضمن توثيق CodeCompanion.nvim للاطلاع على التفاصيل كاملة.
|
||||
|
||||
## الدعم
|
||||
|
||||
يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في الطرفية. جميع الميزات مدعومة:
|
||||
|
||||
:::note
|
||||
|
||||
@@ -8,11 +8,13 @@ description: أنشئ أدوات يمكن لـ LLM استدعاؤها في openc
|
||||
---
|
||||
|
||||
## إنشاء أداة
|
||||
|
||||
تُعرّف الأدوات كملفات **TypeScript** أو **JavaScript**. لكن تعريف الأداة يمكنه استدعاء سكربتات مكتوبة **بأي لغة** — إذ تُستخدم TypeScript أو JavaScript فقط لتعريف الأداة نفسه.
|
||||
|
||||
---
|
||||
|
||||
### الموقع
|
||||
|
||||
يمكن تعريفها:
|
||||
|
||||
- محليا بوضعها في مجلد `.opencode/tools/` داخل مشروعك.
|
||||
@@ -21,6 +23,7 @@ description: أنشئ أدوات يمكن لـ LLM استدعاؤها في openc
|
||||
---
|
||||
|
||||
### البنية
|
||||
|
||||
أسهل طريقة لإنشاء أدوات هي استخدام المساعد `tool()` الذي يوفر أمان الأنواع والتحقق.
|
||||
|
||||
```ts title=".opencode/tools/database.ts" {1}
|
||||
@@ -43,6 +46,7 @@ export default tool({
|
||||
---
|
||||
|
||||
#### عدة أدوات في ملف واحد
|
||||
|
||||
يمكنك أيضا تصدير عدة أدوات من ملف واحد. يصبح كل تصدير **أداة مستقلة** باسم **`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
@@ -76,6 +80,7 @@ export const multiply = tool({
|
||||
---
|
||||
|
||||
### الوسائط
|
||||
|
||||
يمكنك استخدام `tool.schema`، وهو في الأساس [Zod](https://zod.dev)، لتعريف أنواع الوسائط.
|
||||
|
||||
```ts "tool.schema"
|
||||
@@ -104,6 +109,7 @@ export default {
|
||||
---
|
||||
|
||||
### السياق
|
||||
|
||||
تستقبل الأدوات سياقا حول الجلسة الحالية:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
@@ -126,7 +132,9 @@ export default tool({
|
||||
---
|
||||
|
||||
## أمثلة
|
||||
|
||||
### كتابة أداة بلغة Python
|
||||
|
||||
يمكنك كتابة أدواتك بأي لغة تريدها. إليك مثالا يجمع رقمين باستخدام Python.
|
||||
|
||||
أولا، أنشئ الأداة كسكربت Python:
|
||||
|
||||
@@ -14,6 +14,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode.
|
||||
---
|
||||
|
||||
## الإضافات
|
||||
|
||||
| الاسم | الوصف |
|
||||
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | تشغيل جلسات OpenCode تلقائيا داخل بيئات Daytona معزولة مع مزامنة git ومعاينات حية |
|
||||
@@ -50,6 +51,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode.
|
||||
---
|
||||
|
||||
## المشاريع
|
||||
|
||||
| الاسم | الوصف |
|
||||
| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | بوت Discord للتحكم بجلسات OpenCode، مبني على SDK |
|
||||
@@ -67,6 +69,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode.
|
||||
---
|
||||
|
||||
## الوكلاء
|
||||
|
||||
| الاسم | الوصف |
|
||||
| ----------------------------------------------------------------- | --------------------------------------------- |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | وكلاء وأوامر ذكاء اصطناعي معيارية لتطوير منظم |
|
||||
|
||||
@@ -11,32 +11,32 @@ description: يستخدم OpenCode مُنسِّقات خاصة بكل لغة.
|
||||
|
||||
يأتي OpenCode مع عدة مُنسِّقات مُضمَّنة للغات وأطر العمل الشائعة. فيما يلي قائمة بالمُنسِّقات وامتدادات الملفات المدعومة والأوامر أو خيارات الإعداد التي تحتاجها.
|
||||
|
||||
| المُنسِّق | الامتدادات | المتطلبات |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | يتوفر أمر `gofmt` |
|
||||
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | يتوفر أمر `mix` |
|
||||
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://prettier.io/docs/en/index.html) | وجود اعتماد `prettier` في `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://biomejs.dev/) | ملف إعداد `biome.json(c)` |
|
||||
| zig | .zig, .zon | يتوفر أمر `zig` |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino، و[غير ذلك](https://clang.llvm.org/docs/ClangFormat.html) | ملف إعداد `.clang-format` |
|
||||
| ktlint | .kt, .kts | يتوفر أمر `ktlint` |
|
||||
| ruff | .py, .pyi | يتوفر أمر `ruff` مع إعداد |
|
||||
| rustfmt | .rs | يتوفر أمر `rustfmt` |
|
||||
| cargofmt | .rs | يتوفر أمر `cargo fmt` |
|
||||
| uv | .py, .pyi | يتوفر أمر `uv` |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | يتوفر أمر `rubocop` |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | يتوفر أمر `standardrb` |
|
||||
| htmlbeautifier | .erb, .html.erb | يتوفر أمر `htmlbeautifier` |
|
||||
| air | .R | يتوفر أمر `air` |
|
||||
| dart | .dart | يتوفر أمر `dart` |
|
||||
| ocamlformat | .ml, .mli | يتوفر أمر `ocamlformat` وملف إعداد `.ocamlformat` |
|
||||
| terraform | .tf, .tfvars | يتوفر أمر `terraform` |
|
||||
| gleam | .gleam | يتوفر أمر `gleam` |
|
||||
| nixfmt | .nix | يتوفر أمر `nixfmt` |
|
||||
| shfmt | .sh, .bash | يتوفر أمر `shfmt` |
|
||||
| pint | .php | وجود اعتماد `laravel/pint` في `composer.json` |
|
||||
| المُنسِّق | الامتدادات | المتطلبات |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | يتوفر أمر `gofmt` |
|
||||
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | يتوفر أمر `mix` |
|
||||
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://prettier.io/docs/en/index.html) | وجود اعتماد `prettier` في `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://biomejs.dev/) | ملف إعداد `biome.json(c)` |
|
||||
| zig | .zig, .zon | يتوفر أمر `zig` |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino، و[غير ذلك](https://clang.llvm.org/docs/ClangFormat.html) | ملف إعداد `.clang-format` |
|
||||
| ktlint | .kt, .kts | يتوفر أمر `ktlint` |
|
||||
| ruff | .py, .pyi | يتوفر أمر `ruff` مع إعداد |
|
||||
| rustfmt | .rs | يتوفر أمر `rustfmt` |
|
||||
| cargofmt | .rs | يتوفر أمر `cargo fmt` |
|
||||
| uv | .py, .pyi | يتوفر أمر `uv` |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | يتوفر أمر `rubocop` |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | يتوفر أمر `standardrb` |
|
||||
| htmlbeautifier | .erb, .html.erb | يتوفر أمر `htmlbeautifier` |
|
||||
| air | .R | يتوفر أمر `air` |
|
||||
| dart | .dart | يتوفر أمر `dart` |
|
||||
| ocamlformat | .ml, .mli | يتوفر أمر `ocamlformat` وملف إعداد `.ocamlformat` |
|
||||
| terraform | .tf, .tfvars | يتوفر أمر `terraform` |
|
||||
| gleam | .gleam | يتوفر أمر `gleam` |
|
||||
| nixfmt | .nix | يتوفر أمر `nixfmt` |
|
||||
| shfmt | .sh, .bash | يتوفر أمر `shfmt` |
|
||||
| pint | .php | وجود اعتماد `laravel/pint` في `composer.json` |
|
||||
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | وجود اعتماد `oxfmt` في `package.json` و[علم متغير بيئة تجريبي](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | يتوفر أمر `ormolu` |
|
||||
| ormolu | .hs | يتوفر أمر `ormolu` |
|
||||
|
||||
لذا إذا كان مشروعك يتضمن `prettier` ضمن `package.json`، فسيستخدمه OpenCode تلقائيا.
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ description: أضف أدوات MCP محلية وبعيدة.
|
||||
---
|
||||
|
||||
#### تنبيهات
|
||||
|
||||
عند استخدام خادم MCP فإنه يضيف إلى السياق. وقد يتراكم ذلك بسرعة إذا كان لديك الكثير من الأدوات. لذلك نوصي بالتحلّي بالحذر عند اختيار خوادم MCP التي تستخدمها.
|
||||
|
||||
:::tip
|
||||
@@ -21,6 +22,7 @@ description: أضف أدوات MCP محلية وبعيدة.
|
||||
---
|
||||
|
||||
## التمكين
|
||||
|
||||
يمكنك تعريف خوادم MCP في [إعدادات OpenCode](https://opencode.ai/docs/config/) ضمن `mcp`. أضف كل خادم MCP باسم فريد. ويمكنك الإشارة إلى ذلك الخادم بالاسم عند توجيه الطلب إلى الـ LLM.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
@@ -43,6 +45,7 @@ description: أضف أدوات MCP محلية وبعيدة.
|
||||
---
|
||||
|
||||
### تجاوز القيم الافتراضية البعيدة
|
||||
|
||||
يمكن للمنظمات توفير خوادم MCP الافتراضية عبر نقطة النهاية `.well-known/opencode` الخاصة بها. قد تكون هذه الخوادم معطّلة افتراضيا، مما يتيح للمستخدمين تفعيل ما يحتاجونه فقط.
|
||||
|
||||
لتفعيل خادم معيّن من الإعدادات البعيدة الخاصة بمؤسستك، أضفه إلى إعداداتك المحلية مع `enabled: true`:
|
||||
@@ -65,6 +68,7 @@ description: أضف أدوات MCP محلية وبعيدة.
|
||||
---
|
||||
|
||||
## محلي
|
||||
|
||||
أضف خوادم MCP المحلية عبر ضبط `type` على `"local"` ضمن كائن `mcp`.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
@@ -109,6 +113,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
#### الخيارات
|
||||
|
||||
فيما يلي جميع الخيارات المتاحة لتهيئة خادم MCP محلي.
|
||||
|
||||
| الخيار | النوع | مطلوب | الوصف |
|
||||
@@ -122,6 +127,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
## بعيد
|
||||
|
||||
أضف خوادم MCP البعيدة عبر ضبط `type` على `"remote"`.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -145,6 +151,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
#### الخيارات
|
||||
|
||||
| الخيار | النوع | مطلوب | الوصف |
|
||||
| --------- | ------- | ----- | -------------------------------------------------------------------------------- |
|
||||
| `type` | String | Y | نوع اتصال خادم MCP، ويجب أن يكون `"remote"`. |
|
||||
@@ -157,6 +164,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
يتولى OpenCode تلقائيا معالجة مصادقة OAuth لخوادم MCP البعيدة. عندما يتطلب خادم ما المصادقة، سيقوم OpenCode بما يلي:
|
||||
|
||||
1. اكتشاف استجابة 401 وبدء تدفق OAuth
|
||||
@@ -166,6 +174,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
### تلقائي
|
||||
|
||||
بالنسبة لمعظم خوادم MCP التي تدعم OAuth، لا تحتاج إلى إعدادات خاصة. ما عليك سوى تهيئة الخادم البعيد:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -185,6 +194,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
### مُسجَّل مسبقا
|
||||
|
||||
إذا كانت لديك بيانات اعتماد العميل من موفّر خادم MCP، يمكنك تهيئتها:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
@@ -207,6 +217,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
### المصادقة
|
||||
|
||||
يمكنك تشغيل المصادقة يدويا أو إدارة بيانات الاعتماد.
|
||||
|
||||
صادِق مع خادم MCP معيّن:
|
||||
@@ -232,6 +243,7 @@ opencode mcp logout my-oauth-server
|
||||
---
|
||||
|
||||
#### تعطيل OAuth
|
||||
|
||||
إذا أردت تعطيل OAuth التلقائي لخادم ما (على سبيل المثال، للخوادم التي تستخدم مفاتيح API بدلا من ذلك)، فاضبط `oauth` على `false`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
@@ -253,6 +265,7 @@ opencode mcp logout my-oauth-server
|
||||
---
|
||||
|
||||
#### خيارات OAuth
|
||||
|
||||
| الخيار | النوع | الوصف |
|
||||
| -------------- | --------------- | ------------------------------------------------------------------------ |
|
||||
| `oauth` | Object \| false | كائن إعدادات OAuth، أو `false` لتعطيل الاكتشاف التلقائي لـ OAuth. |
|
||||
@@ -261,6 +274,7 @@ opencode mcp logout my-oauth-server
|
||||
| `scope` | String | نطاقات OAuth المطلوبة أثناء التفويض. |
|
||||
|
||||
#### تصحيح الأخطاء
|
||||
|
||||
إذا فشل خادم MCP بعيد في المصادقة، يمكنك تشخيص المشكلة باستخدام:
|
||||
|
||||
```bash
|
||||
@@ -276,11 +290,13 @@ opencode mcp debug my-oauth-server
|
||||
---
|
||||
|
||||
## الإدارة
|
||||
|
||||
تتوفر خوادم MCP لديك كأدوات داخل OpenCode إلى جانب الأدوات المضمنة. لذا يمكنك إدارتها عبر إعدادات OpenCode مثل أي أداة أخرى.
|
||||
|
||||
---
|
||||
|
||||
### عام
|
||||
|
||||
هذا يعني أنه يمكنك تفعيلها أو تعطيلها على مستوى عام.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
@@ -328,6 +344,7 @@ opencode mcp debug my-oauth-server
|
||||
---
|
||||
|
||||
### لكل وكيل
|
||||
|
||||
إذا كان لديك عدد كبير من خوادم MCP فقد ترغب في تفعيلها لكل وكيل على حدة وتعطيلها على المستوى العام. للقيام بذلك:
|
||||
|
||||
1. عطّلها كأداة على المستوى العام.
|
||||
@@ -359,6 +376,7 @@ opencode mcp debug my-oauth-server
|
||||
---
|
||||
|
||||
#### أنماط Glob
|
||||
|
||||
يستخدم نمط glob أنماطا بسيطة من مطابقة glob:
|
||||
|
||||
- `*` يطابق صفرا أو أكثر من أي محرف (على سبيل المثال، `"my-mcp*"` يطابق `my-mcp_search` و`my-mcp_list` وغيرها.)
|
||||
@@ -377,6 +395,7 @@ opencode mcp debug my-oauth-server
|
||||
---
|
||||
|
||||
## أمثلة
|
||||
|
||||
فيما يلي أمثلة لبعض خوادم MCP الشائعة. يمكنك إرسال PR إذا أردت توثيق خوادم أخرى.
|
||||
|
||||
---
|
||||
|
||||
@@ -10,6 +10,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## الإجراءات
|
||||
|
||||
يؤول كل حكم أذونات إلى إحدى القيم التالية:
|
||||
|
||||
- `"allow"` — تشغيل دون موافقة
|
||||
@@ -19,6 +20,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## الإعداد
|
||||
|
||||
يمكنك تعيين الأذونات بشكل عام (باستخدام `*`) ثم تجاوزها لأدوات محددة.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -44,6 +46,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## قواعد دقيقة (صيغة الكائن)
|
||||
|
||||
في معظم الأذونات، يمكنك استخدام كائن لتطبيق إجراءات مختلفة بناءً على مُدخلات الأداة.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -68,6 +71,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
تُقيَّم القواعد عبر مطابقة الأنماط، مع كون **آخر قاعدة مطابقة هي التي تُطبَّق**. من الشائع وضع قاعدة الشمول `"*"` أولًا ثم القواعد الأكثر تحديدًا بعدها.
|
||||
|
||||
### أحرف البدل
|
||||
|
||||
تستخدم أنماط الأذونات مطابقة بسيطة لأحرف البدل:
|
||||
|
||||
- `*` يطابق صفرًا أو أكثر من أي حرف
|
||||
@@ -75,6 +79,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
- جميع الأحرف الأخرى تُطابق حرفيًا
|
||||
|
||||
### توسيع مجلد المنزل
|
||||
|
||||
يمكنك استخدام `~` أو `$HOME` في بداية النمط للإشارة إلى مجلد المنزل. هذا مفيد خصوصًا لقواعد [`external_directory`](#external-directories).
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
@@ -82,6 +87,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### الأدلة الخارجية
|
||||
|
||||
استخدم `external_directory` للسماح باستدعاءات الأدوات التي تلمس مسارات خارج دليل العمل الذي بدأ منه OpenCode. ينطبق ذلك على أي أداة تأخذ مسارًا كمدخل (مثل `read` و`edit` و`list` و`glob` و`grep` والعديد من أوامر `bash`).
|
||||
|
||||
توسيع المنزل (مثل `~/...`) يؤثر فقط على طريقة كتابة النمط. لا يجعل ذلك المسار الخارجي جزءًا من مساحة العمل الحالية، لذا يجب السماح بالمسارات خارج دليل العمل عبر `external_directory` أيضًا.
|
||||
@@ -120,6 +126,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## الأذونات المتاحة
|
||||
|
||||
تُعرَّف أذونات OpenCode بأسماء الأدوات، بالإضافة إلى بعض حواجز الأمان:
|
||||
|
||||
- `read` — قراءة ملف (يطابق مسار الملف)
|
||||
@@ -140,6 +147,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## القيم الافتراضية
|
||||
|
||||
إذا لم تحدد شيئًا، يبدأ OpenCode بقيم افتراضية متساهلة:
|
||||
|
||||
- معظم الأذونات افتراضيًا تكون `"allow"`.
|
||||
@@ -162,6 +170,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## ماذا تفعل `"ask"`
|
||||
|
||||
عندما يطلب OpenCode الموافقة، تعرض الواجهة ثلاث نتائج ممكنة:
|
||||
|
||||
- `once` — الموافقة على هذا الطلب فقط
|
||||
@@ -173,6 +182,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
---
|
||||
|
||||
## الوكلاء
|
||||
|
||||
يمكنك تجاوز الأذونات لكل وكيل. تُدمَج أذونات الوكلاء مع الإعداد العام، وتكون قواعد الوكيل هي ذات الأولوية. [تعرّف أكثر](/docs/agents#permissions) على أذونات الوكلاء.
|
||||
|
||||
:::note
|
||||
|
||||
@@ -16,17 +16,20 @@ export const console = config.console
|
||||
---
|
||||
|
||||
### بيانات الاعتماد
|
||||
|
||||
عند إضافة مفاتيح API الخاصة بمزوّد عبر الأمر `/connect`، يتم تخزينها
|
||||
في `~/.local/share/opencode/auth.json`.
|
||||
|
||||
---
|
||||
|
||||
### الإعدادات
|
||||
|
||||
يمكنك تخصيص المزوّدات عبر قسم `provider` في ملف إعدادات OpenCode.
|
||||
|
||||
---
|
||||
|
||||
#### عنوان URL الأساسي
|
||||
|
||||
يمكنك تخصيص عنوان URL الأساسي لأي مزوّد عبر خيار `baseURL`. يفيد ذلك عند استخدام خدمات وسيطة (proxy) أو نقاط نهاية مخصّصة.
|
||||
|
||||
```json title="opencode.json" {6}
|
||||
@@ -81,6 +84,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
---
|
||||
|
||||
## الدليل
|
||||
|
||||
لنلقِ نظرة على بعض المزوّدات بالتفصيل. إذا رغبت في إضافة مزوّد إلى القائمة،
|
||||
فلا تتردد في فتح PR.
|
||||
|
||||
@@ -131,6 +135,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
2. **اضبط المصادقة** باستخدام إحدى الطرق التالية:
|
||||
|
||||
#### متغيرات البيئة (بدء سريع)
|
||||
|
||||
عيّن أحد متغيرات البيئة التالية أثناء تشغيل opencode:
|
||||
|
||||
```bash
|
||||
@@ -152,6 +157,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
```
|
||||
|
||||
#### ملف الإعدادات (موصى به)
|
||||
|
||||
للإعداد الخاص بالمشروع أو الإعداد الدائم، استخدم `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -178,6 +184,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
:::
|
||||
|
||||
#### متقدم: نقاط نهاية VPC
|
||||
|
||||
إذا كنت تستخدم نقاط نهاية VPC لـ Bedrock:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -199,12 +206,13 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
خيار `endpoint` هو اسم بديل لخيار `baseURL` العام باستخدام مصطلحات AWS. إذا تم تحديد كل من `endpoint` و`baseURL`، فستكون الأولوية لـ `endpoint`.
|
||||
:::
|
||||
|
||||
#### طرق المصادقة - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: أنشئ مستخدم IAM وأنشئ مفاتيح وصول من AWS Console
|
||||
#### طرق المصادقة - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: أنشئ مستخدم IAM وأنشئ مفاتيح وصول من AWS Console
|
||||
- **`AWS_PROFILE`**: استخدم ملفات تعريف مسمّاة من `~/.aws/credentials`. اضبط أولا عبر `aws configure --profile my-profile` أو `aws sso login`
|
||||
- **`AWS_BEARER_TOKEN_BEDROCK`**: أنشئ مفاتيح API طويلة الأجل من Amazon Bedrock console
|
||||
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: لـ EKS IRSA (IAM Roles for Service Accounts) أو بيئات Kubernetes أخرى مع اتحاد OIDC. يتم حقن متغيرات البيئة هذه تلقائيا بواسطة Kubernetes عند استخدام تعليقات حساب الخدمة.
|
||||
|
||||
#### أولوية المصادقة
|
||||
|
||||
يستخدم Amazon Bedrock أولوية المصادقة التالية:
|
||||
1. **Bearer Token** - متغير البيئة `AWS_BEARER_TOKEN_BEDROCK` أو الرمز من الأمر `/connect`
|
||||
2. **AWS Credential Chain** - الملف الشخصي، مفاتيح الوصول، بيانات الاعتماد المشتركة، أدوار IAM، رموز Web Identity (EKS IRSA)، بيانات تعريف المثيل
|
||||
@@ -273,6 +281,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
:::
|
||||
|
||||
##### استخدام مفاتيح API
|
||||
|
||||
يمكنك أيضا اختيار **Create an API Key** إذا لم يكن لديك اشتراك Pro/Max. سيفتح ذلك المتصفح أيضا ويطلب منك تسجيل الدخول إلى Anthropic ويعطيك رمزا يمكنك لصقه في الطرفية.
|
||||
|
||||
أو إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية.
|
||||
@@ -645,9 +654,10 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
```
|
||||
|
||||
#### استخدام OAuth (موصى به)
|
||||
|
||||
اختر **OAuth** وسيفتح المتصفح لإتمام التفويض.
|
||||
|
||||
#### استخدام Personal Access Token 1. اذهب إلى [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)
|
||||
#### استخدام Personal Access Token 1. اذهب إلى [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)
|
||||
2. انقر **Add new token**
|
||||
3. Name: `OpenCode`، Scopes: `api`
|
||||
4. انسخ الرمز (يبدأ بـ `glpat-`)
|
||||
@@ -670,6 +680,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
:::
|
||||
|
||||
##### GitLab مستضاف ذاتيا
|
||||
|
||||
:::note[ملاحظة امتثال]
|
||||
يستخدم OpenCode نموذجا صغيرا لبعض مهام الذكاء الاصطناعي مثل إنشاء عنوان الجلسة.
|
||||
تم ضبطه لاستخدام gpt-5-nano افتراضيا، مستضافا عبر Zen. لحصر OpenCode
|
||||
@@ -717,6 +728,7 @@ export GITLAB_TOKEN=glpat-...
|
||||
:::
|
||||
|
||||
##### OAuth للمثيلات المستضافة ذاتيا
|
||||
|
||||
لكي يعمل Oauth مع مثيلك المستضاف ذاتيا، تحتاج إلى إنشاء
|
||||
تطبيق جديد (Settings → Applications) مع
|
||||
callback URL `http://127.0.0.1:8080/callback` ونطاقات الصلاحيات التالية:
|
||||
@@ -734,6 +746,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
|
||||
مزيد من التوثيق على صفحة [opencode-gitlab-auth](https://www.npmjs.com/package/@gitlab/opencode-gitlab-auth).
|
||||
|
||||
##### التهيئة
|
||||
|
||||
خصّص عبر `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -754,6 +767,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
|
||||
```
|
||||
|
||||
##### أدوات GitLab API (اختياري، لكن موصى به بشدة)
|
||||
|
||||
للوصول إلى أدوات GitLab (merge requests وissues وpipelines وCI/CD وغيرها):
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -933,6 +947,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
|
||||
لمزيد من المزوّدات والميزات المتقدمة مثل التخزين المؤقت (caching) وتحديد المعدّل (rate limiting)، راجع [توثيق Helicone](https://docs.helicone.ai).
|
||||
|
||||
#### إعدادات اختيارية
|
||||
|
||||
إذا رأيت ميزة أو نموذجا في Helicone لم يتم ضبطه تلقائيا عبر opencode، فيمكنك دائما ضبطه بنفسك.
|
||||
|
||||
هذه هي [Helicone's Model Directory](https://helicone.ai/models)، وستحتاجها للحصول على IDs الخاصة بالنماذج التي تريد إضافتها.
|
||||
@@ -962,6 +977,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
|
||||
```
|
||||
|
||||
#### ترويسات مخصّصة
|
||||
|
||||
تدعم Helicone ترويسات مخصّصة لميزات مثل التخزين المؤقت وتتبع المستخدم وإدارة الجلسات. أضفها إلى إعداد المزوّد عبر `options.headers`:
|
||||
|
||||
```jsonc title="~/.config/opencode/opencode.jsonc"
|
||||
@@ -984,6 +1000,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
|
||||
```
|
||||
|
||||
##### تتبع الجلسات
|
||||
|
||||
تتيح ميزة [Sessions](https://docs.helicone.ai/features/sessions) في Helicone تجميع طلبات LLM المرتبطة معا. استخدم ملحق [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) لتسجيل كل محادثة OpenCode تلقائيا كجلسة في Helicone.
|
||||
|
||||
```bash
|
||||
@@ -1001,6 +1018,7 @@ npm install -g opencode-helicone-session
|
||||
يقوم الملحق بحقن ترويسات `Helicone-Session-Id` و`Helicone-Session-Name` ضمن طلباتك. في صفحة Sessions داخل Helicone، سترى كل محادثة OpenCode مدرجة كجلسة مستقلة.
|
||||
|
||||
##### ترويسات Helicone الشائعة
|
||||
|
||||
| Header | الوصف |
|
||||
| -------------------------- | -------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | تفعيل التخزين المؤقت للاستجابات (`true`/`false`) |
|
||||
@@ -1305,6 +1323,7 @@ npm install -g opencode-helicone-session
|
||||
```
|
||||
|
||||
##### استخدام مفاتيح API
|
||||
|
||||
إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية.
|
||||
|
||||
---
|
||||
@@ -1722,6 +1741,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها
|
||||
---
|
||||
|
||||
## موفّر مخصّص
|
||||
|
||||
لإضافة أي مزوّد **OpenAI-compatible** غير موجود ضمن الأمر `/connect`:
|
||||
|
||||
:::tip
|
||||
@@ -1808,6 +1828,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها
|
||||
---
|
||||
|
||||
##### مثال
|
||||
|
||||
إليك مثالا يضبط خيارات `apiKey` و`headers` وخيارات `limit` الخاصة بالنموذج.
|
||||
|
||||
```json title="opencode.json" {9,11,17-20}
|
||||
@@ -1850,6 +1871,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها
|
||||
---
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
إذا كنت تواجه مشكلة في تهيئة مزوّد، فتحقق مما يلي:
|
||||
|
||||
1. **تحقق من إعداد auth**: شغّل `opencode auth list` لمعرفة ما إذا كانت بيانات الاعتماد
|
||||
|
||||
@@ -284,6 +284,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
---
|
||||
|
||||
## إعداد المحرر
|
||||
|
||||
يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`.
|
||||
|
||||
<Tabs>
|
||||
|
||||
@@ -8,7 +8,9 @@ Prešli smo sa TUI zasnovanog na go+bubbletea koji je imao problema sa performan
|
||||
Novi TUI radi kao stari jer se povezuje na isti opencode server.
|
||||
|
||||
---
|
||||
|
||||
## Upgrade
|
||||
|
||||
Ne biste trebali biti automatski nadograđeni na 1.0 ako trenutno koristite prethodnu
|
||||
verzija. Međutim, neke starije verzije OpenCode-a uvijek uzimaju najnoviju verziju.
|
||||
Za ručnu nadogradnju, pokrenite
|
||||
@@ -27,20 +29,26 @@ $ opencode upgrade 0.15.31
|
||||
---
|
||||
|
||||
## UX promjene
|
||||
|
||||
Historija sesije je komprimovanija i prikazuje samo sve detalje alata za uređivanje i bash.
|
||||
Dodali smo komandnu traku kroz koju prolazi skoro sve. Pritisnite ctrl+p da prikažete u bilo kom kontekstu i vidite sve što možete učiniti.
|
||||
Dodatna bočna traka sesije (može se prebaciti) sa korisnim informacijama.
|
||||
Uklonili smo neke funkcije za koje nismo bili sigurni da ih neko koristi. Ako nešto važno nedostaje, otvorite problem i brzo ćemo ga dodati.
|
||||
|
||||
---
|
||||
|
||||
## Revolucionarne promjene
|
||||
|
||||
### Tastature su preimenovane
|
||||
|
||||
- povratne_poruke -> poništite_poruke
|
||||
- switch_agent -> agent_cycle
|
||||
- switch_agent_reverse -> agent_cycle_reverse
|
||||
- switch_mode -> agent_cycle
|
||||
- switch_mode_reverse -> agent_cycle_reverse
|
||||
|
||||
### Linkovi za degustatore su uklonjeni
|
||||
|
||||
- messages_layout_toggle
|
||||
- poruke_sljedeće
|
||||
- messages_previous
|
||||
@@ -51,4 +59,4 @@ Uklonili smo neke funkcije za koje nismo bili sigurni da ih neko koristi. Ako ne
|
||||
- app_help
|
||||
- project_init
|
||||
- detalji alata
|
||||
- razmišljanje_blokovi
|
||||
- razmišljanje_blokovi
|
||||
|
||||
@@ -10,11 +10,15 @@ Koristite agenta plana za analizu koda i pregled prijedloga bez ikakvih promjena
|
||||
Možete se prebacivati između agenata tokom sesije ili ih pozvati spominjanjem `@`.
|
||||
|
||||
---
|
||||
|
||||
## Vrsta
|
||||
|
||||
Postoje dvije vrste agenata u OpenCode-u; primarni agensi i subagensi.
|
||||
|
||||
---
|
||||
|
||||
### Primarni agenti
|
||||
|
||||
Primarni agenti su glavni pomoćnici s kojima direktno komunicirate. Možete se kretati kroz njih pomoću tipke **Tab** ili vašeg konfigurisanog povezivanja tipki `switch_agent`. Ovi agenti vode vaš glavni razgovor. Pristup alatima se konfiguriše putem dozvola — na primjer, Build ima omogućene sve alate dok je Plan ograničen.
|
||||
::: tip
|
||||
Možete koristiti tipku **Tab** za prebacivanje između primarnih agenata tokom sesije.
|
||||
@@ -23,78 +27,103 @@ OpenCode dolazi sa dva ugrađena primarna agenta, **Build** i **Plan**. Hoćemo
|
||||
pogledajte ove u nastavku.
|
||||
|
||||
---
|
||||
|
||||
### Subagent
|
||||
|
||||
Subagenti su specijalizovani pomoćnici koje primarni agenti mogu pozvati za određene zadatke. Možete ih i ručno pozvati **@ spominjanjem** u svojim porukama.
|
||||
OpenCode dolazi sa dva ugrađena subagenta, **General** i **Explore**. Ovo ćemo pogledati u nastavku.
|
||||
|
||||
---
|
||||
|
||||
## Embedded
|
||||
|
||||
OpenCode dolazi sa dva ugrađena primarna agenta i dva ugrađena subagenta.
|
||||
|
||||
---
|
||||
|
||||
### Koristi build
|
||||
|
||||
_Način_: `primary`
|
||||
Build je **podrazumevani** primarni agent sa svim omogućenim alatima. Ovo je standardni agent za razvojni rad gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
|
||||
---
|
||||
|
||||
### Koristite plan
|
||||
|
||||
_Način_: `primary`
|
||||
Konačan agent dizajniran za planiranje i analizu. Koristimo sistem dozvola kako bismo vam pružili veću kontrolu i spriječili neželjene promjene.
|
||||
Prema zadanim postavkama, sve sljedeće je postavljeno na `ask`:
|
||||
|
||||
- `file edits`: Sva upisivanja, zakrpe i uređivanja
|
||||
- `bash`: Sve bash komande
|
||||
Ovaj agent je koristan kada želite da LLM analizira kod, predloži promjene ili kreira planove bez stvarnih modifikacija vaše baze koda.
|
||||
Ovaj agent je koristan kada želite da LLM analizira kod, predloži promjene ili kreira planove bez stvarnih modifikacija vaše baze koda.
|
||||
|
||||
---
|
||||
|
||||
### Upotreba općenito
|
||||
|
||||
_Način_: `subagent`
|
||||
Agent opće namjene za istraživanje složenih pitanja i izvršavanje zadataka u više koraka. Ima potpuni pristup alatima (osim zadataka), tako da može mijenjati fajl kada je to potrebno. Koristite ovo za paralelno pokretanje više jedinica rada.
|
||||
|
||||
---
|
||||
|
||||
### Koristite explore
|
||||
|
||||
_Način_: `subagent`
|
||||
Brzi agent samo za čitanje za istraživanje kodnih baza. Nije moguće mijenjati fajlove. Koristite ovo kada trebate brzo pronaći datoteke po uzorku, pretražiti kod za ključne riječi ili odgovoriti na pitanja o bazi kodova.
|
||||
|
||||
---
|
||||
|
||||
### Koristite zbijanje
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji sažima dugi kontekst u manji sažetak. Pokreće se automatski kada je potrebno i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
### Koristite naslov
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji generiše kratke naslove sesija. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
### Koristi sažetak
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji kreira sažetke sesije. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
## Upotreba
|
||||
|
||||
1. Za primarne agente, koristite taster **Tab** za kretanje kroz njih tokom sesije. Također možete koristiti svoju konfiguriranu vezu tipke `switch_agent`.
|
||||
2. Subagenti se mogu pozvati:
|
||||
|
||||
- **Automatski** od strane primarnih agenata za specijalizovane zadatke na osnovu njihovih opisa.
|
||||
- Ručno **@ spominjanjem** subagenta u vašoj poruci. Na primjer.
|
||||
- Ručno **@ spominjanjem** subagenta u vašoj poruci. Na primjer.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
@general help me search for this function
|
||||
|
||||
```
|
||||
|
||||
3. **Navigacija između sesija**: Kada subagenti kreiraju vlastite podređene sesije, možete se kretati između roditeljske sesije i svih podređenih sesija koristeći:
|
||||
|
||||
- **\<Leader>+Desno** (ili vaša konfigurirana `session_child_cycle` veza) za petlju naprijed kroz roditelj → dijete1 → dijete2 → ... → roditelj
|
||||
- **\<Leader>+Levo** (ili vaše konfigurirano povezivanje tipki `session_child_cycle_reverse`) za kretanje unazad kroz roditelj ← dijete1 ← dijete2 ← ... ← roditelj
|
||||
Ovo vam omogućava neprimetno prebacivanje između glavnog razgovora i rada specijalizovanog podagenta.
|
||||
Ovo vam omogućava neprimetno prebacivanje između glavnog razgovora i rada specijalizovanog podagenta.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi ugrađene agente ili kreirati vlastite kroz konfiguraciju. Agenti se mogu konfigurisati na dva načina:
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Konfigurirajte agente u svom konfiguracijskom fajlu `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -137,12 +166,13 @@ Konfigurirajte agente u svom konfiguracijskom fajlu `opencode.json`:
|
||||
---
|
||||
|
||||
### Markdown
|
||||
|
||||
Također možete definirati agente koristeći mardown datoteke. Stavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/agents/`
|
||||
- Po projektu: `.opencode/agents/
|
||||
|
||||
````markdown title="~/.config/opencode/agents/review.md"
|
||||
|
||||
---
|
||||
opis: Recenzira kod za kvalitet i najbolje prakse
|
||||
način rada: subagent
|
||||
@@ -152,17 +182,17 @@ alati:
|
||||
napisati: netačno
|
||||
edit: false
|
||||
bash: lažno
|
||||
|
||||
---
|
||||
|
||||
Nalazite se u načinu pregleda koda. Fokusirajte se na:
|
||||
|
||||
- Kvalitet koda i najbolje prakse
|
||||
- Potencijalne greške i rubni slučajevi
|
||||
- Implikacije na performanse
|
||||
- Sigurnosna pitanja
|
||||
Dajte konstruktivne povratne informacije bez direktnih promjena.
|
||||
Dajte konstruktivne povratne informacije bez direktnih promjena.
|
||||
|
||||
```
|
||||
````
|
||||
|
||||
Ime marginalne datoteke postaje ime agenta. Na primjer, `review.md` kreira `review` agenta.
|
||||
|
||||
@@ -184,12 +214,14 @@ Koristite opciju `description` da pružite kratak opis onoga što agent radi i k
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
Ovo je **obavezna** opcija konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontrolišite slučajnost i kreativnost odgovora LLM-a pomoću `temperature` konfiguracije.
|
||||
Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok više vrijednosti povećavaju kreativnost i varijabilnost.
|
||||
|
||||
@@ -205,6 +237,7 @@ Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok više vr
|
||||
```
|
||||
|
||||
Vrijednosti temperature se obično kreću od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Vrlo fokusirani i deterministički odgovori, idealni za analizu i planiranje koda
|
||||
- **0,3-0,5**: Uravnoteženi odgovori sa malo kreativnosti, dobro za opšte razvojne zadatke
|
||||
- **0,6-1,0**: kreativniji i raznovrsniji odgovori, korisni za razmišljanje i istraživanje
|
||||
@@ -230,17 +263,20 @@ Vrijednosti temperature se obično kreću od 0,0 do 1,0:
|
||||
Ako temperatura nije navedena, OpenCode koristi standardne postavke specifične za model; obično 0 za većinu modela, 0,55 za Qwen modele.
|
||||
|
||||
---
|
||||
|
||||
### Maks. stepenice
|
||||
|
||||
Kontrolirajte maksimalni broj iteracija agenta koje agent može izvesti prije nego što bude prisiljen da odgovori samo tekstom. Ovo omogućava korisnicima koji žele kontrolirati troškove da postave ograničenje na akcije agenta.
|
||||
Ako ovo nije postavljeno, agent će nastaviti iterirati sve dok model ne odluči da se zaustavi ili korisnik ne prekine sesiju.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"brzo mislilac": {
|
||||
"opis": "Brzo razmišljanje s ograničenim iteracijama",
|
||||
"prompt": "Vi brzo mislite. Riješite probleme minimalnim koracima.",
|
||||
"koraci": 5 }
|
||||
"koraci": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -253,6 +289,7 @@ Naslijeđeno polje `maxSteps` je zastarjelo. Umjesto toga koristite `steps`.
|
||||
---
|
||||
|
||||
### Onemogući
|
||||
|
||||
Postavite na `true` da onemogućite agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -268,13 +305,15 @@ Postavite na `true` da onemogućite agenta.
|
||||
---
|
||||
|
||||
### Prompt
|
||||
|
||||
Navedite prilagođenu sistemsku prompt datoteku za ovog agenta sa `prompt` konfiguracijom. Datoteka s promptom treba da sadrži upute specifične za svrhu agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"recenzija": {
|
||||
"prompt": "{file:./prompts/code-review.txt}" }
|
||||
"prompt": "{file:./prompts/code-review.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -284,15 +323,18 @@ Ova putanja je relativna u odnosu na mjesto gdje se nalazi konfiguracijski fajl.
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate model za ovog agenta. Korisno za korištenje različitih modela optimiziranih za različite zadatke. Na primjer, brži model za planiranje, sposobniji model za implementaciju.
|
||||
:::tip
|
||||
Ako ne navedete model, primarni agenti koriste [model globalno konfiguriran](/docs/config#models) dok će podagenti koristiti model primarnog agenta koji je pozvao subagenta.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514" }
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -302,6 +344,7 @@ ID modela u vašoj OpenCode konfiguraciji koristi format `provider/model-id`. Na
|
||||
---
|
||||
|
||||
### Uvijek
|
||||
|
||||
Kontrolirajte koji su alati dostupni u ovom agentu koristeći konfiguraciju `tools`. Možete omogućiti ili onemogućiti određene alate tako što ćete ih postaviti na `true` ili `false`.
|
||||
|
||||
```json title="opencode.json" {3-6,9-12}
|
||||
@@ -346,7 +389,9 @@ Također možete koristiti zamjenske znakove za kontrolu više alata odjednom. N
|
||||
---
|
||||
|
||||
### Dozvole
|
||||
|
||||
Možete konfigurirati dozvole za upravljanje radnjama koje agent može poduzeti. Trenutno se dozvole za alate `edit`, `bash` i `webfetch` mogu konfigurirati na:
|
||||
|
||||
- `"ask"` — Zatražite odobrenje prije pokretanja alata
|
||||
- `"allow"` — Dozvoli sve operacije bez odobrenja
|
||||
- `"deny"` — Onemogućite alat
|
||||
@@ -364,13 +409,15 @@ Možete nadjačati ove dozvole po agentu.
|
||||
|
||||
```json title="opencode.json" {3-5,8-10}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"dozvola": {
|
||||
"edit": "odbiti" },
|
||||
"agent": {
|
||||
"edit": "odbiti"
|
||||
},
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"uredi": "pitaj" }
|
||||
"uredi": "pitaj"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -399,13 +446,14 @@ Možete postaviti dozvole za određene bash komande.
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"bash": {
|
||||
"git push": "pitaj",
|
||||
"grep *": "dozvoli" }
|
||||
"grep *": "dozvoli"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -434,13 +482,14 @@ Budući da posljednje podudarno pravilo ima prednost, prvo postavite zamjenski z
|
||||
|
||||
```json title="opencode.json" {8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"bash": {
|
||||
"*": "pitaj",
|
||||
"git status *": "dozvoli" }
|
||||
"git status *": "dozvoli"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -452,6 +501,7 @@ Budući da posljednje podudarno pravilo ima prednost, prvo postavite zamjenski z
|
||||
---
|
||||
|
||||
### Mode
|
||||
|
||||
Kontrolirajte način rada agenta koristeći konfiguraciju `mode`. Opcija `mode` se koristi da specificira kako se agent može koristiti.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -467,7 +517,9 @@ Kontrolirajte način rada agenta koristeći konfiguraciju `mode`. Opcija `mode`
|
||||
Opcija `mode` se može postaviti na `primary`, `subagent` ili `all`. Ako `mode` nije specificirano, podrazumevano je `all`.
|
||||
|
||||
---
|
||||
|
||||
### Skriveno
|
||||
|
||||
Sakrij podagenta iz `@` menija za automatsko dovršavanje sa `hidden: true`. Korisno za interne podagente koje bi drugi agenti trebali programski pozvati samo preko Task alata.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -488,6 +540,7 @@ Odnosi se samo na `mode: subagent` agente.
|
||||
---
|
||||
|
||||
### Dozvole za zadatak
|
||||
|
||||
Kontrolirajte koje podagente agent može pozvati preko Task alata sa `permission.task`. Koristi glob uzorke za fleksibilno uparivanje.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -509,7 +562,7 @@ Kontrolirajte koje podagente agent može pozvati preko Task alata sa `permission
|
||||
|
||||
Kada se postavi na `deny`, subagent se u potpunosti uklanja iz opisa alata za zadatak, tako da ga model neće pokušati pozvati.
|
||||
:::tip
|
||||
Pravila se procjenjuju po redoslijedu i **pobjeđuje **poslednje odgovarajuće pravilo**. U gornjem primjeru, `orchestrator-planner` odgovara i `*` (odbije) i `orchestrator-*` (dozvoli), ali pošto `orchestrator-*` dolazi nakon `*`, rezultat je `allow`.
|
||||
Pravila se procjenjuju po redoslijedu i **pobjeđuje **poslednje odgovarajuće pravilo\*_. U gornjem primjeru, `orchestrator-planner` odgovara i `_`(odbije) i`orchestrator-_`(dozvoli), ali pošto`orchestrator-_`dolazi nakon`\*`, rezultat je `allow`.
|
||||
:::
|
||||
:::tip
|
||||
Korisnici uvijek mogu pozvati bilo kojeg subagenta direktno preko `@` menija za autodovršavanje, čak i ako bi dozvole za zadatak agenta to uskratile.
|
||||
@@ -518,16 +571,19 @@ Korisnici uvijek mogu pozvati bilo kojeg subagenta direktno preko `@` menija za
|
||||
---
|
||||
|
||||
### Boja
|
||||
|
||||
Prilagodite vizualni izgled agenta u korisničkom sučelju s opcijom `color`. Ovo utiče na to kako se agent pojavljuje u interfejsu.
|
||||
Koristite važeću heksadecimalnu boju (npr. `#FF5733`) ili boju teme: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"kreativno": {
|
||||
"boja": "#ff6b6b" },
|
||||
"code-reviewer": {
|
||||
"boja": "akcent" }
|
||||
"boja": "#ff6b6b"
|
||||
},
|
||||
"code-reviewer": {
|
||||
"boja": "akcent"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -535,6 +591,7 @@ Koristite važeću heksadecimalnu boju (npr. `#FF5733`) ili boju teme: `primary`
|
||||
---
|
||||
|
||||
### Leglo P
|
||||
|
||||
Kontrolirajte raznolikost odgovora s opcijom `top_p`. Alternativa temperaturi za kontrolu nasumice.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -550,18 +607,21 @@ Kontrolirajte raznolikost odgovora s opcijom `top_p`. Alternativa temperaturi za
|
||||
Vrijednosti se kreću od 0,0 do 1,0. Niže vrijednosti su više fokusirane, više vrijednosti raznovrsnije.
|
||||
|
||||
---
|
||||
|
||||
### Dodatni
|
||||
|
||||
Sve druge opcije koje navedete u konfiguraciji agenta će biti **direktno proslijeđene** dobavljaču kao opcije modela. Ovo vam omogućava da koristite karakteristike i parametre specifične za provajdera.
|
||||
Na primjer, sa OpenAI-jevim modelima rezonovanja, možete kontrolisati napor rasuđivanja:
|
||||
|
||||
```json title="opencode.json" {6,7}
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"duboki mislilac": {
|
||||
"opis": "Agent koji koristi veliki napor u razmišljanju za složene probleme",
|
||||
"model": "openai/gpt-5",
|
||||
"reasoningEffort": "visoko",
|
||||
"textVerbosity": "niska" }
|
||||
"textVerbosity": "niska"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -574,6 +634,7 @@ Pokrenite `opencode models` da vidite listu dostupnih modela.
|
||||
---
|
||||
|
||||
## Kreirajte agente
|
||||
|
||||
Možete kreirati nove agente koristeći sljedeću naredbu:
|
||||
|
||||
```bash
|
||||
@@ -581,6 +642,7 @@ opencode agent create
|
||||
```
|
||||
|
||||
Ova interaktivna komanda će:
|
||||
|
||||
1. Pitajte gdje da sačuvate agenta; globalno ili specifično za projekat.
|
||||
2. Opis onoga što agent treba da uradi.
|
||||
3. Generirajte odgovarajući sistemski prompt i identifikator.
|
||||
@@ -588,8 +650,11 @@ Ova interaktivna komanda će:
|
||||
5. Konačno, kreirajte markdown datoteku s konfiguracijom agenta.
|
||||
|
||||
---
|
||||
|
||||
## Slučajevi upotrebe
|
||||
|
||||
Evo nekoliko uobičajenih slučajeva upotrebe različitih agenata.
|
||||
|
||||
- **Build agent**: Potpuni razvojni rad sa svim omogućenim alatima
|
||||
- **Agent za plan**: Analiza i planiranje bez unošenja promjena
|
||||
- **Agent za pregled**: Pregled koda sa pristupom samo za čitanje plus alati za dokumentaciju
|
||||
@@ -597,7 +662,9 @@ Evo nekoliko uobičajenih slučajeva upotrebe različitih agenata.
|
||||
- **Docs agent**: Pisanje dokumentacije sa operacijama datoteka, ali bez sistemskih naredbi
|
||||
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
Evo nekoliko primjera agenata koji bi vam mogli biti korisni.
|
||||
::: momak
|
||||
Imate li agenta kojeg biste željeli podijeliti? [Pošalji PR](https://github.com/anomalyco/opencode).
|
||||
@@ -608,22 +675,20 @@ Imate li agenta kojeg biste željeli podijeliti? [Pošalji PR](https://github.co
|
||||
### Agent za dokumentaciju
|
||||
|
||||
```markdown title="~/.config/opencode/agents/docs-writer.md"
|
||||
|
||||
---
|
||||
opis: Piše i vodi projektnu dokumentaciju
|
||||
način rada: subagent
|
||||
alati:
|
||||
bash: lažno
|
||||
|
||||
---
|
||||
|
||||
Vi ste tehnički pisac. Kreirajte jasnu, sveobuhvatnu dokumentaciju.
|
||||
Fokusirajte se na:
|
||||
|
||||
- Jasna objašnjenja
|
||||
- Pravilna struktura
|
||||
- Primjeri kodova
|
||||
- Jezik prilagođen korisniku
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
@@ -649,3 +714,4 @@ Look for:
|
||||
- Dependency vulnerabilities
|
||||
- Configuration security issues
|
||||
```
|
||||
````
|
||||
|
||||
@@ -21,6 +21,7 @@ opencode run "Explain how closures work in JavaScript"
|
||||
---
|
||||
|
||||
### tui
|
||||
|
||||
Pokrenite korisnički interfejs OpenCode terminala.
|
||||
|
||||
```bash
|
||||
@@ -29,23 +30,26 @@ opencode [project]
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Nastavite posljednju sesiju |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
| `--prompt` | | Uputstvo za upotrebu |
|
||||
| `--prompt` | | Uputstvo za upotrebu |
|
||||
| `--model` | `-m` | Model za korištenje u obliku dobavljača/modela |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--port` | | Port za slušanje na |
|
||||
| `--hostname` | | Slušajte ime hosta |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--port` | | Port za slušanje na |
|
||||
| `--hostname` | | Slušajte ime hosta |
|
||||
|
||||
---
|
||||
|
||||
## komandante
|
||||
|
||||
OpenCode CLI takođe ima sledeće komande.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
Upravljajte agentima za OpenCode.
|
||||
|
||||
```bash
|
||||
@@ -55,6 +59,7 @@ opencode agent [command]
|
||||
---
|
||||
|
||||
### prilog
|
||||
|
||||
Priključite terminal na već pokrenut OpenCode backend server pokrenut putem `serve` ili `web` komandi.
|
||||
|
||||
```bash
|
||||
@@ -73,12 +78,15 @@ opencode attach http://10.20.30.40:4096
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Radni direktorij za pokretanje TUI u |
|
||||
| `--dir` | | Radni direktorij za pokretanje TUI u |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
|
||||
---
|
||||
|
||||
#### kreiraj
|
||||
|
||||
Kreirajte novog agenta s prilagođenom konfiguracijom.
|
||||
|
||||
```bash
|
||||
@@ -91,6 +99,7 @@ Ova komanda će vas voditi kroz kreiranje novog agenta sa prilagođenim sistemsk
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve dostupne agente.
|
||||
|
||||
```bash
|
||||
@@ -100,6 +109,7 @@ opencode agent list
|
||||
---
|
||||
|
||||
### auth
|
||||
|
||||
Naredba za upravljanje vjerodajnicama i prijavom za provajdere.
|
||||
|
||||
```bash
|
||||
@@ -110,6 +120,7 @@ opencode auth [command]
|
||||
---
|
||||
|
||||
#### aplikacija
|
||||
|
||||
OpenCode pokreće lista provajdera na [Models.dev](https://models.dev), tako da možete koristiti `opencode auth login` da konfigurirate API ključeve za bilo kojeg provajdera kojeg želite koristiti. Ovo je pohranjeno u `~/.local/share/opencode/auth.json`.
|
||||
|
||||
```bash
|
||||
@@ -119,7 +130,9 @@ opencode auth login
|
||||
Kada se OpenCode pokrene, učitava dobavljače iz datoteke vjerodajnica. I ako postoje neki ključevi definirani u vašim okruženjima ili `.env` fajl u vašem projektu.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navodi sve autentifikovane dobavljače pohranjene u datoteci akreditiva.
|
||||
|
||||
```bash
|
||||
@@ -136,6 +149,7 @@ opencode auth ls
|
||||
---
|
||||
|
||||
#### odjava
|
||||
|
||||
Odjavljuje vas s provajdera tako što ga briše iz datoteke vjerodajnica.
|
||||
|
||||
```bash
|
||||
@@ -146,6 +160,7 @@ opencode auth logout
|
||||
---
|
||||
|
||||
### github
|
||||
|
||||
Upravljajte GitHub agentom za automatizaciju spremišta.
|
||||
|
||||
```bash
|
||||
@@ -155,6 +170,7 @@ opencode github [command]
|
||||
---
|
||||
|
||||
#### instaliraj
|
||||
|
||||
Instalirajte GitHub agenta u svoje spremište.
|
||||
|
||||
```bash
|
||||
@@ -167,6 +183,7 @@ Ovo postavlja neophodni tok rada GitHub Actions i vodi vas kroz proces konfigura
|
||||
---
|
||||
|
||||
#### trči
|
||||
|
||||
Pokrenite GitHub agent. Ovo se obično koristi u GitHub akcijama.
|
||||
|
||||
```bash
|
||||
@@ -174,12 +191,15 @@ opencode github run
|
||||
```
|
||||
|
||||
##### Zastave
|
||||
|
||||
| Zastava | Opis || --------- | -------------------------------------- |
|
||||
| `--event` | GitHub lažni događaj za pokretanje agenta za |
|
||||
| `--token` | GitHub token ličnog pristupa |
|
||||
|
||||
---
|
||||
|
||||
### mcp
|
||||
|
||||
Upravljajte serverima protokola konteksta modela.
|
||||
|
||||
```bash
|
||||
@@ -190,6 +210,7 @@ opencode mcp [command]
|
||||
---
|
||||
|
||||
#### dodaj
|
||||
|
||||
Dodajte MCP server svojoj konfiguraciji.
|
||||
|
||||
```bash
|
||||
@@ -199,7 +220,9 @@ opencode mcp add
|
||||
Ova komanda će vas voditi kroz dodavanje lokalnog ili udaljenog MCP servera.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve konfigurirane MCP servere i njihov status veze.
|
||||
|
||||
```bash
|
||||
@@ -216,6 +239,7 @@ opencode mcp ls
|
||||
---
|
||||
|
||||
#### auth
|
||||
|
||||
Autentifikujte se sa MCP serverom koji je omogućen za OAuth.
|
||||
|
||||
```bash
|
||||
@@ -240,6 +264,7 @@ opencode mcp auth ls
|
||||
---
|
||||
|
||||
#### odjava
|
||||
|
||||
Uklonite OAuth vjerodajnice za MCP server.
|
||||
|
||||
```bash
|
||||
@@ -249,6 +274,7 @@ opencode mcp logout [name]
|
||||
---
|
||||
|
||||
#### otklanjanje grešaka
|
||||
|
||||
Otklanjanje grešaka OAuth veze sa MCP serverom.
|
||||
|
||||
```bash
|
||||
@@ -259,6 +285,7 @@ opencode mcp debug <name>
|
||||
---
|
||||
|
||||
### model
|
||||
|
||||
Navedite sve dostupne modele konfiguriranih provajdera.
|
||||
|
||||
```bash
|
||||
@@ -275,6 +302,7 @@ opencode models anthropic
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Osvježite predmemoriju modela sa models.dev |
|
||||
| `--verbose` | Koristite detaljniji izlaz modela (uključuje metapodatke poput troškova) |
|
||||
@@ -287,6 +315,7 @@ opencode models --refresh
|
||||
---
|
||||
|
||||
### trči
|
||||
|
||||
Pokrenite opencode u neinteraktivnom modu tako što ćete direktno proslijediti prompt.
|
||||
|
||||
```bash
|
||||
@@ -311,22 +340,24 @@ opencode run --attach http://localhost:4096 "Objasni async/await u JavaScriptu"
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | Naredba za pokretanje, koristite poruku za args |
|
||||
| `--command` | | Naredba za pokretanje, koristite poruku za args |
|
||||
| `--continue` | `-c` | Nastavite posljednju sesiju |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
| `--share` | | Podijelite sesiju |
|
||||
| `--share` | | Podijelite sesiju |
|
||||
| `--model` | `-m` | Model za korištenje u obliku provider/model |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--file` | `-f` | Fajlovi koje treba priložiti poruci |
|
||||
| `--format` | | Format: default (formatiran) ili json (sirovi JSON događaji) |
|
||||
| `--title` | | Naslov sesije (koristi skraćeni prompt ako nije navedena vrijednost) |
|
||||
| `--attach` | | Priključite na pokrenuti opencode server (npr. http://localhost:4096) |
|
||||
| `--port` | | Port za lokalni server (zadano na nasumični port) |
|
||||
| `--format` | | Format: default (formatiran) ili json (sirovi JSON događaji) |
|
||||
| `--title` | | Naslov sesije (koristi skraćeni prompt ako nije navedena vrijednost) |
|
||||
| `--attach` | | Priključite na pokrenuti opencode server (npr. http://localhost:4096) |
|
||||
| `--port` | | Port za lokalni server (zadano na nasumični port) |
|
||||
|
||||
---
|
||||
|
||||
### poslužiti
|
||||
|
||||
Pokrenite OpenCode server bez glave za pristup API-ju. Pogledajte [server docs](/docs/server) za kompletan HTTP interfejs.
|
||||
|
||||
```bash
|
||||
@@ -334,7 +365,9 @@ opencode serve
|
||||
```
|
||||
|
||||
Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti otvorenog koda bez TUI interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | ------------------------------------------ |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Ime hosta za slušanje |
|
||||
@@ -342,7 +375,9 @@ Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti otvorenog koda
|
||||
| `--cors` | Dodatni izvor(a) pretraživača koji dozvoljavaju CORS |
|
||||
|
||||
---
|
||||
|
||||
### sesija
|
||||
|
||||
Upravljajte OpenCode sesijama.
|
||||
|
||||
```bash
|
||||
@@ -353,6 +388,7 @@ opencode sesija [naredba]
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve OpenCode sesije.
|
||||
|
||||
```bash
|
||||
@@ -360,12 +396,15 @@ opencode session list
|
||||
```
|
||||
|
||||
##### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Ograničenje na N najnovijih sesija |
|
||||
| `--format` | | Izlazni format: tablica ili json (tabela) |
|
||||
| `--format` | | Izlazni format: tablica ili json (tabela) |
|
||||
|
||||
---
|
||||
|
||||
### statistika
|
||||
|
||||
Prikaži statistiku upotrebe tokena i troškova za vaše OpenCode sesije.
|
||||
|
||||
```bash
|
||||
@@ -374,6 +413,7 @@ opencode stats
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ----------- | ------------------------------------------------------------------------------------- |
|
||||
| `--days` | Prikaži statistiku za zadnjih N dana (sva vremena) |
|
||||
| `--tools` | Broj alata za prikaz (svi) |
|
||||
@@ -383,6 +423,7 @@ opencode stats
|
||||
---
|
||||
|
||||
### izvoz
|
||||
|
||||
Izvezite podatke sesije kao JSON.
|
||||
|
||||
```bash
|
||||
@@ -392,7 +433,9 @@ opencode export [sessionID]
|
||||
Ako ne unesete ID sesije, od vas će biti zatraženo da odaberete neku od dostupnih sesija.
|
||||
|
||||
---
|
||||
|
||||
### uvoz
|
||||
|
||||
Uvezite podatke sesije iz JSON datoteke ili OpenCode dijeljenog URL-a.
|
||||
|
||||
```bash
|
||||
@@ -410,6 +453,7 @@ opencode import https://opncd.ai/s/abc123
|
||||
---
|
||||
|
||||
### web
|
||||
|
||||
Pokrenite OpenCode server bez glave sa web interfejsom.
|
||||
|
||||
```bash
|
||||
@@ -418,7 +462,9 @@ opencode web
|
||||
```
|
||||
|
||||
Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCodeu preko web interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | ------------------------------------------ |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Ime hosta za slušanje |
|
||||
@@ -428,6 +474,7 @@ Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCodeu preko w
|
||||
---
|
||||
|
||||
### acp
|
||||
|
||||
Pokrenite ACP (Agent Client Protocol) server.
|
||||
|
||||
```bash
|
||||
@@ -435,14 +482,18 @@ opencode acp
|
||||
```
|
||||
|
||||
Ova komanda pokreće ACP server koji komunicira preko stdin/stdout koristeći nd-JSON.
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | --------------------- |
|
||||
| `--cwd` | Radni imenik |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Slušajte ime hosta |
|
||||
|
||||
---
|
||||
|
||||
### deinstaliraj
|
||||
|
||||
Deinstalirajte OpenCode i uklonite sve povezane datoteke.
|
||||
|
||||
```bash
|
||||
@@ -451,15 +502,17 @@ opencode uninstall
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Čuvajte konfiguracijske datoteke |
|
||||
| `--keep-data` | `-d` | Čuvajte podatke i snimke sesije |
|
||||
| `--dry-run` | | Pokažite šta bi bilo uklonjeno bez uklanjanja |
|
||||
| `--dry-run` | | Pokažite šta bi bilo uklonjeno bez uklanjanja |
|
||||
| `--force` | `-f` | Preskoči upite za potvrdu |
|
||||
|
||||
---
|
||||
|
||||
### upgrade
|
||||
|
||||
Ažurira opencode na najnoviju verziju ili određenu verziju.
|
||||
|
||||
```bash
|
||||
@@ -480,20 +533,25 @@ opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ---------- | ----- | ------------------------------------------------------------------ |
|
||||
| `--method` | `-m` | Korišteni način instalacije; curl, npm, pnpm, bun, brew |
|
||||
|
||||
---
|
||||
|
||||
## Globalne zastave
|
||||
|
||||
CLI otvorenog koda uzima sljedeće globalne zastavice.
|
||||
| Zastava | Kratko | Opis || -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Prikaži pomoć |
|
||||
| `--version` | `-v` | Odštampaj broj verzije |
|
||||
| `--print-logs` | | Ispis zapisnika u stderr |
|
||||
| `--log-level` | | Nivo dnevnika (DEBUG, INFO, WARN, ERROR) |
|
||||
| `--print-logs` | | Ispis zapisnika u stderr |
|
||||
| `--log-level` | | Nivo dnevnika (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
## Varijable okruženja
|
||||
|
||||
OpenCode se može konfigurirati pomoću varijabli okruženja.
|
||||
| Varijabilna | Vrsta | Opis || ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije |
|
||||
@@ -522,7 +580,9 @@ OpenCode se može konfigurirati pomoću varijabli okruženja.
|
||||
| `OPENCODE_MODELS_URL` | string | Prilagođeni URL za dohvaćanje konfiguracije modela |
|
||||
|
||||
---
|
||||
|
||||
### Eksperimentalno
|
||||
|
||||
Ove varijable okruženja omogućavaju eksperimentalne karakteristike koje se mogu promijeniti ili ukloniti.
|
||||
| Varijabilna | Vrsta | Opis || ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolean | Omogući sve eksperimentalne funkcije |
|
||||
@@ -537,4 +597,4 @@ Ove varijable okruženja omogućavaju eksperimentalne karakteristike koje se mog
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Omogući eksperimentalne Exa funkcije |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Omogući eksperimentalnu provjeru tipa LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Omogući eksperimentalne funkcije smanjenja |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući režim plana |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući režim plana |
|
||||
|
||||
@@ -15,6 +15,7 @@ Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo
|
||||
---
|
||||
|
||||
## Kreirajte komandne fajlove
|
||||
|
||||
Kreirajte mardown fajlove u direktorijumu `commands/` da definišete prilagođene komande.
|
||||
Kreiraj `.opencode/commands/test.md`:
|
||||
|
||||
@@ -40,11 +41,13 @@ Koristite komandu tako što ćete upisati `/` nakon čega slijedi naziv komande.
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete dodati prilagođene komande kroz OpenCode konfiguraciju ili kreiranjem markdown datoteka u direktoriju `commands/`.
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Koristite opciju `command` u svom OpenCode [config](/docs/config):
|
||||
|
||||
```json title="opencode.jsonc" {4-12}
|
||||
@@ -74,7 +77,9 @@ Sada možete pokrenuti ovu naredbu u TUI:
|
||||
---
|
||||
|
||||
### Markdown
|
||||
|
||||
Također možete definirati komande koristeći mardown datoteke. Stavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/commands/`
|
||||
- Po projektu: `.opencode/commands/
|
||||
|
||||
@@ -87,7 +92,8 @@ model: anthropic/claude-3-5-sonnet-20241022
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
````
|
||||
|
||||
Ime datoteke za označavanje postaje ime naredbe. Na primjer, `test.md` dozvoljava
|
||||
pokrećeš:
|
||||
@@ -95,16 +101,18 @@ pokrećeš:
|
||||
```bash frame="none"
|
||||
/test
|
||||
|
||||
```
|
||||
````
|
||||
|
||||
---
|
||||
|
||||
## Prompt config
|
||||
|
||||
Promptovi za prilagođene komande podržavaju nekoliko posebnih čuvara mjesta i sintakse.
|
||||
|
||||
---
|
||||
|
||||
### Argumenti
|
||||
|
||||
Proslijedite argumente naredbama koristeći čuvar mjesta `$ARGUMENTS`.
|
||||
|
||||
```md title=".opencode/commands/component.md"
|
||||
@@ -125,11 +133,12 @@ Pokrenite naredbu s argumentima:
|
||||
|
||||
I `$ARGUMENTS` će biti zamijenjen sa `Button`.
|
||||
Također možete pristupiti pojedinačnim argumentima koristeći pozicione parametre:
|
||||
|
||||
- `$1` - Prvi argument
|
||||
- `$2` - Drugi argument
|
||||
- `$3` - Treći argument
|
||||
- I tako dalje...
|
||||
na primjer:
|
||||
na primjer:
|
||||
|
||||
```md title=".opencode/commands/create-file.md"
|
||||
---
|
||||
@@ -148,6 +157,7 @@ Pokrenite naredbu:
|
||||
```
|
||||
|
||||
Ovo zamjenjuje:
|
||||
|
||||
- `$1` do `config.json`
|
||||
- `$2` do `src`
|
||||
- `$3` do `{ "key": "value" }`
|
||||
@@ -155,6 +165,7 @@ Ovo zamjenjuje:
|
||||
---
|
||||
|
||||
### Izlaz ljuske
|
||||
|
||||
Koristite _!`command`_ da ubacite [bash command](/docs/tui#bash-commands) izlaz u svoj prompt.
|
||||
Na primjer, da kreirate prilagođenu naredbu koja analizira pokrivenost testom:
|
||||
|
||||
@@ -172,16 +183,13 @@ Based on these results, suggest improvements to increase coverage.
|
||||
Ili da vidite nedavne promjene:
|
||||
|
||||
```md title=".opencode/commands/review-changes.md"
|
||||
|
||||
---
|
||||
opis: Pregledajte nedavne promjene
|
||||
|
||||
---
|
||||
|
||||
Nedavna git urezivanja:
|
||||
!`git log --oneline -10`
|
||||
Pregledajte ove promjene i predložite bilo kakva poboljšanja.
|
||||
|
||||
```
|
||||
|
||||
Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz postaje dio prompta.
|
||||
@@ -189,6 +197,7 @@ Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz pos
|
||||
---
|
||||
|
||||
### Reference fajlova
|
||||
|
||||
Uključite datoteke u svoju naredbu koristeći `@` nakon čega slijedi naziv datoteke.
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
@@ -203,18 +212,23 @@ Check for performance issues and suggest improvements.
|
||||
Sadržaj datoteke se automatski uključuje u prompt.
|
||||
|
||||
---
|
||||
|
||||
## Opcije
|
||||
|
||||
Pogledajmo detaljno opcije konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Template
|
||||
|
||||
Opcija `template` definira prompt koji će biti poslan LLM-u kada se naredba izvrši.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"test": {
|
||||
"template": "Pokrenite kompletan testni paket sa izvještajem o pokrivenosti i pokažite sve greške.\nFokusirajte se na neuspjele testove i predložite popravke." }
|
||||
"template": "Pokrenite kompletan testni paket sa izvještajem o pokrivenosti i pokažite sve greške.\nFokusirajte se na neuspjele testove i predložite popravke."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -224,6 +238,7 @@ Ovo je **obavezna** opcija konfiguracije.
|
||||
---
|
||||
|
||||
### Opis
|
||||
|
||||
Koristite opciju `description` da pružite kratak opis onoga što naredba radi.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -239,16 +254,19 @@ Koristite opciju `description` da pružite kratak opis onoga što naredba radi.
|
||||
Ovo se prikazuje kao opis u TUI-u kada unesete naredbu.
|
||||
|
||||
---
|
||||
|
||||
### Agent
|
||||
|
||||
Koristite `agent` konfiguraciju da opciono odredite koji [agent](/docs/agents) treba da izvrši ovu naredbu.
|
||||
Ako je ovo [subagent](/docs/agents/#subagents) naredba će po defaultu pokrenuti pozivanje subagenta.
|
||||
Da onemogućite ovo ponašanje, postavite `subtask` na `false`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"recenzija": {
|
||||
"agent": "plan" }
|
||||
"agent": "plan"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -258,6 +276,7 @@ Ovo je **opciona** opcija konfiguracije. Ako nije navedeno, podrazumevano je va
|
||||
---
|
||||
|
||||
### Subdatatak
|
||||
|
||||
Koristite `subtask` boolean da prisilite naredbu da pokrene [subagent](/docs/agents/#subagents) pozivanje.
|
||||
Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da će **primorati** agenta da djeluje kao subagent,
|
||||
čak i ako je `mode` postavljeno na `primary` u konfiguraciji [agent](/docs/agents).
|
||||
@@ -275,14 +294,17 @@ Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da
|
||||
Ovo je **opciona** opcija konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate zadani model za ovu naredbu.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"analizirati": {
|
||||
"model": "antropski/claude-3-5-sonnet-20241022" }
|
||||
"model": "antropski/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -292,8 +314,10 @@ Ovo je **opciona** opcija konfiguracije.
|
||||
---
|
||||
|
||||
## Embedded
|
||||
|
||||
opencode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`; [saznaj više](/docs/tui#commands).
|
||||
:::napomena
|
||||
Prilagođene komande mogu nadjačati ugrađene komande.
|
||||
:::
|
||||
Ako definirate prilagođenu naredbu s istim imenom, ona će nadjačati ugrađenu naredbu.
|
||||
Ako definirate prilagođenu naredbu s istim imenom, ona će nadjačati ugrađenu naredbu.
|
||||
````
|
||||
|
||||
@@ -8,18 +8,22 @@ Prilagođeni alati su funkcije koje kreirate i koje LLM može pozvati tokom razg
|
||||
---
|
||||
|
||||
## Kreiranje alata
|
||||
|
||||
Alati su definisani kao **TypeScript** ili **JavaScript** datoteke. Međutim, definicija alata može pozvati skripte napisane na **bilo kom jeziku** — TypeScript ili JavaScript se koriste samo za samu definiciju alata.
|
||||
|
||||
---
|
||||
|
||||
### Lokacija
|
||||
|
||||
Mogu se definisati:
|
||||
|
||||
- Lokalno postavljanjem u `.opencode/tools/` direktorij vašeg projekta.
|
||||
- Ili globalno, postavljanjem u `~/.config/opencode/tools/`.
|
||||
|
||||
---
|
||||
|
||||
### Struktura
|
||||
|
||||
Najlakši način za kreiranje alata je korištenje pomoćnika `tool()` koji pruža sigurnost tipa i validaciju.
|
||||
|
||||
```ts title=".opencode/tools/database.ts" {1}
|
||||
@@ -42,6 +46,7 @@ export default tool({
|
||||
---
|
||||
|
||||
#### Više alata po datoteci
|
||||
|
||||
Također možete izvesti više alata iz jedne datoteke. Svaki izvoz postaje **poseban alat** pod nazivom **`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
@@ -75,6 +80,7 @@ Ovo stvara dva alata: `math_add` i `math_multiply`.
|
||||
---
|
||||
|
||||
### Argumenti
|
||||
|
||||
Možete koristiti `tool.schema`, što je samo [Zod](https://zod.dev), da definirate tipove argumenata.
|
||||
|
||||
```ts "tool.schema"
|
||||
@@ -103,6 +109,7 @@ export default {
|
||||
---
|
||||
|
||||
### Kontekst
|
||||
|
||||
Alati primaju kontekst o trenutnoj sesiji:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
@@ -125,7 +132,9 @@ Koristite `context.worktree` za korijen git radnog stabla.
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
### Napišite alat u Python-u
|
||||
|
||||
Možete pisati svoje alate na bilo kom jeziku koji želite. Evo primjera koji zbraja dva broja koristeći Python.
|
||||
Prvo kreirajte alat kao Python skriptu:
|
||||
|
||||
@@ -157,4 +166,4 @@ export default tool({
|
||||
})
|
||||
```
|
||||
|
||||
Ovdje koristimo [`Bun.$`_](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
|
||||
Ovdje koristimo [`Bun.$`\_](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
|
||||
|
||||
@@ -12,6 +12,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
---
|
||||
|
||||
## Dodaci
|
||||
|
||||
| Ime | Opis || --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Automatski pokrenite OpenCode sesije u izoliranim Daytona sandboxovima uz git sinhronizaciju i preglede uživo |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Automatski ubacite Helicone zaglavlja sesije za grupisanje zahtjeva |
|
||||
@@ -23,7 +24,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth dodatak, s podrškom za Google pretraživanje i robusnijim API rukovanjem |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimizirajte korištenje tokena smanjenjem izlaza zastarjelih alata |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Dodajte podršku za izvorno web pretraživanje za podržane provajdere sa stilom utemeljenim na Googleu |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Omogućuje AI agentima da pokreću pozadinske procese u PTY-u, šalju im interaktivni ulaz. |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Omogućuje AI agentima da pokreću pozadinske procese u PTY-u, šalju im interaktivni ulaz. |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Upute za neinteraktivne naredbe ljuske - sprječava visi od TTY ovisnih operacija || [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Pratite upotrebu OpenCodea sa Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Očistite tabele umanjenja vrijednosti koje su izradili LLM |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x brže uređivanje koda s Morph Fast Apply API-jem i markerima za lijeno uređivanje |
|
||||
@@ -45,6 +46,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
---
|
||||
|
||||
## Projekti
|
||||
|
||||
| Ime | Opis || ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Discord bot za kontrolu OpenCode sesija, izgrađen na SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim dodatak za upite svjestan uređivača, izgrađen na API |
|
||||
@@ -55,12 +57,13 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Web / Desktop App i VS Code Extension za OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian dodatak koji ugrađuje OpenCode u Obsidian-ov UI |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Alternativa otvorenog koda Claudeu Coworku, pokretana pomoću OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode menadžer ekstenzija sa prenosivim, izolovanim profilima. |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode menadžer ekstenzija sa prenosivim, izolovanim profilima. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Desktop, Web, Mobile i Remote Client aplikacija za OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agenti
|
||||
|
||||
| Ime | Opis || ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | Modularni AI agenti i komande za strukturirani razvoj |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Konfiguracije, upiti, agenti i dodaci za poboljšane tokove rada |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Konfiguracije, upiti, agenti i dodaci za poboljšane tokove rada |
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode automatski formatira datoteke nakon što su napisane ili uređene pomo
|
||||
---
|
||||
|
||||
## Ugrađeno
|
||||
|
||||
OpenCode dolazi sa nekoliko ugrađenih formatera za popularne jezike i okvire. Ispod je lista formatera, podržanih ekstenzija datoteka i naredbi ili opcija konfiguracije koje su mu potrebne.
|
||||
| Formatter | Ekstenzije | Zahtjevi || -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` komanda dostupna |
|
||||
@@ -37,15 +38,18 @@ Dakle, ako vaš projekat ima `prettier` u vašem `package.json`, OpenCode će ga
|
||||
---
|
||||
|
||||
## Kako radi
|
||||
|
||||
Kada OpenCode piše ili uređuje datoteku, on:
|
||||
|
||||
1. Provjerava ekstenziju datoteke prema svim omogućenim formaterima.
|
||||
2. Pokreće odgovarajuću naredbu za formatiranje na datoteci.
|
||||
3. Automatski primjenjuje promjene formatiranja.
|
||||
Ovaj proces se događa u pozadini, osiguravajući da se vaši stilovi koda održavaju bez ikakvih ručnih koraka.
|
||||
Ovaj proces se događa u pozadini, osiguravajući da se vaši stilovi koda održavaju bez ikakvih ručnih koraka.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi formatere kroz `formatter` odjeljak u vašoj OpenCode konfiguraciji.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -66,6 +70,7 @@ Pogledajmo neke primjere.
|
||||
---
|
||||
|
||||
### Onemogućavanje formatera
|
||||
|
||||
Da onemogućite **sve** formatere globalno, postavite `formatter` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
@@ -91,6 +96,7 @@ Da onemogućite **specifični** formater, postavite `disabled` na `true`:
|
||||
---
|
||||
|
||||
### Prilagođeni formateri
|
||||
|
||||
Možete nadjačati ugrađene formatere ili dodati nove navođenjem naredbe, varijabli okruženja i ekstenzija datoteke:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
@@ -112,4 +118,4 @@ Možete nadjačati ugrađene formatere ili dodati nove navođenjem naredbe, vari
|
||||
}
|
||||
```
|
||||
|
||||
**`$FILE` čuvar mjesta** u naredbi će biti zamijenjen putanjom do datoteke koja se formatira.
|
||||
**`$FILE` čuvar mjesta** u naredbi će biti zamijenjen putanjom do datoteke koja se formatira.
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite `/opencode` ili
|
||||
---
|
||||
|
||||
## Karakteristike
|
||||
|
||||
- **Problemi trijaže**: Zamolite OpenCode da ispita problem i objasni vam ga.
|
||||
- **Popravi i implementiraj**: Zamolite OpenCode da popravi problem ili implementira funkciju. I radit će u novoj poslovnici i dostavljati PR sa svim promjenama.
|
||||
- **Secure**: OpenCode se pokreće unutar pokretača vašeg GitHub-a.
|
||||
@@ -15,6 +16,7 @@ OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite `/opencode` ili
|
||||
---
|
||||
|
||||
## Instalacija
|
||||
|
||||
Pokrenite sljedeću naredbu u projektu koji se nalazi u GitHub repo:
|
||||
|
||||
```bash
|
||||
@@ -26,11 +28,13 @@ Ovo će vas provesti kroz instalaciju GitHub aplikacije, kreiranje toka posla i
|
||||
---
|
||||
|
||||
### Ručno podešavanje
|
||||
|
||||
Ili ga možete postaviti ručno.
|
||||
|
||||
1. **Instalirajte GitHub aplikaciju**
|
||||
Idite na [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Uvjerite se da je instaliran na ciljnom spremištu.
|
||||
Idite na [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Uvjerite se da je instaliran na ciljnom spremištu.
|
||||
2. **Dodajte radni tok**
|
||||
Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo. Obavezno postavite odgovarajuće `model` i potrebne API ključeve u `env`.
|
||||
Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo. Obavezno postavite odgovarajuće `model` i potrebne API ključeve u `env`.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
@@ -64,31 +68,30 @@ Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
3. **Sačuvaj API ključeve u tajne**
|
||||
U **postavkama** organizacije ili projekta proširite **Tajne i varijable** na lijevoj strani i odaberite **Radnje**. I dodajte potrebne API ključeve.
|
||||
U **postavkama** organizacije ili projekta proširite **Tajne i varijable** na lijevoj strani i odaberite **Radnje**. I dodajte potrebne API ključeve.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracija
|
||||
|
||||
- `model`: Model za korištenje s OpenCodeom. Uzima format `provider/model`. Ovo je **obavezno**.
|
||||
- `agent`: Agent za korištenje. Mora biti primarni agent. Vraća se na `default_agent` iz konfiguracije ili `"build"` ako nije pronađen.
|
||||
- `share`: Da li dijeliti OpenCode sesiju. Podrazumevano je **true** za javna spremišta.
|
||||
- `prompt`: Opcioni prilagođeni upit za nadjačavanje zadanog ponašanja. Koristite ovo da prilagodite kako OpenCode obrađuje zahtjeve.
|
||||
- `token`: Opcionalni GitHub pristupni token za izvođenje operacija kao što su kreiranje komentara, upisivanje promjena i otvaranje zahtjeva za povlačenjem. OpenCode prema zadanim postavkama koristi token za pristup instalaciji iz aplikacije OpenCode GitHub, tako da se urezivanje, komentari i zahtjevi za povlačenjem pojavljuju kao da dolaze iz aplikacije.
|
||||
Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada:
|
||||
Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada:
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
|
||||
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
Također možete koristiti [Personal Access Tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) ako želite.
|
||||
@@ -96,15 +99,18 @@ Također možete koristiti [Personal Access Tokens](https://docs.github.com/en/a
|
||||
---
|
||||
|
||||
## Podržani događaji
|
||||
|
||||
OpenCode se može pokrenuti sljedećim GitHub događajima:
|
||||
| Vrsta događaja | Pokrenuo | Detalji || ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Komentirajte problem ili PR | Navedite `/opencode` ili `/oc` u svom komentaru. OpenCode čita kontekst i može kreirati grane, otvarati PR-ove ili odgovarati. |
|
||||
| `pull_request_review_comment` | Komentirajte određene linije koda u PR-u | Navedite `/opencode` ili `/oc` dok pregledavate kod. OpenCode prima putanju datoteke, brojeve redova i kontekst razlike. |
|
||||
| `issues` | Broj otvoren ili uređen | Automatski pokrenite OpenCode kada se problemi kreiraju ili modificiraju. Zahtijeva `prompt` unos. |
|
||||
| `pull_request` | PR otvoren ili ažuriran | Automatski pokrenite OpenCode kada se PR-ovi otvore, sinkroniziraju ili ponovo otvore. Korisno za automatske recenzije. |
|
||||
| `schedule` | Cron baziran raspored | Pokrenite OpenCode prema rasporedu. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove (nema problema za komentarisanje). |
|
||||
| `workflow_dispatch` | Ručni okidač iz GitHub korisničkog sučelja | Aktivirajte OpenCode na zahtjev preko kartice Akcije. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove. |
|
||||
| `pull_request_review_comment` | Komentirajte određene linije koda u PR-u | Navedite `/opencode` ili `/oc` dok pregledavate kod. OpenCode prima putanju datoteke, brojeve redova i kontekst razlike. |
|
||||
| `issues` | Broj otvoren ili uređen | Automatski pokrenite OpenCode kada se problemi kreiraju ili modificiraju. Zahtijeva `prompt` unos. |
|
||||
| `pull_request` | PR otvoren ili ažuriran | Automatski pokrenite OpenCode kada se PR-ovi otvore, sinkroniziraju ili ponovo otvore. Korisno za automatske recenzije. |
|
||||
| `schedule` | Cron baziran raspored | Pokrenite OpenCode prema rasporedu. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove (nema problema za komentarisanje). |
|
||||
| `workflow_dispatch` | Ručni okidač iz GitHub korisničkog sučelja | Aktivirajte OpenCode na zahtjev preko kartice Akcije. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove. |
|
||||
|
||||
### Primjer rasporeda
|
||||
|
||||
Pokrenite OpenCode po rasporedu za obavljanje automatiziranih zadataka:
|
||||
|
||||
```yaml title=".github/workflows/opencode-scheduled.yml"
|
||||
@@ -144,6 +150,7 @@ Za zakazane događaje, unos `prompt` je **potreban** jer nema komentara za izvla
|
||||
---
|
||||
|
||||
### Primjer zahtjeva za povlačenjem
|
||||
|
||||
Automatski pregledajte PR-ove kada se otvore ili ažuriraju:
|
||||
|
||||
```yaml title=".github/workflows/opencode-review.yml"
|
||||
@@ -184,6 +191,7 @@ Za `pull_request` događaje, ako nije naveden `prompt`, OpenCode podrazumevano p
|
||||
---
|
||||
|
||||
### Primjer trijaže problema
|
||||
|
||||
Automatski triažirajte nove probleme. Ovaj primjer filtrira na račune starije od 30 dana radi smanjenja neželjene pošte:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
@@ -238,6 +246,7 @@ Za `issues` događaje, `prompt` unos je **potreban** jer nema komentara za izvla
|
||||
---
|
||||
|
||||
## Prilagođene upite
|
||||
|
||||
Zaobiđite zadani prompt da biste prilagodili ponašanje OpenCodea za vaš tok posla.
|
||||
|
||||
```yaml title=".github/workflows/opencode.yml"
|
||||
@@ -256,50 +265,56 @@ Ovo je korisno za provođenje specifičnih kriterija pregleda, standarda kodiran
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
Evo nekoliko primjera kako možete koristiti OpenCode u GitHubu.
|
||||
|
||||
- **Objasnite problem**
|
||||
Dodajte ovaj komentar u GitHub izdanje.
|
||||
Dodajte ovaj komentar u GitHub izdanje.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
OpenCode će pročitati cijelu temu, uključujući sve komentare, i odgovoriti s jasnim objašnjenjem.
|
||||
|
||||
- **Popravi problem**
|
||||
U izdanju na GitHub-u recite:
|
||||
U izdanju na GitHub-u recite:
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
I OpenCode će kreirati novu granu, implementirati promjene i otvoriti PR sa promjenama.
|
||||
|
||||
- **Pregledajte PR-ove i izvršite izmjene**
|
||||
Ostavite sljedeći komentar na GitHub PR-u.
|
||||
Ostavite sljedeći komentar na GitHub PR-u.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
OpenCode će implementirati traženu promjenu i posvetiti je istom PR-u.
|
||||
|
||||
- **Pregledajte određene linije koda**
|
||||
Ostavite komentar direktno na linije koda u PR kartici "Files". OpenCode automatski detektuje datoteku, brojeve redova i kontekst razlike kako bi pružio precizne odgovore.
|
||||
Ostavite komentar direktno na linije koda u PR kartici "Files". OpenCode automatski detektuje datoteku, brojeve redova i kontekst razlike kako bi pružio precizne odgovore.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Kada komentarišete određene linije, OpenCode prima:
|
||||
- Tačan fajl se pregleda
|
||||
- Specifične linije koda
|
||||
- Okolni diff kontekst
|
||||
- Informacije o broju linije
|
||||
Ovo omogućava više ciljanih zahtjeva bez potrebe za ručno specificiranjem putanja datoteka ili brojeva linija.
|
||||
|
||||
- Tačan fajl se pregleda
|
||||
- Specifične linije koda
|
||||
- Okolni diff kontekst
|
||||
- Informacije o broju linije
|
||||
Ovo omogućava više ciljanih zahtjeva bez potrebe za ručno specificiranjem putanja datoteka ili brojeva linija.
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode se integriše sa VS kodom, kursorom ili bilo kojim IDE-om koji podržav
|
||||
---
|
||||
|
||||
## Upotreba
|
||||
|
||||
- **Brzo pokretanje**: Koristite `Cmd+Esc` (Mac) ili `Ctrl+Esc` (Windows/Linux) da otvorite OpenCode u prikazu podijeljenog terminala ili fokusirajte postojeću terminalsku sesiju ako je već pokrenuta.
|
||||
- **Nova sesija**: Koristite `Cmd+Shift+Esc` (Mac) ili `Ctrl+Shift+Esc` (Windows/Linux) da započnete novu OpenCode terminalsku sesiju, čak i ako je ona već otvorena. Takođe možete kliknuti na dugme OpenCode u korisničkom sučelju.
|
||||
- **Svijest o kontekstu**: Automatski dijelite svoj trenutni odabir ili karticu s OpenCodeom.
|
||||
@@ -16,21 +17,26 @@ OpenCode se integriše sa VS kodom, kursorom ili bilo kojim IDE-om koji podržav
|
||||
---
|
||||
|
||||
## Instalacija
|
||||
|
||||
Da biste instalirali OpenCode na VS Code i popularne viljuške kao što su Cursor, Windsurf, VSCodium:
|
||||
|
||||
1. Otvorite VS Code
|
||||
2. Otvorite integrirani terminal
|
||||
3. Pokrenite `opencode` - ekstenzija se automatski instalira
|
||||
Ako s druge strane želite da koristite svoj vlastiti IDE kada pokrenete `/editor` ili `/export` iz TUI-ja, morat ćete postaviti `export EDITOR="code --wait"`. [Saznajte više](/docs/tui/#editor-setup).
|
||||
Ako s druge strane želite da koristite svoj vlastiti IDE kada pokrenete `/editor` ili `/export` iz TUI-ja, morat ćete postaviti `export EDITOR="code --wait"`. [Saznajte više](/docs/tui/#editor-setup).
|
||||
|
||||
---
|
||||
|
||||
### Ručna instalacija
|
||||
|
||||
Potražite **OpenCode** na Extension Marketplaceu i kliknite na **Instaliraj**.
|
||||
|
||||
---
|
||||
|
||||
### Rješavanje problema
|
||||
|
||||
Ako se ekstenzija ne uspije automatski instalirati:
|
||||
|
||||
- Uvjerite se da koristite `opencode` u integriranom terminalu.
|
||||
- Potvrdite da je CLI za vaš IDE instaliran:
|
||||
- Za VS kod: `code` naredbu
|
||||
@@ -38,4 +44,4 @@ Ako se ekstenzija ne uspije automatski instalirati:
|
||||
- Za jedrenje na dasci: `windsurf` komanda
|
||||
- Za VSCodium: `codium` komanda
|
||||
- Ako ne, pokrenite `Cmd+Shift+P` (Mac) ili `Ctrl+Shift+P` (Windows/Linux) i potražite "Shell Command: Install 'code' command in PATH" (ili ekvivalent za vaš IDE)
|
||||
- Osigurajte da VS Code ima dozvolu za instaliranje ekstenzija
|
||||
- Osigurajte da VS Code ima dozvolu za instaliranje ekstenzija
|
||||
|
||||
@@ -106,6 +106,7 @@ OpenCode ima listu veza ključeva koje možete prilagoditi preko OpenCode konfig
|
||||
---
|
||||
|
||||
## Leader key
|
||||
|
||||
OpenCode koristi `leader` ključ za većinu povezivanja tipki. Ovo izbjegava sukobe u vašem terminalu.
|
||||
Prema zadanim postavkama, `ctrl+x` je vodeći taster i većina radnji zahtijeva da prvo pritisnete vodeći taster, a zatim i prečicu. Na primjer, da biste započeli novu sesiju, prvo pritisnite `ctrl+x`, a zatim pritisnite `n`.
|
||||
Ne morate koristiti vodeći ključ za svoje veze tipki, ali preporučujemo da to učinite.
|
||||
@@ -113,6 +114,7 @@ Ne morate koristiti vodeći ključ za svoje veze tipki, ali preporučujemo da to
|
||||
---
|
||||
|
||||
## Onemogući povezivanje tastera
|
||||
|
||||
Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s vrijednošću "none".
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -127,6 +129,7 @@ Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s v
|
||||
---
|
||||
|
||||
## Prečice za radnu površinu
|
||||
|
||||
Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u stilu Readline/Emacs za uređivanje teksta. Oni su ugrađeni i trenutno se ne mogu konfigurirati putem `opencode.json`.
|
||||
| Prečica | Akcija || -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Prelazak na početak tekućeg reda |
|
||||
@@ -146,8 +149,11 @@ Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u sti
|
||||
---
|
||||
|
||||
## Shift+Enter
|
||||
|
||||
Neki terminali ne šalju modifikatorske tipke sa Enter prema zadanim postavkama. Možda ćete trebati konfigurirati svoj terminal da pošalje `Shift+Enter` kao escape sekvencu.
|
||||
|
||||
### Windows terminal
|
||||
|
||||
Otvorite svoj `settings.json` na:
|
||||
|
||||
```
|
||||
@@ -179,4 +185,4 @@ Dodajte ovo u niz korijenskog nivoa `keybindings`:
|
||||
]
|
||||
```
|
||||
|
||||
Sačuvajte datoteku i ponovo pokrenite Windows Terminal ili otvorite novu karticu.
|
||||
Sačuvajte datoteku i ponovo pokrenite Windows Terminal ili otvorite novu karticu.
|
||||
|
||||
@@ -3,10 +3,10 @@ title: LSP serveri
|
||||
description: OpenCode se integriše sa vašim LSP serverima.
|
||||
---
|
||||
|
||||
OpenCode se integriše sa vašim jezičkim serverskim protokolom (LSP) kako bi pomogao LLM-u u interakciji s vašom bazom koda. Koristi dijagnostiku za pružanje povratnih informacija LLM-u.
|
||||
---
|
||||
## OpenCode se integriše sa vašim jezičkim serverskim protokolom (LSP) kako bi pomogao LLM-u u interakciji s vašom bazom koda. Koristi dijagnostiku za pružanje povratnih informacija LLM-u.
|
||||
|
||||
## Ugrađeno
|
||||
|
||||
OpenCode dolazi sa nekoliko ugrađenih LSP servera za popularne jezike:
|
||||
| LSP server | Ekstenzije | Zahtjevi || ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Automatske instalacije za Astro projekte |
|
||||
@@ -49,13 +49,18 @@ Možete onemogućiti automatska preuzimanja LSP servera tako što ćete postavit
|
||||
---
|
||||
|
||||
## Kako radi
|
||||
|
||||
Kada opencode otvori fajl, on:
|
||||
|
||||
1. Provjerava ekstenziju datoteke u odnosu na sve omogućene LSP servere.
|
||||
2. Pokreće odgovarajući LSP server ako već nije pokrenut.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi LSP servere kroz `lsp` odjeljak u vašoj opencode konfiguraciji.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -71,10 +76,13 @@ Svaki LSP server podržava sljedeće:
|
||||
| `env` | objekt | Varijable okruženja koje treba postaviti prilikom pokretanja servera |
|
||||
| `initialization` | objekt | Opcije inicijalizacije za slanje na LSP server |
|
||||
Pogledajmo neke primjere.
|
||||
|
||||
---
|
||||
|
||||
### Varijable okruženja
|
||||
|
||||
Koristite svojstvo `env` za postavljanje varijabli okruženja prilikom pokretanja LSP servera:
|
||||
|
||||
```json title="opencode.json" {5-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -91,7 +99,9 @@ Koristite svojstvo `env` za postavljanje varijabli okruženja prilikom pokretanj
|
||||
---
|
||||
|
||||
### Opcije inicijalizacije
|
||||
|
||||
Koristite svojstvo `initialization` da prosledite opcije inicijalizacije na LSP server. Ovo su postavke specifične za server poslane tokom LSP `initialize` zahtjeva:
|
||||
|
||||
```json title="opencode.json" {5-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -114,7 +124,9 @@ Opcije inicijalizacije razlikuju se od LSP servera. Provjerite dokumentaciju va
|
||||
---
|
||||
|
||||
### Onemogućavanje LSP servera
|
||||
|
||||
Da biste onemogućili **sve** LSP servere globalno, postavite `lsp` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -123,6 +135,7 @@ Da biste onemogućili **sve** LSP servere globalno, postavite `lsp` na `false`:
|
||||
```
|
||||
|
||||
Da onemogućite **specifičan** LSP server, postavite `disabled` na `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -137,7 +150,9 @@ Da onemogućite **specifičan** LSP server, postavite `disabled` na `true`:
|
||||
---
|
||||
|
||||
### Prilagođeni LSP serveri
|
||||
|
||||
Možete dodati prilagođene LSP servere navodeći ekstenzije naredbe i datoteke:
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -153,8 +168,11 @@ Možete dodati prilagođene LSP servere navodeći ekstenzije naredbe i datoteke:
|
||||
---
|
||||
|
||||
## Dodatne informacije
|
||||
|
||||
### PHP Intelephense
|
||||
|
||||
PHP Intelephense nudi vrhunske funkcije putem licencnog ključa. Možete dati licencni ključ postavljanjem (samo) ključa u tekstualnu datoteku na:
|
||||
|
||||
- Na macOS/Linuxu: `$HOME/intelephense/licence.txt`
|
||||
- Na Windowsima: `%USERPROFILE%/intelephense/licence.txt`
|
||||
Datoteka treba da sadrži samo licencni ključ bez dodatnog sadržaja.
|
||||
Datoteka treba da sadrži samo licencni ključ bez dodatnog sadržaja.
|
||||
|
||||
@@ -5,19 +5,22 @@ description: Dodajte lokalne i udaljene MCP alate.
|
||||
|
||||
Možete dodati vanjske alate u OpenCode koristeći _Model Context Protocol_, ili MCP. OpenCode podržava i lokalne i udaljene servere.
|
||||
Jednom dodani, MCP alati su automatski dostupni LLM-u zajedno sa ugrađenim alatima.
|
||||
|
||||
---
|
||||
|
||||
#### Upozorenja
|
||||
|
||||
Kada koristite MCP server, on dodaje u kontekst. Ovo se može brzo zbrojiti ako imate puno alata. Stoga preporučujemo da pazite koje MCP servere koristite.
|
||||
:::tip
|
||||
MCP serveri dodaju vaš kontekst, tako da želite da budete pažljivi s tim koje ćete omogućiti.
|
||||
:::
|
||||
|
||||
Određeni MCP serveri, poput GitHub MCP servera, imaju tendenciju da dodaju mnogo tokena i lako mogu premašiti ograničenje konteksta.
|
||||
---
|
||||
## Određeni MCP serveri, poput GitHub MCP servera, imaju tendenciju da dodaju mnogo tokena i lako mogu premašiti ograničenje konteksta.
|
||||
|
||||
## Omogući
|
||||
|
||||
Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/docs/config/) pod `mcp`. Dodajte svaki MCP sa jedinstvenim imenom. Možete se pozvati na taj MCP po imenu kada tražite LLM.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -33,12 +36,13 @@ Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/do
|
||||
}
|
||||
```
|
||||
|
||||
Također možete onemogućiti server postavljanjem `enabled` na `false`. Ovo je korisno ako želite privremeno onemogućiti server bez uklanjanja iz vaše konfiguracije.
|
||||
---
|
||||
## Također možete onemogućiti server postavljanjem `enabled` na `false`. Ovo je korisno ako želite privremeno onemogućiti server bez uklanjanja iz vaše konfiguracije.
|
||||
|
||||
### Poništavanje daljinskih zadanih postavki
|
||||
|
||||
Organizacije mogu obezbijediti zadane MCP servere preko svoje krajnje tačke `.well-known/opencode`. Ovi serveri mogu biti onemogućeni prema zadanim postavkama, omogućavajući korisnicima da se odluče za one koji su im potrebni.
|
||||
Da omogućite određeni server iz udaljene konfiguracije vaše organizacije, dodajte ga u svoju lokalnu konfiguraciju sa `enabled: true`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -52,11 +56,12 @@ Da omogućite određeni server iz udaljene konfiguracije vaše organizacije, dod
|
||||
}
|
||||
```
|
||||
|
||||
Vrijednosti vaše lokalne konfiguracije nadjačavaju udaljene zadane postavke. Pogledajte [config precedence](/docs/config#precedence-order) za više detalja.
|
||||
---
|
||||
## Vrijednosti vaše lokalne konfiguracije nadjačavaju udaljene zadane postavke. Pogledajte [config precedence](/docs/config#precedence-order) za više detalja.
|
||||
|
||||
## Lokalno
|
||||
|
||||
Dodajte lokalne MCP servere koristeći `type` u `"local"` unutar MCP objekta.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -76,6 +81,7 @@ Dodajte lokalne MCP servere koristeći `type` u `"local"` unutar MCP objekta.
|
||||
|
||||
Naredba je način na koji se pokreće lokalni MCP server. Također možete proslijediti listu varijabli okruženja.
|
||||
Na primjer, evo kako možete dodati testni [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything) MCP server.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -89,6 +95,7 @@ Na primjer, evo kako možete dodati testni [`@modelcontextprotocol/server-everyt
|
||||
```
|
||||
|
||||
I da ga koristim mogu dodati `use the mcp_everything tool` u svoje upite.
|
||||
|
||||
```txt "mcp_everything"
|
||||
use the mcp_everything tool to add the number 3 and 4
|
||||
```
|
||||
@@ -96,17 +103,21 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
#### Opcije
|
||||
|
||||
Ovdje su sve opcije za konfiguriranje lokalnog MCP servera.
|
||||
| Opcija | Vrsta | Obavezno | Opis || ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"local"`. |
|
||||
| `command` | Niz | Y | Naredba i argumenti za pokretanje MCP servera. |
|
||||
| `environment` | Objekt | | Varijable okruženja koje treba postaviti prilikom pokretanja servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za dohvaćanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"local"`. |
|
||||
| `command` | Niz | Y | Naredba i argumenti za pokretanje MCP servera. |
|
||||
| `environment` | Objekt | | Varijable okruženja koje treba postaviti prilikom pokretanja servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za dohvaćanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
|
||||
---
|
||||
|
||||
## Daljinski
|
||||
|
||||
Dodajte udaljene MCP servere postavljanjem `type` na `"remote"`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -123,28 +134,34 @@ Dodajte udaljene MCP servere postavljanjem `type` na `"remote"`.
|
||||
}
|
||||
```
|
||||
|
||||
`url` je URL udaljenog MCP servera i sa opcijom `headers` možete proslijediti listu zaglavlja.
|
||||
---
|
||||
## `url` je URL udaljenog MCP servera i sa opcijom `headers` možete proslijediti listu zaglavlja.
|
||||
|
||||
#### Opcije
|
||||
|
||||
| Opcija | Vrsta | Obavezno | Opis || --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"remote"`. |
|
||||
| `url` | String | Y | URL udaljenog MCP servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `headers` | Objekt | | Zaglavlja za slanje uz zahtjev. |
|
||||
| `oauth` | Objekt | | Konfiguracija OAuth provjere autentičnosti. Pogledajte odjeljak [OAuth](#oauth) ispod. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za preuzimanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"remote"`. |
|
||||
| `url` | String | Y | URL udaljenog MCP servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `headers` | Objekt | | Zaglavlja za slanje uz zahtjev. |
|
||||
| `oauth` | Objekt | | Konfiguracija OAuth provjere autentičnosti. Pogledajte odjeljak [OAuth](#oauth) ispod. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za preuzimanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
OpenCode automatski rukuje OAuth autentifikacijom za udaljene MCP servere. Kada server zahtijeva autentifikaciju, OpenCode će:
|
||||
|
||||
1. Otkrijte 401 odgovor i pokrenite OAuth tok
|
||||
2. Koristite **Dynamic Client Registration (RFC 7591)** ako podržava server
|
||||
3. Sigurno čuvajte tokene za buduće zahtjeve
|
||||
|
||||
---
|
||||
|
||||
### Automatski
|
||||
|
||||
Za većinu MCP servera sa omogućenim OAuthom nije potrebna posebna konfiguracija. Samo konfigurirajte udaljeni server:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -157,11 +174,12 @@ Za većinu MCP servera sa omogućenim OAuthom nije potrebna posebna konfiguracij
|
||||
}
|
||||
```
|
||||
|
||||
Ako server zahtijeva autentifikaciju, OpenCode će od vas zatražiti autentifikaciju kada prvi put pokušate da ga koristite. Ako ne, možete [ručno pokrenuti tok](#authenticating) sa `opencode mcp auth <server-name>`.
|
||||
---
|
||||
## Ako server zahtijeva autentifikaciju, OpenCode će od vas zatražiti autentifikaciju kada prvi put pokušate da ga koristite. Ako ne, možete [ručno pokrenuti tok](#authenticating) sa `opencode mcp auth <server-name>`.
|
||||
|
||||
### Prethodno registrovano
|
||||
|
||||
Ako imate klijentske vjerodajnice od dobavljača MCP servera, možete ih konfigurirati:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -182,27 +200,32 @@ Ako imate klijentske vjerodajnice od dobavljača MCP servera, možete ih konfigu
|
||||
---
|
||||
|
||||
### Autentifikacija
|
||||
|
||||
Možete ručno pokrenuti autentifikaciju ili upravljati vjerodajnicama.
|
||||
Autentifikacija sa određenim MCP serverom:
|
||||
|
||||
```bash
|
||||
opencode mcp auth my-oauth-server
|
||||
```
|
||||
|
||||
Navedite sve MCP servere i njihov status autentifikacije:
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Uklonite pohranjene vjerodajnice:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
Komanda `mcp auth` će otvoriti vaš pretraživač za autorizaciju. Nakon što odobrite, OpenCode će sigurno pohraniti tokene u `~/.local/share/opencode/mcp-auth.json`.
|
||||
---
|
||||
## Komanda `mcp auth` će otvoriti vaš pretraživač za autorizaciju. Nakon što odobrite, OpenCode će sigurno pohraniti tokene u `~/.local/share/opencode/mcp-auth.json`.
|
||||
|
||||
#### Onemogućavanje OAuth-a
|
||||
|
||||
Ako želite onemogućiti automatski OAuth za server (npr. za servere koji umjesto toga koriste API ključeve), postavite `oauth` na `false`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -222,13 +245,17 @@ Ako želite onemogućiti automatski OAuth za server (npr. za servere koji umjest
|
||||
---
|
||||
|
||||
#### OAuth opcije
|
||||
|
||||
| Opcija | Vrsta | Opis || -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objekt \| false | OAuth konfiguracijski objekt, ili `false` da onemogućite automatsko otkrivanje OAuth. |
|
||||
| `oauth` | Objekt \| false | OAuth konfiguracijski objekt, ili `false` da onemogućite automatsko otkrivanje OAuth. |
|
||||
| `clientId` | String | ID OAuth klijenta. Ako nije navedeno, pokušat će se izvršiti dinamička registracija klijenta. |
|
||||
| `clientSecret` | String | Tajna OAuth klijenta, ako to zahtijeva autorizacijski server. |
|
||||
| `scope` | String | OAuth opseg zahtjeva za vrijeme autorizacije. |
|
||||
| `clientSecret` | String | Tajna OAuth klijenta, ako to zahtijeva autorizacijski server. |
|
||||
| `scope` | String | OAuth opseg zahtjeva za vrijeme autorizacije. |
|
||||
|
||||
#### Otklanjanje grešaka
|
||||
|
||||
Ako udaljeni MCP server ne uspije u autentifikaciji, možete dijagnosticirati probleme pomoću:
|
||||
|
||||
```bash
|
||||
# View auth status for all OAuth-capable servers
|
||||
opencode mcp auth list
|
||||
@@ -237,15 +264,16 @@ opencode mcp auth list
|
||||
opencode mcp debug my-oauth-server
|
||||
```
|
||||
|
||||
Komanda `mcp debug` pokazuje trenutni status auth, testira HTTP povezanost i pokušava tok otkrivanja OAuth.
|
||||
---
|
||||
## Komanda `mcp debug` pokazuje trenutni status auth, testira HTTP povezanost i pokušava tok otkrivanja OAuth.
|
||||
|
||||
## Upravljaj
|
||||
Vaši MCP-ovi su dostupni kao alati u OpenCode-u, zajedno sa ugrađenim alatima. Tako da možete upravljati njima kroz OpenCode konfiguraciju kao i svaki drugi alat.
|
||||
---
|
||||
|
||||
## Vaši MCP-ovi su dostupni kao alati u OpenCode-u, zajedno sa ugrađenim alatima. Tako da možete upravljati njima kroz OpenCode konfiguraciju kao i svaki drugi alat.
|
||||
|
||||
### Global
|
||||
|
||||
To znači da ih možete omogućiti ili onemogućiti globalno.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -266,6 +294,7 @@ To znači da ih možete omogućiti ili onemogućiti globalno.
|
||||
```
|
||||
|
||||
Također možemo koristiti glob obrazac da onemogućimo sve odgovarajuće MCP-ove.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -285,13 +314,15 @@ Također možemo koristiti glob obrazac da onemogućimo sve odgovarajuće MCP-ov
|
||||
}
|
||||
```
|
||||
|
||||
Ovdje koristimo glob obrazac `my-mcp*` da onemogućimo sve MCP-ove.
|
||||
---
|
||||
## Ovdje koristimo glob obrazac `my-mcp*` da onemogućimo sve MCP-ove.
|
||||
|
||||
### Po agentu
|
||||
|
||||
Ako imate veliki broj MCP servera, možda ćete želeti da ih omogućite samo po agentu i da ih onemogućite globalno. Da biste to učinili:
|
||||
|
||||
1. Onemogućite ga kao alat globalno.
|
||||
2. U vašem [agent config](/docs/agents#tools), omogućite MCP server kao alat.
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -318,12 +349,15 @@ Ako imate veliki broj MCP servera, možda ćete želeti da ih omogućite samo po
|
||||
---
|
||||
|
||||
#### Glob uzorci
|
||||
|
||||
Uzorak glob koristi jednostavne šablone globbiranja regularnih izraza:
|
||||
|
||||
- `*` odgovara nuli ili više bilo kojeg znaka (npr. `"my-mcp*"` odgovara `my-mcp_search`, `my-mcp_list`, itd.)
|
||||
- `?` odgovara tačno jednom znaku
|
||||
- Svi ostali likovi se bukvalno podudaraju
|
||||
:::napomena
|
||||
MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemogućite sve alate za server jednostavno koristite:
|
||||
:::napomena
|
||||
MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemogućite sve alate za server jednostavno koristite:
|
||||
|
||||
```
|
||||
"mymcpservername_*": false
|
||||
```
|
||||
@@ -333,11 +367,13 @@ MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemo
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
Ispod su primjeri nekih uobičajenih MCP servera. Možete poslati PR ako želite dokumentirati druge servere.
|
||||
---
|
||||
|
||||
## Ispod su primjeri nekih uobičajenih MCP servera. Možete poslati PR ako želite dokumentirati druge servere.
|
||||
|
||||
### Stražar
|
||||
|
||||
Dodajte [Sentry MCP server](https://mcp.sentry.dev) za interakciju sa vašim Sentry projektima i problemima.
|
||||
|
||||
```json title="opencode.json" {4-8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -352,12 +388,14 @@ Dodajte [Sentry MCP server](https://mcp.sentry.dev) za interakciju sa vašim Sen
|
||||
```
|
||||
|
||||
Nakon dodavanja konfiguracije, autentifikujte se sa Sentry:
|
||||
|
||||
```bash
|
||||
opencode mcp auth sentry
|
||||
```
|
||||
|
||||
Ovo će otvoriti prozor pretraživača da završite OAuth tok i povežete OpenCode sa vašim Sentry nalogom.
|
||||
Nakon provjere autentičnosti, možete koristiti Sentry alate u svojim upitima za upite o problemima, projektima i podacima o greškama.
|
||||
|
||||
```txt "use sentry"
|
||||
Show me the latest unresolved issues in my project. use sentry
|
||||
```
|
||||
@@ -365,7 +403,9 @@ Show me the latest unresolved issues in my project. use sentry
|
||||
---
|
||||
|
||||
### Kontekst7
|
||||
|
||||
Dodajte [Context7 MCP server](https://github.com/upstash/context7) za pretraživanje dokumenata.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -379,6 +419,7 @@ Dodajte [Context7 MCP server](https://github.com/upstash/context7) za pretraživ
|
||||
```
|
||||
|
||||
Ako ste se prijavili za besplatni račun, možete koristiti svoj API ključ i dobiti viša ograničenja stope.
|
||||
|
||||
```json title="opencode.json" {7-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -396,11 +437,13 @@ Ako ste se prijavili za besplatni račun, možete koristiti svoj API ključ i do
|
||||
|
||||
Ovdje pretpostavljamo da imate postavljenu varijablu okruženja `CONTEXT7_API_KEY`.
|
||||
Dodajte `use context7` vašim upitima za korištenje Context7 MCP servera.
|
||||
|
||||
```txt "use context7"
|
||||
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
|
||||
```
|
||||
|
||||
Alternativno, možete dodati nešto poput ovoga na svoj [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
When you need to search docs, use `context7` tools.
|
||||
```
|
||||
@@ -408,7 +451,9 @@ When you need to search docs, use `context7` tools.
|
||||
---
|
||||
|
||||
### Grep od Vercela
|
||||
|
||||
Dodajte [Grep by Vercel](https://grep.app) MCP server za pretraživanje isječaka koda na GitHubu.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -422,11 +467,13 @@ Dodajte [Grep by Vercel](https://grep.app) MCP server za pretraživanje isječak
|
||||
```
|
||||
|
||||
Pošto smo naš MCP server nazvali `gh_grep`, možete dodati `use the gh_grep tool` u svoje upite da natjerate agenta da ga koristi.
|
||||
|
||||
```txt "use the gh_grep tool"
|
||||
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
|
||||
```
|
||||
|
||||
Alternativno, možete dodati nešto poput ovoga na svoj [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
|
||||
```
|
||||
|
||||
@@ -3,16 +3,19 @@ title: Modeli
|
||||
description: Konfiguriranje LLM provajdera i modela.
|
||||
---
|
||||
|
||||
OpenCode koristi [AI SDK](https://ai-sdk.dev/) i [Models.dev](https://models.dev) za podršku **75+ LLM provajdera** i podržava pokretanje lokalnih modela.
|
||||
---
|
||||
## OpenCode koristi [AI SDK](https://ai-sdk.dev/) i [Models.dev](https://models.dev) za podršku **75+ LLM provajdera** i podržava pokretanje lokalnih modela.
|
||||
|
||||
## Provajderi
|
||||
|
||||
Većina popularnih provajdera su unaprijed učitani prema zadanim postavkama. Ako ste dodali vjerodajnice za provajdera putem naredbe `/connect`, oni će biti dostupni kada pokrenete OpenCode.
|
||||
Saznajte više o [providers](/docs/providers).
|
||||
|
||||
---
|
||||
|
||||
## Odaberite model
|
||||
|
||||
Nakon što konfigurirate svog provajdera, možete odabrati model koji želite upisivanjem:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
@@ -20,6 +23,7 @@ Nakon što konfigurirate svog provajdera, možete odabrati model koji želite up
|
||||
---
|
||||
|
||||
## Preporučeni modeli
|
||||
|
||||
Postoji mnogo modela vani, a novi modeli izlaze svake sedmice.
|
||||
:::tip
|
||||
Razmislite o korištenju jednog od modela koje preporučujemo.
|
||||
@@ -27,17 +31,21 @@ Razmislite o korištenju jednog od modela koje preporučujemo.
|
||||
|
||||
Međutim, postoji samo nekoliko njih koji su dobri i u generiranju koda i u pozivanju alata.
|
||||
Evo nekoliko modela koji dobro rade sa OpenCodeom, bez posebnog redosleda. (Ovo nije potpuna lista niti je nužno ažurirana):
|
||||
|
||||
- GPT 5.2
|
||||
- Kodeks GPT 5.1
|
||||
- Claude Opus 4.5
|
||||
- Claude Sonet 4.5
|
||||
- Minimax M2.1
|
||||
- Gemini 3 Pro
|
||||
|
||||
---
|
||||
|
||||
## Postavite zadano
|
||||
|
||||
Da postavite jedan od ovih kao zadani model, možete postaviti ključ `model` u svom
|
||||
OpenCode config.
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -47,10 +55,13 @@ OpenCode config.
|
||||
|
||||
Ovdje je puni ID `provider_id/model_id`. Na primjer, ako koristite [OpenCode Zen](/docs/zen), koristili biste `opencode/gpt-5.1-codex` za GPT 5.1 Codex.
|
||||
Ako ste konfigurirali [prilagođenog provajdera](/docs/providers#custom), `provider_id` je ključ iz `provider` dijela vaše konfiguracije, a `model_id` je ključ iz `provider.models`.
|
||||
|
||||
---
|
||||
|
||||
## Konfigurišite modele
|
||||
|
||||
Možete globalno konfigurirati opcije modela kroz config.
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-12,19-24}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -87,6 +98,7 @@ Ovdje konfiguriramo globalne postavke za dva ugrađena modela: `gpt-5` kada se p
|
||||
Ugrađeni dobavljač i nazivi modela mogu se naći na [Models.dev](https://models.dev).
|
||||
Također možete konfigurirati ove opcije za sve agente koje koristite. Konfiguracija agenta poništava sve globalne opcije ovdje. [Saznajte više](/docs/agents/#additional).
|
||||
Također možete definirati prilagođene varijante koje proširuju ugrađene. Varijante vam omogućavaju da konfigurirate različite postavke za isti model bez stvaranja duplih unosa:
|
||||
|
||||
```jsonc title="opencode.jsonc" {6-21}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -116,29 +128,35 @@ Također možete definirati prilagođene varijante koje proširuju ugrađene. Va
|
||||
---
|
||||
|
||||
## Varijante
|
||||
|
||||
Mnogi modeli podržavaju više varijanti sa različitim konfiguracijama. OpenCode se isporučuje sa ugrađenim podrazumevanim varijantama za popularne provajdere.
|
||||
|
||||
### Ugrađene varijante
|
||||
|
||||
OpenCode se isporučuje sa zadanim varijantama za mnoge provajdere:
|
||||
**Antropski**:
|
||||
|
||||
- `high` - Visok budžet za razmišljanje (zadano)
|
||||
- `max` - Maksimalni budžet za razmišljanje
|
||||
**OpenAI**:
|
||||
Zavisi od modela, ali otprilike:
|
||||
**OpenAI**:
|
||||
Zavisi od modela, ali otprilike:
|
||||
- `none` - Bez obrazloženja
|
||||
- `minimal` - Minimalni napor za rasuđivanje
|
||||
- `low` - Nizak napor u rasuđivanju
|
||||
- `medium` - Srednji napor u zaključivanju
|
||||
- `high` - Veliki napor u rasuđivanju
|
||||
- `xhigh` - Ekstra visok napor u rasuđivanju
|
||||
**Google**:
|
||||
**Google**:
|
||||
- `low` - Manji trud/budžet tokena
|
||||
- `high` - Veći budžet za trud/token
|
||||
:::tip
|
||||
Ova lista nije sveobuhvatna. Mnogi drugi provajderi također imaju ugrađene zadane postavke.
|
||||
:::
|
||||
:::tip
|
||||
Ova lista nije sveobuhvatna. Mnogi drugi provajderi također imaju ugrađene zadane postavke.
|
||||
:::
|
||||
|
||||
### Prilagođene varijante
|
||||
|
||||
Možete nadjačati postojeće varijante ili dodati svoje:
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -163,24 +181,21 @@ Možete nadjačati postojeće varijante ili dodati svoje:
|
||||
```
|
||||
|
||||
### Varijante ciklusa
|
||||
Koristite vezu `variant_cycle` za brzo prebacivanje između varijanti. [Saznajte više](/docs/keybinds).
|
||||
---
|
||||
|
||||
## Koristite vezu `variant_cycle` za brzo prebacivanje između varijanti. [Saznajte više](/docs/keybinds).
|
||||
|
||||
## Učitavanje modela
|
||||
|
||||
Kada se OpenCode pokrene, on provjerava modele u sljedećem prioritetnom redoslijedu:
|
||||
|
||||
1. Oznaka komandne linije `--model` ili `-m`. Format je isti kao u konfiguracijskoj datoteci: `provider_id/model_id`.
|
||||
2. Lista modela u OpenCode konfiguraciji.
|
||||
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
```
|
||||
|
||||
Format ovdje je `provider/model`.
|
||||
3. Posljednji korišteni model.
|
||||
4. Prvi model koji koristi interni prioritet.
|
||||
Format ovdje je `provider/model`. 3. Posljednji korišteni model. 4. Prvi model koji koristi interni prioritet.
|
||||
|
||||
@@ -12,34 +12,44 @@ Režimi u otvorenom kodu omogućavaju vam da prilagodite ponašanje, alate i upi
|
||||
Dolazi sa dva ugrađena načina rada: **gradite** i **planirajte**. Možete prilagoditi
|
||||
ove ili konfigurirajte svoje putem opencode config.
|
||||
Možete se prebacivati između režima tokom sesije ili ih konfigurisati u svom konfiguracionom fajlu.
|
||||
|
||||
---
|
||||
|
||||
## Ugrađeno
|
||||
opencode dolazi sa dva ugrađena načina rada.
|
||||
---
|
||||
|
||||
## opencode dolazi sa dva ugrađena načina rada.
|
||||
|
||||
### Build
|
||||
Izrada je **podrazumevani** režim sa svim omogućenim alatima. Ovo je standardni način rada na razvoju gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
---
|
||||
|
||||
## Izrada je **podrazumevani** režim sa svim omogućenim alatima. Ovo je standardni način rada na razvoju gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
|
||||
### Plan
|
||||
|
||||
Ograničeni način rada dizajniran za planiranje i analizu. U načinu plana, sljedeći alati su onemogućeni prema zadanim postavkama:
|
||||
|
||||
- `write` - Ne mogu kreirati nove fajlove
|
||||
- `edit` - Ne mogu modificirati postojeće fajlove, osim fajlova koji se nalaze na `.opencode/plans/*.md` radi detaljiziranja samog plana
|
||||
- `patch` - Ne mogu primijeniti zakrpe
|
||||
- `bash` - Ne mogu izvršiti naredbe ljuske
|
||||
Ovaj način rada je koristan kada želite da AI analizira kod, predlaže promjene ili kreira planove bez ikakvih stvarnih modifikacija u vašoj bazi kodova.
|
||||
Ovaj način rada je koristan kada želite da AI analizira kod, predlaže promjene ili kreira planove bez ikakvih stvarnih modifikacija u vašoj bazi kodova.
|
||||
|
||||
---
|
||||
|
||||
## Prebacivanje
|
||||
|
||||
Možete se prebacivati između načina rada tokom sesije pomoću tipke _Tab_. Ili vaše konfigurirano `switch_mode` spajanje tipki.
|
||||
Vidi također: [Formatters](/docs/formatters) za informacije o konfiguraciji formatiranja koda.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi ugrađene načine rada ili kreirati vlastite kroz konfiguraciju. Modovi se mogu konfigurirati na dva načina:
|
||||
|
||||
### JSON konfiguracija
|
||||
|
||||
Konfigurirajte načine rada u svom `opencode.json` konfiguracijskom fajlu:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -66,9 +76,12 @@ Konfigurirajte načine rada u svom `opencode.json` konfiguracijskom fajlu:
|
||||
```
|
||||
|
||||
### Markdown konfiguracija
|
||||
|
||||
Također možete definirati načine rada koristeći mardown datoteke. Postavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/modes/`
|
||||
- Projekat: `.opencode/modes/`
|
||||
|
||||
```markdown title="~/.config/opencode/modes/review.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
@@ -91,10 +104,13 @@ Provide constructive feedback without making direct changes.
|
||||
|
||||
Naziv datoteke s uštedom postaje naziv načina (npr. `review.md` kreira `review` način rada).
|
||||
Pogledajmo ove opcije konfiguracije detaljno.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate zadani model za ovaj način rada. Korisno za korištenje različitih modela optimiziranih za različite zadatke. Na primjer, brži model za planiranje, sposobniji model za implementaciju.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -108,7 +124,9 @@ Koristite `model` konfiguraciju da nadjačate zadani model za ovaj način rada.
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontrolišite slučajnost i kreativnost odgovora AI pomoću `temperature` konfiguracije. Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok veće vrijednosti povećavaju kreativnost i varijabilnost.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -123,9 +141,11 @@ Kontrolišite slučajnost i kreativnost odgovora AI pomoću `temperature` konfig
|
||||
```
|
||||
|
||||
Vrijednosti temperature obično se kreću od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Vrlo fokusirani i deterministički odgovori, idealni za analizu i planiranje koda
|
||||
- **0,3-0,5**: Uravnoteženi odgovori sa malo kreativnosti, dobro za opšte razvojne zadatke
|
||||
- **0,6-1,0**: kreativniji i raznovrsniji odgovori, korisni za razmišljanje i istraživanje
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -144,11 +164,12 @@ Vrijednosti temperature obično se kreću od 0,0 do 1,0:
|
||||
}
|
||||
```
|
||||
|
||||
Ako temperatura nije navedena, opencode koristi zadane postavke specifične za model (obično 0 za većinu modela, 0,55 za Qwen modele).
|
||||
---
|
||||
## Ako temperatura nije navedena, opencode koristi zadane postavke specifične za model (obično 0 za većinu modela, 0,55 za Qwen modele).
|
||||
|
||||
### Prompt
|
||||
|
||||
Navedite prilagođenu sistemsku datoteku prompta za ovaj način rada s konfiguracijom `prompt`. Datoteka s promptom treba da sadrži upute specifične za svrhu načina rada.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -161,10 +182,13 @@ Navedite prilagođenu sistemsku datoteku prompta za ovaj način rada s konfigura
|
||||
|
||||
Ova putanja je relativna u odnosu na mjesto gdje se nalazi konfiguracijski fajl. Dakle, ovo radi za
|
||||
i globalnu konfiguraciju otvorenog koda i konfiguraciju specifične za projekat.
|
||||
|
||||
---
|
||||
|
||||
### Alati
|
||||
|
||||
Kontrolirajte koji su alati dostupni u ovom načinu rada pomoću `tools` konfiguracije. Možete omogućiti ili onemogućiti određene alate tako što ćete ih postaviti na `true` ili `false`.
|
||||
|
||||
```json
|
||||
{
|
||||
"mode": {
|
||||
@@ -182,10 +206,10 @@ Kontrolirajte koji su alati dostupni u ovom načinu rada pomoću `tools` konfigu
|
||||
}
|
||||
```
|
||||
|
||||
Ako nijedan alat nije specificiran, svi alati su omogućeni prema zadanim postavkama.
|
||||
---
|
||||
## Ako nijedan alat nije specificiran, svi alati su omogućeni prema zadanim postavkama.
|
||||
|
||||
#### Dostupni alati
|
||||
|
||||
Ovdje su svi alati koji se mogu kontrolirati kroz konfiguraciju načina rada.
|
||||
| Alat | Opis || ----------- | ----------------------- |
|
||||
| `bash` | Izvrši naredbe ljuske |
|
||||
@@ -199,11 +223,15 @@ Ovdje su svi alati koji se mogu kontrolirati kroz konfiguraciju načina rada.
|
||||
| `todowrite` | Upravljanje listama zadataka |
|
||||
| `todoread` | Pročitajte liste obaveza |
|
||||
| `webfetch` | Dohvati web sadržaj |
|
||||
|
||||
---
|
||||
|
||||
## Prilagođeni načini rada
|
||||
|
||||
Možete kreirati vlastite prilagođene modove tako što ćete ih dodati u konfiguraciju. Evo primjera koji koriste oba pristupa:
|
||||
|
||||
### Korištenje JSON konfiguracije
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -224,7 +252,9 @@ Možete kreirati vlastite prilagođene modove tako što ćete ih dodati u konfig
|
||||
```
|
||||
|
||||
### Korištenje mardown fajlova
|
||||
|
||||
Kreirajte fajlove načina u `.opencode/modes/` za specifične načine rada ili `~/.config/opencode/modes/` za globalne načine:
|
||||
|
||||
```markdown title=".opencode/modes/debug.md"
|
||||
---
|
||||
temperature: 0.1
|
||||
@@ -274,10 +304,12 @@ Priorities:
|
||||
---
|
||||
|
||||
### Slučajevi upotrebe
|
||||
|
||||
Evo nekoliko uobičajenih slučajeva upotrebe za različite načine rada.
|
||||
|
||||
- **Način izgradnje**: Potpuni razvojni rad sa svim omogućenim alatima
|
||||
- **Način planiranja**: Analiza i planiranje bez izmjena
|
||||
- **Review mode**: Pregled koda sa pristupom samo za čitanje plus alati za dokumentaciju
|
||||
- **Režim za otklanjanje grešaka**: Fokusiran na istragu sa omogućenim bash i alatima za čitanje
|
||||
- **Režim dokumenata**: Pisanje dokumentacije sa operacijama datoteka, ali bez sistemskih naredbi
|
||||
Možda ćete također otkriti da su različiti modeli dobri za različite slučajeve upotrebe.
|
||||
Možda ćete također otkriti da su različiti modeli dobri za različite slučajeve upotrebe.
|
||||
|
||||
@@ -3,11 +3,12 @@ title: Mreža
|
||||
description: Konfigurirajte proksije i prilagođene certifikate.
|
||||
---
|
||||
|
||||
OpenCode podržava standardne varijable proxy okruženja i prilagođene sertifikate za mrežna okruženja preduzeća.
|
||||
---
|
||||
## OpenCode podržava standardne varijable proxy okruženja i prilagođene sertifikate za mrežna okruženja preduzeća.
|
||||
|
||||
## Proxy
|
||||
|
||||
OpenCode poštuje standardne varijable proxy okruženja.
|
||||
|
||||
```bash
|
||||
# HTTPS proxy (recommended)
|
||||
export HTTPS_PROXY=https://proxy.example.com:8080
|
||||
@@ -23,11 +24,12 @@ export NO_PROXY=localhost,127.0.0.1
|
||||
TUI komunicira sa lokalnim HTTP serverom. Morate zaobići proxy za ovu vezu kako biste spriječili petlje usmjeravanja.
|
||||
:::
|
||||
|
||||
Možete konfigurirati port servera i ime hosta koristeći [CLI flags](/docs/cli#run).
|
||||
---
|
||||
## Možete konfigurirati port servera i ime hosta koristeći [CLI flags](/docs/cli#run).
|
||||
|
||||
### Autentikacija
|
||||
|
||||
Ako vaš proxy zahtijeva osnovnu autentifikaciju, uključite vjerodajnice u URL.
|
||||
|
||||
```bash
|
||||
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
```
|
||||
@@ -36,13 +38,14 @@ export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
Izbjegavajte tvrdo kodiranje lozinki. Koristite varijable okruženja ili sigurno skladište vjerodajnica.
|
||||
:::
|
||||
|
||||
Za proxy servere koji zahtijevaju naprednu autentifikaciju kao što je NTLM ili Kerberos, razmislite o korištenju LLM Gatewaya koji podržava vašu metodu provjere autentičnosti.
|
||||
---
|
||||
## Za proxy servere koji zahtijevaju naprednu autentifikaciju kao što je NTLM ili Kerberos, razmislite o korištenju LLM Gatewaya koji podržava vašu metodu provjere autentičnosti.
|
||||
|
||||
## Prilagođeni certifikati
|
||||
|
||||
Ako vaše preduzeće koristi prilagođene CA-ove za HTTPS veze, konfigurirajte OpenCode da im vjeruje.
|
||||
|
||||
```bash
|
||||
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
||||
```
|
||||
|
||||
Ovo radi i za proxy veze i za direktan pristup API-ju.
|
||||
Ovo radi i za proxy veze i za direktan pristup API-ju.
|
||||
|
||||
@@ -5,17 +5,23 @@ description: Kontrolirajte koje radnje zahtijevaju odobrenje za pokretanje.
|
||||
|
||||
OpenCode koristi `permission` konfiguraciju da odluči da li će se određena radnja pokrenuti automatski, zatražiti od vas ili biti blokirana.
|
||||
Od `v1.1.1`, naslijeđena `tools` logička konfiguracija je zastarjela i spojena je u `permission`. Stara `tools` konfiguracija je još uvijek podržana za kompatibilnost unatrag.
|
||||
|
||||
---
|
||||
|
||||
## Akcije
|
||||
|
||||
Svako pravilo dozvole rješava jedno od:
|
||||
|
||||
- `"allow"` — pokrenuti bez odobrenja
|
||||
- `"ask"` — upit za odobrenje
|
||||
- `"deny"` — blokiraj akciju
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracija
|
||||
|
||||
Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -28,6 +34,7 @@ Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
```
|
||||
|
||||
Također možete postaviti sve dozvole odjednom:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -38,7 +45,9 @@ Također možete postaviti sve dozvole odjednom:
|
||||
---
|
||||
|
||||
## Granularna pravila (sintaksa objekta)
|
||||
|
||||
Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na osnovu unosa alata.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -58,21 +67,30 @@ Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na o
|
||||
}
|
||||
```
|
||||
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo**. Uobičajeni obrazac je da se prvo pravilo `"*"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo\*_. Uobičajeni obrazac je da se prvo pravilo `"_"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
|
||||
### Zamjenski znakovi
|
||||
|
||||
Uzorci dozvola koriste jednostavno podudaranje zamjenskih znakova:
|
||||
|
||||
- `*` odgovara nula ili više bilo kojeg znaka
|
||||
- `?` odgovara tačno jednom znaku
|
||||
- Svi ostali likovi se bukvalno podudaraju
|
||||
|
||||
### Proširenje kućnog imenika
|
||||
|
||||
Možete koristiti `~` ili `$HOME` na početku obrasca da referencirate svoj početni direktorij. Ovo je posebno korisno za [`external_directory`](#external-directories) pravila.
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### Vanjski imenici
|
||||
|
||||
Koristite `external_directory` da dozvolite pozive alata koji dodiruju putanje izvan radnog direktorija gdje je OpenCode pokrenut. Ovo se odnosi na bilo koji alat koji uzima putanju kao ulaz (na primjer `read`, `edit`, `list`, `glob`, `grep` i mnoge `bash` komande).
|
||||
Proširenje kuće (poput `~/...`) utiče samo na način na koji je obrazac napisan. Ne čini vanjsku stazu dijelom trenutnog radnog prostora, tako da staze izvan radnog direktorija i dalje moraju biti dozvoljene preko `external_directory`.
|
||||
Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -85,6 +103,7 @@ Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
```
|
||||
|
||||
Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao trenutni radni prostor. Pošto je [`read` zadano na `allow`](#defaults), čitanje je također dozvoljeno za unose pod `external_directory` osim ako se ne poništi. Dodajte eksplicitna pravila kada bi alat trebao biti ograničen na ovim stazama, kao što je blokiranje uređivanja uz zadržavanje čitanja:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -99,11 +118,12 @@ Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao tr
|
||||
}
|
||||
```
|
||||
|
||||
Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
---
|
||||
## Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
|
||||
## Dostupne dozvole
|
||||
|
||||
Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
|
||||
- `read` — čitanje datoteke (odgovara putanji datoteke)
|
||||
- `edit` — sve izmjene fajlova (pokriva `edit`, `write`, `patch`, `multiedit`)
|
||||
- `glob` — globbiranje fajla (odgovara glob uzorku)
|
||||
@@ -118,13 +138,17 @@ Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
- `websearch`, `codesearch` — pretraživanje weba/koda (odgovara upitu)
|
||||
- `external_directory` — pokreće se kada alat dodirne staze izvan radnog direktorija projekta
|
||||
- `doom_loop` — aktivira se kada se isti poziv alata ponovi 3 puta sa identičnim unosom
|
||||
|
||||
---
|
||||
|
||||
## Defaults
|
||||
|
||||
Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
|
||||
- Većina dozvola je zadana na `"allow"`.
|
||||
- `doom_loop` i `external_directory` zadano na `"ask"`.
|
||||
- `read` je `"allow"`, ali `.env` fajlovi su po defaultu odbijeni:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"permission": {
|
||||
@@ -141,14 +165,18 @@ Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
---
|
||||
|
||||
## Šta radi “Ask”.
|
||||
|
||||
Kada OpenCode zatraži odobrenje, korisničko sučelje nudi tri ishoda:
|
||||
|
||||
- `once` — odobri samo ovaj zahtjev
|
||||
- `always` — odobri buduće zahtjeve koji odgovaraju predloženim obrascima (za ostatak trenutne OpenCode sesije)
|
||||
- `reject` — odbiti zahtjev
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
|
||||
---
|
||||
|
||||
## Agenti
|
||||
|
||||
Možete nadjačati dozvole po agentu. Dozvole agenta su spojene sa globalnom konfiguracijom, a pravila agenta imaju prednost. [Saznajte više](/docs/agents#permissions) o dozvolama agenta.
|
||||
:::napomena
|
||||
Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-rules-object-syntax) za detaljnije primjere podudaranja uzoraka.
|
||||
@@ -183,6 +211,7 @@ Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-ru
|
||||
```
|
||||
|
||||
Također možete konfigurirati dozvole agenta u Markdownu:
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
|
||||
@@ -5,21 +5,27 @@ description: Napišite vlastite dodatke za proširenje OpenCode-a.
|
||||
|
||||
Dodaci vam omogućavaju da proširite OpenCode spajanjem na različite događaje i prilagođavanjem ponašanja. Možete kreirati dodatke za dodavanje novih funkcija, integraciju sa eksternim uslugama ili izmenu zadanog ponašanja OpenCode-a.
|
||||
Za primjere, pogledajte [plugins](/docs/ecosystem#plugins) kreirane od strane zajednice.
|
||||
|
||||
---
|
||||
|
||||
## Koristite dodatak
|
||||
Postoje dva načina za učitavanje dodataka.
|
||||
---
|
||||
|
||||
## Postoje dva načina za učitavanje dodataka.
|
||||
|
||||
### Iz lokalnih datoteka
|
||||
|
||||
Postavite JavaScript ili TypeScript datoteke u direktorij dodataka.
|
||||
|
||||
- `.opencode/plugins/` - Dodaci na nivou projekta
|
||||
- `~/.config/opencode/plugins/` - Globalni dodaci
|
||||
Datoteke u ovim direktorijumima se automatski učitavaju pri pokretanju.
|
||||
Datoteke u ovim direktorijumima se automatski učitavaju pri pokretanju.
|
||||
|
||||
---
|
||||
|
||||
### Od npm
|
||||
|
||||
Navedite npm pakete u vašoj konfiguracijskoj datoteci.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -29,29 +35,39 @@ Navedite npm pakete u vašoj konfiguracijskoj datoteci.
|
||||
|
||||
Podržani su i regularni i npm paketi sa opsegom.
|
||||
Pregledajte dostupne dodatke u [ecosystem](/docs/ecosystem#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Kako se instaliraju dodaci
|
||||
|
||||
**npm dodaci** se instaliraju automatski pomoću Bun pri pokretanju. Paketi i njihove zavisnosti su keširani u `~/.cache/opencode/node_modules/`.
|
||||
**Lokalni dodaci** se učitavaju direktno iz direktorija dodataka. Da biste koristili vanjske pakete, morate kreirati `package.json` unutar svog konfiguracijskog direktorija (pogledajte [Zavisnosti](#dependencies)) ili objaviti dodatak na npm i [dodati ga u svoju konfiguraciju](/docs/config#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Učitaj redoslijed
|
||||
|
||||
Dodaci se učitavaju iz svih izvora i svi zakačnjaci rade u nizu. Redoslijed učitavanja je:
|
||||
|
||||
1. Globalna konfiguracija (`~/.config/opencode/opencode.json`)
|
||||
2. Konfiguracija projekta (`opencode.json`)
|
||||
3. Globalni direktorij dodataka (`~/.config/opencode/plugins/`)
|
||||
4. Direktorij dodataka projekta (`.opencode/plugins/`)
|
||||
Duplicirani npm paketi sa istim imenom i verzijom se učitavaju jednom. Međutim, lokalni dodatak i npm dodatak sa sličnim nazivima se učitavaju odvojeno.
|
||||
Duplicirani npm paketi sa istim imenom i verzijom se učitavaju jednom. Međutim, lokalni dodatak i npm dodatak sa sličnim nazivima se učitavaju odvojeno.
|
||||
|
||||
---
|
||||
|
||||
## Kreirajte dodatak
|
||||
|
||||
Dodatak je **JavaScript/TypeScript modul** koji izvozi jedan ili više dodataka
|
||||
funkcije. Svaka funkcija prima objekt konteksta i vraća hooks objekt.
|
||||
|
||||
---
|
||||
|
||||
### Zavisnosti
|
||||
|
||||
Lokalni dodaci i prilagođeni alati mogu koristiti vanjske npm pakete. Dodajte `package.json` u svoj konfiguracijski direktorij sa zavisnostima koje su vam potrebne.
|
||||
|
||||
```json title=".opencode/package.json"
|
||||
{
|
||||
"dependencies": {
|
||||
@@ -61,6 +77,7 @@ Lokalni dodaci i prilagođeni alati mogu koristiti vanjske npm pakete. Dodajte `
|
||||
```
|
||||
|
||||
OpenCode pokreće `bun install` pri pokretanju da ih instalira. Vaši dodaci i alati ih zatim mogu uvesti.
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
import { escape } from "shescape"
|
||||
|
||||
@@ -78,6 +95,7 @@ export const MyPlugin = async (ctx) => {
|
||||
---
|
||||
|
||||
### Osnovna struktura
|
||||
|
||||
```js title=".opencode/plugins/example.js"
|
||||
export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
console.log("Plugin initialized!")
|
||||
@@ -89,15 +107,19 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
```
|
||||
|
||||
Funkcija dodatka prima:
|
||||
|
||||
- `project`: Trenutne informacije o projektu.
|
||||
- `directory`: Trenutni radni direktorij.
|
||||
- `worktree`: Putanja git radnog stabla.
|
||||
- `client`: Opencode SDK klijent za interakciju sa AI.
|
||||
- `$`: Bun's [shell API](https://bun.com/docs/runtime/shell) za izvršavanje naredbi.
|
||||
|
||||
---
|
||||
|
||||
### Podrška za TypeScript
|
||||
|
||||
Za TypeScript dodatke, možete uvesti tipove iz paketa dodataka:
|
||||
|
||||
```ts title="my-plugin.ts" {1}
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -111,28 +133,45 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
---
|
||||
|
||||
### Događaji
|
||||
|
||||
Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku Primjeri. Evo liste različitih dostupnih događaja.
|
||||
|
||||
#### Komandni događaji
|
||||
|
||||
- `command.executed`
|
||||
|
||||
#### Događaji datoteka
|
||||
|
||||
- `file.edited`
|
||||
- `file.watcher.updated`
|
||||
|
||||
#### Instalacijski događaji
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
#### LSP događaji
|
||||
|
||||
- `lsp.client.diagnostics`
|
||||
- `lsp.updated`
|
||||
|
||||
#### Poruka Događaji
|
||||
|
||||
- `message.part.removed`
|
||||
- `message.part.updated`
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### Događaji dozvole
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
|
||||
#### Serverski događaji
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### Događaji sesije
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
- `session.deleted`
|
||||
@@ -141,25 +180,36 @@ Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku P
|
||||
- `session.idle`
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### Todo događaji
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### Shell događaji
|
||||
|
||||
- `shell.env`
|
||||
|
||||
#### Alat Događaji
|
||||
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### TUI događaji
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
- `tui.toast.show`
|
||||
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
Evo nekoliko primjera dodataka koje možete koristiti za proširenje otvorenog koda.
|
||||
---
|
||||
|
||||
## Evo nekoliko primjera dodataka koje možete koristiti za proširenje otvorenog koda.
|
||||
|
||||
### Šalji obavještenja
|
||||
|
||||
Pošaljite obavještenja kada se dogode određeni događaji:
|
||||
|
||||
```js title=".opencode/plugins/notification.js"
|
||||
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
@@ -181,7 +231,9 @@ Ako koristite desktop aplikaciju OpenCode, ona može automatski slati sistemske
|
||||
---
|
||||
|
||||
### .env zaštita
|
||||
|
||||
Spriječite opencode da čita `.env` fajlove:
|
||||
|
||||
```javascript title=".opencode/plugins/env-protection.js"
|
||||
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
@@ -197,7 +249,9 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
|
||||
---
|
||||
|
||||
### Ubacite varijable okruženja
|
||||
|
||||
Ubacite varijable okruženja u sva izvršavanja ljuske (AI alati i korisnički terminali):
|
||||
|
||||
```javascript title=".opencode/plugins/inject-env.js"
|
||||
export const InjectEnvPlugin = async () => {
|
||||
return {
|
||||
@@ -212,7 +266,9 @@ export const InjectEnvPlugin = async () => {
|
||||
---
|
||||
|
||||
### Prilagođeni alati
|
||||
|
||||
Dodaci također mogu dodati prilagođene alate u opencode:
|
||||
|
||||
```ts title=".opencode/plugins/custom-tools.ts"
|
||||
import { type Plugin, tool } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -235,14 +291,18 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
|
||||
```
|
||||
|
||||
Pomoćnik `tool` kreira prilagođeni alat koji opencode može pozvati. Uzima funkciju Zod sheme i vraća definiciju alata sa:
|
||||
|
||||
- `description`: Šta alat radi
|
||||
- `args`: Zod šema za argumente alata
|
||||
- `execute`: Funkcija koja se pokreće kada se pozove alat
|
||||
Vaši prilagođeni alati će biti dostupni za opencode zajedno sa ugrađenim alatima.
|
||||
Vaši prilagođeni alati će biti dostupni za opencode zajedno sa ugrađenim alatima.
|
||||
|
||||
---
|
||||
|
||||
### Logging
|
||||
|
||||
Koristite `client.app.log()` umjesto `console.log` za strukturirano bilježenje:
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
export const MyPlugin = async ({ client }) => {
|
||||
await client.app.log({
|
||||
@@ -256,11 +316,12 @@ export const MyPlugin = async ({ client }) => {
|
||||
}
|
||||
```
|
||||
|
||||
Nivoi: `debug`, `info`, `warn`, `error`. Pogledajte [SDK dokumentaciju](https://opencode.ai/docs/sdk) za detalje.
|
||||
---
|
||||
## Nivoi: `debug`, `info`, `warn`, `error`. Pogledajte [SDK dokumentaciju](https://opencode.ai/docs/sdk) za detalje.
|
||||
|
||||
### Kuke za sabijanje
|
||||
|
||||
Prilagodite kontekst uključen kada se sesija zbije:
|
||||
|
||||
```ts title=".opencode/plugins/compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -283,6 +344,7 @@ Include any state that should persist across compaction:
|
||||
|
||||
`experimental.session.compacting` kuka se aktivira prije nego što LLM generira sažetak nastavka. Koristite ga za ubacivanje konteksta specifičnog za domenu koji bi zadani prompt za sažimanje propustio.
|
||||
Također možete u potpunosti zamijeniti prompt za sabijanje postavljanjem `output.prompt`:
|
||||
|
||||
```ts title=".opencode/plugins/custom-compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -306,4 +368,4 @@ Format as a structured prompt that a new agent can use to resume work.
|
||||
}
|
||||
```
|
||||
|
||||
Kada je `output.prompt` postavljen, on u potpunosti zamjenjuje zadani prompt za sažimanje. Niz `output.context` se zanemaruje u ovom slučaju.
|
||||
Kada je `output.prompt` postavljen, on u potpunosti zamjenjuje zadani prompt za sažimanje. Niz `output.context` se zanemaruje u ovom slučaju.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -240,15 +240,13 @@ Da biste ovo riješili:
|
||||
1. Prvo provjerite da li je vaš provajder ispravno postavljen slijedeći [vodič za pružatelje](/docs/providers)
|
||||
2. Ako se problem nastavi, pokušajte obrisati pohranjenu konfiguraciju:
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
rm -rf ~/.local/share/opencode
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.local\share\opencode`
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
3. Ponovo izvršite autentifikaciju kod svog provajdera koristeći naredbu `/connect` u TUI.
|
||||
|
||||
@@ -262,15 +260,13 @@ Da biste riješili probleme s paketom dobavljača:
|
||||
|
||||
1. Obrišite keš paketa provajdera:
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
rm -rf ~/.cache/opencode
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.cache\opencode`
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
2. Ponovo pokrenite opencode da ponovo instalirate najnovije pakete dobavljača
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Linux/macOS">
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
# Example for nano or vim
|
||||
@@ -301,7 +301,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
export EDITOR="code --wait"
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
@@ -311,7 +311,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (CMD)">
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
@@ -319,7 +319,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
set EDITOR=code --wait
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
@@ -329,7 +329,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
|
||||
|
||||
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
@@ -337,7 +337,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
$env:EDITOR = "code --wait"
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode formaterer automatisk filer, efter de er skrevet eller redigeret ved hj
|
||||
|
||||
OpenCode leveres med flere indbyggede formatere til populære sprog og rammer. Nedenfor er en liste over de formatere, understøttede filtypenavne og kommandoer eller konfigurationsmuligheder, der har brug for.
|
||||
|
||||
| Formater | Udvidelser | Krav |
|
||||
| --------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
||||
| gofmt | .go | `gofmt` kommando tilgængelig |
|
||||
| blande | .ex,.exs,.eex,.heex,.leex,.neex,.sface | `mix` kommando tilgængelig |
|
||||
| smukkere | .js,.jsx,.ts,.tsx,.html,.css,.md,.json,.yaml og [more](https://prettier.io/docs/en/index.html) | `prettier` afhængighed i `package.json` |
|
||||
| biome | .js,.jsx,.ts,.tsx,.html,.css,.md,.json,.yaml og [more](https://biomejs.dev/) | `biome.json(c)` konfigurationsfil |
|
||||
| zig | .zig,.zon | `zig` kommando tilgængelig |
|
||||
| klang-format | .c,.cpp,.h,.hpp,.ino og [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` konfigurationsfil |
|
||||
| ktlint | .kt,.kts | `ktlint` kommando tilgængelig |
|
||||
| ruff | .py,.pyi | `ruff` kommando tilgængelig med konfiguration |
|
||||
| rustfmt | .rs | `rustfmt` kommando tilgængelig |
|
||||
| cargofmt | .rs | `cargo fmt` kommando tilgængelig |
|
||||
| uv | .py,.pyi | `uv` kommando tilgængelig |
|
||||
| rubocop | .rb,.rake,.gemspec,.ru | `rubocop` kommando tilgængelig |
|
||||
| standardrb | .rb,.rake,.gemspec,.ru | `standardrb` kommando tilgængelig |
|
||||
| htmlbeautifier | .erb,.html.erb | `htmlbeautifier` kommando tilgængelig |
|
||||
| luft | .R | `air` kommando tilgængelig |
|
||||
| dart | .dart | `dart` kommando tilgængelig |
|
||||
| ocamlformat | .ml,.mli | `ocamlformat` kommando tilgængelig og `.ocamlformat` config fil |
|
||||
| terraform | .tf,.tfvars | `terraform` kommando tilgængelig |
|
||||
| glimt | .glimt | `gleam` kommando tilgængelig |
|
||||
| nixfmt | .nix | `nixfmt` kommando tilgængelig |
|
||||
| shfmt | .sh,.bash | `shfmt` kommando tilgængelig |
|
||||
| pint | .php | `laravel/pint` afhængighed i `composer.json` |
|
||||
| Formater | Udvidelser | Krav |
|
||||
| --------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` kommando tilgængelig |
|
||||
| blande | .ex,.exs,.eex,.heex,.leex,.neex,.sface | `mix` kommando tilgængelig |
|
||||
| smukkere | .js,.jsx,.ts,.tsx,.html,.css,.md,.json,.yaml og [more](https://prettier.io/docs/en/index.html) | `prettier` afhængighed i `package.json` |
|
||||
| biome | .js,.jsx,.ts,.tsx,.html,.css,.md,.json,.yaml og [more](https://biomejs.dev/) | `biome.json(c)` konfigurationsfil |
|
||||
| zig | .zig,.zon | `zig` kommando tilgængelig |
|
||||
| klang-format | .c,.cpp,.h,.hpp,.ino og [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` konfigurationsfil |
|
||||
| ktlint | .kt,.kts | `ktlint` kommando tilgængelig |
|
||||
| ruff | .py,.pyi | `ruff` kommando tilgængelig med konfiguration |
|
||||
| rustfmt | .rs | `rustfmt` kommando tilgængelig |
|
||||
| cargofmt | .rs | `cargo fmt` kommando tilgængelig |
|
||||
| uv | .py,.pyi | `uv` kommando tilgængelig |
|
||||
| rubocop | .rb,.rake,.gemspec,.ru | `rubocop` kommando tilgængelig |
|
||||
| standardrb | .rb,.rake,.gemspec,.ru | `standardrb` kommando tilgængelig |
|
||||
| htmlbeautifier | .erb,.html.erb | `htmlbeautifier` kommando tilgængelig |
|
||||
| luft | .R | `air` kommando tilgængelig |
|
||||
| dart | .dart | `dart` kommando tilgængelig |
|
||||
| ocamlformat | .ml,.mli | `ocamlformat` kommando tilgængelig og `.ocamlformat` config fil |
|
||||
| terraform | .tf,.tfvars | `terraform` kommando tilgængelig |
|
||||
| glimt | .glimt | `gleam` kommando tilgængelig |
|
||||
| nixfmt | .nix | `nixfmt` kommando tilgængelig |
|
||||
| shfmt | .sh,.bash | `shfmt` kommando tilgængelig |
|
||||
| pint | .php | `laravel/pint` afhængighed i `composer.json` |
|
||||
| oxfmt (Eksperimentel) | .js,.jsx,.ts,.tsx | `oxfmt` afhængighed i `package.json` og en [experimental env variable flag](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | `ormolu` kommando tilgængelig |
|
||||
| ormolu | .hs | `ormolu` kommando tilgængelig |
|
||||
|
||||
Så hvis dit projekt har `prettier` i din `package.json`, vil OpenCode automatisk bruge det.
|
||||
|
||||
|
||||
@@ -139,11 +139,11 @@ Kontroller hvilke ferdigheter agenter har tilgang til ved å bruke mønsterbaser
|
||||
}
|
||||
```
|
||||
|
||||
| Tillatelse | Atferd |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `allow` | Ferdigheter lastes umiddelbart |
|
||||
| `deny` | Ferdighet skjult for agent, tilgang avvist |
|
||||
| `ask` | Bruker bedt om godkjenning før lasting |
|
||||
| Tillatelse | Atferd |
|
||||
| ---------- | ------------------------------------------ |
|
||||
| `allow` | Ferdigheter lastes umiddelbart |
|
||||
| `deny` | Ferdighet skjult for agent, tilgang avvist |
|
||||
| `ask` | Bruker bedt om godkjenning før lasting |
|
||||
|
||||
Mønstre støtter jokertegn: `internal-*` samsvarer med `internal-docs`, `internal-tools` osv.
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ Uten truecolor-støtte kan temaer vises med redusert fargenøyaktighet eller fal
|
||||
|
||||
OpenCode kommer med flere innebygde temaer.
|
||||
|
||||
| Navn | Beskrivelse |
|
||||
| ---------------------- | ---------------------------------------------------------------------------- |
|
||||
| `system` | Tilpasser seg terminalens bakgrunnsfarge |
|
||||
| `tokyonight` | Basert på [Tokyonight](https://github.com/folke/tokyonight.nvim)-temaet |
|
||||
| `everforest` | Basert på [Everforest](https://github.com/sainnhe/everforest)-temaet |
|
||||
| `ayu` | Basert på [Ayu](https://github.com/ayu-theme) mørke tema |
|
||||
| `catppuccin` | Basert på [Catppuccin](https://github.com/catppuccin)-temaet |
|
||||
| `catppuccin-macchiato` | Basert på [Catppuccin](https://github.com/catppuccin)-temaet |
|
||||
| `gruvbox` | Basert på [Gruvbox](https://github.com/morhetz/gruvbox)-temaet |
|
||||
| `kanagawa` | Basert på [Kanagawa](https://github.com/rebelot/kanagawa.nvim)-temaet |
|
||||
| `nord` | Basert på [Nord](https://github.com/nordtheme/nord)-temaet |
|
||||
| `matrix` | Hacker-stil grønt på svart tema |
|
||||
| `one-dark` | Basert på [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Mørkt tema |
|
||||
| Navn | Beskrivelse |
|
||||
| ---------------------- | ------------------------------------------------------------------------- |
|
||||
| `system` | Tilpasser seg terminalens bakgrunnsfarge |
|
||||
| `tokyonight` | Basert på [Tokyonight](https://github.com/folke/tokyonight.nvim)-temaet |
|
||||
| `everforest` | Basert på [Everforest](https://github.com/sainnhe/everforest)-temaet |
|
||||
| `ayu` | Basert på [Ayu](https://github.com/ayu-theme) mørke tema |
|
||||
| `catppuccin` | Basert på [Catppuccin](https://github.com/catppuccin)-temaet |
|
||||
| `catppuccin-macchiato` | Basert på [Catppuccin](https://github.com/catppuccin)-temaet |
|
||||
| `gruvbox` | Basert på [Gruvbox](https://github.com/morhetz/gruvbox)-temaet |
|
||||
| `kanagawa` | Basert på [Kanagawa](https://github.com/rebelot/kanagawa.nvim)-temaet |
|
||||
| `nord` | Basert på [Nord](https://github.com/nordtheme/nord)-temaet |
|
||||
| `matrix` | Hacker-stil grønt på svart tema |
|
||||
| `one-dark` | Basert på [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Mørkt tema |
|
||||
|
||||
Og mer, vi legger stadig til nye temaer.
|
||||
|
||||
|
||||
@@ -29,15 +29,15 @@ opencode [project]
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Setzen Sie die letzte Sitzung fort |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
| `--prompt` | | Zur Verwendung auffordern |
|
||||
| `--model` | `-m` | Zu verwendendes Modell in der Form provider/model |
|
||||
| `--agent` | | Zu verwendender Agent |
|
||||
| `--port` | | Port zum Abhören |
|
||||
| `--hostname` | | Hostname zum Abhören |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------ | ---- | ------------------------------------------------- |
|
||||
| `--continue` | `-c` | Setzen Sie die letzte Sitzung fort |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
| `--prompt` | | Zur Verwendung auffordern |
|
||||
| `--model` | `-m` | Zu verwendendes Modell in der Form provider/model |
|
||||
| `--agent` | | Zu verwendender Agent |
|
||||
| `--port` | | Port zum Abhören |
|
||||
| `--hostname` | | Hostname zum Abhören |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Arbeitsverzeichnis zum Starten von TUI in |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ----------- | ---- | ----------------------------------------- |
|
||||
| `--dir` | | Arbeitsverzeichnis zum Starten von TUI in |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
|
||||
---
|
||||
|
||||
@@ -186,10 +186,10 @@ opencode github run
|
||||
|
||||
##### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| --------- | -------------------------------------- |
|
||||
| Flagge | Beschreibung |
|
||||
| --------- | --------------------------------------------------- |
|
||||
| `--event` | GitHub Scheinereignis zum Ausführen des Agenten für |
|
||||
| `--token` | GitHub persönliches Zugriffstoken |
|
||||
| `--token` | GitHub persönliches Zugriffstoken |
|
||||
|
||||
---
|
||||
|
||||
@@ -295,9 +295,9 @@ opencode models anthropic
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Aktualisieren Sie den Modellcache von models.dev |
|
||||
| Flagge | Beschreibung |
|
||||
| ----------- | ------------------------------------------------------------------------------------- |
|
||||
| `--refresh` | Aktualisieren Sie den Modellcache von models.dev |
|
||||
| `--verbose` | Verwenden Sie eine ausführlichere Modellausgabe (einschließlich Metadaten wie Kosten) |
|
||||
|
||||
Verwenden Sie das Flag `--refresh`, um die zwischengespeicherte Modellliste zu aktualisieren. Dies ist nützlich, wenn einem Anbieter neue Modelle hinzugefügt wurden und Sie diese in OpenCode sehen möchten.
|
||||
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | Der auszuführende Befehl: Nachricht für args | verwenden
|
||||
| `--continue` | `-c` | Setzen Sie die letzte Sitzung fort |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
| `--share` | | Teilen Sie die Sitzung |
|
||||
| `--model` | `-m` | Zu verwendendes Modell in der Form provider/model |
|
||||
| `--agent` | | Zu verwendender Agent |
|
||||
| `--file` | `-f` | Datei(en) zum Anhängen an die Nachricht |
|
||||
| `--format` | | Format: Standard (formatiert) oder JSON (rohe JSON-Ereignisse) |
|
||||
| `--title` | | Titel für die Sitzung (verwendet eine verkürzte Eingabeaufforderung, wenn kein Wert angegeben wird) |
|
||||
| `--attach` | | An einen laufenden Opencode-Server anschließen (e.g., http://localhost:4096) |
|
||||
| `--port` | | Port für den lokalen Server (standardmäßig zufälliger Port) |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------ | ---- | --------------------------------------------------------------------------------------------------- | --------- |
|
||||
| `--command` | | Der auszuführende Befehl: Nachricht für args | verwenden |
|
||||
| `--continue` | `-c` | Setzen Sie die letzte Sitzung fort |
|
||||
| `--session` | `-s` | Sitzung ID zum Fortfahren |
|
||||
| `--share` | | Teilen Sie die Sitzung |
|
||||
| `--model` | `-m` | Zu verwendendes Modell in der Form provider/model |
|
||||
| `--agent` | | Zu verwendender Agent |
|
||||
| `--file` | `-f` | Datei(en) zum Anhängen an die Nachricht |
|
||||
| `--format` | | Format: Standard (formatiert) oder JSON (rohe JSON-Ereignisse) |
|
||||
| `--title` | | Titel für die Sitzung (verwendet eine verkürzte Eingabeaufforderung, wenn kein Wert angegeben wird) |
|
||||
| `--attach` | | An einen laufenden Opencode-Server anschließen (e.g., http://localhost:4096) |
|
||||
| `--port` | | Port für den lokalen Server (standardmäßig zufälliger Port) |
|
||||
|
||||
---
|
||||
|
||||
@@ -362,12 +362,12 @@ Dadurch wird ein HTTP-Server gestartet, der API-Zugriff auf Opencode-Funktionali
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port zum Abhören |
|
||||
| `--hostname` | Hostname zum Abhören |
|
||||
| `--mdns` | mDNS-Erkennung aktivieren |
|
||||
| `--cors` | Zusätzliche Browserursprung(e), um CORS | zulassen
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | --------------------------------------- | -------- |
|
||||
| `--port` | Port zum Abhören |
|
||||
| `--hostname` | Hostname zum Abhören |
|
||||
| `--mdns` | mDNS-Erkennung aktivieren |
|
||||
| `--cors` | Zusätzliche Browserursprung(e), um CORS | zulassen |
|
||||
|
||||
---
|
||||
|
||||
@@ -391,10 +391,10 @@ opencode session list
|
||||
|
||||
##### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Auf N letzte Sitzungen beschränken |
|
||||
| `--format` | | Ausgabeformat: Tabelle oder JSON (Tabelle) |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ------------- | ---- | ------------------------------------------ |
|
||||
| `--max-count` | `-n` | Auf N letzte Sitzungen beschränken |
|
||||
| `--format` | | Ausgabeformat: Tabelle oder JSON (Tabelle) |
|
||||
|
||||
---
|
||||
|
||||
@@ -408,12 +408,12 @@ opencode stats
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` | Statistiken für die letzten N Tage anzeigen (alle Zeiten) |
|
||||
| `--tools` | Anzahl der angebotenen Werkzeuge (alle) |
|
||||
| `--models` | Aufschlüsselung der Modellnutzung anzeigen (standardmäßig ausgeblendet). Übergeben Sie eine Zahl, um das obere N | .
|
||||
| `--project` | Nach Projekt filtern (alle Projekte, leere Zeichenfolge: aktuelles Projekt) |
|
||||
| Flagge | Beschreibung |
|
||||
| ----------- | ---------------------------------------------------------------------------------------------------------------- | --- |
|
||||
| `--days` | Statistiken für die letzten N Tage anzeigen (alle Zeiten) |
|
||||
| `--tools` | Anzahl der angebotenen Werkzeuge (alle) |
|
||||
| `--models` | Aufschlüsselung der Modellnutzung anzeigen (standardmäßig ausgeblendet). Übergeben Sie eine Zahl, um das obere N | . |
|
||||
| `--project` | Nach Projekt filtern (alle Projekte, leere Zeichenfolge: aktuelles Projekt) |
|
||||
|
||||
---
|
||||
|
||||
@@ -458,12 +458,12 @@ Dadurch wird ein HTTP-Server gestartet und ein Webbrowser geöffnet, um über ei
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port zum Abhören |
|
||||
| `--hostname` | Hostname zum Abhören |
|
||||
| `--mdns` | mDNS-Erkennung aktivieren |
|
||||
| `--cors` | Zusätzliche Browserursprung(e), um CORS | zulassen
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | --------------------------------------- | -------- |
|
||||
| `--port` | Port zum Abhören |
|
||||
| `--hostname` | Hostname zum Abhören |
|
||||
| `--mdns` | mDNS-Erkennung aktivieren |
|
||||
| `--cors` | Zusätzliche Browserursprung(e), um CORS | zulassen |
|
||||
|
||||
---
|
||||
|
||||
@@ -479,10 +479,10 @@ Dieser Befehl startet einen ACP-Server, der über stdin/stdout mit nd-JSON kommu
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | Arbeitsverzeichnis |
|
||||
| `--port` | Port zum Abhören |
|
||||
| Flagge | Beschreibung |
|
||||
| ------------ | -------------------- |
|
||||
| `--cwd` | Arbeitsverzeichnis |
|
||||
| `--port` | Port zum Abhören |
|
||||
| `--hostname` | Hostname zum Abhören |
|
||||
|
||||
---
|
||||
@@ -497,12 +497,12 @@ opencode uninstall
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Konfigurationsdateien behalten |
|
||||
| `--keep-data` | `-d` | Sitzungsdaten und Snapshots aufbewahren |
|
||||
| `--dry-run` | | Zeigt, was entfernt werden würde, ohne | zu entfernen
|
||||
| `--force` | `-f` | Bestätigungsaufforderungen überspringen |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| --------------- | ---- | --------------------------------------- | ------------ |
|
||||
| `--keep-config` | `-c` | Konfigurationsdateien behalten |
|
||||
| `--keep-data` | `-d` | Sitzungsdaten und Snapshots aufbewahren |
|
||||
| `--dry-run` | | Zeigt, was entfernt werden würde, ohne | zu entfernen |
|
||||
| `--force` | `-f` | Bestätigungsaufforderungen überspringen |
|
||||
|
||||
---
|
||||
|
||||
@@ -528,8 +528,8 @@ opencode upgrade v0.1.48
|
||||
|
||||
#### Flaggen
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| ---------- | ---- | ---------------------------------------------------------------------- |
|
||||
| `--method` | `-m` | Die verwendete Installationsmethode; Curl, NPM, PNPM, Brötchen, Brauen |
|
||||
|
||||
---
|
||||
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
|
||||
|
||||
Der Opencode CLI akzeptiert die folgenden globalen Flags.
|
||||
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Hilfe anzeigen |
|
||||
| `--version` | `-v` | Versionsnummer drucken |
|
||||
| `--print-logs` | | Protokolle nach Standard drucken |
|
||||
| `--log-level` | | Protokollebene (DEBUG, INFO, WARN, ERROR) |
|
||||
| Flagge | Kurz | Beschreibung |
|
||||
| -------------- | ---- | ----------------------------------------- |
|
||||
| `--help` | `-h` | Hilfe anzeigen |
|
||||
| `--version` | `-v` | Versionsnummer drucken |
|
||||
| `--print-logs` | | Protokolle nach Standard drucken |
|
||||
| `--log-level` | | Protokollebene (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
@@ -551,32 +551,32 @@ Der Opencode CLI akzeptiert die folgenden globalen Flags.
|
||||
|
||||
OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden.
|
||||
|
||||
| Variable | Geben Sie | eine Beschreibung |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boolescher Wert | Sitzungen automatisch teilen |
|
||||
| `OPENCODE_GIT_BASH_PATH` | Zeichenfolge | Pfad zur ausführbaren Git Bash-Datei unter Windows |
|
||||
| `OPENCODE_CONFIG` | Zeichenfolge | Pfad zur Konfigurationsdatei |
|
||||
| `OPENCODE_CONFIG_DIR` | Zeichenfolge | Pfad zum Konfigurationsverzeichnis |
|
||||
| `OPENCODE_CONFIG_CONTENT` | Zeichenfolge | Inline-JSON-Konfigurationsinhalt |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | boolescher Wert | Automatische Update-Prüfungen deaktivieren |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolescher Wert | Bereinigung alter Daten deaktivieren |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolescher Wert | Deaktivieren Sie die automatische Aktualisierung von Terminaltiteln |
|
||||
| `OPENCODE_PERMISSION` | Zeichenfolge | Inline-JSON-Berechtigungskonfiguration |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolescher Wert | Standard-Plugins deaktivieren |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolescher Wert | Automatische LSP-Server-Downloads deaktivieren |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolescher Wert | Experimentelle Modelle aktivieren |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolescher Wert | Automatische Kontextkomprimierung deaktivieren |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolescher Wert | Deaktivieren Sie das Lesen von `.claude` (Eingabeaufforderung + Fähigkeiten) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolescher Wert | Deaktivieren Sie das Lesen von `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolescher Wert | Deaktivieren Sie das Laden von `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boolescher Wert | Deaktivieren Sie das gesammelte Modell von Remote-Quellen |
|
||||
| `OPENCODE_FAKE_VCS` | Zeichenfolge | Gefälschter VCS-Anbieter zu Testzwecken |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolescher Wert | Dateizeitprüfung zur Optimierung deaktivieren |
|
||||
| `OPENCODE_CLIENT` | Zeichenfolge | Client-ID (standardmäßig `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | boolescher Wert | Exa-Websuchtools aktivieren |
|
||||
| `OPENCODE_SERVER_PASSWORD` | Zeichenfolge | Aktivieren Sie die Basisauthentifizierung für `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | Zeichenfolge | Benutzernamen für die Basisauthentifizierung überschreiben (Standard `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | Zeichenfolge | Benutzerdefinierte URL zum Erhalten der Modellkonfiguration |
|
||||
| Variable | Geben Sie | eine Beschreibung |
|
||||
| ------------------------------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boolescher Wert | Sitzungen automatisch teilen |
|
||||
| `OPENCODE_GIT_BASH_PATH` | Zeichenfolge | Pfad zur ausführbaren Git Bash-Datei unter Windows |
|
||||
| `OPENCODE_CONFIG` | Zeichenfolge | Pfad zur Konfigurationsdatei |
|
||||
| `OPENCODE_CONFIG_DIR` | Zeichenfolge | Pfad zum Konfigurationsverzeichnis |
|
||||
| `OPENCODE_CONFIG_CONTENT` | Zeichenfolge | Inline-JSON-Konfigurationsinhalt |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | boolescher Wert | Automatische Update-Prüfungen deaktivieren |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolescher Wert | Bereinigung alter Daten deaktivieren |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolescher Wert | Deaktivieren Sie die automatische Aktualisierung von Terminaltiteln |
|
||||
| `OPENCODE_PERMISSION` | Zeichenfolge | Inline-JSON-Berechtigungskonfiguration |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolescher Wert | Standard-Plugins deaktivieren |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolescher Wert | Automatische LSP-Server-Downloads deaktivieren |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolescher Wert | Experimentelle Modelle aktivieren |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolescher Wert | Automatische Kontextkomprimierung deaktivieren |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolescher Wert | Deaktivieren Sie das Lesen von `.claude` (Eingabeaufforderung + Fähigkeiten) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolescher Wert | Deaktivieren Sie das Lesen von `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolescher Wert | Deaktivieren Sie das Laden von `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boolescher Wert | Deaktivieren Sie das gesammelte Modell von Remote-Quellen |
|
||||
| `OPENCODE_FAKE_VCS` | Zeichenfolge | Gefälschter VCS-Anbieter zu Testzwecken |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolescher Wert | Dateizeitprüfung zur Optimierung deaktivieren |
|
||||
| `OPENCODE_CLIENT` | Zeichenfolge | Client-ID (standardmäßig `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | boolescher Wert | Exa-Websuchtools aktivieren |
|
||||
| `OPENCODE_SERVER_PASSWORD` | Zeichenfolge | Aktivieren Sie die Basisauthentifizierung für `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | Zeichenfolge | Benutzernamen für die Basisauthentifizierung überschreiben (Standard `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | Zeichenfolge | Benutzerdefinierte URL zum Erhalten der Modellkonfiguration |
|
||||
|
||||
---
|
||||
|
||||
@@ -584,18 +584,18 @@ OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden.
|
||||
|
||||
Diese Umgebungsvariablen ermöglichen experimentelle Funktionen, die sich ändern oder entfernen können.
|
||||
|
||||
| Variable | Geben Sie | eine Beschreibung |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolescher Wert | Alle experimentellen Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolescher Wert | Symbolerkennung aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolescher Wert | Kopieren bei Auswahl in TUI | deaktivieren
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | Zahl | Standard-Timeout für Bash-Befehle in ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | Zahl | Maximale Ausgabetokens für LLM-Antworten |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolescher Wert | Dateiüberwachung für das gesamte Verzeichnis aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolescher Wert | Oxfmt-Formatierer aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolescher Wert | Experimentelles LSP-Tool aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolescher Wert | Dateiüberwachung deaktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolescher Wert | Experimentelle Exa-Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolescher Wert | Experimentelle LSP-Typprüfung aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolescher Wert | Experimentelle Markdown-Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolescher Wert | Planmodus aktivieren |
|
||||
| Variable | Geben Sie | eine Beschreibung |
|
||||
| ----------------------------------------------- | --------------- | ------------------------------------------------------- | ------------ |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolescher Wert | Alle experimentellen Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolescher Wert | Symbolerkennung aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolescher Wert | Kopieren bei Auswahl in TUI | deaktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | Zahl | Standard-Timeout für Bash-Befehle in ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | Zahl | Maximale Ausgabetokens für LLM-Antworten |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolescher Wert | Dateiüberwachung für das gesamte Verzeichnis aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolescher Wert | Oxfmt-Formatierer aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolescher Wert | Experimentelles LSP-Tool aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolescher Wert | Dateiüberwachung deaktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolescher Wert | Experimentelle Exa-Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolescher Wert | Experimentelle LSP-Typprüfung aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolescher Wert | Experimentelle Markdown-Funktionen aktivieren |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolescher Wert | Planmodus aktivieren |
|
||||
|
||||
@@ -15,62 +15,62 @@ Sie können sich auch [awesome-opencode](https://github.com/awesome-opencode/awe
|
||||
|
||||
## Plugins
|
||||
|
||||
| Name | Beschreibung |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Führen Sie OpenCode-Sitzungen automatisch in isolierten Daytona-Sandboxes mit Git-Synchronisierung und Live-Vorschauen aus |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Helicone-Sitzungsheader für die Anforderungsgruppierung automatisch einfügen |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | TypeScript/Svelte-Typen mit Suchtools automatisch in Dateilesevorgänge einfügen |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Verwenden Sie Ihr ChatGPT Plus/Pro-Abonnement anstelle von API Credits |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Verwenden Sie Ihren bestehenden Gemini-Plan anstelle der API-Abrechnung |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Nutzen Sie die kostenlosen Modelle von Antigravity anstelle der API-Abrechnung |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Multi-Branch-Devcontainer-Isolierung mit flachen Klonen und automatisch zugewiesenen Ports |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth-Plugin mit Unterstützung für die Google-Suche und robustere API-Verarbeitung |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimieren Sie die Token-Nutzung, indem Sie veraltete Tool-Ausgaben bereinigen |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Fügen Sie native Websuchunterstützung für unterstützte Anbieter mit Google Grounded Style hinzu |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Ermöglicht AI-Agenten, Hintergrundprozesse in einem PTY auszuführen und ihnen interaktive Eingaben zu senden. |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Anweisungen für nicht interaktive Shell-Befehle – verhindert Abstürze bei TTY-abhängigen Vorgängen |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Verfolgen Sie die Nutzung von OpenCode mit Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Von LLMs | erstellte Abschriftentabellen bereinigen
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x schnellere Codebearbeitung mit Morph Fast Apply API und Lazy-Edit-Markern |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Hintergrundagenten, vorgefertigte LSP/AST/MCP-Tools, kuratierte Agenten, Claude Code-kompatibel |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Desktop-Benachrichtigungen und akustische Warnungen für OpenCode-Sitzungen |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Desktop-Benachrichtigungen und akustische Warnungen für Berechtigungs-, Abschluss- und Fehlerereignisse |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | AI-gestützte automatische Benennung von Zellij-Sitzungen basierend auf dem OpenCode-Kontext |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Ermöglichen Sie OpenCode-Agenten das verzögerte Laden von Eingabeaufforderungen bei Bedarf mit Skill-Erkennung und -Injektion |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Persistenter Speicher über Sitzungen hinweg mit Supermemory |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Interaktive Planüberprüfung mit visueller Anmerkung und private/offline-Freigabe |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Erweitern Sie Opencode /commands zu einem leistungsstarken Orchestrierungssystem mit granularer Flusskontrolle |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Planen Sie wiederkehrende Jobs mit launchd (Mac) oder systemd (Linux) mit Cron-Syntax |
|
||||
| [micode](https://github.com/vtemian/micode) | Strukturiertes Brainstorming → Planen → Workflow mit Sitzungskontinuität Implementierung |
|
||||
| [octto](https://github.com/vtemian/octto) | Interaktiver Browser UI für AI Brainstorming mit Formularen mit mehreren Fragen |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Hintergrundagenten im Claude Code-Stil mit asynchroner Delegation und Kontextpersistenz |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Native OS-Benachrichtigungen für OpenCode – wissen, wann Aufgaben erledigt sind |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Gebündelter Multi-Agent-Orchestrierungs-Harness – 16 Komponenten, eine Installation |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Reibungslose Git-Arbeitsbäume für OpenCode |
|
||||
| Name | Beschreibung |
|
||||
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Führen Sie OpenCode-Sitzungen automatisch in isolierten Daytona-Sandboxes mit Git-Synchronisierung und Live-Vorschauen aus |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Helicone-Sitzungsheader für die Anforderungsgruppierung automatisch einfügen |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | TypeScript/Svelte-Typen mit Suchtools automatisch in Dateilesevorgänge einfügen |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Verwenden Sie Ihr ChatGPT Plus/Pro-Abonnement anstelle von API Credits |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Verwenden Sie Ihren bestehenden Gemini-Plan anstelle der API-Abrechnung |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Nutzen Sie die kostenlosen Modelle von Antigravity anstelle der API-Abrechnung |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Multi-Branch-Devcontainer-Isolierung mit flachen Klonen und automatisch zugewiesenen Ports |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth-Plugin mit Unterstützung für die Google-Suche und robustere API-Verarbeitung |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimieren Sie die Token-Nutzung, indem Sie veraltete Tool-Ausgaben bereinigen |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Fügen Sie native Websuchunterstützung für unterstützte Anbieter mit Google Grounded Style hinzu |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Ermöglicht AI-Agenten, Hintergrundprozesse in einem PTY auszuführen und ihnen interaktive Eingaben zu senden. |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Anweisungen für nicht interaktive Shell-Befehle – verhindert Abstürze bei TTY-abhängigen Vorgängen |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Verfolgen Sie die Nutzung von OpenCode mit Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Von LLMs | erstellte Abschriftentabellen bereinigen |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x schnellere Codebearbeitung mit Morph Fast Apply API und Lazy-Edit-Markern |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Hintergrundagenten, vorgefertigte LSP/AST/MCP-Tools, kuratierte Agenten, Claude Code-kompatibel |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Desktop-Benachrichtigungen und akustische Warnungen für OpenCode-Sitzungen |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Desktop-Benachrichtigungen und akustische Warnungen für Berechtigungs-, Abschluss- und Fehlerereignisse |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | AI-gestützte automatische Benennung von Zellij-Sitzungen basierend auf dem OpenCode-Kontext |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Ermöglichen Sie OpenCode-Agenten das verzögerte Laden von Eingabeaufforderungen bei Bedarf mit Skill-Erkennung und -Injektion |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Persistenter Speicher über Sitzungen hinweg mit Supermemory |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Interaktive Planüberprüfung mit visueller Anmerkung und private/offline-Freigabe |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Erweitern Sie Opencode /commands zu einem leistungsstarken Orchestrierungssystem mit granularer Flusskontrolle |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Planen Sie wiederkehrende Jobs mit launchd (Mac) oder systemd (Linux) mit Cron-Syntax |
|
||||
| [micode](https://github.com/vtemian/micode) | Strukturiertes Brainstorming → Planen → Workflow mit Sitzungskontinuität Implementierung |
|
||||
| [octto](https://github.com/vtemian/octto) | Interaktiver Browser UI für AI Brainstorming mit Formularen mit mehreren Fragen |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Hintergrundagenten im Claude Code-Stil mit asynchroner Delegation und Kontextpersistenz |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Native OS-Benachrichtigungen für OpenCode – wissen, wann Aufgaben erledigt sind |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Gebündelter Multi-Agent-Orchestrierungs-Harness – 16 Komponenten, eine Installation |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Reibungslose Git-Arbeitsbäume für OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Projects
|
||||
|
||||
| Name | Beschreibung |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Discord-Bot zur Steuerung von OpenCode-Sitzungen, basierend auf SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim-Plugin für editorfähige Eingabeaufforderungen, basierend auf API |
|
||||
| [portal](https://github.com/hosenur/portal) | Mobile-First-Web UI für OpenCode über Tailscale/VPN |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Vorlage zum Erstellen von OpenCode-Plugins |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim-Frontend für Opencode – ein terminalbasierter AI-Coding-Agent |
|
||||
| Name | Beschreibung |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | --------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Discord-Bot zur Steuerung von OpenCode-Sitzungen, basierend auf SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim-Plugin für editorfähige Eingabeaufforderungen, basierend auf API |
|
||||
| [portal](https://github.com/hosenur/portal) | Mobile-First-Web UI für OpenCode über Tailscale/VPN |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Vorlage zum Erstellen von OpenCode-Plugins |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim-Frontend für Opencode – ein terminalbasierter AI-Coding-Agent |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Vercel AI SDK Anbieter für die Verwendung von OpenCode über @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Web-/Desktop-App und VS Code-Erweiterung für OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian-Plugin, das OpenCode in Obsidians UI | einbettet
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Eine Open-Source-Alternative zu Claude Cowork, unterstützt von OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode Erweiterungsmanager mit portablen, isolierten Profilen. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Desktop-, Web-, Mobil- und Remote-Client-App für OpenCode |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Web-/Desktop-App und VS Code-Erweiterung für OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian-Plugin, das OpenCode in Obsidians UI | einbettet |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Eine Open-Source-Alternative zu Claude Cowork, unterstützt von OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode Erweiterungsmanager mit portablen, isolierten Profilen. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Desktop-, Web-, Mobil- und Remote-Client-App für OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agents
|
||||
|
||||
| Name | Beschreibung |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | Modulare AI-Agenten und -Befehle für strukturierte Entwicklung |
|
||||
| Name | Beschreibung |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | Modulare AI-Agenten und -Befehle für strukturierte Entwicklung |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Konfigurationen, Eingabeaufforderungen, Agenten und Plugins für verbesserte Arbeitsabläufe |
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode formatiert Dateien automatisch, nachdem sie mit sprachspezifischen Form
|
||||
|
||||
OpenCode verfügt über mehrere integrierte Formatierer für gängige Sprachen und Frameworks. Nachfolgend finden Sie eine Liste der Formatierer, unterstützten Dateierweiterungen und benötigten Befehle oder Konfigurationsoptionen.
|
||||
|
||||
| Formatierer | Erweiterungen | Anforderungen |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt`-Befehl verfügbar |
|
||||
| mischen | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix`-Befehl verfügbar |
|
||||
| hübscher | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml und [more](https://prettier.io/docs/en/index.html) | `prettier`-Abhängigkeit in `package.json` |
|
||||
| Biom | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml und [more](https://biomejs.dev/) | `biome.json(c)` Konfigurationsdatei |
|
||||
| Zickzack | .zig, .zon | `zig`-Befehl verfügbar |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino und [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` Konfigurationsdatei |
|
||||
| ktlint | .kt, .kts | `ktlint`-Befehl verfügbar |
|
||||
| Halskrause | .py, .pyi | `ruff`-Befehl verfügbar mit config |
|
||||
| rustfmt | .rs | `rustfmt`-Befehl verfügbar |
|
||||
| frachtfmt | .rs | `cargo fmt`-Befehl verfügbar |
|
||||
| UV | .py, .pyi | `uv`-Befehl verfügbar |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop`-Befehl verfügbar |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb`-Befehl verfügbar |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier`-Befehl verfügbar |
|
||||
| Luft | .R | `air`-Befehl verfügbar |
|
||||
| Dart | .dart | `dart`-Befehl verfügbar |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` Befehl verfügbar und `.ocamlformat` Konfigurationsdatei |
|
||||
| Terraform | .tf, .tfvars | `terraform`-Befehl verfügbar |
|
||||
| Glanz | .glanz | `gleam`-Befehl verfügbar |
|
||||
| nixfmt | .nix | `nixfmt`-Befehl verfügbar |
|
||||
| shfmt | .sh, .bash | `shfmt`-Befehl verfügbar |
|
||||
| Pint | .php | `laravel/pint`-Abhängigkeit in `composer.json` |
|
||||
| oxfmt (Experimentell) | .js, .jsx, .ts, .tsx | `oxfmt`-Abhängigkeit in `package.json` und einer [experimental env variable flag](/docs/cli/#experimental) |
|
||||
| Ormolu | .hs | `ormolu`-Befehl verfügbar |
|
||||
| Formatierer | Erweiterungen | Anforderungen |
|
||||
| --------------------- | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt`-Befehl verfügbar |
|
||||
| mischen | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix`-Befehl verfügbar |
|
||||
| hübscher | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml und [more](https://prettier.io/docs/en/index.html) | `prettier`-Abhängigkeit in `package.json` |
|
||||
| Biom | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml und [more](https://biomejs.dev/) | `biome.json(c)` Konfigurationsdatei |
|
||||
| Zickzack | .zig, .zon | `zig`-Befehl verfügbar |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino und [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` Konfigurationsdatei |
|
||||
| ktlint | .kt, .kts | `ktlint`-Befehl verfügbar |
|
||||
| Halskrause | .py, .pyi | `ruff`-Befehl verfügbar mit config |
|
||||
| rustfmt | .rs | `rustfmt`-Befehl verfügbar |
|
||||
| frachtfmt | .rs | `cargo fmt`-Befehl verfügbar |
|
||||
| UV | .py, .pyi | `uv`-Befehl verfügbar |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop`-Befehl verfügbar |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb`-Befehl verfügbar |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier`-Befehl verfügbar |
|
||||
| Luft | .R | `air`-Befehl verfügbar |
|
||||
| Dart | .dart | `dart`-Befehl verfügbar |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` Befehl verfügbar und `.ocamlformat` Konfigurationsdatei |
|
||||
| Terraform | .tf, .tfvars | `terraform`-Befehl verfügbar |
|
||||
| Glanz | .glanz | `gleam`-Befehl verfügbar |
|
||||
| nixfmt | .nix | `nixfmt`-Befehl verfügbar |
|
||||
| shfmt | .sh, .bash | `shfmt`-Befehl verfügbar |
|
||||
| Pint | .php | `laravel/pint`-Abhängigkeit in `composer.json` |
|
||||
| oxfmt (Experimentell) | .js, .jsx, .ts, .tsx | `oxfmt`-Abhängigkeit in `package.json` und einer [experimental env variable flag](/docs/cli/#experimental) |
|
||||
| Ormolu | .hs | `ormolu`-Befehl verfügbar |
|
||||
|
||||
Wenn Ihr Projekt auch `prettier` in Ihrem `package.json` hat, wird OpenCode automatisch verwendet.
|
||||
|
||||
@@ -67,12 +67,12 @@ Sie können Formatierer über den Abschnitt `formatter` in Ihrer OpenCode-Konfig
|
||||
|
||||
Jede Formatierungskonfiguration unterstützt Folgendes:
|
||||
|
||||
| Eigentum | Geben Sie | eine Beschreibung |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | boolescher Wert | Setzen Sie dies auf `true`, um den Formatierer | zu deaktivieren
|
||||
| `command` | string[] | Der zum Formatieren auszuführende Befehl |
|
||||
| `environment` | Objekt | Umgebungsvariablen, die beim Ausführen des Formatierers | festgelegt werden sollen
|
||||
| `extensions` | string[] | Dateierweiterungen, die dieser Formatierer verarbeiten soll |
|
||||
| Eigentum | Geben Sie | eine Beschreibung |
|
||||
| ------------- | --------------- | ----------------------------------------------------------- | ------------------------ |
|
||||
| `disabled` | boolescher Wert | Setzen Sie dies auf `true`, um den Formatierer | zu deaktivieren |
|
||||
| `command` | string[] | Der zum Formatieren auszuführende Befehl |
|
||||
| `environment` | Objekt | Umgebungsvariablen, die beim Ausführen des Formatierers | festgelegt werden sollen |
|
||||
| `extensions` | string[] | Dateierweiterungen, die dieser Formatierer verarbeiten soll |
|
||||
|
||||
Schauen wir uns einige Beispiele an.
|
||||
|
||||
|
||||
@@ -105,14 +105,14 @@ Oder Sie können es manuell einrichten.
|
||||
|
||||
OpenCode kann durch die folgenden GitHub-Ereignisse ausgelöst werden:
|
||||
|
||||
| Ereignistyp | Ausgelöst durch | Einzelheiten |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Kommentieren Sie ein Problem oder PR | Erwähnen Sie `/opencode` oder `/oc` in Ihrem Kommentar. OpenCode liest den Kontext und kann Verzweigungen erstellen, PRs öffnen oder antworten. |
|
||||
| `pull_request_review_comment` | Kommentieren Sie bestimmte Codezeilen in einem PR | Erwähnen Sie `/opencode` oder `/oc` beim Überprüfen des Codes. OpenCode empfängt Dateipfad, Zeilennummern und Diff-Kontext. |
|
||||
| `issues` | Problem geöffnet oder bearbeitet | Lösen Sie OpenCode automatisch aus, wenn Probleme erstellt oder geändert werden. Erfordert `prompt`-Eingabe. |
|
||||
| `pull_request` | PR geöffnet oder aktualisiert | Lösen Sie OpenCode automatisch aus, wenn PRs geöffnet, synchronisiert oder erneut geöffnet werden. Nützlich für automatisierte Bewertungen. |
|
||||
| `schedule` | Cron-basierter Zeitplan | Führen Sie OpenCode nach einem Zeitplan aus. Erfordert `prompt`-Eingabe. Die Ausgabe geht an Protokolle und PRs (kein Kommentar zu diesem Problem). |
|
||||
| `workflow_dispatch` | Manueller Trigger von GitHub UI | Lösen Sie OpenCode bei Bedarf über die Registerkarte „Aktionen“ aus. Erfordert `prompt`-Eingabe. Die Ausgabe erfolgt an Protokolle und PRs. |
|
||||
| Ereignistyp | Ausgelöst durch | Einzelheiten |
|
||||
| ----------------------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Kommentieren Sie ein Problem oder PR | Erwähnen Sie `/opencode` oder `/oc` in Ihrem Kommentar. OpenCode liest den Kontext und kann Verzweigungen erstellen, PRs öffnen oder antworten. |
|
||||
| `pull_request_review_comment` | Kommentieren Sie bestimmte Codezeilen in einem PR | Erwähnen Sie `/opencode` oder `/oc` beim Überprüfen des Codes. OpenCode empfängt Dateipfad, Zeilennummern und Diff-Kontext. |
|
||||
| `issues` | Problem geöffnet oder bearbeitet | Lösen Sie OpenCode automatisch aus, wenn Probleme erstellt oder geändert werden. Erfordert `prompt`-Eingabe. |
|
||||
| `pull_request` | PR geöffnet oder aktualisiert | Lösen Sie OpenCode automatisch aus, wenn PRs geöffnet, synchronisiert oder erneut geöffnet werden. Nützlich für automatisierte Bewertungen. |
|
||||
| `schedule` | Cron-basierter Zeitplan | Führen Sie OpenCode nach einem Zeitplan aus. Erfordert `prompt`-Eingabe. Die Ausgabe geht an Protokolle und PRs (kein Kommentar zu diesem Problem). |
|
||||
| `workflow_dispatch` | Manueller Trigger von GitHub UI | Lösen Sie OpenCode bei Bedarf über die Registerkarte „Aktionen“ aus. Erfordert `prompt`-Eingabe. Die Ausgabe erfolgt an Protokolle und PRs. |
|
||||
|
||||
### Beispiel für einen Zeitplan
|
||||
|
||||
|
||||
@@ -134,21 +134,21 @@ Sie können eine Tastenkombination deaktivieren, indem Sie den Schlüssel mit de
|
||||
|
||||
Die Eingabeaufforderungseingabe der OpenCode-Desktop-App unterstützt gängige Readline/Emacs-style-Verknüpfungen zum Bearbeiten von Text. Diese sind integriert und derzeit nicht über `opencode.json` konfigurierbar.
|
||||
|
||||
| Verknüpfung | Aktion |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Zum Anfang der aktuellen Zeile gehen |
|
||||
| `ctrl+e` | Zum Ende der aktuellen Zeile gehen |
|
||||
| `ctrl+b` | Cursor um ein Zeichen zurückbewegen |
|
||||
| `ctrl+f` | Cursor um ein Zeichen vorwärts bewegen |
|
||||
| `alt+b` | Cursor um ein Wort zurückbewegen |
|
||||
| `alt+f` | Bewegen Sie den Cursor ein Wort vorwärts |
|
||||
| `ctrl+d` | Zeichen unter Cursor | löschen
|
||||
| `ctrl+k` | Bis zum Zeilenende töten |
|
||||
| `ctrl+u` | Bis zum Zeilenanfang töten |
|
||||
| `ctrl+w` | Vorheriges Wort töten |
|
||||
| `alt+d` | Nächstes Wort töten |
|
||||
| `ctrl+t` | Zeichen transponieren |
|
||||
| `ctrl+g` | Popovers abbrechen / Ausführung der Antwort abbrechen |
|
||||
| Verknüpfung | Aktion |
|
||||
| ----------- | ----------------------------------------------------- | ------- |
|
||||
| `ctrl+a` | Zum Anfang der aktuellen Zeile gehen |
|
||||
| `ctrl+e` | Zum Ende der aktuellen Zeile gehen |
|
||||
| `ctrl+b` | Cursor um ein Zeichen zurückbewegen |
|
||||
| `ctrl+f` | Cursor um ein Zeichen vorwärts bewegen |
|
||||
| `alt+b` | Cursor um ein Wort zurückbewegen |
|
||||
| `alt+f` | Bewegen Sie den Cursor ein Wort vorwärts |
|
||||
| `ctrl+d` | Zeichen unter Cursor | löschen |
|
||||
| `ctrl+k` | Bis zum Zeilenende töten |
|
||||
| `ctrl+u` | Bis zum Zeilenanfang töten |
|
||||
| `ctrl+w` | Vorheriges Wort töten |
|
||||
| `alt+d` | Nächstes Wort töten |
|
||||
| `ctrl+t` | Zeichen transponieren |
|
||||
| `ctrl+g` | Popovers abbrechen / Ausführung der Antwort abbrechen |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -11,40 +11,40 @@ OpenCode lässt sich in Ihr Language Server Protocol (LSP) integrieren, um die I
|
||||
|
||||
OpenCode verfügt über mehrere integrierte LSP-Server für gängige Sprachen:
|
||||
|
||||
| LSP Server | Erweiterungen | Anforderungen |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| Astro | .astro | Automatische Installation für Astro-Projekte |
|
||||
| bash | .sh, .bash, .zsh, .ksh | Installiert den Bash-Language-Server | automatisch
|
||||
| klirrend | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Automatische Installation für C/C++-Projekte |
|
||||
| csharp | .cs | `.NET SDK` installed |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp`-Befehl verfügbar |
|
||||
| Dart | .dart | `dart`-Befehl verfügbar |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno`-Befehl verfügbar (automatische Erkennung von deno.json/deno.jsonc) |
|
||||
| Elixier-ls | .ex, .exs | `elixir`-Befehl verfügbar |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependency in project |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installed |
|
||||
| Glanz | .glanz | `gleam`-Befehl verfügbar |
|
||||
| gopls | .go | `go`-Befehl verfügbar |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper`-Befehl verfügbar |
|
||||
| jdtls | .java | `Java SDK (version 21+)` installiert |
|
||||
| kotlin-ls | .kt, .kts | Automatische Installation für Kotlin-Projekte |
|
||||
| lua-ls | .lua | Automatische Installation für Lua-Projekte |
|
||||
| nixd | .nix | `nixd`-Befehl verfügbar |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp`-Befehl verfügbar |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependency in project |
|
||||
| PHP Intelepense | .php | Automatische Installation für PHP-Projekte |
|
||||
| Prisma | .prisma | `prisma`-Befehl verfügbar |
|
||||
| pyright | .py, .pyi | `pyright` dependency installed |
|
||||
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Befehle `ruby` und `gem` verfügbar |
|
||||
| Rost | .rs | `rust-analyzer`-Befehl verfügbar |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installed (`xcode` on macOS) |
|
||||
| schlank | .svelte | Automatische Installation für Svelte-Projekte |
|
||||
| Terraform | .tf, .tfvars | Automatische Installation von GitHub-Releases |
|
||||
| winziger Nebel | .typ, .typc | Automatische Installation von GitHub-Releases |
|
||||
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependency in project |
|
||||
| vue | .vue | Automatische Installation für Vue-Projekte |
|
||||
| yaml-ls | .yaml, .yml | Installiert den Red Hat Yaml-Language-Server | automatisch
|
||||
| zls | .zig, .zon | `zig`-Befehl verfügbar |
|
||||
| LSP Server | Erweiterungen | Anforderungen |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------- |
|
||||
| Astro | .astro | Automatische Installation für Astro-Projekte |
|
||||
| bash | .sh, .bash, .zsh, .ksh | Installiert den Bash-Language-Server | automatisch |
|
||||
| klirrend | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Automatische Installation für C/C++-Projekte |
|
||||
| csharp | .cs | `.NET SDK` installed |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp`-Befehl verfügbar |
|
||||
| Dart | .dart | `dart`-Befehl verfügbar |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno`-Befehl verfügbar (automatische Erkennung von deno.json/deno.jsonc) |
|
||||
| Elixier-ls | .ex, .exs | `elixir`-Befehl verfügbar |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependency in project |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installed |
|
||||
| Glanz | .glanz | `gleam`-Befehl verfügbar |
|
||||
| gopls | .go | `go`-Befehl verfügbar |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper`-Befehl verfügbar |
|
||||
| jdtls | .java | `Java SDK (version 21+)` installiert |
|
||||
| kotlin-ls | .kt, .kts | Automatische Installation für Kotlin-Projekte |
|
||||
| lua-ls | .lua | Automatische Installation für Lua-Projekte |
|
||||
| nixd | .nix | `nixd`-Befehl verfügbar |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp`-Befehl verfügbar |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependency in project |
|
||||
| PHP Intelepense | .php | Automatische Installation für PHP-Projekte |
|
||||
| Prisma | .prisma | `prisma`-Befehl verfügbar |
|
||||
| pyright | .py, .pyi | `pyright` dependency installed |
|
||||
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Befehle `ruby` und `gem` verfügbar |
|
||||
| Rost | .rs | `rust-analyzer`-Befehl verfügbar |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installed (`xcode` on macOS) |
|
||||
| schlank | .svelte | Automatische Installation für Svelte-Projekte |
|
||||
| Terraform | .tf, .tfvars | Automatische Installation von GitHub-Releases |
|
||||
| winziger Nebel | .typ, .typc | Automatische Installation von GitHub-Releases |
|
||||
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependency in project |
|
||||
| vue | .vue | Automatische Installation für Vue-Projekte |
|
||||
| yaml-ls | .yaml, .yml | Installiert den Red Hat Yaml-Language-Server | automatisch |
|
||||
| zls | .zig, .zon | `zig`-Befehl verfügbar |
|
||||
|
||||
LSP-Server werden automatisch aktiviert, wenn eine der oben genannten Dateierweiterungen erkannt wird und die Anforderungen erfüllt sind.
|
||||
|
||||
@@ -76,13 +76,13 @@ Sie können LSP-Server über den Abschnitt `lsp` in Ihrer Opencode-Konfiguration
|
||||
|
||||
Jeder LSP-Server unterstützt Folgendes:
|
||||
|
||||
| Eigentum | Geben Sie | ein Beschreibung |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` | boolescher Wert | Setzen Sie dies auf `true`, um den LSP-Server zu deaktivieren
|
||||
| `command` | string[] | Der Befehl zum Starten des LSP-Servers |
|
||||
| `extensions` | string[] | Dateierweiterungen, die dieser LSP-Server verarbeiten soll |
|
||||
| `env` | Objekt | Umgebungsvariablen, die beim Starten des Servers festgelegt werden |
|
||||
| `initialization` | Objekt | Initialisierungsoptionen zum Senden an den LSP-Server |
|
||||
| Eigentum | Geben Sie | ein Beschreibung |
|
||||
| ---------------- | --------------- | ------------------------------------------------------------------ |
|
||||
| `disabled` | boolescher Wert | Setzen Sie dies auf `true`, um den LSP-Server zu deaktivieren |
|
||||
| `command` | string[] | Der Befehl zum Starten des LSP-Servers |
|
||||
| `extensions` | string[] | Dateierweiterungen, die dieser LSP-Server verarbeiten soll |
|
||||
| `env` | Objekt | Umgebungsvariablen, die beim Starten des Servers festgelegt werden |
|
||||
| `initialization` | Objekt | Initialisierungsoptionen zum Senden an den LSP-Server |
|
||||
|
||||
Schauen wir uns einige Beispiele an.
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
Hier finden Sie alle Optionen zum Konfigurieren eines lokalen MCP-Servers.
|
||||
|
||||
| Option | Geben Sie | ein Erforderlich | Beschreibung |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Zeichenfolge | Y | Typ der MCP-Serververbindung, muss `"local"` sein. |
|
||||
| `command` | Array | Y | Befehl und Argumente zum Ausführen des MCP-Servers. |
|
||||
| `environment` | Objekt | | Umgebungsvariablen, die beim Ausführen des Servers festgelegt werden sollen. |
|
||||
| `enabled` | Boolescher Wert | | Aktivieren oder deaktivieren Sie den MCP-Server beim Start. |
|
||||
| `timeout` | Nummer | | Timeout in ms für das Abrufen von Tools vom MCP-Server. Standardmäßig ist 5000 (5 Sekunden). |
|
||||
| Option | Geben Sie | ein Erforderlich | Beschreibung |
|
||||
| ------------- | --------------- | ---------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `type` | Zeichenfolge | Y | Typ der MCP-Serververbindung, muss `"local"` sein. |
|
||||
| `command` | Array | Y | Befehl und Argumente zum Ausführen des MCP-Servers. |
|
||||
| `environment` | Objekt | | Umgebungsvariablen, die beim Ausführen des Servers festgelegt werden sollen. |
|
||||
| `enabled` | Boolescher Wert | | Aktivieren oder deaktivieren Sie den MCP-Server beim Start. |
|
||||
| `timeout` | Nummer | | Timeout in ms für das Abrufen von Tools vom MCP-Server. Standardmäßig ist 5000 (5 Sekunden). |
|
||||
|
||||
---
|
||||
|
||||
@@ -152,14 +152,14 @@ Der `url` ist der URL des Remote-Servers MCP und mit der Option `headers` könne
|
||||
|
||||
#### Options
|
||||
|
||||
| Option | Geben Sie | ein Erforderlich | Beschreibung |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Zeichenfolge | Y | Typ der MCP-Serververbindung, muss `"remote"` sein. |
|
||||
| `url` | Zeichenfolge | Y | URL des Remote-Servers MCP. |
|
||||
| `enabled` | Boolescher Wert | | Aktivieren oder deaktivieren Sie den MCP-Server beim Start. |
|
||||
| `headers` | Objekt | | Header, die mit der Anfrage gesendet werden sollen. |
|
||||
| `oauth` | Objekt | | OAuth-Authentifizierungskonfiguration. Siehe Abschnitt [OAuth](#oauth) unten. |
|
||||
| `timeout` | Nummer | | Timeout in ms für das Abrufen von Tools vom MCP-Server. Standardmäßig ist 5000 (5 Sekunden). |
|
||||
| Option | Geben Sie | ein Erforderlich | Beschreibung |
|
||||
| --------- | --------------- | ---------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `type` | Zeichenfolge | Y | Typ der MCP-Serververbindung, muss `"remote"` sein. |
|
||||
| `url` | Zeichenfolge | Y | URL des Remote-Servers MCP. |
|
||||
| `enabled` | Boolescher Wert | | Aktivieren oder deaktivieren Sie den MCP-Server beim Start. |
|
||||
| `headers` | Objekt | | Header, die mit der Anfrage gesendet werden sollen. |
|
||||
| `oauth` | Objekt | | OAuth-Authentifizierungskonfiguration. Siehe Abschnitt [OAuth](#oauth) unten. |
|
||||
| `timeout` | Nummer | | Timeout in ms für das Abrufen von Tools vom MCP-Server. Standardmäßig ist 5000 (5 Sekunden). |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,12 +266,12 @@ Wenn Sie automatisches OAuth für einen Server deaktivieren möchten (e.g., für
|
||||
|
||||
#### OAuth-Optionen
|
||||
|
||||
| Option | Geben Sie | ein Beschreibung |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objekt \| falsch | OAuth-Konfigurationsobjekt oder `false`, um die automatische OAuth-Erkennung zu deaktivieren. |
|
||||
| `clientId` | Zeichenfolge | OAuth-Client ID. Wenn nicht angegeben, wird eine dynamische Client-Registrierung versucht. |
|
||||
| `clientSecret` | Zeichenfolge | OAuth-Client-Geheimnis, falls vom Autorisierungsserver erforderlich. |
|
||||
| `scope` | Zeichenfolge | OAuth-Bereiche, die während der Autorisierung angefordert werden sollen. |
|
||||
| Option | Geben Sie | ein Beschreibung |
|
||||
| -------------- | ---------------- | --------------------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objekt \| falsch | OAuth-Konfigurationsobjekt oder `false`, um die automatische OAuth-Erkennung zu deaktivieren. |
|
||||
| `clientId` | Zeichenfolge | OAuth-Client ID. Wenn nicht angegeben, wird eine dynamische Client-Registrierung versucht. |
|
||||
| `clientSecret` | Zeichenfolge | OAuth-Client-Geheimnis, falls vom Autorisierungsserver erforderlich. |
|
||||
| `scope` | Zeichenfolge | OAuth-Bereiche, die während der Autorisierung angefordert werden sollen. |
|
||||
|
||||
#### Debugging
|
||||
|
||||
|
||||
@@ -225,19 +225,19 @@ Wenn keine Tools angegeben sind, sind alle Tools standardmäßig aktiviert.
|
||||
|
||||
Hier sind alle Tools aufgeführt, die über den Konfigurationsmodus gesteuert werden können.
|
||||
|
||||
| Werkzeug | Beschreibung |
|
||||
| ----------- | ----------------------- |
|
||||
| `bash` | Shell-Befehle ausführen |
|
||||
| `edit` | Vorhandene Dateien ändern |
|
||||
| `write` | Neue Dateien erstellen |
|
||||
| `read` | Dateiinhalt lesen |
|
||||
| `grep` | Dateiinhalte durchsuchen |
|
||||
| `glob` | Dateien nach Muster suchen |
|
||||
| `list` | Verzeichnisinhalte auflisten |
|
||||
| `patch` | Patches auf Dateien anwenden |
|
||||
| `todowrite` | Aufgabenlisten verwalten |
|
||||
| `todoread` | Aufgabenlisten lesen |
|
||||
| `webfetch` | Webinhalte abrufen |
|
||||
| Werkzeug | Beschreibung |
|
||||
| ----------- | ---------------------------- |
|
||||
| `bash` | Shell-Befehle ausführen |
|
||||
| `edit` | Vorhandene Dateien ändern |
|
||||
| `write` | Neue Dateien erstellen |
|
||||
| `read` | Dateiinhalt lesen |
|
||||
| `grep` | Dateiinhalte durchsuchen |
|
||||
| `glob` | Dateien nach Muster suchen |
|
||||
| `list` | Verzeichnisinhalte auflisten |
|
||||
| `patch` | Patches auf Dateien anwenden |
|
||||
| `todowrite` | Aufgabenlisten verwalten |
|
||||
| `todoread` | Aufgabenlisten lesen |
|
||||
| `webfetch` | Webinhalte abrufen |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1023,12 +1023,12 @@ Das Plugin fügt `Helicone-Session-Id`- und `Helicone-Session-Name`-Header in Ih
|
||||
|
||||
##### Gängige Helicone-Header
|
||||
|
||||
| Kopfzeile | Beschreibung |
|
||||
| -------------------------- | ------------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | Antwort-Caching aktivieren (`true`/`false`) |
|
||||
| `Helicone-User-Id` | Verfolgen Sie Metriken nach Benutzer |
|
||||
| Kopfzeile | Beschreibung |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | Antwort-Caching aktivieren (`true`/`false`) |
|
||||
| `Helicone-User-Id` | Verfolgen Sie Metriken nach Benutzer |
|
||||
| `Helicone-Property-[Name]` | Benutzerdefinierte Eigenschaften hinzufügen (e.g., `Helicone-Property-Environment`) |
|
||||
| `Helicone-Prompt-Id` | Anfragen mit Eingabeaufforderungsversionen verknüpfen |
|
||||
| `Helicone-Prompt-Id` | Anfragen mit Eingabeaufforderungsversionen verknüpfen |
|
||||
|
||||
Alle verfügbaren Header finden Sie unter [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory).
|
||||
|
||||
@@ -1638,10 +1638,10 @@ Sie können Modelle auch über Ihre Opencode-Konfiguration anpassen. Hier ist ei
|
||||
|
||||
Einige nützliche Routing-Optionen:
|
||||
|
||||
| Option | Beschreibung |
|
||||
| ------------------- | ---------------------------------------------------- |
|
||||
| `order` | Anbietersequenz zum Ausprobieren |
|
||||
| `only` | Auf bestimmte Anbieter beschränken |
|
||||
| Option | Beschreibung |
|
||||
| ------------------- | ----------------------------------------------------------------- |
|
||||
| `order` | Anbietersequenz zum Ausprobieren |
|
||||
| `only` | Auf bestimmte Anbieter beschränken |
|
||||
| `zeroDataRetention` | Verwenden Sie nur Anbieter mit Null-Datenaufbewahrungsrichtlinien |
|
||||
|
||||
---
|
||||
|
||||
@@ -29,15 +29,15 @@ opencode [project]
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Continuar la última sesión |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
| `--prompt` | | Aviso de uso |
|
||||
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
|
||||
| `--agent` | | Agente a utilizar |
|
||||
| `--port` | | Puerto para escuchar |
|
||||
| `--hostname` | | Nombre de host para escuchar |
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------ | ----- | ---------------------------------------------- |
|
||||
| `--continue` | `-c` | Continuar la última sesión |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
| `--prompt` | | Aviso de uso |
|
||||
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
|
||||
| `--agent` | | Agente a utilizar |
|
||||
| `--port` | | Puerto para escuchar |
|
||||
| `--hostname` | | Nombre de host para escuchar |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Directorio de trabajo para iniciar TUI en |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
| Bandera | Corto | Descripción |
|
||||
| ----------- | ----- | ----------------------------------------- |
|
||||
| `--dir` | | Directorio de trabajo para iniciar TUI en |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
|
||||
---
|
||||
|
||||
@@ -186,10 +186,10 @@ opencode github run
|
||||
|
||||
##### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| --------- | -------------------------------------- |
|
||||
| Bandera | Descripción |
|
||||
| --------- | ---------------------------------------------- |
|
||||
| `--event` | GitHub evento simulado para ejecutar el agente |
|
||||
| `--token` | GitHub token de acceso personal |
|
||||
| `--token` | GitHub token de acceso personal |
|
||||
|
||||
---
|
||||
|
||||
@@ -295,9 +295,9 @@ opencode models anthropic
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Actualizar la caché de modelos desde models.dev |
|
||||
| Bandera | Descripción |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--refresh` | Actualizar la caché de modelos desde models.dev |
|
||||
| `--verbose` | Utilice una salida del modelo más detallada (incluye metadatos como costos) |
|
||||
|
||||
Utilice el indicador `--refresh` para actualizar la lista de modelos almacenados en caché. Esto es útil cuando se han agregado nuevos modelos a un proveedor y desea verlos en OpenCode.
|
||||
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | El comando a ejecutar, use mensaje para args |
|
||||
| `--continue` | `-c` | Continuar la última sesión |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
| `--share` | | Comparte la sesión |
|
||||
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
|
||||
| `--agent` | | Agente a utilizar |
|
||||
| `--file` | `-f` | Archivo(s) para adjuntar al mensaje |
|
||||
| `--format` | | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
|
||||
| `--title` | | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
|
||||
| `--attach` | | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
|
||||
| `--port` | | Puerto para el servidor local (el puerto predeterminado es aleatorio) |
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------ | ----- | ----------------------------------------------------------------------------------- |
|
||||
| `--command` | | El comando a ejecutar, use mensaje para args |
|
||||
| `--continue` | `-c` | Continuar la última sesión |
|
||||
| `--session` | `-s` | ID de sesión para continuar |
|
||||
| `--share` | | Comparte la sesión |
|
||||
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
|
||||
| `--agent` | | Agente a utilizar |
|
||||
| `--file` | `-f` | Archivo(s) para adjuntar al mensaje |
|
||||
| `--format` | | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
|
||||
| `--title` | | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
|
||||
| `--attach` | | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
|
||||
| `--port` | | Puerto para el servidor local (el puerto predeterminado es aleatorio) |
|
||||
|
||||
---
|
||||
|
||||
@@ -362,12 +362,12 @@ Esto inicia un servidor HTTP que proporciona acceso API a la funcionalidad openc
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| `--hostname` | Nombre de host para escuchar |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
|
||||
| Bandera | Descripción |
|
||||
| ------------ | ---------------------------------------------------- |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| `--hostname` | Nombre de host para escuchar |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
|
||||
|
||||
---
|
||||
|
||||
@@ -391,10 +391,10 @@ opencode session list
|
||||
|
||||
##### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Limitar a N sesiones más recientes |
|
||||
| `--format` | | Formato de salida: tabla o json (tabla) |
|
||||
| Bandera | Corto | Descripción |
|
||||
| ------------- | ----- | --------------------------------------- |
|
||||
| `--max-count` | `-n` | Limitar a N sesiones más recientes |
|
||||
| `--format` | | Formato de salida: tabla o json (tabla) |
|
||||
|
||||
---
|
||||
|
||||
@@ -408,12 +408,12 @@ opencode stats
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` | Mostrar estadísticas de los últimos N días (todo el tiempo) |
|
||||
| `--tools` | Número de herramientas para mostrar (todas) |
|
||||
| `--models` | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
|
||||
| `--project` | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
|
||||
| Bandera | Descripción |
|
||||
| ----------- | ------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `--days` | Mostrar estadísticas de los últimos N días (todo el tiempo) |
|
||||
| `--tools` | Número de herramientas para mostrar (todas) |
|
||||
| `--models` | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
|
||||
| `--project` | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
|
||||
|
||||
---
|
||||
|
||||
@@ -458,12 +458,12 @@ Esto inicia un servidor HTTP y abre un navegador web para acceder a OpenCode a t
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| `--hostname` | Nombre de host para escuchar |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
|
||||
| Bandera | Descripción |
|
||||
| ------------ | ---------------------------------------------------- |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| `--hostname` | Nombre de host para escuchar |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
|
||||
|
||||
---
|
||||
|
||||
@@ -479,10 +479,10 @@ Este comando inicia un servidor ACP que se comunica a través de stdin/stdout us
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Descripción |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | Directorio de trabajo |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| Bandera | Descripción |
|
||||
| ------------ | ---------------------------- |
|
||||
| `--cwd` | Directorio de trabajo |
|
||||
| `--port` | Puerto para escuchar |
|
||||
| `--hostname` | Nombre de host para escuchar |
|
||||
|
||||
---
|
||||
@@ -497,12 +497,12 @@ opencode uninstall
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Mantener archivos de configuración |
|
||||
| `--keep-data` | `-d` | Conservar datos de sesión e instantáneas |
|
||||
| `--dry-run` | | Mostrar lo que se eliminaría sin eliminar |
|
||||
| `--force` | `-f` | Saltar mensajes de confirmación |
|
||||
| Bandera | Corto | Descripción |
|
||||
| --------------- | ----- | ----------------------------------------- |
|
||||
| `--keep-config` | `-c` | Mantener archivos de configuración |
|
||||
| `--keep-data` | `-d` | Conservar datos de sesión e instantáneas |
|
||||
| `--dry-run` | | Mostrar lo que se eliminaría sin eliminar |
|
||||
| `--force` | `-f` | Saltar mensajes de confirmación |
|
||||
|
||||
---
|
||||
|
||||
@@ -528,9 +528,9 @@ opencode upgrade v0.1.48
|
||||
|
||||
#### Banderas
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| `--method` | `-m` | El método de instalación que se utilizó; rizo, npm, pnpm, bollo, preparación |
|
||||
| Bandera | Corto | Descripción |
|
||||
| ---------- | ----- | ---------------------------------------------------------------------------- |
|
||||
| `--method` | `-m` | El método de instalación que se utilizó; rizo, npm, pnpm, bollo, preparación |
|
||||
|
||||
---
|
||||
|
||||
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
|
||||
|
||||
El opencode CLI toma las siguientes banderas globales.
|
||||
|
||||
| Bandera | Corto | Descripción |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Mostrar ayuda |
|
||||
| `--version` | `-v` | Número de versión de impresión |
|
||||
| `--print-logs` | | Imprimir registros en stderr |
|
||||
| `--log-level` | | Nivel de registro (DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR) |
|
||||
| Bandera | Corto | Descripción |
|
||||
| -------------- | ----- | --------------------------------------------------------------- |
|
||||
| `--help` | `-h` | Mostrar ayuda |
|
||||
| `--version` | `-v` | Número de versión de impresión |
|
||||
| `--print-logs` | | Imprimir registros en stderr |
|
||||
| `--log-level` | | Nivel de registro (DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
@@ -551,32 +551,32 @@ El opencode CLI toma las siguientes banderas globales.
|
||||
|
||||
OpenCode se puede configurar mediante variables de entorno.
|
||||
|
||||
| Variables | Tipo | Descripción |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente |
|
||||
| `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows |
|
||||
| `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración |
|
||||
| `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración |
|
||||
| `OPENCODE_CONFIG_CONTENT` | cadena | Contenido de configuración json en línea |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | booleano | Deshabilitar las comprobaciones automáticas de actualizaciones |
|
||||
| `OPENCODE_DISABLE_PRUNE` | booleano | Deshabilitar la poda de datos antiguos |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | booleano | Deshabilitar las actualizaciones automáticas de títulos de terminal |
|
||||
| `OPENCODE_PERMISSION` | cadena | Configuración de permisos json incorporados |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booleano | Deshabilitar complementos predeterminados |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | booleano | Deshabilitar las descargas automáticas del servidor LSP |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booleano | Habilitar modelos experimentales |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | booleano | Deshabilitar la compactación automática de contexto |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | booleano | Deshabilitar la lectura desde `.claude` (mensaje + habilidades) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booleano | Desactivar lectura `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booleano | Deshabilitar la carga `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | booleano | Deshabilitar la recuperación de modelos desde fuentes remotas |
|
||||
| `OPENCODE_FAKE_VCS` | cadena | Proveedor de VCS falso para fines de prueba |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | booleano | Deshabilite la verificación del tiempo del archivo para optimizarlo |
|
||||
| `OPENCODE_CLIENT` | cadena | Identificador de cliente (por defecto `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | booleano | Habilitar las herramientas de búsqueda web de Exa |
|
||||
| `OPENCODE_SERVER_PASSWORD` | cadena | Habilite la autenticación básica para `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | cadena | Anular el nombre de usuario de autenticación básica (predeterminado `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | cadena | URL personalizada para buscar la configuración de modelos |
|
||||
| Variables | Tipo | Descripción |
|
||||
| ------------------------------------- | -------- | ------------------------------------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente |
|
||||
| `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows |
|
||||
| `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración |
|
||||
| `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración |
|
||||
| `OPENCODE_CONFIG_CONTENT` | cadena | Contenido de configuración json en línea |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | booleano | Deshabilitar las comprobaciones automáticas de actualizaciones |
|
||||
| `OPENCODE_DISABLE_PRUNE` | booleano | Deshabilitar la poda de datos antiguos |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | booleano | Deshabilitar las actualizaciones automáticas de títulos de terminal |
|
||||
| `OPENCODE_PERMISSION` | cadena | Configuración de permisos json incorporados |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booleano | Deshabilitar complementos predeterminados |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | booleano | Deshabilitar las descargas automáticas del servidor LSP |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booleano | Habilitar modelos experimentales |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | booleano | Deshabilitar la compactación automática de contexto |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | booleano | Deshabilitar la lectura desde `.claude` (mensaje + habilidades) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booleano | Desactivar lectura `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booleano | Deshabilitar la carga `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | booleano | Deshabilitar la recuperación de modelos desde fuentes remotas |
|
||||
| `OPENCODE_FAKE_VCS` | cadena | Proveedor de VCS falso para fines de prueba |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | booleano | Deshabilite la verificación del tiempo del archivo para optimizarlo |
|
||||
| `OPENCODE_CLIENT` | cadena | Identificador de cliente (por defecto `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | booleano | Habilitar las herramientas de búsqueda web de Exa |
|
||||
| `OPENCODE_SERVER_PASSWORD` | cadena | Habilite la autenticación básica para `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | cadena | Anular el nombre de usuario de autenticación básica (predeterminado `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | cadena | URL personalizada para buscar la configuración de modelos |
|
||||
|
||||
---
|
||||
|
||||
@@ -584,18 +584,18 @@ OpenCode se puede configurar mediante variables de entorno.
|
||||
|
||||
Estas variables de entorno habilitan funciones experimentales que pueden cambiar o eliminarse.
|
||||
|
||||
| Variables | Tipo | Descripción |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | booleano | Habilitar todas las funciones experimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booleano | Habilitar descubrimiento de íconos |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booleano | Deshabilitar copia al seleccionar en TUI |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | número | Tiempo de espera predeterminado para comandos bash en ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | número | Tokens de salida máximos para respuestas LLM |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booleano | Habilite el observador de archivos para todo el directorio |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | booleano | Habilitar el formateador oxfmt |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booleano | Habilitar herramienta experimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booleano | Deshabilitar el observador de archivos |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | booleano | Habilitar funciones experimentales de Exa |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booleano | Habilitar la verificación de tipo experimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booleano | Habilitar funciones de rebajas experimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |
|
||||
| Variables | Tipo | Descripción |
|
||||
| ----------------------------------------------- | -------- | ---------------------------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | booleano | Habilitar todas las funciones experimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booleano | Habilitar descubrimiento de íconos |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booleano | Deshabilitar copia al seleccionar en TUI |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | número | Tiempo de espera predeterminado para comandos bash en ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | número | Tokens de salida máximos para respuestas LLM |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booleano | Habilite el observador de archivos para todo el directorio |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | booleano | Habilitar el formateador oxfmt |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booleano | Habilitar herramienta experimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booleano | Deshabilitar el observador de archivos |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | booleano | Habilitar funciones experimentales de Exa |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booleano | Habilitar la verificación de tipo experimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booleano | Habilitar funciones de rebajas experimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |
|
||||
|
||||
@@ -15,62 +15,62 @@ También puedes consultar [awesome-opencode](https://github.com/awesome-opencode
|
||||
|
||||
## Complementos
|
||||
|
||||
| Nombre | Descripción |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Ejecute automáticamente sesiones OpenCode en entornos sandbox aislados de Daytona con git sync y vistas previas en vivo |
|
||||
| [opencode-sesión-helicona](https://github.com/H2Shami/opencode-helicone-session) | Inyecte automáticamente encabezados de sesión de Helicone para agrupación de solicitudes |
|
||||
| [opencode-tipo-inyección](https://github.com/nick-vi/opencode-type-inject) | Inyecte automáticamente tipos TypeScript/Svelte en lecturas de archivos con herramientas de búsqueda |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilice su suscripción ChatGPT Plus/Pro en lugar de créditos API |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilice su plan Gemini existente en lugar de la facturación API |
|
||||
| [opencode-autenticación antigravedad](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilice los modelos gratuitos de Antigravity en lugar de la facturación API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Aislamiento de contenedores de desarrollo de múltiples ramas con clones superficiales y puertos asignados automáticamente |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Complemento Google Antigravity OAuth, compatible con la Búsqueda de Google y manejo más sólido de API |
|
||||
| [opencode-poda-de-contexto-dinámico](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimice el uso de tokens eliminando los resultados de herramientas obsoletas |
|
||||
| [opencode-búsqueda web-citada](https://github.com/ghoulr/opencode-websearch-cited.git) | Agregue soporte de búsqueda web nativa para proveedores compatibles con el estilo basado en Google |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite a los agentes de IA ejecutar procesos en segundo plano en un PTY y enviarles información interactiva. |
|
||||
| [opencode-estrategia-shell](https://github.com/JRedeker/opencode-shell-strategy) | Instrucciones para comandos de shell no interactivos: evita bloqueos de operaciones dependientes de TTY |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Seguimiento del uso de OpenCode con Wakatime |
|
||||
| [opencode-md-formateador de tabla](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpiar tablas de rebajas producidas por LLMs |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edición de código 10 veces más rápida con Morph Fast Apply API y marcadores de edición diferidos |
|
||||
| [oh-mi-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes en segundo plano, herramientas LSP/AST/MCP prediseñadas, agentes seleccionados, compatible con Claude Code |
|
||||
| [opencode-notificador](https://github.com/panta82/opencode-notificator) | Notificaciones de escritorio y alertas sonoras para sesiones OpenCode |
|
||||
| [opencode-notificador](https://github.com/mohak34/opencode-notifier) | Notificaciones de escritorio y alertas sonoras para eventos de permiso, finalización y error |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomenclatura automática de sesiones Zellij impulsada por IA basada en el contexto OpenCode |
|
||||
| [opencode-hábil](https://github.com/zenobi-us/opencode-skillful) | Permitir que los agentes OpenCode carguen mensajes de forma diferida a pedido con descubrimiento e inyección de habilidades |
|
||||
| [opencode-supermemoria](https://github.com/supermemoryai/opencode-supermemory) | Memoria persistente entre sesiones utilizando Supermemoria |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisión interactiva del plan con anotaciones visuales y uso compartido privado/sin conexión |
|
||||
| [@openspoon/subtarea2](https://github.com/spoons-and-mirrors/subtask2) | Amplíe opencode /commands a un potente sistema de orquestación con control de flujo granular |
|
||||
| [opencode-programador](https://github.com/different-ai/opencode-scheduler) | Programe trabajos recurrentes usando launchd (Mac) o systemd (Linux) con sintaxis cron |
|
||||
| [micocódigo](https://github.com/vtemian/micode) | Lluvia de ideas estructurada → Planificar → Implementar flujo de trabajo con continuidad de sesión |
|
||||
| [octto](https://github.com/vtemian/octto) | Interfaz de usuario interactiva del navegador para lluvia de ideas de IA con formularios de preguntas múltiples |
|
||||
| [opencode-agentes-de-fondo](https://github.com/kdcokenny/opencode-background-agents) | Agentes en segundo plano estilo Claude Code con delegación asíncrona y persistencia de contexto |
|
||||
| [opencode-notificar](https://github.com/kdcokenny/opencode-notify) | Notificaciones nativas del sistema operativo para OpenCode: sepa cuándo se completan las tareas |
|
||||
| [opencode-espacio de trabajo](https://github.com/kdcokenny/opencode-workspace) | Arnés de orquestación multiagente incluido: 16 componentes, una instalación |
|
||||
| [opencode-árbol de trabajo](https://github.com/kdcokenny/opencode-worktree) | Árboles de trabajo de Git de fricción cero para OpenCode |
|
||||
| Nombre | Descripción |
|
||||
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Ejecute automáticamente sesiones OpenCode en entornos sandbox aislados de Daytona con git sync y vistas previas en vivo |
|
||||
| [opencode-sesión-helicona](https://github.com/H2Shami/opencode-helicone-session) | Inyecte automáticamente encabezados de sesión de Helicone para agrupación de solicitudes |
|
||||
| [opencode-tipo-inyección](https://github.com/nick-vi/opencode-type-inject) | Inyecte automáticamente tipos TypeScript/Svelte en lecturas de archivos con herramientas de búsqueda |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilice su suscripción ChatGPT Plus/Pro en lugar de créditos API |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilice su plan Gemini existente en lugar de la facturación API |
|
||||
| [opencode-autenticación antigravedad](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilice los modelos gratuitos de Antigravity en lugar de la facturación API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Aislamiento de contenedores de desarrollo de múltiples ramas con clones superficiales y puertos asignados automáticamente |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Complemento Google Antigravity OAuth, compatible con la Búsqueda de Google y manejo más sólido de API |
|
||||
| [opencode-poda-de-contexto-dinámico](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimice el uso de tokens eliminando los resultados de herramientas obsoletas |
|
||||
| [opencode-búsqueda web-citada](https://github.com/ghoulr/opencode-websearch-cited.git) | Agregue soporte de búsqueda web nativa para proveedores compatibles con el estilo basado en Google |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite a los agentes de IA ejecutar procesos en segundo plano en un PTY y enviarles información interactiva. |
|
||||
| [opencode-estrategia-shell](https://github.com/JRedeker/opencode-shell-strategy) | Instrucciones para comandos de shell no interactivos: evita bloqueos de operaciones dependientes de TTY |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Seguimiento del uso de OpenCode con Wakatime |
|
||||
| [opencode-md-formateador de tabla](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpiar tablas de rebajas producidas por LLMs |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edición de código 10 veces más rápida con Morph Fast Apply API y marcadores de edición diferidos |
|
||||
| [oh-mi-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes en segundo plano, herramientas LSP/AST/MCP prediseñadas, agentes seleccionados, compatible con Claude Code |
|
||||
| [opencode-notificador](https://github.com/panta82/opencode-notificator) | Notificaciones de escritorio y alertas sonoras para sesiones OpenCode |
|
||||
| [opencode-notificador](https://github.com/mohak34/opencode-notifier) | Notificaciones de escritorio y alertas sonoras para eventos de permiso, finalización y error |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomenclatura automática de sesiones Zellij impulsada por IA basada en el contexto OpenCode |
|
||||
| [opencode-hábil](https://github.com/zenobi-us/opencode-skillful) | Permitir que los agentes OpenCode carguen mensajes de forma diferida a pedido con descubrimiento e inyección de habilidades |
|
||||
| [opencode-supermemoria](https://github.com/supermemoryai/opencode-supermemory) | Memoria persistente entre sesiones utilizando Supermemoria |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisión interactiva del plan con anotaciones visuales y uso compartido privado/sin conexión |
|
||||
| [@openspoon/subtarea2](https://github.com/spoons-and-mirrors/subtask2) | Amplíe opencode /commands a un potente sistema de orquestación con control de flujo granular |
|
||||
| [opencode-programador](https://github.com/different-ai/opencode-scheduler) | Programe trabajos recurrentes usando launchd (Mac) o systemd (Linux) con sintaxis cron |
|
||||
| [micocódigo](https://github.com/vtemian/micode) | Lluvia de ideas estructurada → Planificar → Implementar flujo de trabajo con continuidad de sesión |
|
||||
| [octto](https://github.com/vtemian/octto) | Interfaz de usuario interactiva del navegador para lluvia de ideas de IA con formularios de preguntas múltiples |
|
||||
| [opencode-agentes-de-fondo](https://github.com/kdcokenny/opencode-background-agents) | Agentes en segundo plano estilo Claude Code con delegación asíncrona y persistencia de contexto |
|
||||
| [opencode-notificar](https://github.com/kdcokenny/opencode-notify) | Notificaciones nativas del sistema operativo para OpenCode: sepa cuándo se completan las tareas |
|
||||
| [opencode-espacio de trabajo](https://github.com/kdcokenny/opencode-workspace) | Arnés de orquestación multiagente incluido: 16 componentes, una instalación |
|
||||
| [opencode-árbol de trabajo](https://github.com/kdcokenny/opencode-worktree) | Árboles de trabajo de Git de fricción cero para OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Proyectos
|
||||
|
||||
| Nombre | Descripción |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Bot de Discord para controlar sesiones OpenCode, basado en el SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Complemento Neovim para avisos compatibles con el editor, creado en API |
|
||||
| [portal](https://github.com/hosenur/portal) | Interfaz de usuario web móvil para OpenCode a través de Tailscale/VPN |
|
||||
| [Plantilla de complemento opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Plantilla para crear complementos OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Interfaz de Neovim para opencode: un agente de codificación de IA basado en terminal |
|
||||
| [ai-sdk-proveedor-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Proveedor Vercel AI SDK para usar OpenCode a través de @opencode-ai/sdk |
|
||||
| [Cámara Abierta](https://github.com/btriapitsyn/openchamber) | Aplicación web/de escritorio y extensión VS Code para OpenCode |
|
||||
| [OpenCode-Obsidiana](https://github.com/mtymek/opencode-obsidian) | Complemento de Obsidian que incorpora OpenCode en la interfaz de usuario de Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Una alternativa de código abierto a Claude Cowork, impulsada por OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Administrador de extensiones OpenCode con perfiles portátiles y aislados. |
|
||||
| [CódigoNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicación de escritorio, web, móvil y de cliente remoto para OpenCode |
|
||||
| Nombre | Descripción |
|
||||
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Bot de Discord para controlar sesiones OpenCode, basado en el SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Complemento Neovim para avisos compatibles con el editor, creado en API |
|
||||
| [portal](https://github.com/hosenur/portal) | Interfaz de usuario web móvil para OpenCode a través de Tailscale/VPN |
|
||||
| [Plantilla de complemento opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Plantilla para crear complementos OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Interfaz de Neovim para opencode: un agente de codificación de IA basado en terminal |
|
||||
| [ai-sdk-proveedor-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Proveedor Vercel AI SDK para usar OpenCode a través de @opencode-ai/sdk |
|
||||
| [Cámara Abierta](https://github.com/btriapitsyn/openchamber) | Aplicación web/de escritorio y extensión VS Code para OpenCode |
|
||||
| [OpenCode-Obsidiana](https://github.com/mtymek/opencode-obsidian) | Complemento de Obsidian que incorpora OpenCode en la interfaz de usuario de Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Una alternativa de código abierto a Claude Cowork, impulsada por OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Administrador de extensiones OpenCode con perfiles portátiles y aislados. |
|
||||
| [CódigoNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicación de escritorio, web, móvil y de cliente remoto para OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agentes
|
||||
|
||||
| Nombre | Descripción |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agente](https://github.com/Cluster444/agentic) | Agentes y comandos modulares de IA para un desarrollo estructurado |
|
||||
| Nombre | Descripción |
|
||||
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
|
||||
| [Agente](https://github.com/Cluster444/agentic) | Agentes y comandos modulares de IA para un desarrollo estructurado |
|
||||
| [opencode-agentes](https://github.com/darrenhinde/opencode-agents) | Configuraciones, avisos, agentes y complementos para flujos de trabajo mejorados |
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode formatea automáticamente los archivos después de escribirlos o editar
|
||||
|
||||
OpenCode viene con varios formateadores integrados para lenguajes y marcos populares. A continuación se muestra una lista de los formateadores, las extensiones de archivo compatibles y los comandos u opciones de configuración que necesita.
|
||||
|
||||
| Formateador | Extensiones | Requisitos |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gobierno | .ir | Comando `gofmt` disponible |
|
||||
| mezclar | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponible |
|
||||
| más bonita | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://prettier.io/docs/en/index.html) | dependencia `prettier` en `package.json` |
|
||||
| bioma | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://biomejs.dev/) | `biome.json(c)` archivo de configuración |
|
||||
| zigzag | .zig, .zon | Comando `zig` disponible |
|
||||
| formato clang | .c, .cpp, .h, .hpp, .ino y [más](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` archivo de configuración |
|
||||
| klint | .kt, .kts | Comando `ktlint` disponible |
|
||||
| gorguera | .py, .pyi | Comando `ruff` disponible con configuración |
|
||||
| óxido | .rs | Comando `rustfmt` disponible |
|
||||
| cargafmt | .rs | Comando `cargo fmt` disponible |
|
||||
| ultravioleta | .py, .pyi | Comando `uv` disponible |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponible |
|
||||
| estándarrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponible |
|
||||
| embellecedor html | .erb, .html.erb | Comando `htmlbeautifier` disponible |
|
||||
| aire | .R | Comando `air` disponible |
|
||||
| dardo | .dardo | Comando `dart` disponible |
|
||||
| formato ocaml | .ml, .mli | Comando `ocamlformat` disponible y archivo de configuración `.ocamlformat` |
|
||||
| terraformar | .tf, .tfvars | Comando `terraform` disponible |
|
||||
| brillo | .brillo | Comando `gleam` disponible |
|
||||
| nixfmt | .nix | Comando `nixfmt` disponible |
|
||||
| shfmt | .sh, .bash | Comando `shfmt` disponible |
|
||||
| pinta | .php | dependencia `laravel/pint` en `composer.json` |
|
||||
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependencia de `oxfmt` en `package.json` y un [indicador de variable de entorno experimental](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | Comando `ormolu` disponible |
|
||||
| Formateador | Extensiones | Requisitos |
|
||||
| -------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| gobierno | .ir | Comando `gofmt` disponible |
|
||||
| mezclar | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponible |
|
||||
| más bonita | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://prettier.io/docs/en/index.html) | dependencia `prettier` en `package.json` |
|
||||
| bioma | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://biomejs.dev/) | `biome.json(c)` archivo de configuración |
|
||||
| zigzag | .zig, .zon | Comando `zig` disponible |
|
||||
| formato clang | .c, .cpp, .h, .hpp, .ino y [más](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` archivo de configuración |
|
||||
| klint | .kt, .kts | Comando `ktlint` disponible |
|
||||
| gorguera | .py, .pyi | Comando `ruff` disponible con configuración |
|
||||
| óxido | .rs | Comando `rustfmt` disponible |
|
||||
| cargafmt | .rs | Comando `cargo fmt` disponible |
|
||||
| ultravioleta | .py, .pyi | Comando `uv` disponible |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponible |
|
||||
| estándarrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponible |
|
||||
| embellecedor html | .erb, .html.erb | Comando `htmlbeautifier` disponible |
|
||||
| aire | .R | Comando `air` disponible |
|
||||
| dardo | .dardo | Comando `dart` disponible |
|
||||
| formato ocaml | .ml, .mli | Comando `ocamlformat` disponible y archivo de configuración `.ocamlformat` |
|
||||
| terraformar | .tf, .tfvars | Comando `terraform` disponible |
|
||||
| brillo | .brillo | Comando `gleam` disponible |
|
||||
| nixfmt | .nix | Comando `nixfmt` disponible |
|
||||
| shfmt | .sh, .bash | Comando `shfmt` disponible |
|
||||
| pinta | .php | dependencia `laravel/pint` en `composer.json` |
|
||||
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependencia de `oxfmt` en `package.json` y un [indicador de variable de entorno experimental](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | Comando `ormolu` disponible |
|
||||
|
||||
Entonces, si su proyecto tiene `prettier` en su `package.json`, OpenCode lo usará automáticamente.
|
||||
|
||||
@@ -67,12 +67,12 @@ Puede personalizar los formateadores a través de la sección `formatter` en su
|
||||
|
||||
Cada configuración del formateador admite lo siguiente:
|
||||
|
||||
| Propiedad | Tipo | Descripción |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el formateador |
|
||||
| `command` | cadena[] | El comando a ejecutar para formatear |
|
||||
| `environment` | objeto | Variables de entorno para configurar al ejecutar el formateador |
|
||||
| `extensions` | cadena[] | Extensiones de archivo que este formateador debería manejar |
|
||||
| Propiedad | Tipo | Descripción |
|
||||
| ------------- | -------- | --------------------------------------------------------------- |
|
||||
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el formateador |
|
||||
| `command` | cadena[] | El comando a ejecutar para formatear |
|
||||
| `environment` | objeto | Variables de entorno para configurar al ejecutar el formateador |
|
||||
| `extensions` | cadena[] | Extensiones de archivo que este formateador debería manejar |
|
||||
|
||||
Veamos algunos ejemplos.
|
||||
|
||||
|
||||
@@ -105,14 +105,14 @@ O puede configurarlo manualmente.
|
||||
|
||||
OpenCode puede desencadenarse por los siguientes eventos GitHub:
|
||||
|
||||
| Tipo de evento | Activado por | Detalles |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Comentar sobre un tema o PR | Mencione `/opencode` o `/oc` en su comentario. OpenCode lee el contexto y puede crear ramas, abrir relaciones públicas o responder. |
|
||||
| `pull_request_review_comment` | Comente líneas de código específicas en un PR | Mencione `/opencode` o `/oc` mientras revisa el código. OpenCode recibe la ruta del archivo, los números de línea y el contexto de diferencias. |
|
||||
| `issues` | Número abierto o editado | Activa automáticamente OpenCode cuando se crean o modifican problemas. Requiere entrada `prompt`. |
|
||||
| `pull_request` | PR abierto o actualizado | Activa automáticamente OpenCode cuando los PR se abren, sincronizan o vuelven a abrir. Útil para revisiones automatizadas. |
|
||||
| `schedule` | Programación basada en cron | Ejecute OpenCode según una programación. Requiere entrada `prompt`. La salida va a registros y relaciones públicas (no hay temas que comentar). |
|
||||
| `workflow_dispatch` | Activador manual desde GitHub UI | Active OpenCode a pedido a través de la pestaña Acciones. Requiere entrada `prompt`. La salida va a registros y relaciones públicas. |
|
||||
| Tipo de evento | Activado por | Detalles |
|
||||
| ----------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Comentar sobre un tema o PR | Mencione `/opencode` o `/oc` en su comentario. OpenCode lee el contexto y puede crear ramas, abrir relaciones públicas o responder. |
|
||||
| `pull_request_review_comment` | Comente líneas de código específicas en un PR | Mencione `/opencode` o `/oc` mientras revisa el código. OpenCode recibe la ruta del archivo, los números de línea y el contexto de diferencias. |
|
||||
| `issues` | Número abierto o editado | Activa automáticamente OpenCode cuando se crean o modifican problemas. Requiere entrada `prompt`. |
|
||||
| `pull_request` | PR abierto o actualizado | Activa automáticamente OpenCode cuando los PR se abren, sincronizan o vuelven a abrir. Útil para revisiones automatizadas. |
|
||||
| `schedule` | Programación basada en cron | Ejecute OpenCode según una programación. Requiere entrada `prompt`. La salida va a registros y relaciones públicas (no hay temas que comentar). |
|
||||
| `workflow_dispatch` | Activador manual desde GitHub UI | Active OpenCode a pedido a través de la pestaña Acciones. Requiere entrada `prompt`. La salida va a registros y relaciones públicas. |
|
||||
|
||||
### Ejemplo de programación
|
||||
|
||||
|
||||
@@ -68,12 +68,12 @@ OpenCode se ejecuta en su canalización de CI/CD GitLab. Esto es lo que necesita
|
||||
Consulte los [**GitLab documentos**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) para obtener instrucciones actualizadas.
|
||||
:::
|
||||
|
||||
1. Configure su entorno GitLab
|
||||
2. Configurar CI/CD
|
||||
3. Obtenga una clave API de proveedor de modelo de IA
|
||||
4. Crea una cuenta de servicio
|
||||
5. Configurar variables CI/CD
|
||||
6. Cree un archivo de configuración de flujo, aquí hay un ejemplo:
|
||||
1. Configure su entorno GitLab
|
||||
2. Configurar CI/CD
|
||||
3. Obtenga una clave API de proveedor de modelo de IA
|
||||
4. Crea una cuenta de servicio
|
||||
5. Configurar variables CI/CD
|
||||
6. Cree un archivo de configuración de flujo, aquí hay un ejemplo:
|
||||
|
||||
<details>
|
||||
|
||||
|
||||
@@ -134,20 +134,20 @@ Puede deshabilitar una combinación de teclas agregando la clave a su configurac
|
||||
|
||||
La entrada de solicitud de la aplicación de escritorio OpenCode admite atajos comunes de estilo Readline/Emacs para editar texto. Estos están integrados y actualmente no se pueden configurar a través de `opencode.json`.
|
||||
|
||||
| Atajo | Acción |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Mover al inicio de la línea actual |
|
||||
| `ctrl+e` | Mover al final de la línea actual |
|
||||
| `ctrl+b` | Mover el cursor hacia atrás un carácter |
|
||||
| `ctrl+f` | Mover el cursor hacia adelante un carácter |
|
||||
| `alt+b` | Mover el cursor hacia atrás una palabra |
|
||||
| `alt+f` | Mover el cursor hacia adelante una palabra |
|
||||
| `ctrl+d` | Eliminar carácter debajo del cursor |
|
||||
| `ctrl+k` | Matar hasta el final de la línea |
|
||||
| `ctrl+u` | Matar al inicio de la línea |
|
||||
| `ctrl+w` | Matar palabra anterior |
|
||||
| `alt+d` | Mata la siguiente palabra |
|
||||
| `ctrl+t` | Transponer caracteres |
|
||||
| Atajo | Acción |
|
||||
| -------- | -------------------------------------------------------------- |
|
||||
| `ctrl+a` | Mover al inicio de la línea actual |
|
||||
| `ctrl+e` | Mover al final de la línea actual |
|
||||
| `ctrl+b` | Mover el cursor hacia atrás un carácter |
|
||||
| `ctrl+f` | Mover el cursor hacia adelante un carácter |
|
||||
| `alt+b` | Mover el cursor hacia atrás una palabra |
|
||||
| `alt+f` | Mover el cursor hacia adelante una palabra |
|
||||
| `ctrl+d` | Eliminar carácter debajo del cursor |
|
||||
| `ctrl+k` | Matar hasta el final de la línea |
|
||||
| `ctrl+u` | Matar al inicio de la línea |
|
||||
| `ctrl+w` | Matar palabra anterior |
|
||||
| `alt+d` | Mata la siguiente palabra |
|
||||
| `ctrl+t` | Transponer caracteres |
|
||||
| `ctrl+g` | Cancelar ventanas emergentes/abortar la respuesta en ejecución |
|
||||
|
||||
---
|
||||
|
||||
@@ -11,40 +11,40 @@ OpenCode se integra con su protocolo de servidor de idiomas (LSP) para ayudar a
|
||||
|
||||
OpenCode viene con varios servidores LSP integrados para idiomas populares:
|
||||
|
||||
| LSP Servidor | Extensiones | Requisitos |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Autoinstalaciones para proyectos Astro |
|
||||
| fiesta | .sh, .bash, .zsh, .ksh | Autoinstala el servidor en lenguaje bash |
|
||||
| sonido metálico | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instalaciones automáticas para proyectos C/C++ |
|
||||
| csostenido | .cs | `.NET SDK` instalado |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponible |
|
||||
| dardo | .dardo | Comando `dart` disponible |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | Comando `deno` disponible (detecta automáticamente deno.json/deno.jsonc) |
|
||||
| elixir-ls | .ex, .exs | Comando `elixir` disponible |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependencia en proyecto |
|
||||
| f sostenido | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado |
|
||||
| brillo | .brillo | Comando `gleam` disponible |
|
||||
| gopls | .ir | Comando `go` disponible |
|
||||
| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponible |
|
||||
| jdtls | .java | `Java SDK (version 21+)` instalado |
|
||||
| kotlin-ls | .kt, .kts | Autoinstalaciones para proyectos Kotlin |
|
||||
| lua-ls | .lua | Autoinstalaciones para proyectos Lua |
|
||||
| nada | .nix | Comando `nixd` disponible |
|
||||
| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponible |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependencia en proyecto |
|
||||
| php intelefense | .php | Autoinstalaciones para proyectos PHP |
|
||||
| prisma | .prisma | Comando `prisma` disponible |
|
||||
| derechos de autor | .py, .pyi | Dependencia `pyright` instalada |
|
||||
| rubí-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` y `gem` disponibles |
|
||||
| óxido | .rs | Comando `rust-analyzer` disponible |
|
||||
| kit de fuente-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` en macOS) |
|
||||
| esbelto | .esbelto | Autoinstalaciones para proyectos Svelte |
|
||||
| terraformar | .tf, .tfvars | Instalaciones automáticas desde versiones GitHub |
|
||||
| diminuto | .tipo, .tipo | Instalaciones automáticas desde versiones GitHub |
|
||||
| mecanografiado | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependencia en proyecto |
|
||||
| vista | .vue | Autoinstalaciones para proyectos Vue |
|
||||
| yaml-ls | .yaml, .yml | Autoinstala Red Hat yaml-language-server |
|
||||
| zls | .zig, .zon | Comando `zig` disponible |
|
||||
| LSP Servidor | Extensiones | Requisitos |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||||
| astro | .astro | Autoinstalaciones para proyectos Astro |
|
||||
| fiesta | .sh, .bash, .zsh, .ksh | Autoinstala el servidor en lenguaje bash |
|
||||
| sonido metálico | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instalaciones automáticas para proyectos C/C++ |
|
||||
| csostenido | .cs | `.NET SDK` instalado |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponible |
|
||||
| dardo | .dardo | Comando `dart` disponible |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | Comando `deno` disponible (detecta automáticamente deno.json/deno.jsonc) |
|
||||
| elixir-ls | .ex, .exs | Comando `elixir` disponible |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependencia en proyecto |
|
||||
| f sostenido | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado |
|
||||
| brillo | .brillo | Comando `gleam` disponible |
|
||||
| gopls | .ir | Comando `go` disponible |
|
||||
| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponible |
|
||||
| jdtls | .java | `Java SDK (version 21+)` instalado |
|
||||
| kotlin-ls | .kt, .kts | Autoinstalaciones para proyectos Kotlin |
|
||||
| lua-ls | .lua | Autoinstalaciones para proyectos Lua |
|
||||
| nada | .nix | Comando `nixd` disponible |
|
||||
| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponible |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependencia en proyecto |
|
||||
| php intelefense | .php | Autoinstalaciones para proyectos PHP |
|
||||
| prisma | .prisma | Comando `prisma` disponible |
|
||||
| derechos de autor | .py, .pyi | Dependencia `pyright` instalada |
|
||||
| rubí-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` y `gem` disponibles |
|
||||
| óxido | .rs | Comando `rust-analyzer` disponible |
|
||||
| kit de fuente-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` en macOS) |
|
||||
| esbelto | .esbelto | Autoinstalaciones para proyectos Svelte |
|
||||
| terraformar | .tf, .tfvars | Instalaciones automáticas desde versiones GitHub |
|
||||
| diminuto | .tipo, .tipo | Instalaciones automáticas desde versiones GitHub |
|
||||
| mecanografiado | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependencia en proyecto |
|
||||
| vista | .vue | Autoinstalaciones para proyectos Vue |
|
||||
| yaml-ls | .yaml, .yml | Autoinstala Red Hat yaml-language-server |
|
||||
| zls | .zig, .zon | Comando `zig` disponible |
|
||||
|
||||
Los servidores LSP se habilitan automáticamente cuando se detecta una de las extensiones de archivo anteriores y se cumplen los requisitos.
|
||||
|
||||
@@ -76,13 +76,13 @@ Puede personalizar los servidores LSP a través de la sección `lsp` en su confi
|
||||
|
||||
Cada servidor LSP admite lo siguiente:
|
||||
|
||||
| Propiedad | Tipo | Descripción |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el servidor LSP |
|
||||
| `command` | cadena[] | El comando para iniciar el servidor LSP |
|
||||
| `extensions` | cadena[] | Extensiones de archivo que este servidor LSP debería manejar |
|
||||
| `env` | objeto | Variables de entorno para configurar al iniciar el servidor |
|
||||
| `initialization` | objeto | Opciones de inicialización para enviar al servidor LSP |
|
||||
| Propiedad | Tipo | Descripción |
|
||||
| ---------------- | -------- | ------------------------------------------------------------ |
|
||||
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el servidor LSP |
|
||||
| `command` | cadena[] | El comando para iniciar el servidor LSP |
|
||||
| `extensions` | cadena[] | Extensiones de archivo que este servidor LSP debería manejar |
|
||||
| `env` | objeto | Variables de entorno para configurar al iniciar el servidor |
|
||||
| `initialization` | objeto | Opciones de inicialización para enviar al servidor LSP |
|
||||
|
||||
Veamos algunos ejemplos.
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
Aquí están todas las opciones para configurar un servidor MCP local.
|
||||
|
||||
| Opción | Tipo | Requerido | Descripción |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"local"`. |
|
||||
| `command` | Matriz | Y | Comando y argumentos para ejecutar el servidor MCP. |
|
||||
| `environment` | Objeto | | Variables de entorno para configurar al ejecutar el servidor. |
|
||||
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
|
||||
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
|
||||
| Opción | Tipo | Requerido | Descripción |
|
||||
| ------------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"local"`. |
|
||||
| `command` | Matriz | Y | Comando y argumentos para ejecutar el servidor MCP. |
|
||||
| `environment` | Objeto | | Variables de entorno para configurar al ejecutar el servidor. |
|
||||
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
|
||||
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
|
||||
|
||||
---
|
||||
|
||||
@@ -152,14 +152,14 @@ Agregue servidores MCP remotos configurando `type` en `"remote"`.
|
||||
|
||||
#### Opciones
|
||||
|
||||
| Opción | Tipo | Requerido | Descripción |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"remote"`. |
|
||||
| `url` | Cadena | Y | URL del servidor MCP remoto. |
|
||||
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
|
||||
| `headers` | Objeto | | Encabezados para enviar con la solicitud. |
|
||||
| `oauth` | Objeto | | OAuth configuración de autenticación. Consulte la sección [OAuth](#oauth) a continuación. |
|
||||
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
|
||||
| Opción | Tipo | Requerido | Descripción |
|
||||
| --------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"remote"`. |
|
||||
| `url` | Cadena | Y | URL del servidor MCP remoto. |
|
||||
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
|
||||
| `headers` | Objeto | | Encabezados para enviar con la solicitud. |
|
||||
| `oauth` | Objeto | | OAuth configuración de autenticación. Consulte la sección [OAuth](#oauth) a continuación. |
|
||||
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,12 +266,12 @@ Si desea deshabilitar el OAuth automático para un servidor (por ejemplo, para s
|
||||
|
||||
#### OAuth Opciones
|
||||
|
||||
| Opción | Tipo | Descripción |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objeto \| falso | OAuth objeto de configuración, o `false` para deshabilitar la detección automática de OAuth. |
|
||||
| `clientId` | Cadena | OAuth ID de cliente. Si no se proporciona, se intentará el registro dinámico del cliente. |
|
||||
| `clientSecret` | Cadena | OAuth secreto del cliente, si lo requiere el servidor de autorización. |
|
||||
| `scope` | Cadena | OAuth alcances para solicitar durante la autorización. |
|
||||
| Opción | Tipo | Descripción |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objeto \| falso | OAuth objeto de configuración, o `false` para deshabilitar la detección automática de OAuth. |
|
||||
| `clientId` | Cadena | OAuth ID de cliente. Si no se proporciona, se intentará el registro dinámico del cliente. |
|
||||
| `clientSecret` | Cadena | OAuth secreto del cliente, si lo requiere el servidor de autorización. |
|
||||
| `scope` | Cadena | OAuth alcances para solicitar durante la autorización. |
|
||||
|
||||
#### Depuración
|
||||
|
||||
|
||||
@@ -38,10 +38,11 @@ Sin embargo, sólo unos pocos de ellos son buenos tanto para generar código com
|
||||
Aquí hay varios modelos que funcionan bien con OpenCode, sin ningún orden en particular. (Esta no es una lista exhaustiva ni necesariamente actualizada):
|
||||
|
||||
-GPT 5.2
|
||||
|
||||
- Códice GPT 5.1
|
||||
- Claude Opus 4.5
|
||||
- Claude Soneto 4.5
|
||||
-Minimax M2.1
|
||||
-Minimax M2.1
|
||||
- Géminis 3 Pro
|
||||
|
||||
---
|
||||
|
||||
@@ -225,19 +225,19 @@ Si no se especifica ninguna herramienta, todas las herramientas están habilitad
|
||||
|
||||
Aquí están todas las herramientas que se pueden controlar a través del modo de configuración.
|
||||
|
||||
| Herramienta | Descripción |
|
||||
| ----------- | ----------------------- |
|
||||
| `bash` | Ejecutar comandos de shell |
|
||||
| `edit` | Modificar archivos existentes |
|
||||
| `write` | Crear nuevos archivos |
|
||||
| `read` | Leer el contenido del archivo |
|
||||
| `grep` | Buscar contenido del archivo |
|
||||
| `glob` | Buscar archivos por patrón |
|
||||
| `list` | Listar el contenido del directorio |
|
||||
| `patch` | Aplicar parches a archivos |
|
||||
| Herramienta | Descripción |
|
||||
| ----------- | --------------------------------------- |
|
||||
| `bash` | Ejecutar comandos de shell |
|
||||
| `edit` | Modificar archivos existentes |
|
||||
| `write` | Crear nuevos archivos |
|
||||
| `read` | Leer el contenido del archivo |
|
||||
| `grep` | Buscar contenido del archivo |
|
||||
| `glob` | Buscar archivos por patrón |
|
||||
| `list` | Listar el contenido del directorio |
|
||||
| `patch` | Aplicar parches a archivos |
|
||||
| `todowrite` | Administrar listas de tareas pendientes |
|
||||
| `todoread` | Leer listas de tareas pendientes |
|
||||
| `webfetch` | Obtener contenido web |
|
||||
| `todoread` | Leer listas de tareas pendientes |
|
||||
| `webfetch` | Obtener contenido web |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1023,12 +1023,12 @@ El complemento inyecta encabezados `Helicone-Session-Id` y `Helicone-Session-Nam
|
||||
|
||||
##### Cabeceras comunes de Helicone
|
||||
|
||||
| Encabezado | Descripción |
|
||||
| -------------------------- | ------------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | Habilitar el almacenamiento en caché de respuestas (`true`/`false`) |
|
||||
| `Helicone-User-Id` | Seguimiento de métricas por usuario |
|
||||
| Encabezado | Descripción |
|
||||
| -------------------------- | --------------------------------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | Habilitar el almacenamiento en caché de respuestas (`true`/`false`) |
|
||||
| `Helicone-User-Id` | Seguimiento de métricas por usuario |
|
||||
| `Helicone-Property-[Name]` | Agregar propiedades personalizadas (por ejemplo, `Helicone-Property-Environment`) |
|
||||
| `Helicone-Prompt-Id` | Solicitudes asociadas con versiones rápidas |
|
||||
| `Helicone-Prompt-Id` | Solicitudes asociadas con versiones rápidas |
|
||||
|
||||
Consulte el [Directorio de encabezados de Helicone](https://docs.helicone.ai/helicone-headers/header-directory) para conocer todos los encabezados disponibles.
|
||||
|
||||
@@ -1638,10 +1638,10 @@ También puede personalizar modelos a través de su configuración opencode. A c
|
||||
|
||||
Algunas opciones de enrutamiento útiles:
|
||||
|
||||
| Opción | Descripción |
|
||||
| ------------------- | ---------------------------------------------------- |
|
||||
| `order` | Secuencia de proveedores para probar |
|
||||
| `only` | Restringir a proveedores específicos |
|
||||
| Opción | Descripción |
|
||||
| ------------------- | ----------------------------------------------------------------------- |
|
||||
| `order` | Secuencia de proveedores para probar |
|
||||
| `only` | Restringir a proveedores específicos |
|
||||
| `zeroDataRetention` | Utilice únicamente proveedores con políticas de retención de datos cero |
|
||||
|
||||
---
|
||||
|
||||
@@ -37,13 +37,13 @@ Esto inicia tanto un servidor como un cliente.
|
||||
|
||||
#### Opciones
|
||||
|
||||
| Opción | Tipo | Descripción | Predeterminado |
|
||||
| ---------- | ------------- | ------------------------------ | ----------- |
|
||||
| `hostname` | `string` | Nombre de host del servidor | `127.0.0.1` |
|
||||
| `port` | `number` | Puerto del servidor | `4096` |
|
||||
| `signal` | `AbortSignal` | Señal de aborto para cancelación | `undefined` |
|
||||
| `timeout` | `number` | Tiempo de espera en ms para inicio del servidor | `5000` |
|
||||
| `config` | `Config` | Objeto de configuración | `{}` |
|
||||
| Opción | Tipo | Descripción | Predeterminado |
|
||||
| ---------- | ------------- | ----------------------------------------------- | -------------- |
|
||||
| `hostname` | `string` | Nombre de host del servidor | `127.0.0.1` |
|
||||
| `port` | `number` | Puerto del servidor | `4096` |
|
||||
| `signal` | `AbortSignal` | Señal de aborto para cancelación | `undefined` |
|
||||
| `timeout` | `number` | Tiempo de espera en ms para inicio del servidor | `5000` |
|
||||
| `config` | `Config` | Objeto de configuración | `{}` |
|
||||
|
||||
---
|
||||
|
||||
@@ -81,13 +81,13 @@ const client = createOpencodeClient({
|
||||
|
||||
#### Opciones
|
||||
|
||||
| Opción | Tipo | Descripción | Predeterminado |
|
||||
| --------------- | ---------- | -------------------------------- | ----------------------- |
|
||||
| `baseUrl` | `string` | URL del servidor | `http://localhost:4096` |
|
||||
| `fetch` | `function` | Implementación de recuperación personalizada | `globalThis.fetch` |
|
||||
| `parseAs` | `string` | Método de análisis de respuesta | `auto` |
|
||||
| `responseStyle` | `string` | Estilo de devolución: `data` o `fields` | `fields` |
|
||||
| `throwOnError` | `boolean` | Lanzar errores en lugar de devolver | `false` |
|
||||
| Opción | Tipo | Descripción | Predeterminado |
|
||||
| --------------- | ---------- | -------------------------------------------- | ----------------------- |
|
||||
| `baseUrl` | `string` | URL del servidor | `http://localhost:4096` |
|
||||
| `fetch` | `function` | Implementación de recuperación personalizada | `globalThis.fetch` |
|
||||
| `parseAs` | `string` | Método de análisis de respuesta | `auto` |
|
||||
| `responseStyle` | `string` | Estilo de devolución: `data` o `fields` | `fields` |
|
||||
| `throwOnError` | `boolean` | Lanzar errores en lugar de devolver | `false` |
|
||||
|
||||
---
|
||||
|
||||
@@ -125,8 +125,8 @@ El SDK expone todas las API del servidor a través de un cliente con seguridad d
|
||||
|
||||
### Global
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ----------------- | ------------------------------- | ------------------------------------ |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ----------------- | --------------------------------------------- | ------------------------------------ |
|
||||
| `global.health()` | Verificar el estado y la versión del servidor | `{ healthy: true, version: string }` |
|
||||
|
||||
---
|
||||
@@ -142,9 +142,9 @@ console.log(health.data.version)
|
||||
|
||||
### Aplicación
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| -------------- | ------------------------- | ------------------------------------------- |
|
||||
| `app.log()` | Escribe una entrada de registro | `boolean` |
|
||||
| Método | Descripción | Respuesta |
|
||||
| -------------- | ------------------------------------ | -------------------------------------------- |
|
||||
| `app.log()` | Escribe una entrada de registro | `boolean` |
|
||||
| `app.agents()` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
|
||||
|
||||
---
|
||||
@@ -169,10 +169,10 @@ const agents = await client.app.agents()
|
||||
|
||||
### Proyecto
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | ------------------- | --------------------------------------------- |
|
||||
| `project.list()` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
|
||||
| `project.current()` | Obtener proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | -------------------------- | ---------------------------------------------- |
|
||||
| `project.list()` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
|
||||
| `project.current()` | Obtener proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -190,8 +190,8 @@ const currentProject = await client.project.current()
|
||||
|
||||
### Camino
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------ | ---------------- | ---------------------------------------- |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------ | ------------------- | ---------------------------------------- |
|
||||
| `path.get()` | Obtener ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
|
||||
|
||||
---
|
||||
@@ -207,9 +207,9 @@ const pathInfo = await client.path.get()
|
||||
|
||||
### Configuración
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `config.get()` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| Método | Descripción | Respuesta |
|
||||
| -------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `config.get()` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| `config.providers()` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}><code>Proveedor[]</code></a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
@@ -226,27 +226,27 @@ const { providers, default: defaults } = await client.config.providers()
|
||||
|
||||
### Sesiones
|
||||
|
||||
| Método | Descripción | Notas |
|
||||
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `session.list()` | Listar sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `session.get({ path })` | Obtener sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.children({ path })` | Listar sesiones infantiles | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `session.create({ body })` | Crear sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.delete({ path })` | Eliminar sesión | Devuelve `boolean` |
|
||||
| `session.update({ path, body })` | Actualizar propiedades de sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.init({ path, body })` | Analizar aplicación y crear `AGENTS.md` | Devuelve `boolean` |
|
||||
| `session.abort({ path })` | Cancelar una sesión en ejecución | Devuelve `boolean` |
|
||||
| `session.share({ path })` | Compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.unshare({ path })` | Dejar de compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.summarize({ path, body })` | Resumir sesión | Devuelve `boolean` |
|
||||
| `session.messages({ path })` | Listar mensajes en una sesión | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | Enviar mensaje rápido | `body.noReply: true` devuelve UserMessage (solo contexto). El valor predeterminado devuelve <a href={typesUrl}><code>AssistantMessage</code></a> con respuesta de IA |
|
||||
| `session.command({ path, body })` | Enviar comando a la sesión | Devuelve `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | Ejecute un comando de shell | Devuelve <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` | Revertir un mensaje | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.unrevert({ path })` | Restaurar mensajes revertidos | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a una solicitud de permiso | Devuelve `boolean` |
|
||||
| Método | Descripción | Notas |
|
||||
| ---------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `session.list()` | Listar sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `session.get({ path })` | Obtener sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.children({ path })` | Listar sesiones infantiles | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `session.create({ body })` | Crear sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.delete({ path })` | Eliminar sesión | Devuelve `boolean` |
|
||||
| `session.update({ path, body })` | Actualizar propiedades de sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.init({ path, body })` | Analizar aplicación y crear `AGENTS.md` | Devuelve `boolean` |
|
||||
| `session.abort({ path })` | Cancelar una sesión en ejecución | Devuelve `boolean` |
|
||||
| `session.share({ path })` | Compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.unshare({ path })` | Dejar de compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.summarize({ path, body })` | Resumir sesión | Devuelve `boolean` |
|
||||
| `session.messages({ path })` | Listar mensajes en una sesión | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | Enviar mensaje rápido | `body.noReply: true` devuelve UserMessage (solo contexto). El valor predeterminado devuelve <a href={typesUrl}><code>AssistantMessage</code></a> con respuesta de IA |
|
||||
| `session.command({ path, body })` | Enviar comando a la sesión | Devuelve `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | Ejecute un comando de shell | Devuelve <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` | Revertir un mensaje | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `session.unrevert({ path })` | Restaurar mensajes revertidos | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a una solicitud de permiso | Devuelve `boolean` |
|
||||
|
||||
---
|
||||
|
||||
@@ -283,13 +283,13 @@ await client.session.prompt({
|
||||
|
||||
### Archivos
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `find.files({ query })` | Buscar archivos y directorios por nombre | `string[]` (rutas) |
|
||||
| `find.symbols({ query })` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
|
||||
| `file.read({ query })` | Leer un archivo | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `find.files({ query })` | Buscar archivos y directorios por nombre | `string[]` (rutas) |
|
||||
| `find.symbols({ query })` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
|
||||
| `file.read({ query })` | Leer un archivo | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
|
||||
|
||||
`find.files` admite algunos campos de consulta opcionales:
|
||||
|
||||
@@ -324,17 +324,17 @@ const content = await client.file.read({
|
||||
|
||||
### TUI
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------------------ | ------------------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` | Agregar texto al mensaje | `boolean` |
|
||||
| `tui.openHelp()` | Abra el cuadro de diálogo de ayuda | `boolean` |
|
||||
| `tui.openSessions()` | Abrir el selector de sesiones | `boolean` |
|
||||
| `tui.openThemes()` | Abra el selector de temas | `boolean` |
|
||||
| `tui.openModels()` | Abrir el selector de modelo | `boolean` |
|
||||
| `tui.submitPrompt()` | Enviar el mensaje actual | `boolean` |
|
||||
| `tui.clearPrompt()` | Borrar el mensaje | `boolean` |
|
||||
| `tui.executeCommand({ body })` | Ejecutar un comando | `boolean` |
|
||||
| `tui.showToast({ body })` | Mostrar notificación del brindis | `boolean` |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------------------ | ---------------------------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` | Agregar texto al mensaje | `boolean` |
|
||||
| `tui.openHelp()` | Abra el cuadro de diálogo de ayuda | `boolean` |
|
||||
| `tui.openSessions()` | Abrir el selector de sesiones | `boolean` |
|
||||
| `tui.openThemes()` | Abra el selector de temas | `boolean` |
|
||||
| `tui.openModels()` | Abrir el selector de modelo | `boolean` |
|
||||
| `tui.submitPrompt()` | Enviar el mensaje actual | `boolean` |
|
||||
| `tui.clearPrompt()` | Borrar el mensaje | `boolean` |
|
||||
| `tui.executeCommand({ body })` | Ejecutar un comando | `boolean` |
|
||||
| `tui.showToast({ body })` | Mostrar notificación del brindis | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
@@ -355,8 +355,8 @@ await client.tui.showToast({
|
||||
|
||||
### Autenticación
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | ------------------------------ | --------- |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | ---------------------------------------- | --------- |
|
||||
| `auth.set({ ... })` | Establecer credenciales de autenticación | `boolean` |
|
||||
|
||||
---
|
||||
@@ -374,8 +374,8 @@ await client.auth.set({
|
||||
|
||||
### Eventos
|
||||
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | ------------------------- | ------------------------- |
|
||||
| Método | Descripción | Respuesta |
|
||||
| ------------------- | ----------------------------------------------- | ----------------------------------------------- |
|
||||
| `event.subscribe()` | Transmisión de eventos enviados por el servidor | Transmisión de eventos enviados por el servidor |
|
||||
|
||||
---
|
||||
|
||||
@@ -18,13 +18,13 @@ opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
|
||||
#### Opciones
|
||||
|
||||
| Bandera | Descripción | Predeterminado |
|
||||
| --------------- | ----------------------------------- | ---------------- |
|
||||
| `--port` | Puerto para escuchar | `4096` |
|
||||
| `--hostname` | Nombre de host para escuchar | `127.0.0.1` |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS | `false` |
|
||||
| Bandera | Descripción | Predeterminado |
|
||||
| --------------- | ----------------------------------------------------- | ---------------- |
|
||||
| `--port` | Puerto para escuchar | `4096` |
|
||||
| `--hostname` | Nombre de host para escuchar | `127.0.0.1` |
|
||||
| `--mdns` | Habilitar el descubrimiento de mDNS | `false` |
|
||||
| `--mdns-domain` | Nombre de dominio personalizado para el servicio mDNS | `opencode.local` |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir | `[]` |
|
||||
| `--cors` | Orígenes de navegador adicionales para permitir | `[]` |
|
||||
|
||||
`--cors` se puede pasar varias veces:
|
||||
|
||||
@@ -89,34 +89,34 @@ El servidor opencode expone las siguientes API.
|
||||
|
||||
### Global
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
|
||||
| `GET` | `/global/health` | Obtener el estado y la versión del servidor | `{ healthy: true, version: string }` |
|
||||
| `GET` | `/global/event` | Obtenga eventos globales (transmisión SSE) | Flujo de eventos |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ---------------- | ------------------------------------------- | ------------------------------------ |
|
||||
| `GET` | `/global/health` | Obtener el estado y la versión del servidor | `{ healthy: true, version: string }` |
|
||||
| `GET` | `/global/event` | Obtenga eventos globales (transmisión SSE) | Flujo de eventos |
|
||||
|
||||
---
|
||||
|
||||
### Proyecto
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
|
||||
| `GET` | `/project` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
|
||||
| `GET` | `/project/current` | Obtener el proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------ | -------------------------- | ---------------------------------------------- |
|
||||
| `GET` | `/project` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
|
||||
| `GET` | `/project/current` | Obtener el proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Ruta y VCS
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
|
||||
| `GET` | `/path` | Obtener la ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
|
||||
| `GET` | `/vcs` | Obtenga información de VCS para el proyecto actual | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------- | -------------------------------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/path` | Obtener la ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
|
||||
| `GET` | `/vcs` | Obtenga información de VCS para el proyecto actual | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Instancia
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------- | ---------------------------- | --------- |
|
||||
| `POST` | `/instance/dispose` | Eliminar la instancia actual | `boolean` |
|
||||
|
||||
@@ -124,81 +124,81 @@ El servidor opencode expone las siguientes API.
|
||||
|
||||
### Configuración
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| `PATCH` | `/config` | Actualizar configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| `GET` | `/config/providers` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}>Proveedor[]</a>`, default: { [key: string]: string } }` |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------- | ------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| `PATCH` | `/config` | Actualizar configuración | <a href={typesUrl}><code>Configuración</code></a> |
|
||||
| `GET` | `/config/providers` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}>Proveedor[]</a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
### Proveedor
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` | Listar todos los proveedores | `{ all: `<a href={typesUrl}>Proveedor[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | Obtener métodos de autenticación de proveedores | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | Autorizar a un proveedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | Manejar la devolución de llamada OAuth para un proveedor | `boolean` |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| `GET` | `/provider` | Listar todos los proveedores | `{ all: `<a href={typesUrl}>Proveedor[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | Obtener métodos de autenticación de proveedores | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | Autorizar a un proveedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | Manejar la devolución de llamada OAuth para un proveedor | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Sesiones
|
||||
|
||||
| Método | Camino | Descripción | Notas |
|
||||
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session` | Listar todas las sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `POST` | `/session` | Crear una nueva sesión | cuerpo: `{ parentID?, title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/status` | Obtener el estado de la sesión para todas las sesiones | Devuelve `{ [sessionID: string]: `<a href={typesUrl}>Estado de sesión</a>` }` |
|
||||
| `GET` | `/session/:id` | Obtener detalles de la sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `DELETE` | `/session/:id` | Eliminar una sesión y todos sus datos | Devuelve `boolean` |
|
||||
| `PATCH` | `/session/:id` | Actualizar propiedades de sesión | cuerpo: `{ title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/:id/children` | Obtener las sesiones secundarias de una sesión | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | Obtener la lista de tareas pendientes para una sesión | Devuelve <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` |
|
||||
| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/unrevert` | Restaurar todos los mensajes revertidos | Devuelve `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | Responder a una solicitud de permiso | cuerpo: `{ response, remember? }`, devuelve `boolean` |
|
||||
| Método | Camino | Descripción | Notas |
|
||||
| -------- | ---------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| `GET` | `/session` | Listar todas las sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `POST` | `/session` | Crear una nueva sesión | cuerpo: `{ parentID?, title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/status` | Obtener el estado de la sesión para todas las sesiones | Devuelve `{ [sessionID: string]: `<a href={typesUrl}>Estado de sesión</a>` }` |
|
||||
| `GET` | `/session/:id` | Obtener detalles de la sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `DELETE` | `/session/:id` | Eliminar una sesión y todos sus datos | Devuelve `boolean` |
|
||||
| `PATCH` | `/session/:id` | Actualizar propiedades de sesión | cuerpo: `{ title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/:id/children` | Obtener las sesiones secundarias de una sesión | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | Obtener la lista de tareas pendientes para una sesión | Devuelve <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` |
|
||||
| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
|
||||
| `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` |
|
||||
| `POST` | `/session/:id/unrevert` | Restaurar todos los mensajes revertidos | Devuelve `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | Responder a una solicitud de permiso | cuerpo: `{ response, remember? }`, devuelve `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Mensajes
|
||||
|
||||
| Método | Camino | Descripción | Notas |
|
||||
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` | Listar mensajes en una sesión | consulta: `limit?`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | Envía un mensaje y espera respuesta | cuerpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | Enviar un mensaje de forma asincrónica (sin espera) | cuerpo: igual que `/session/:id/message`, devuelve `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | Ejecutar un comando de barra diagonal | cuerpo: `{ messageID?, agent?, model?, command, arguments }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | Ejecute un comando de shell | cuerpo: `{ agent, model?, command }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| Método | Camino | Descripción | Notas |
|
||||
| ------ | --------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` | Listar mensajes en una sesión | consulta: `limit?`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | Envía un mensaje y espera respuesta | cuerpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | Enviar un mensaje de forma asincrónica (sin espera) | cuerpo: igual que `/session/:id/message`, devuelve `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | Ejecutar un comando de barra diagonal | cuerpo: `{ messageID?, agent?, model?, command, arguments }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | Ejecute un comando de shell | cuerpo: `{ agent, model?, command }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
### Comandos
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ---------- | ----------------- | --------------------------------------------- |
|
||||
| `GET` | `/command` | Listar todos los comandos | <a href={typesUrl}><code>Comando[]</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ---------- | ------------------------- | --------------------------------------------- |
|
||||
| `GET` | `/command` | Listar todos los comandos | <a href={typesUrl}><code>Comando[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Archivos
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `GET` | `/find/file?query=<q>` | Buscar archivos y directorios por nombre | `string[]` (caminos) |
|
||||
| `GET` | `/find/symbol?query=<q>` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | Listar archivos y directorios | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | Leer un archivo | <a href={typesUrl}><code>Contenido del archivo</code></a> |
|
||||
| `GET` | `/file/status` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `GET` | `/find/file?query=<q>` | Buscar archivos y directorios por nombre | `string[]` (caminos) |
|
||||
| `GET` | `/find/symbol?query=<q>` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | Listar archivos y directorios | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | Leer un archivo | <a href={typesUrl}><code>Contenido del archivo</code></a> |
|
||||
| `GET` | `/file/status` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
|
||||
|
||||
#### `/find/file` parámetros de consulta
|
||||
|
||||
@@ -212,76 +212,76 @@ El servidor opencode expone las siguientes API.
|
||||
|
||||
### Herramientas (experimentales)
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` | Listar todos los ID de herramientas | <a href={typesUrl}><code>ID de herramientas</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar herramientas con esquemas JSON para un modelo | <a href={typesUrl}><code>Lista de herramientas</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` | Listar todos los ID de herramientas | <a href={typesUrl}><code>ID de herramientas</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar herramientas con esquemas JSON para un modelo | <a href={typesUrl}><code>Lista de herramientas</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### LSP, formateadores y MCP
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | Obtener el estado del servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | Obtener estado del formateador | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | Obtener el estado del servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | Agregue el servidor MCP dinámicamente | cuerpo: `{ name, config }`, devuelve MCP objeto de estado |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------------ | ------------------------------------- | --------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | Obtener el estado del servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | Obtener estado del formateador | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | Obtener el estado del servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | Agregue el servidor MCP dinámicamente | cuerpo: `{ name, config }`, devuelve MCP objeto de estado |
|
||||
|
||||
---
|
||||
|
||||
### Agentes
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------- | ------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/agent` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------- | ------------------------------------ | -------------------------------------------- |
|
||||
| `GET` | `/agent` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Registro
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------ | ------------------------------------------------------------ | --------- |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------ | --------------------------------------------------------------------------- | --------- |
|
||||
| `POST` | `/log` | Escribir entrada de registro. Cuerpo: `{ service, level, message, extra? }` | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
|
||||
| `POST` | `/tui/append-prompt` | Agregar texto al mensaje | `boolean` |
|
||||
| `POST` | `/tui/open-help` | Abra el cuadro de diálogo de ayuda | `boolean` |
|
||||
| `POST` | `/tui/open-sessions` | Abrir el selector de sesiones | `boolean` |
|
||||
| `POST` | `/tui/open-themes` | Abra el selector de temas | `boolean` |
|
||||
| `POST` | `/tui/open-models` | Abrir el selector de modelo | `boolean` |
|
||||
| `POST` | `/tui/submit-prompt` | Enviar el mensaje actual | `boolean` |
|
||||
| `POST` | `/tui/clear-prompt` | Borrar el mensaje | `boolean` |
|
||||
| `POST` | `/tui/execute-command` | Ejecutar un comando (`{ command }`) | `boolean` |
|
||||
| `POST` | `/tui/show-toast` | Mostrar brindis (`{ title?, message, variant }`) | `boolean` |
|
||||
| `GET` | `/tui/control/next` | Espere la próxima solicitud de control | Objeto de solicitud de control |
|
||||
| `POST` | `/tui/control/response` | Responder a una solicitud de control (`{ body }`) | `boolean` |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ----------------------- | ------------------------------------------------- | ------------------------------ |
|
||||
| `POST` | `/tui/append-prompt` | Agregar texto al mensaje | `boolean` |
|
||||
| `POST` | `/tui/open-help` | Abra el cuadro de diálogo de ayuda | `boolean` |
|
||||
| `POST` | `/tui/open-sessions` | Abrir el selector de sesiones | `boolean` |
|
||||
| `POST` | `/tui/open-themes` | Abra el selector de temas | `boolean` |
|
||||
| `POST` | `/tui/open-models` | Abrir el selector de modelo | `boolean` |
|
||||
| `POST` | `/tui/submit-prompt` | Enviar el mensaje actual | `boolean` |
|
||||
| `POST` | `/tui/clear-prompt` | Borrar el mensaje | `boolean` |
|
||||
| `POST` | `/tui/execute-command` | Ejecutar un comando (`{ command }`) | `boolean` |
|
||||
| `POST` | `/tui/show-toast` | Mostrar brindis (`{ title?, message, variant }`) | `boolean` |
|
||||
| `GET` | `/tui/control/next` | Espere la próxima solicitud de control | Objeto de solicitud de control |
|
||||
| `POST` | `/tui/control/response` | Responder a una solicitud de control (`{ body }`) | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Autenticación
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ----------- | --------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` | Establecer credenciales de autenticación. El cuerpo debe coincidir con el esquema del proveedor | `boolean` |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ----------- | ----------------------------------------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` | Establecer credenciales de autenticación. El cuerpo debe coincidir con el esquema del proveedor | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Eventos
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
|
||||
| `GET` | `/event` | Transmisión de eventos enviados por el servidor. El primer evento es `server.connected`, luego eventos de bus | Transmisión de eventos enviados por el servidor |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | -------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
|
||||
| `GET` | `/event` | Transmisión de eventos enviados por el servidor. El primer evento es `server.connected`, luego eventos de bus | Transmisión de eventos enviados por el servidor |
|
||||
|
||||
---
|
||||
|
||||
### Documentos
|
||||
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------ | ------------------------- | --------------------------- |
|
||||
| `GET` | `/doc` | Especificación OpenAPI 3.1 | Página HTML con especificación OpenAPI |
|
||||
| Método | Camino | Descripción | Respuesta |
|
||||
| ------ | ------ | -------------------------- | -------------------------------------- |
|
||||
| `GET` | `/doc` | Especificación OpenAPI 3.1 | Página HTML con especificación OpenAPI |
|
||||
|
||||
@@ -139,11 +139,11 @@ Controle a qué agentes de habilidades pueden acceder utilizando permisos basado
|
||||
}
|
||||
```
|
||||
|
||||
| Permiso | Comportamiento |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `allow` | La habilidad se carga inmediatamente |
|
||||
| `deny` | Habilidad oculta al agente, acceso rechazado |
|
||||
| `ask` | Se solicita al usuario aprobación antes de cargar |
|
||||
| Permiso | Comportamiento |
|
||||
| ------- | ------------------------------------------------- |
|
||||
| `allow` | La habilidad se carga inmediatamente |
|
||||
| `deny` | Habilidad oculta al agente, acceso rechazado |
|
||||
| `ask` | Se solicita al usuario aprobación antes de cargar |
|
||||
|
||||
Los patrones admiten comodines: `internal-*` coincide con `internal-docs`, `internal-tools`, etc.
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ Sin soporte de color verdadero, los temas pueden aparecer con una precisión de
|
||||
|
||||
OpenCode viene con varios temas integrados.
|
||||
|
||||
| Nombre | Descripción |
|
||||
| ---------------------- | ---------------------------------------------------------------------------- |
|
||||
| `system` | Se adapta al color de fondo de tu terminal |
|
||||
| `tokyonight` | Basado en el tema [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | Basado en el tema [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | Basado en el tema oscuro de [Ayu](https://github.com/ayu-theme) |
|
||||
| `catppuccin` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
|
||||
| `catppuccin-macchiato` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
|
||||
| `gruvbox` | Basado en el tema [Gruvbox](https://github.com/morhetz/gruvbox) |
|
||||
| `kanagawa` | Basado en el tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
|
||||
| `nord` | Basado en el tema [Nord](https://github.com/nordtheme/nord) |
|
||||
| `matrix` | Verde estilo hacker sobre el tema negro |
|
||||
| `one-dark` | Basado en el tema oscuro [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) |
|
||||
| Nombre | Descripción |
|
||||
| ---------------------- | ----------------------------------------------------------------------------- |
|
||||
| `system` | Se adapta al color de fondo de tu terminal |
|
||||
| `tokyonight` | Basado en el tema [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | Basado en el tema [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | Basado en el tema oscuro de [Ayu](https://github.com/ayu-theme) |
|
||||
| `catppuccin` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
|
||||
| `catppuccin-macchiato` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
|
||||
| `gruvbox` | Basado en el tema [Gruvbox](https://github.com/morhetz/gruvbox) |
|
||||
| `kanagawa` | Basado en el tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
|
||||
| `nord` | Basado en el tema [Nord](https://github.com/nordtheme/nord) |
|
||||
| `matrix` | Verde estilo hacker sobre el tema negro |
|
||||
| `one-dark` | Basado en el tema oscuro [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) |
|
||||
|
||||
Y más, constantemente agregamos nuevos temas.
|
||||
|
||||
|
||||
@@ -62,37 +62,37 @@ Se le cobra por solicitud y puede agregar créditos a su cuenta.
|
||||
|
||||
También puede acceder a nuestros modelos a través de los siguientes puntos finales API.
|
||||
|
||||
| Modelo | Identificación del modelo | Punto final | Paquete SDK de IA |
|
||||
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
|
||||
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5.2 | gpt-5.2-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5.1 | gpt-5.1-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Códice Máximo | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Códice Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5 | gpt-5-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Claude Soneto 4.5 | soneto-claude-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Soneto 4 | claude-soneto-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Géminis 3 Pro | geminis-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
| Géminis 3 Flash | geminis-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 Gratis | minimax-m2.1-libre | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 Gratis | glm-4.7-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 Gratis | kimi-k2.5-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Pensamiento Kimi K2 | kimi-k2-pensando | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Codificador Qwen3 480B | codificador qwen3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Gran pepinillo | gran pepinillo | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Modelo | Identificación del modelo | Punto final | Paquete SDK de IA |
|
||||
| ---------------------- | ------------------------- | -------------------------------------------------- | --------------------------- |
|
||||
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5.2 | gpt-5.2-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5.1 | gpt-5.1-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Códice Máximo | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Códice Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Códice GPT 5 | gpt-5-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Claude Soneto 4.5 | soneto-claude-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Soneto 4 | claude-soneto-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Géminis 3 Pro | geminis-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
| Géminis 3 Flash | geminis-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 Gratis | minimax-m2.1-libre | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 Gratis | glm-4.7-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 Gratis | kimi-k2.5-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Pensamiento Kimi K2 | kimi-k2-pensando | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Codificador Qwen3 480B | codificador qwen3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Gran pepinillo | gran pepinillo | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|
||||
El [ID del modelo](/docs/config/#models) en su configuración OpenCode
|
||||
utiliza el formato `opencode/<model-id>`. Por ejemplo, para el Codex GPT 5.2, deberías
|
||||
@@ -114,41 +114,41 @@ https://opencode.ai/zen/v1/models
|
||||
|
||||
Apoyamos un modelo de pago por uso. A continuación se muestran los precios **por 1 millón de tokens**.
|
||||
|
||||
| Modelo | Entrada | Salida | Lectura en caché | Escritura en caché |
|
||||
| --------------------------------- | ------ | ------ | ----------- | ------------ |
|
||||
| Gran pepinillo | Gratis | Gratis | Gratis | - |
|
||||
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
|
||||
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| GLM 4.7 | $0,60 | $2.20 | $0,10 | - |
|
||||
| GLM 4.6 | $0,60 | $2.20 | $0,10 | - |
|
||||
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| Kimi K2.5 | $0,60 | $3.00 | $0,08 | - |
|
||||
| Pensamiento Kimi K2 | $0,40 | $2.50 | - | - |
|
||||
| Kimi K2 | $0,40 | $2.50 | - | - |
|
||||
| Codificador Qwen3 480B | $0,45 | $1,50 | - | - |
|
||||
| Claude Sonnet 4.5 (≤ 200.000 tokens) | $3.00 | $15.00 | $0,30 | $3,75 |
|
||||
| Claude Sonnet 4.5 (> 200.000 tokens) | $6.00 | $22,50 | $0,60 | $7.50 |
|
||||
| Claude Soneto 4 (≤ 200.000 fichas) | $3.00 | $15.00 | $0,30 | $3,75 |
|
||||
| Claude Sonnet 4 (> 200.000 fichas) | $6.00 | $22,50 | $0,60 | $7.50 |
|
||||
| Claude Haiku 4.5 | $1.00 | $5.00 | $0,10 | $1,25 |
|
||||
| Claude Haiku 3.5 | $0,80 | $4.00 | $0,08 | $1.00 |
|
||||
| Claude Opus 4.6 (≤ 200.000 tokens) | $5.00 | $25.00 | $0,50 | $6.25 |
|
||||
| Claude Opus 4.6 (> 200K fichas) | $10.00 | $37,50 | $1.00 | $12,50 |
|
||||
| Claude Opus 4.5 | $5.00 | $25.00 | $0,50 | $6.25 |
|
||||
| Claude Opus 4.1 | $15.00 | $75.00 | $1,50 | $18,75 |
|
||||
| Géminis 3 Pro (≤ 200.000 tokens) | $2.00 | $12.00 | $0,20 | - |
|
||||
| Géminis 3 Pro (> 200.000 tokens) | $4.00 | $18.00 | $0,40 | - |
|
||||
| Géminis 3 Flash | $0,50 | $3.00 | $0,05 | - |
|
||||
| GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
|
||||
| Códice GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
|
||||
| GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
|
||||
| Códice GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
|
||||
| GPT 5.1 Códice Máximo | $1,25 | $10.00 | $0,125 | - |
|
||||
| GPT 5.1 Códice Mini | $0,25 | $2.00 | $0,025 | - |
|
||||
| GPT 5 | $1.07 | $8,50 | $0,107 | - |
|
||||
| Códice GPT 5 | $1.07 | $8,50 | $0,107 | - |
|
||||
| GPT5Nano | Gratis | Gratis | Gratis | - |
|
||||
| Modelo | Entrada | Salida | Lectura en caché | Escritura en caché |
|
||||
| ------------------------------------ | ------- | ------ | ---------------- | ------------------ |
|
||||
| Gran pepinillo | Gratis | Gratis | Gratis | - |
|
||||
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
|
||||
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| GLM 4.7 | $0,60 | $2.20 | $0,10 | - |
|
||||
| GLM 4.6 | $0,60 | $2.20 | $0,10 | - |
|
||||
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
|
||||
| Kimi K2.5 | $0,60 | $3.00 | $0,08 | - |
|
||||
| Pensamiento Kimi K2 | $0,40 | $2.50 | - | - |
|
||||
| Kimi K2 | $0,40 | $2.50 | - | - |
|
||||
| Codificador Qwen3 480B | $0,45 | $1,50 | - | - |
|
||||
| Claude Sonnet 4.5 (≤ 200.000 tokens) | $3.00 | $15.00 | $0,30 | $3,75 |
|
||||
| Claude Sonnet 4.5 (> 200.000 tokens) | $6.00 | $22,50 | $0,60 | $7.50 |
|
||||
| Claude Soneto 4 (≤ 200.000 fichas) | $3.00 | $15.00 | $0,30 | $3,75 |
|
||||
| Claude Sonnet 4 (> 200.000 fichas) | $6.00 | $22,50 | $0,60 | $7.50 |
|
||||
| Claude Haiku 4.5 | $1.00 | $5.00 | $0,10 | $1,25 |
|
||||
| Claude Haiku 3.5 | $0,80 | $4.00 | $0,08 | $1.00 |
|
||||
| Claude Opus 4.6 (≤ 200.000 tokens) | $5.00 | $25.00 | $0,50 | $6.25 |
|
||||
| Claude Opus 4.6 (> 200K fichas) | $10.00 | $37,50 | $1.00 | $12,50 |
|
||||
| Claude Opus 4.5 | $5.00 | $25.00 | $0,50 | $6.25 |
|
||||
| Claude Opus 4.1 | $15.00 | $75.00 | $1,50 | $18,75 |
|
||||
| Géminis 3 Pro (≤ 200.000 tokens) | $2.00 | $12.00 | $0,20 | - |
|
||||
| Géminis 3 Pro (> 200.000 tokens) | $4.00 | $18.00 | $0,40 | - |
|
||||
| Géminis 3 Flash | $0,50 | $3.00 | $0,05 | - |
|
||||
| GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
|
||||
| Códice GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
|
||||
| GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
|
||||
| Códice GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
|
||||
| GPT 5.1 Códice Máximo | $1,25 | $10.00 | $0,125 | - |
|
||||
| GPT 5.1 Códice Mini | $0,25 | $2.00 | $0,025 | - |
|
||||
| GPT 5 | $1.07 | $8,50 | $0,107 | - |
|
||||
| Códice GPT 5 | $1.07 | $8,50 | $0,107 | - |
|
||||
| GPT5Nano | Gratis | Gratis | Gratis | - |
|
||||
|
||||
Es posible que notes _Claude Haiku 3.5_ en tu historial de uso. Este es un [modelo de bajo costo](/docs/config/#models) que se utiliza para generar los títulos de tus sesiones.
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ OpenCode est livré avec deux agents principaux intégrés et deux sous-agents i
|
||||
|
||||
### Utiliser la construction
|
||||
|
||||
_Mode_ : `primary`
|
||||
*Mode* : `primary`
|
||||
|
||||
Build est l'agent principal **par défaut** avec tous les outils activés. Il s'agit de l'agent standard pour les travaux de développement où vous avez besoin d'un accès complet aux opérations sur les fichiers et aux commandes système.
|
||||
|
||||
@@ -56,7 +56,7 @@ Build est l'agent principal **par défaut** avec tous les outils activés. Il s'
|
||||
|
||||
### Utiliser le forfait
|
||||
|
||||
_Mode_ : `primary`
|
||||
*Mode* : `primary`
|
||||
|
||||
Un agent restreint conçu pour la planification et l'analyse. Nous utilisons un système d'autorisation pour vous donner plus de contrôle et empêcher toute modification involontaire.
|
||||
Par défaut, tous les éléments suivants sont définis sur `ask` :
|
||||
@@ -70,7 +70,7 @@ Cet agent est utile lorsque vous souhaitez que LLM analyse le code, suggère des
|
||||
|
||||
### Utiliser général
|
||||
|
||||
_Mode_ : `subagent`
|
||||
*Mode* : `subagent`
|
||||
|
||||
Un agent polyvalent pour rechercher des questions complexes et exécuter des tâches en plusieurs étapes. Dispose d'un accès complet aux outils (sauf todo), il peut donc apporter des modifications aux fichiers en cas de besoin. Utilisez-le pour exécuter plusieurs unités de travail en parallèle.
|
||||
|
||||
@@ -78,7 +78,7 @@ Un agent polyvalent pour rechercher des questions complexes et exécuter des tâ
|
||||
|
||||
### Utiliser explorer
|
||||
|
||||
_Mode_ : `subagent`
|
||||
*Mode* : `subagent`
|
||||
|
||||
Un agent rapide en lecture seule pour explorer les bases de code. Impossible de modifier les fichiers. Utilisez-le lorsque vous avez besoin de rechercher rapidement des fichiers par modèles, de rechercher du code par mots-clés ou de répondre à des questions sur la base de code.
|
||||
|
||||
@@ -86,7 +86,7 @@ Un agent rapide en lecture seule pour explorer les bases de code. Impossible de
|
||||
|
||||
### Utiliser le compactage
|
||||
|
||||
_Mode_ : `primary`
|
||||
*Mode* : `primary`
|
||||
|
||||
Agent système caché qui compacte un contexte long en un résumé plus petit. Il s'exécute automatiquement en cas de besoin et n'est pas sélectionnable dans l'interface utilisateur.
|
||||
|
||||
@@ -94,7 +94,7 @@ Agent système caché qui compacte un contexte long en un résumé plus petit. I
|
||||
|
||||
### Utiliser le titre
|
||||
|
||||
_Mode_ : `primary`
|
||||
*Mode* : `primary`
|
||||
|
||||
Agent système caché qui génère des titres de session courts. Il s'exécute automatiquement et n'est pas sélectionnable dans l'interface utilisateur.
|
||||
|
||||
@@ -102,7 +102,7 @@ Agent système caché qui génère des titres de session courts. Il s'exécute a
|
||||
|
||||
### Utiliser le résumé
|
||||
|
||||
_Mode_ : `primary`
|
||||
*Mode* : `primary`
|
||||
|
||||
Agent système caché qui crée des résumés de session. Il s'exécute automatiquement et n'est pas sélectionnable dans l'interface utilisateur.
|
||||
|
||||
|
||||
@@ -29,15 +29,15 @@ opencode [project]
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Continuer la dernière séance |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
| `--prompt` | | Invite à utiliser |
|
||||
| `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
|
||||
| `--agent` | | Agent à utiliser |
|
||||
| `--port` | | Port à écouter sur |
|
||||
| `--hostname` | | Nom d'hôte sur lequel écouter |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------ | ----- | -------------------------------------------------- |
|
||||
| `--continue` | `-c` | Continuer la dernière séance |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
| `--prompt` | | Invite à utiliser |
|
||||
| `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
|
||||
| `--agent` | | Agent à utiliser |
|
||||
| `--port` | | Port à écouter sur |
|
||||
| `--hostname` | | Nom d'hôte sur lequel écouter |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Répertoire de travail dans lequel démarrer TUI |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ----------- | ----- | ---------------------------------------------- |
|
||||
| `--dir` | | Répertoire de travail dans lequel démarrer TUI |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
|
||||
---
|
||||
|
||||
@@ -186,10 +186,10 @@ opencode github run
|
||||
|
||||
##### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| --------- | -------------------------------------- |
|
||||
| Drapeau | Descriptif |
|
||||
| --------- | ---------------------------------------------------- |
|
||||
| `--event` | Événement simulé GitHub pour lequel exécuter l'agent |
|
||||
| `--token` | Jeton d'accès personnel GitHub |
|
||||
| `--token` | Jeton d'accès personnel GitHub |
|
||||
|
||||
---
|
||||
|
||||
@@ -295,9 +295,9 @@ opencode models anthropic
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Actualisez le cache des modèles à partir de models.dev |
|
||||
| Drapeau | Descriptif |
|
||||
| ----------- | ------------------------------------------------------------------------------------------ |
|
||||
| `--refresh` | Actualisez le cache des modèles à partir de models.dev |
|
||||
| `--verbose` | Utiliser une sortie de modèle plus détaillée (inclut des métadonnées telles que les coûts) |
|
||||
|
||||
Utilisez l'indicateur `--refresh` pour mettre à jour la liste des modèles mis en cache. Ceci est utile lorsque de nouveaux modèles ont été ajoutés à un fournisseur et que vous souhaitez les voir dans OpenCode.
|
||||
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | La commande à exécuter, utilisez message pour args |
|
||||
| `--continue` | `-c` | Continuer la dernière séance |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
| `--share` | | Partager la séance |
|
||||
| `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
|
||||
| `--agent` | | Agent à utiliser |
|
||||
| `--file` | `-f` | Fichier(s) à joindre au message |
|
||||
| `--format` | | Format : par défaut (formaté) ou json (événements JSON bruts) |
|
||||
| `--title` | | Titre de la session (utilise une invite tronquée si aucune valeur n'est fournie) |
|
||||
| `--attach` | | Connectez-vous à un serveur opencode en cours d'exécution (par exemple, http://localhost:4096) |
|
||||
| `--port` | | Port du serveur local (port aléatoire par défaut) |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------ | ----- | ---------------------------------------------------------------------------------------------- |
|
||||
| `--command` | | La commande à exécuter, utilisez message pour args |
|
||||
| `--continue` | `-c` | Continuer la dernière séance |
|
||||
| `--session` | `-s` | ID de session pour continuer |
|
||||
| `--share` | | Partager la séance |
|
||||
| `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
|
||||
| `--agent` | | Agent à utiliser |
|
||||
| `--file` | `-f` | Fichier(s) à joindre au message |
|
||||
| `--format` | | Format : par défaut (formaté) ou json (événements JSON bruts) |
|
||||
| `--title` | | Titre de la session (utilise une invite tronquée si aucune valeur n'est fournie) |
|
||||
| `--attach` | | Connectez-vous à un serveur opencode en cours d'exécution (par exemple, http://localhost:4096) |
|
||||
| `--port` | | Port du serveur local (port aléatoire par défaut) |
|
||||
|
||||
---
|
||||
|
||||
@@ -362,12 +362,12 @@ Cela démarre un serveur HTTP qui fournit à API un accès à la fonctionnalité
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port à écouter sur |
|
||||
| `--hostname` | Nom d'hôte sur lequel écouter |
|
||||
| `--mdns` | Activer la découverte mDNS |
|
||||
| `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | ---------------------------------------------------------- |
|
||||
| `--port` | Port à écouter sur |
|
||||
| `--hostname` | Nom d'hôte sur lequel écouter |
|
||||
| `--mdns` | Activer la découverte mDNS |
|
||||
| `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
|
||||
|
||||
---
|
||||
|
||||
@@ -391,10 +391,10 @@ opencode session list
|
||||
|
||||
##### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Limiter aux N sessions les plus récentes |
|
||||
| `--format` | | Format de sortie : tableau ou json (tableau) |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ------------- | ----- | -------------------------------------------- |
|
||||
| `--max-count` | `-n` | Limiter aux N sessions les plus récentes |
|
||||
| `--format` | | Format de sortie : tableau ou json (tableau) |
|
||||
|
||||
---
|
||||
|
||||
@@ -408,12 +408,12 @@ opencode stats
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` | Afficher les statistiques des N derniers jours (tous les temps) |
|
||||
| `--tools` | Nombre d'outils à afficher (tous) |
|
||||
| `--models` | Afficher la répartition de l'utilisation du modèle (masqué par défaut). Passez un numéro pour afficher le premier N |
|
||||
| `--project` | Filtrer par projet (tous les projets, chaîne vide : projet en cours) |
|
||||
| Drapeau | Descriptif |
|
||||
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| `--days` | Afficher les statistiques des N derniers jours (tous les temps) |
|
||||
| `--tools` | Nombre d'outils à afficher (tous) |
|
||||
| `--models` | Afficher la répartition de l'utilisation du modèle (masqué par défaut). Passez un numéro pour afficher le premier N |
|
||||
| `--project` | Filtrer par projet (tous les projets, chaîne vide : projet en cours) |
|
||||
|
||||
---
|
||||
|
||||
@@ -458,12 +458,12 @@ Cela démarre un serveur HTTP et ouvre un navigateur Web pour accéder à OpenCo
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port à écouter sur |
|
||||
| `--hostname` | Nom d'hôte sur lequel écouter |
|
||||
| `--mdns` | Activer la découverte mDNS |
|
||||
| `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | ---------------------------------------------------------- |
|
||||
| `--port` | Port à écouter sur |
|
||||
| `--hostname` | Nom d'hôte sur lequel écouter |
|
||||
| `--mdns` | Activer la découverte mDNS |
|
||||
| `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
|
||||
|
||||
---
|
||||
|
||||
@@ -479,10 +479,10 @@ Cette commande démarre un serveur ACP qui communique via stdin/stdout en utilis
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | Répertoire de travail |
|
||||
| `--port` | Port à écouter sur |
|
||||
| Drapeau | Descriptif |
|
||||
| ------------ | ----------------------------- |
|
||||
| `--cwd` | Répertoire de travail |
|
||||
| `--port` | Port à écouter sur |
|
||||
| `--hostname` | Nom d'hôte sur lequel écouter |
|
||||
|
||||
---
|
||||
@@ -497,12 +497,12 @@ opencode uninstall
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Conserver les fichiers de configuration |
|
||||
| `--keep-data` | `-d` | Conserver les données de session et les instantanés |
|
||||
| `--dry-run` | | Afficher ce qui serait supprimé sans supprimer |
|
||||
| `--force` | `-f` | Ignorer les invites de confirmation |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| --------------- | ----- | --------------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Conserver les fichiers de configuration |
|
||||
| `--keep-data` | `-d` | Conserver les données de session et les instantanés |
|
||||
| `--dry-run` | | Afficher ce qui serait supprimé sans supprimer |
|
||||
| `--force` | `-f` | Ignorer les invites de confirmation |
|
||||
|
||||
---
|
||||
|
||||
@@ -528,9 +528,9 @@ opencode upgrade v0.1.48
|
||||
|
||||
#### Drapeaux
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| `--method` | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, chignon, infusion |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| ---------- | ----- | ----------------------------------------------------------------------- |
|
||||
| `--method` | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, chignon, infusion |
|
||||
|
||||
---
|
||||
|
||||
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
|
||||
|
||||
La CLI opencode prend les indicateurs globaux suivants.
|
||||
|
||||
| Drapeau | Court | Descriptif |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Afficher l'aide |
|
||||
| `--version` | `-v` | Imprimer le numéro de version |
|
||||
| `--print-logs` | | Imprimer les journaux sur stderr |
|
||||
| `--log-level` | | Niveau de journalisation (DEBUG, INFO, WARN, ERROR) |
|
||||
| Drapeau | Court | Descriptif |
|
||||
| -------------- | ----- | --------------------------------------------------- |
|
||||
| `--help` | `-h` | Afficher l'aide |
|
||||
| `--version` | `-v` | Imprimer le numéro de version |
|
||||
| `--print-logs` | | Imprimer les journaux sur stderr |
|
||||
| `--log-level` | | Niveau de journalisation (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
@@ -551,32 +551,32 @@ La CLI opencode prend les indicateurs globaux suivants.
|
||||
|
||||
OpenCode peut être configuré à l'aide de variables d'environnement.
|
||||
|
||||
| Variables | Tapez | Descriptif |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions |
|
||||
| `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows |
|
||||
| `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration |
|
||||
| `OPENCODE_CONFIG_DIR` | chaîne | Chemin d'accès au répertoire de configuration |
|
||||
| `OPENCODE_CONFIG_CONTENT` | chaîne | Contenu de configuration JSON en ligne |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | booléen | Désactiver les vérifications automatiques des mises à jour |
|
||||
| `OPENCODE_DISABLE_PRUNE` | booléen | Désactiver l'élagage des anciennes données |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | booléen | Désactiver les mises à jour automatiques des titres du terminal |
|
||||
| `OPENCODE_PERMISSION` | chaîne | Configuration des autorisations JSON intégrées |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booléen | Désactiver les plugins par défaut |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | booléen | Désactiver les téléchargements automatiques du serveur LSP |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booléen | Activer les modèles expérimentaux |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | booléen | Désactiver le compactage automatique du contexte |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | booléen | Désactiver la lecture de `.claude` (invite + compétences) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booléen | Désactiver la lecture `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booléen | Désactiver le chargement de `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | booléen | Désactiver la récupération de modèles à partir de sources distantes |
|
||||
| `OPENCODE_FAKE_VCS` | chaîne | Faux fournisseur VCS à des fins de test |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | booléen | Désactiver la vérification de l'heure des fichiers pour l'optimisation |
|
||||
| `OPENCODE_CLIENT` | chaîne | Identifiant du client (par défaut `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | booléen | Activer les outils de recherche Web Exa |
|
||||
| `OPENCODE_SERVER_PASSWORD` | chaîne | Activer l'authentification de base pour `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | chaîne | Remplacer le nom d'utilisateur d'authentification de base (par défaut `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | chaîne | URL personnalisé pour récupérer la configuration des modèles |
|
||||
| Variables | Tapez | Descriptif |
|
||||
| ------------------------------------- | ------- | --------------------------------------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions |
|
||||
| `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows |
|
||||
| `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration |
|
||||
| `OPENCODE_CONFIG_DIR` | chaîne | Chemin d'accès au répertoire de configuration |
|
||||
| `OPENCODE_CONFIG_CONTENT` | chaîne | Contenu de configuration JSON en ligne |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | booléen | Désactiver les vérifications automatiques des mises à jour |
|
||||
| `OPENCODE_DISABLE_PRUNE` | booléen | Désactiver l'élagage des anciennes données |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | booléen | Désactiver les mises à jour automatiques des titres du terminal |
|
||||
| `OPENCODE_PERMISSION` | chaîne | Configuration des autorisations JSON intégrées |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booléen | Désactiver les plugins par défaut |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | booléen | Désactiver les téléchargements automatiques du serveur LSP |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booléen | Activer les modèles expérimentaux |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | booléen | Désactiver le compactage automatique du contexte |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | booléen | Désactiver la lecture de `.claude` (invite + compétences) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booléen | Désactiver la lecture `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booléen | Désactiver le chargement de `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | booléen | Désactiver la récupération de modèles à partir de sources distantes |
|
||||
| `OPENCODE_FAKE_VCS` | chaîne | Faux fournisseur VCS à des fins de test |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | booléen | Désactiver la vérification de l'heure des fichiers pour l'optimisation |
|
||||
| `OPENCODE_CLIENT` | chaîne | Identifiant du client (par défaut `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | booléen | Activer les outils de recherche Web Exa |
|
||||
| `OPENCODE_SERVER_PASSWORD` | chaîne | Activer l'authentification de base pour `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | chaîne | Remplacer le nom d'utilisateur d'authentification de base (par défaut `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | chaîne | URL personnalisé pour récupérer la configuration des modèles |
|
||||
|
||||
---
|
||||
|
||||
@@ -584,18 +584,18 @@ OpenCode peut être configuré à l'aide de variables d'environnement.
|
||||
|
||||
Ces variables d'environnement activent des fonctionnalités expérimentales qui peuvent être modifiées ou supprimées.
|
||||
|
||||
| Variables | Tapez | Descriptif |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | booléen | Activer toutes les fonctionnalités expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booléen | Activer la découverte d'icônes |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booléen | Désactiver la copie lors de la sélection dans TUI |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numéro | Délai d'expiration par défaut pour les commandes bash dans ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | numéro | Nombre maximum de jetons de sortie pour les réponses LLM |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booléen | Activer l'observateur de fichiers pour l'ensemble du répertoire |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | booléen | Activer le formateur oxfmt |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booléen | Activer l'outil expérimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booléen | Désactiver l'observateur de fichiers |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | booléen | Activer les fonctionnalités Exa expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booléen | Activer la vérification expérimentale du type LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booléen | Activer les fonctionnalités de démarque expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booléen | Activer le mode plan |
|
||||
| Variables | Tapez | Descriptif |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | booléen | Activer toutes les fonctionnalités expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booléen | Activer la découverte d'icônes |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booléen | Désactiver la copie lors de la sélection dans TUI |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numéro | Délai d'expiration par défaut pour les commandes bash dans ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | numéro | Nombre maximum de jetons de sortie pour les réponses LLM |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booléen | Activer l'observateur de fichiers pour l'ensemble du répertoire |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | booléen | Activer le formateur oxfmt |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booléen | Activer l'outil expérimental LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booléen | Désactiver l'observateur de fichiers |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | booléen | Activer les fonctionnalités Exa expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booléen | Activer la vérification expérimentale du type LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booléen | Activer les fonctionnalités de démarque expérimentales |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booléen | Activer le mode plan |
|
||||
|
||||
@@ -15,62 +15,62 @@ Vous pouvez également consulter [awesome-opencode](https://github.com/awesome-o
|
||||
|
||||
## Plugins
|
||||
|
||||
| Nom | Descriptif |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Exécutez automatiquement des sessions OpenCode dans des sandbox Daytona isolés avec synchronisation git et aperçus en direct |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injecter automatiquement les en-têtes de session Helicone pour le regroupement des requêtes |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Injectez automatiquement les types TypeScript/Svelte dans les lectures de fichiers avec des outils de recherche |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilisez votre abonnement ChatGPT Plus/Pro au lieu de crédits API |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilisez votre forfait Gemini existant au lieu de la facturation API |
|
||||
| [opencode-antigravité-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilisez les modèles gratuits d'Antigravity au lieu de la facturation API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolation de conteneur de développement multibranche avec clones superficiels et ports attribués automatiquement |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, avec prise en charge de la recherche Google et gestion API plus robuste |
|
||||
| [opencode-élagage-de-contexte-dynamique](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimisez l'utilisation des jetons en éliminant les sorties d'outils obsolètes |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Ajoutez la prise en charge native de la recherche Web pour les fournisseurs pris en charge avec le style ancré par Google |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permet aux agents IA d'exécuter des processus en arrière-plan dans un PTY et de leur envoyer des entrées interactives. |
|
||||
| [opencode-shell-stratégie](https://github.com/JRedeker/opencode-shell-strategy) | Instructions pour les commandes shell non interactives - empêche les blocages des opérations dépendantes du téléscripteur |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Suivez l'utilisation de OpenCode avec Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Nettoyer les tableaux de démarques produits par les LLM |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Édition de code 10 fois plus rapide avec Morph Fast Apply API et les marqueurs d'édition différée |
|
||||
| [oh-mon-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agents d'arrière-plan, outils LSP/AST/MCP prédéfinis, agents sélectionnés, compatibles Claude Code |
|
||||
| [opencode-notificateur](https://github.com/panta82/opencode-notificator) | Notifications de bureau et alertes sonores pour les sessions OpenCode |
|
||||
| [opencode-notificateur](https://github.com/mohak34/opencode-notifier) | Notifications sur le bureau et alertes sonores pour les événements d'autorisation, d'achèvement et d'erreur |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Dénomination automatique de session Zellij basée sur l'IA basée sur le contexte OpenCode |
|
||||
| [opencode-habile](https://github.com/zenobi-us/opencode-skillful) | Autoriser les agents OpenCode à charger paresseusement les invites à la demande grâce à la découverte et à l'injection de compétences |
|
||||
| [opencode-supermémoire](https://github.com/supermemoryai/opencode-supermemory) | Mémoire persistante entre les sessions utilisant Supermemory |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Révision interactive du plan avec annotation visuelle et partage privé/hors ligne |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Étendez opencode /commands dans un système d'orchestration puissant avec contrôle de flux granulaire |
|
||||
| [opencode-planificateur](https://github.com/different-ai/opencode-scheduler) | Planifiez des tâches récurrentes à l'aide de launchd (Mac) ou systemd (Linux) avec la syntaxe cron |
|
||||
| [micode](https://github.com/vtemian/micode) | Brainstorming structuré → Planifier → Mettre en œuvre un workflow avec continuité de session |
|
||||
| [octo](https://github.com/vtemian/octto) | Interface utilisateur de navigateur interactive pour le brainstorming IA avec des formulaires multi-questions |
|
||||
| [opencode-agents-de-fond](https://github.com/kdcokenny/opencode-background-agents) | Agents d'arrière-plan de style Claude Code avec délégation asynchrone et persistance du contexte |
|
||||
| [opencode-notifier](https://github.com/kdcokenny/opencode-notify) | Notifications natives du système d'exploitation pour OpenCode – savoir quand les tâches sont terminées |
|
||||
| [opencode-espace de travail](https://github.com/kdcokenny/opencode-workspace) | Harnais d'orchestration multi-agents fourni – 16 composants, une installation |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Arbres de travail Git sans friction pour OpenCode |
|
||||
| Nom | Descriptif |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Exécutez automatiquement des sessions OpenCode dans des sandbox Daytona isolés avec synchronisation git et aperçus en direct |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injecter automatiquement les en-têtes de session Helicone pour le regroupement des requêtes |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Injectez automatiquement les types TypeScript/Svelte dans les lectures de fichiers avec des outils de recherche |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilisez votre abonnement ChatGPT Plus/Pro au lieu de crédits API |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilisez votre forfait Gemini existant au lieu de la facturation API |
|
||||
| [opencode-antigravité-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilisez les modèles gratuits d'Antigravity au lieu de la facturation API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolation de conteneur de développement multibranche avec clones superficiels et ports attribués automatiquement |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, avec prise en charge de la recherche Google et gestion API plus robuste |
|
||||
| [opencode-élagage-de-contexte-dynamique](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimisez l'utilisation des jetons en éliminant les sorties d'outils obsolètes |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Ajoutez la prise en charge native de la recherche Web pour les fournisseurs pris en charge avec le style ancré par Google |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permet aux agents IA d'exécuter des processus en arrière-plan dans un PTY et de leur envoyer des entrées interactives. |
|
||||
| [opencode-shell-stratégie](https://github.com/JRedeker/opencode-shell-strategy) | Instructions pour les commandes shell non interactives - empêche les blocages des opérations dépendantes du téléscripteur |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Suivez l'utilisation de OpenCode avec Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Nettoyer les tableaux de démarques produits par les LLM |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Édition de code 10 fois plus rapide avec Morph Fast Apply API et les marqueurs d'édition différée |
|
||||
| [oh-mon-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agents d'arrière-plan, outils LSP/AST/MCP prédéfinis, agents sélectionnés, compatibles Claude Code |
|
||||
| [opencode-notificateur](https://github.com/panta82/opencode-notificator) | Notifications de bureau et alertes sonores pour les sessions OpenCode |
|
||||
| [opencode-notificateur](https://github.com/mohak34/opencode-notifier) | Notifications sur le bureau et alertes sonores pour les événements d'autorisation, d'achèvement et d'erreur |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Dénomination automatique de session Zellij basée sur l'IA basée sur le contexte OpenCode |
|
||||
| [opencode-habile](https://github.com/zenobi-us/opencode-skillful) | Autoriser les agents OpenCode à charger paresseusement les invites à la demande grâce à la découverte et à l'injection de compétences |
|
||||
| [opencode-supermémoire](https://github.com/supermemoryai/opencode-supermemory) | Mémoire persistante entre les sessions utilisant Supermemory |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Révision interactive du plan avec annotation visuelle et partage privé/hors ligne |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Étendez opencode /commands dans un système d'orchestration puissant avec contrôle de flux granulaire |
|
||||
| [opencode-planificateur](https://github.com/different-ai/opencode-scheduler) | Planifiez des tâches récurrentes à l'aide de launchd (Mac) ou systemd (Linux) avec la syntaxe cron |
|
||||
| [micode](https://github.com/vtemian/micode) | Brainstorming structuré → Planifier → Mettre en œuvre un workflow avec continuité de session |
|
||||
| [octo](https://github.com/vtemian/octto) | Interface utilisateur de navigateur interactive pour le brainstorming IA avec des formulaires multi-questions |
|
||||
| [opencode-agents-de-fond](https://github.com/kdcokenny/opencode-background-agents) | Agents d'arrière-plan de style Claude Code avec délégation asynchrone et persistance du contexte |
|
||||
| [opencode-notifier](https://github.com/kdcokenny/opencode-notify) | Notifications natives du système d'exploitation pour OpenCode – savoir quand les tâches sont terminées |
|
||||
| [opencode-espace de travail](https://github.com/kdcokenny/opencode-workspace) | Harnais d'orchestration multi-agents fourni – 16 composants, une installation |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Arbres de travail Git sans friction pour OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Projets
|
||||
|
||||
| Nom | Descriptif |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Bot Discord pour contrôler les sessions OpenCode, construit sur le SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim pour les invites compatibles avec l'éditeur, construit sur API |
|
||||
| [portail](https://github.com/hosenur/portal) | Interface utilisateur Web axée sur les mobiles pour OpenCode sur Tailscale/VPN |
|
||||
| [Modèle de plug-in opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Modèle pour créer des plugins OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim pour opencode - un agent de codage d'IA basé sur un terminal |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Fournisseur Vercel AI SDK pour l'utilisation de OpenCode via @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Application Web/De bureau et extension VS Code pour OpenCode |
|
||||
| [OpenCode-Obsidienne](https://github.com/mtymek/opencode-obsidian) | Plugin Obsidian qui intègre OpenCode dans l'interface utilisateur d'Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Une alternative open source à Claude Cowork, propulsée par OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Gestionnaire d'extensions OpenCode avec profils portables et isolés. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Application client de bureau, Web, mobile et distante pour OpenCode |
|
||||
| Nom | Descriptif |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Bot Discord pour contrôler les sessions OpenCode, construit sur le SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim pour les invites compatibles avec l'éditeur, construit sur API |
|
||||
| [portail](https://github.com/hosenur/portal) | Interface utilisateur Web axée sur les mobiles pour OpenCode sur Tailscale/VPN |
|
||||
| [Modèle de plug-in opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Modèle pour créer des plugins OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim pour opencode - un agent de codage d'IA basé sur un terminal |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Fournisseur Vercel AI SDK pour l'utilisation de OpenCode via @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Application Web/De bureau et extension VS Code pour OpenCode |
|
||||
| [OpenCode-Obsidienne](https://github.com/mtymek/opencode-obsidian) | Plugin Obsidian qui intègre OpenCode dans l'interface utilisateur d'Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Une alternative open source à Claude Cowork, propulsée par OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Gestionnaire d'extensions OpenCode avec profils portables et isolés. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Application client de bureau, Web, mobile et distante pour OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agents
|
||||
|
||||
| Nom | Descriptif |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agent](https://github.com/Cluster444/agentic) | Agents et commandes d'IA modulaires pour un développement structuré |
|
||||
| Nom | Descriptif |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||
| [Agent](https://github.com/Cluster444/agentic) | Agents et commandes d'IA modulaires pour un développement structuré |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Configurations, invites, agents et plug-ins pour des flux de travail améliorés |
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode formate automatiquement les fichiers après leur écriture ou leur modi
|
||||
|
||||
OpenCode est livré avec plusieurs formateurs intégrés pour les langages et frameworks populaires. Vous trouverez ci-dessous une liste des formateurs, des extensions de fichiers prises en charge et des commandes ou options de configuration dont il a besoin.
|
||||
|
||||
| Formateur | Rallonges | Exigences |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .aller | Commande `gofmt` disponible |
|
||||
| mélanger | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Commande `mix` disponible |
|
||||
| plus jolie | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://prettier.io/docs/en/index.html) | Dépendance `prettier` dans `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://biomejs.dev/) | Fichier de configuration `biome.json(c)` |
|
||||
| zigzag | .zig, .zon | Commande `zig` disponible |
|
||||
| format clang | .c, .cpp, .h, .hpp, .ino et [plus](https://clang.llvm.org/docs/ClangFormat.html) | Fichier de configuration `.clang-format` |
|
||||
| klint | .kt, .kts | Commande `ktlint` disponible |
|
||||
| fraise | .py, .pyi | Commande `ruff` disponible avec config |
|
||||
| rustfmt | .rs | Commande `rustfmt` disponible |
|
||||
| fret | .rs | Commande `cargo fmt` disponible |
|
||||
| UV | .py, .pyi | Commande `uv` disponible |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | Commande `rubocop` disponible |
|
||||
| normerb | .rb, .rake, .gemspec, .ru | Commande `standardrb` disponible |
|
||||
| htmlbeautifier | .erb, .html.erb | Commande `htmlbeautifier` disponible |
|
||||
| air | .R | Commande `air` disponible |
|
||||
| fléchette | .dart | Commande `dart` disponible |
|
||||
| format ocaml | .ml, .mli | Commande `ocamlformat` disponible et fichier de configuration `.ocamlformat` |
|
||||
| terraformer | .tf, .tfvars | Commande `terraform` disponible |
|
||||
| lueur | .lueur | Commande `gleam` disponible |
|
||||
| nixfmt | .nix | Commande `nixfmt` disponible |
|
||||
| shfmt | .sh, .bash | Commande `shfmt` disponible |
|
||||
| pinte | .php | Dépendance `laravel/pint` dans `composer.json` |
|
||||
| oxfmt (expérimental) | .js, .jsx, .ts, .tsx | Dépendance `oxfmt` dans `package.json` et un [flag de variable d'environnement expérimental](/docs/cli/#experimental) |
|
||||
| bronze doré | .hs | Commande `ormolu` disponible |
|
||||
| Formateur | Rallonges | Exigences |
|
||||
| -------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .aller | Commande `gofmt` disponible |
|
||||
| mélanger | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Commande `mix` disponible |
|
||||
| plus jolie | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://prettier.io/docs/en/index.html) | Dépendance `prettier` dans `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://biomejs.dev/) | Fichier de configuration `biome.json(c)` |
|
||||
| zigzag | .zig, .zon | Commande `zig` disponible |
|
||||
| format clang | .c, .cpp, .h, .hpp, .ino et [plus](https://clang.llvm.org/docs/ClangFormat.html) | Fichier de configuration `.clang-format` |
|
||||
| klint | .kt, .kts | Commande `ktlint` disponible |
|
||||
| fraise | .py, .pyi | Commande `ruff` disponible avec config |
|
||||
| rustfmt | .rs | Commande `rustfmt` disponible |
|
||||
| fret | .rs | Commande `cargo fmt` disponible |
|
||||
| UV | .py, .pyi | Commande `uv` disponible |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | Commande `rubocop` disponible |
|
||||
| normerb | .rb, .rake, .gemspec, .ru | Commande `standardrb` disponible |
|
||||
| htmlbeautifier | .erb, .html.erb | Commande `htmlbeautifier` disponible |
|
||||
| air | .R | Commande `air` disponible |
|
||||
| fléchette | .dart | Commande `dart` disponible |
|
||||
| format ocaml | .ml, .mli | Commande `ocamlformat` disponible et fichier de configuration `.ocamlformat` |
|
||||
| terraformer | .tf, .tfvars | Commande `terraform` disponible |
|
||||
| lueur | .lueur | Commande `gleam` disponible |
|
||||
| nixfmt | .nix | Commande `nixfmt` disponible |
|
||||
| shfmt | .sh, .bash | Commande `shfmt` disponible |
|
||||
| pinte | .php | Dépendance `laravel/pint` dans `composer.json` |
|
||||
| oxfmt (expérimental) | .js, .jsx, .ts, .tsx | Dépendance `oxfmt` dans `package.json` et un [flag de variable d'environnement expérimental](/docs/cli/#experimental) |
|
||||
| bronze doré | .hs | Commande `ormolu` disponible |
|
||||
|
||||
Ainsi, si votre projet a `prettier` dans votre `package.json`, OpenCode l'utilisera automatiquement.
|
||||
|
||||
@@ -67,12 +67,12 @@ Vous pouvez personnaliser les formateurs via la section `formatter` de votre con
|
||||
|
||||
Chaque configuration du formateur prend en charge les éléments suivants :
|
||||
|
||||
| Propriété | Tapez | Descriptif |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le formateur |
|
||||
| `command` | chaîne[] | La commande à exécuter pour le formatage |
|
||||
| `environment` | objet | Variables d'environnement à définir lors de l'exécution du formateur |
|
||||
| `extensions` | chaîne[] | Extensions de fichiers que ce formateur doit gérer |
|
||||
| Propriété | Tapez | Descriptif |
|
||||
| ------------- | -------- | -------------------------------------------------------------------- |
|
||||
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le formateur |
|
||||
| `command` | chaîne[] | La commande à exécuter pour le formatage |
|
||||
| `environment` | objet | Variables d'environnement à définir lors de l'exécution du formateur |
|
||||
| `extensions` | chaîne[] | Extensions de fichiers que ce formateur doit gérer |
|
||||
|
||||
Regardons quelques exemples.
|
||||
|
||||
|
||||
@@ -39,39 +39,39 @@ Rendez-vous sur [**github.com/apps/opencode-agent**](https://github.com/apps/ope
|
||||
|
||||
Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans votre référentiel. Assurez-vous de définir les clés `model` appropriées et API requises dans `env`.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. **Stockez les clés API en secret**
|
||||
|
||||
@@ -89,13 +89,13 @@ Dans les **paramètres** de votre organisation ou de votre projet, développez *
|
||||
|
||||
Vous pouvez également utiliser le `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) intégré du GitHub Action Runner sans installer l'application OpenCode GitHub. Assurez-vous simplement d'accorder les autorisations requises dans votre flux de travail :
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
Vous pouvez également utiliser un [jetons d'accès personnels](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) si vous préférez.
|
||||
|
||||
@@ -105,14 +105,14 @@ Vous pouvez également utiliser un [jetons d'accès personnels](https://docs.git
|
||||
|
||||
OpenCode peut être déclenché par les événements GitHub suivants :
|
||||
|
||||
| Type d'événement | Déclenché par | Détails |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Commenter un problème ou un PR | Mentionnez `/opencode` ou `/oc` dans votre commentaire. OpenCode lit le contexte et peut créer des branches, ouvrir des PR ou répondre. |
|
||||
| `pull_request_review_comment` | Commentez des lignes de code spécifiques dans un PR | Mentionnez `/opencode` ou `/oc` lors de la révision du code. OpenCode reçoit le chemin du fichier, les numéros de ligne et le contexte de comparaison. |
|
||||
| `issues` | Numéro ouvert ou modifié | Déclenchez automatiquement OpenCode lorsque des problèmes sont créés ou modifiés. Nécessite une entrée `prompt`. |
|
||||
| `pull_request` | PR ouvert ou mis à jour | Déclenchez automatiquement OpenCode lorsque les PR sont ouverts, synchronisés ou rouverts. Utile pour les avis automatisés. |
|
||||
| `schedule` | Planification basée sur Cron | Exécutez OpenCode selon un planning. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR (aucun problème à commenter). |
|
||||
| `workflow_dispatch` | Déclenchement manuel depuis l'interface utilisateur GitHub | Déclenchez OpenCode à la demande via l'onglet Actions. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR. |
|
||||
| Type d'événement | Déclenché par | Détails |
|
||||
| ----------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `issue_comment` | Commenter un problème ou un PR | Mentionnez `/opencode` ou `/oc` dans votre commentaire. OpenCode lit le contexte et peut créer des branches, ouvrir des PR ou répondre. |
|
||||
| `pull_request_review_comment` | Commentez des lignes de code spécifiques dans un PR | Mentionnez `/opencode` ou `/oc` lors de la révision du code. OpenCode reçoit le chemin du fichier, les numéros de ligne et le contexte de comparaison. |
|
||||
| `issues` | Numéro ouvert ou modifié | Déclenchez automatiquement OpenCode lorsque des problèmes sont créés ou modifiés. Nécessite une entrée `prompt`. |
|
||||
| `pull_request` | PR ouvert ou mis à jour | Déclenchez automatiquement OpenCode lorsque les PR sont ouverts, synchronisés ou rouverts. Utile pour les avis automatisés. |
|
||||
| `schedule` | Planification basée sur Cron | Exécutez OpenCode selon un planning. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR (aucun problème à commenter). |
|
||||
| `workflow_dispatch` | Déclenchement manuel depuis l'interface utilisateur GitHub | Déclenchez OpenCode à la demande via l'onglet Actions. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR. |
|
||||
|
||||
### Exemple d'horaire
|
||||
|
||||
@@ -277,9 +277,9 @@ Voici quelques exemples de la façon dont vous pouvez utiliser OpenCode dans Git
|
||||
|
||||
Ajoutez ce commentaire dans un numéro GitHub.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode lira l'intégralité du fil de discussion, y compris tous les commentaires, et répondra avec une explication claire.
|
||||
|
||||
@@ -287,9 +287,9 @@ OpenCode lira l'intégralité du fil de discussion, y compris tous les commentai
|
||||
|
||||
Dans un numéro GitHub, dites :
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
Et OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira un PR avec les modifications.
|
||||
|
||||
@@ -297,9 +297,9 @@ Et OpenCode créera une nouvelle branche, mettra en œuvre les modifications et
|
||||
|
||||
Laissez le commentaire suivant sur un PR GitHub.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
OpenCode mettra en œuvre la modification demandée et la validera dans le même PR.
|
||||
|
||||
@@ -307,15 +307,16 @@ OpenCode mettra en œuvre la modification demandée et la validera dans le même
|
||||
|
||||
Laissez un commentaire directement sur les lignes de code dans l'onglet "Fichiers" du PR. OpenCode détecte automatiquement le fichier, les numéros de ligne et le contexte de comparaison pour fournir des réponses précises.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
Lorsqu'il commente des lignes spécifiques, OpenCode reçoit :
|
||||
- Le dossier exact en cours d'examen
|
||||
- Les lignes de code spécifiques
|
||||
- Le contexte différentiel environnant
|
||||
- Informations sur le numéro de ligne
|
||||
|
||||
- Le dossier exact en cours d'examen
|
||||
- Les lignes de code spécifiques
|
||||
- Le contexte différentiel environnant
|
||||
- Informations sur le numéro de ligne
|
||||
|
||||
Cela permet des requêtes plus ciblées sans avoir besoin de spécifier manuellement les chemins de fichiers ou les numéros de ligne.
|
||||
|
||||
@@ -55,7 +55,7 @@ Mentionnez `@opencode` dans un commentaire et OpenCode exécutera les tâches au
|
||||
|
||||
- **Problèmes de triage** : demandez à OpenCode d'examiner un problème et de vous l'expliquer.
|
||||
- **Réparer et implémenter** : demandez à OpenCode de résoudre un problème ou d'implémenter une fonctionnalité.
|
||||
Cela créera une nouvelle branche et déclenchera une demande de fusion avec les modifications.
|
||||
Cela créera une nouvelle branche et déclenchera une demande de fusion avec les modifications.
|
||||
- **Sécurisé** : OpenCode fonctionne sur vos coureurs GitLab.
|
||||
|
||||
---
|
||||
@@ -168,9 +168,9 @@ Vous pouvez configurer pour utiliser une phrase de déclenchement différente de
|
||||
|
||||
Ajoutez ce commentaire dans un numéro GitLab.
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode lira le problème et répondra avec une explication claire.
|
||||
|
||||
@@ -178,9 +178,9 @@ OpenCode lira le problème et répondra avec une explication claire.
|
||||
|
||||
Dans un numéro GitLab, dites :
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira une demande de fusion avec les modifications.
|
||||
|
||||
@@ -188,8 +188,8 @@ OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouv
|
||||
|
||||
Laissez le commentaire suivant sur une demande de fusion GitLab.
|
||||
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
|
||||
OpenCode examinera la demande de fusion et fournira des commentaires.
|
||||
|
||||
@@ -134,21 +134,21 @@ Vous pouvez désactiver un raccourci clavier en ajoutant la clé à votre config
|
||||
|
||||
L'entrée d'invite de l'application de bureau OpenCode prend en charge les raccourcis courants de style Readline/Emacs pour l'édition de texte. Ceux-ci sont intégrés et actuellement non configurables via `opencode.json`.
|
||||
|
||||
| Raccourci | Actions |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Déplacer au début de la ligne actuelle |
|
||||
| `ctrl+e` | Aller à la fin de la ligne actuelle |
|
||||
| `ctrl+b` | Reculer le curseur d'un caractère |
|
||||
| `ctrl+f` | Avancer le curseur d'un caractère |
|
||||
| `alt+b` | Reculer le curseur d'un mot |
|
||||
| `alt+f` | Avancer le curseur d'un mot |
|
||||
| `ctrl+d` | Supprimer le caractère sous le curseur |
|
||||
| `ctrl+k` | Tuer jusqu'au bout de la ligne |
|
||||
| `ctrl+u` | Tuer au début de la ligne |
|
||||
| `ctrl+w` | Tuer le mot précédent |
|
||||
| `alt+d` | Tuer le mot suivant |
|
||||
| `ctrl+t` | Transposer les caractères |
|
||||
| `ctrl+g` | Annuler les popovers/abandonner l'exécution de la réponse |
|
||||
| Raccourci | Actions |
|
||||
| --------- | --------------------------------------------------------- |
|
||||
| `ctrl+a` | Déplacer au début de la ligne actuelle |
|
||||
| `ctrl+e` | Aller à la fin de la ligne actuelle |
|
||||
| `ctrl+b` | Reculer le curseur d'un caractère |
|
||||
| `ctrl+f` | Avancer le curseur d'un caractère |
|
||||
| `alt+b` | Reculer le curseur d'un mot |
|
||||
| `alt+f` | Avancer le curseur d'un mot |
|
||||
| `ctrl+d` | Supprimer le caractère sous le curseur |
|
||||
| `ctrl+k` | Tuer jusqu'au bout de la ligne |
|
||||
| `ctrl+u` | Tuer au début de la ligne |
|
||||
| `ctrl+w` | Tuer le mot précédent |
|
||||
| `alt+d` | Tuer le mot suivant |
|
||||
| `ctrl+t` | Transposer les caractères |
|
||||
| `ctrl+g` | Annuler les popovers/abandonner l'exécution de la réponse |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -11,40 +11,40 @@ OpenCode s'intègre à votre protocole de serveur de langue (LSP) pour aider le
|
||||
|
||||
OpenCode est livré avec plusieurs serveurs LSP intégrés pour les langues populaires :
|
||||
|
||||
| Serveur LSP | Rallonges | Exigences |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Installations automatiques pour les projets Astro |
|
||||
| coup | .sh, .bash, .zsh, .ksh | Installe automatiquement le serveur bash-langage |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Installations automatiques pour les projets C/C++ |
|
||||
| cpointu | .cs | `.NET SDK` installé |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | Commande `clojure-lsp` disponible |
|
||||
| fléchette | .dart | Commande `dart` disponible |
|
||||
| déno | .ts, .tsx, .js, .jsx, .mjs | Commande `deno` disponible (détection automatique deno.json/deno.jsonc) |
|
||||
| élixir-ls | .ex, .ex | Commande `elixir` disponible |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | Dépendance `eslint` dans le projet |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installé |
|
||||
| lueur | .lueur | Commande `gleam` disponible |
|
||||
| gopls | .aller | Commande `go` disponible |
|
||||
| hls | .hs, .lhs | Commande `haskell-language-server-wrapper` disponible |
|
||||
| jdtls | .java | `Java SDK (version 21+)` installé |
|
||||
| kotlin-ls | .kt, .kts | Installations automatiques pour les projets Kotlin |
|
||||
| lua-ls | .lua | Installations automatiques pour les projets Lua |
|
||||
| rien | .nix | Commande `nixd` disponible |
|
||||
| ocaml-lsp | .ml, .mli | Commande `ocamllsp` disponible |
|
||||
| plinthe de boeuf | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Dépendance `oxlint` dans le projet |
|
||||
| php intelligence | .php | Installations automatiques pour les projets PHP |
|
||||
| prisme | .prisma | Commande `prisma` disponible |
|
||||
| droit d'auteur | .py, .pyi | Dépendance `pyright` installée |
|
||||
| rubis-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Commandes `ruby` et `gem` disponibles |
|
||||
| rouille | .rs | Commande `rust-analyzer` disponible |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installé (`xcode` sur macOS) |
|
||||
| svelte | .svelte | Installations automatiques pour les projets Svelte |
|
||||
| terraformer | .tf, .tfvars | Installations automatiques à partir des versions GitHub |
|
||||
| petite brume | .typ, .typc | Installations automatiques à partir des versions GitHub |
|
||||
| dactylographié | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Dépendance `typescript` dans le projet |
|
||||
| vue | .vue | Installations automatiques pour les projets Vue |
|
||||
| yaml-ls | .yaml, .yml | Installe automatiquement le serveur yaml-langage-Red Hat |
|
||||
| zls | .zig, .zon | Commande `zig` disponible |
|
||||
| Serveur LSP | Rallonges | Exigences |
|
||||
| ------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||
| astro | .astro | Installations automatiques pour les projets Astro |
|
||||
| coup | .sh, .bash, .zsh, .ksh | Installe automatiquement le serveur bash-langage |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Installations automatiques pour les projets C/C++ |
|
||||
| cpointu | .cs | `.NET SDK` installé |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | Commande `clojure-lsp` disponible |
|
||||
| fléchette | .dart | Commande `dart` disponible |
|
||||
| déno | .ts, .tsx, .js, .jsx, .mjs | Commande `deno` disponible (détection automatique deno.json/deno.jsonc) |
|
||||
| élixir-ls | .ex, .ex | Commande `elixir` disponible |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | Dépendance `eslint` dans le projet |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installé |
|
||||
| lueur | .lueur | Commande `gleam` disponible |
|
||||
| gopls | .aller | Commande `go` disponible |
|
||||
| hls | .hs, .lhs | Commande `haskell-language-server-wrapper` disponible |
|
||||
| jdtls | .java | `Java SDK (version 21+)` installé |
|
||||
| kotlin-ls | .kt, .kts | Installations automatiques pour les projets Kotlin |
|
||||
| lua-ls | .lua | Installations automatiques pour les projets Lua |
|
||||
| rien | .nix | Commande `nixd` disponible |
|
||||
| ocaml-lsp | .ml, .mli | Commande `ocamllsp` disponible |
|
||||
| plinthe de boeuf | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Dépendance `oxlint` dans le projet |
|
||||
| php intelligence | .php | Installations automatiques pour les projets PHP |
|
||||
| prisme | .prisma | Commande `prisma` disponible |
|
||||
| droit d'auteur | .py, .pyi | Dépendance `pyright` installée |
|
||||
| rubis-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Commandes `ruby` et `gem` disponibles |
|
||||
| rouille | .rs | Commande `rust-analyzer` disponible |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installé (`xcode` sur macOS) |
|
||||
| svelte | .svelte | Installations automatiques pour les projets Svelte |
|
||||
| terraformer | .tf, .tfvars | Installations automatiques à partir des versions GitHub |
|
||||
| petite brume | .typ, .typc | Installations automatiques à partir des versions GitHub |
|
||||
| dactylographié | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Dépendance `typescript` dans le projet |
|
||||
| vue | .vue | Installations automatiques pour les projets Vue |
|
||||
| yaml-ls | .yaml, .yml | Installe automatiquement le serveur yaml-langage-Red Hat |
|
||||
| zls | .zig, .zon | Commande `zig` disponible |
|
||||
|
||||
Les serveurs LSP sont automatiquement activés lorsque l'une des extensions de fichier ci-dessus est détectée et que les exigences sont remplies.
|
||||
|
||||
@@ -76,13 +76,13 @@ Vous pouvez personnaliser les serveurs LSP via la section `lsp` de votre configu
|
||||
|
||||
Chaque serveur LSP prend en charge les éléments suivants :
|
||||
|
||||
| Propriété | Tapez | Descriptif |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le serveur LSP |
|
||||
| `command` | chaîne[] | La commande pour démarrer le serveur LSP |
|
||||
| `extensions` | chaîne[] | Extensions de fichiers que ce serveur LSP doit gérer |
|
||||
| `env` | objet | Variables d'environnement à définir lors du démarrage du serveur |
|
||||
| `initialization` | objet | Options d'initialisation à envoyer au serveur LSP |
|
||||
| Propriété | Tapez | Descriptif |
|
||||
| ---------------- | -------- | ---------------------------------------------------------------- |
|
||||
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le serveur LSP |
|
||||
| `command` | chaîne[] | La commande pour démarrer le serveur LSP |
|
||||
| `extensions` | chaîne[] | Extensions de fichiers que ce serveur LSP doit gérer |
|
||||
| `env` | objet | Variables d'environnement à définir lors du démarrage du serveur |
|
||||
| `initialization` | objet | Options d'initialisation à envoyer au serveur LSP |
|
||||
|
||||
Regardons quelques exemples.
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
Voici toutes les options pour configurer un serveur MCP local.
|
||||
|
||||
| Options | Tapez | Obligatoire | Descriptif |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"local"`. |
|
||||
| `command` | Tableau | Oui | Commande et arguments pour exécuter le serveur MCP. |
|
||||
| `environment` | Objet | | Variables d'environnement à définir lors de l'exécution du serveur. |
|
||||
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
|
||||
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
|
||||
| Options | Tapez | Obligatoire | Descriptif |
|
||||
| ------------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"local"`. |
|
||||
| `command` | Tableau | Oui | Commande et arguments pour exécuter le serveur MCP. |
|
||||
| `environment` | Objet | | Variables d'environnement à définir lors de l'exécution du serveur. |
|
||||
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
|
||||
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
|
||||
|
||||
---
|
||||
|
||||
@@ -152,14 +152,14 @@ Le `url` est le URL du serveur distant MCP et avec l'option `headers` vous pouve
|
||||
|
||||
#### Possibilités
|
||||
|
||||
| Options | Tapez | Obligatoire | Descriptif |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"remote"`. |
|
||||
| `url` | Chaîne | Oui | URL du serveur MCP distant. |
|
||||
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
|
||||
| `headers` | Objet | | En-têtes à envoyer avec la demande. |
|
||||
| `oauth` | Objet | | Configuration de l'authentification OAuth. Voir la section [OAuth](#oauth) ci-dessous. |
|
||||
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
|
||||
| Options | Tapez | Obligatoire | Descriptif |
|
||||
| --------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"remote"`. |
|
||||
| `url` | Chaîne | Oui | URL du serveur MCP distant. |
|
||||
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
|
||||
| `headers` | Objet | | En-têtes à envoyer avec la demande. |
|
||||
| `oauth` | Objet | | Configuration de l'authentification OAuth. Voir la section [OAuth](#oauth) ci-dessous. |
|
||||
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,12 +266,12 @@ Si vous souhaitez désactiver le OAuth automatique pour un serveur (par exemple,
|
||||
|
||||
#### Options OAuth
|
||||
|
||||
| Options | Tapez | Descriptif |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objet \| faux | Objet de configuration OAuth, ou `false` pour désactiver la détection automatique OAuth. |
|
||||
| `clientId` | Chaîne | ID client OAuth. S’il n’est pas fourni, l’enregistrement dynamique du client sera tenté. |
|
||||
| `clientSecret` | Chaîne | OAuth secret client, si requis par le serveur d'autorisation. |
|
||||
| `scope` | Chaîne | OAuth scopes à demander lors de l'autorisation. |
|
||||
| Options | Tapez | Descriptif |
|
||||
| -------------- | ------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objet \| faux | Objet de configuration OAuth, ou `false` pour désactiver la détection automatique OAuth. |
|
||||
| `clientId` | Chaîne | ID client OAuth. S’il n’est pas fourni, l’enregistrement dynamique du client sera tenté. |
|
||||
| `clientSecret` | Chaîne | OAuth secret client, si requis par le serveur d'autorisation. |
|
||||
| `scope` | Chaîne | OAuth scopes à demander lors de l'autorisation. |
|
||||
|
||||
#### Débogage
|
||||
|
||||
|
||||
@@ -225,19 +225,19 @@ Si aucun outil n'est spécifié, tous les outils sont activés par défaut.
|
||||
|
||||
Voici tous les outils pouvant être contrôlés via le mode config.
|
||||
|
||||
| Outil | Descriptif |
|
||||
| ----------- | ----------------------- |
|
||||
| `bash` | Exécuter des commandes shell |
|
||||
| `edit` | Modifier des fichiers existants |
|
||||
| `write` | Créer de nouveaux fichiers |
|
||||
| `read` | Lire le contenu du fichier |
|
||||
| `grep` | Rechercher le contenu du fichier |
|
||||
| `glob` | Rechercher des fichiers par modèle |
|
||||
| `list` | Liste du contenu du répertoire |
|
||||
| `patch` | Appliquer des correctifs aux fichiers |
|
||||
| `todowrite` | Gérer les listes de tâches |
|
||||
| `todoread` | Lire les listes de tâches |
|
||||
| `webfetch` | Récupérer du contenu Web |
|
||||
| Outil | Descriptif |
|
||||
| ----------- | ------------------------------------- |
|
||||
| `bash` | Exécuter des commandes shell |
|
||||
| `edit` | Modifier des fichiers existants |
|
||||
| `write` | Créer de nouveaux fichiers |
|
||||
| `read` | Lire le contenu du fichier |
|
||||
| `grep` | Rechercher le contenu du fichier |
|
||||
| `glob` | Rechercher des fichiers par modèle |
|
||||
| `list` | Liste du contenu du répertoire |
|
||||
| `patch` | Appliquer des correctifs aux fichiers |
|
||||
| `todowrite` | Gérer les listes de tâches |
|
||||
| `todoread` | Lire les listes de tâches |
|
||||
| `webfetch` | Récupérer du contenu Web |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -139,11 +139,11 @@ Contrôlez les compétences auxquelles les agents peuvent accéder à l'aide d'a
|
||||
}
|
||||
```
|
||||
|
||||
| Autorisation | Comportement |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `allow` | Les compétences se chargent immédiatement |
|
||||
| `deny` | Compétence masquée à l'agent, accès refusé |
|
||||
| `ask` | L'utilisateur est invité à donner son approbation avant le chargement |
|
||||
| Autorisation | Comportement |
|
||||
| ------------ | --------------------------------------------------------------------- |
|
||||
| `allow` | Les compétences se chargent immédiatement |
|
||||
| `deny` | Compétence masquée à l'agent, accès refusé |
|
||||
| `ask` | L'utilisateur est invité à donner son approbation avant le chargement |
|
||||
|
||||
Les modèles prennent en charge les caractères génériques : `internal-*` correspond à `internal-docs`, `internal-tools`, etc.
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ Sans la prise en charge de TrueColor, les thèmes peuvent apparaître avec une p
|
||||
|
||||
OpenCode est livré avec plusieurs thèmes intégrés.
|
||||
|
||||
| Nom | Descriptif |
|
||||
| ---------------------- | ---------------------------------------------------------------------------- |
|
||||
| `system` | S'adapte à la couleur de fond de votre terminal |
|
||||
| `tokyonight` | Basé sur le thème [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | Basé sur le thème [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | Basé sur le thème sombre [Ayu](https://github.com/ayu-theme) |
|
||||
| `catppuccin` | Basé sur le thème [Catppuccin](https://github.com/catppuccin) |
|
||||
| `catppuccin-macchiato` | Basé sur le thème [Catppuccin](https://github.com/catppuccin) |
|
||||
| `gruvbox` | Basé sur le thème [Gruvbox](https://github.com/morhetz/gruvbox) |
|
||||
| `kanagawa` | Basé sur le thème [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
|
||||
| `nord` | Basé sur le thème [Nord](https://github.com/nordtheme/nord) |
|
||||
| `matrix` | Vert style hacker sur thème noir |
|
||||
| `one-dark` | Basé sur le thème [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark |
|
||||
| Nom | Descriptif |
|
||||
| ---------------------- | --------------------------------------------------------------------------- |
|
||||
| `system` | S'adapte à la couleur de fond de votre terminal |
|
||||
| `tokyonight` | Basé sur le thème [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | Basé sur le thème [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | Basé sur le thème sombre [Ayu](https://github.com/ayu-theme) |
|
||||
| `catppuccin` | Basé sur le thème [Catppuccin](https://github.com/catppuccin) |
|
||||
| `catppuccin-macchiato` | Basé sur le thème [Catppuccin](https://github.com/catppuccin) |
|
||||
| `gruvbox` | Basé sur le thème [Gruvbox](https://github.com/morhetz/gruvbox) |
|
||||
| `kanagawa` | Basé sur le thème [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
|
||||
| `nord` | Basé sur le thème [Nord](https://github.com/nordtheme/nord) |
|
||||
| `matrix` | Vert style hacker sur thème noir |
|
||||
| `one-dark` | Basé sur le thème [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark |
|
||||
|
||||
De plus, nous ajoutons constamment de nouveaux thèmes.
|
||||
|
||||
@@ -45,7 +45,7 @@ De plus, nous ajoutons constamment de nouveaux thèmes.
|
||||
|
||||
## Thème système
|
||||
|
||||
Le thème `system` est conçu pour s'adapter automatiquement à la palette de couleurs de votre terminal. Contrairement aux thèmes traditionnels qui utilisent des couleurs fixes, le thème _system_ :
|
||||
Le thème `system` est conçu pour s'adapter automatiquement à la palette de couleurs de votre terminal. Contrairement aux thèmes traditionnels qui utilisent des couleurs fixes, le thème *system* :
|
||||
|
||||
- **Génère une échelle de gris** : crée une échelle de gris personnalisée basée sur la couleur d'arrière-plan de votre terminal, garantissant un contraste optimal.
|
||||
- **Utilise les couleurs ANSI** : exploite les couleurs ANSI standard (0-15) pour la coloration syntaxique et les éléments de l'interface utilisateur, qui respectent la palette de couleurs de votre terminal.
|
||||
|
||||
@@ -81,7 +81,7 @@ Ajoutez un fournisseur à OpenCode. Vous permet de sélectionner parmi les fourn
|
||||
|
||||
### compact
|
||||
|
||||
Compactez la session en cours. _Alias_ : `/summarize`
|
||||
Compactez la session en cours. *Alias* : `/summarize`
|
||||
|
||||
```bash frame="none"
|
||||
/compact
|
||||
@@ -117,7 +117,7 @@ Ouvrez un éditeur externe pour rédiger des messages. Utilise l'éditeur défin
|
||||
|
||||
### sortie
|
||||
|
||||
Quittez OpenCode. _Alias_ : `/quit`, `/q`
|
||||
Quittez OpenCode. *Alias* : `/quit`, `/q`
|
||||
|
||||
```bash frame="none"
|
||||
/exit
|
||||
@@ -177,7 +177,7 @@ Liste des modèles disponibles.
|
||||
|
||||
### nouveau
|
||||
|
||||
Démarrez une nouvelle session. _Alias_ : `/clear`
|
||||
Démarrez une nouvelle session. *Alias* : `/clear`
|
||||
|
||||
```bash frame="none"
|
||||
/new
|
||||
@@ -208,7 +208,7 @@ En interne, cela utilise Git pour gérer les modifications de fichiers. Votre pr
|
||||
|
||||
### séances
|
||||
|
||||
Répertoriez et basculez entre les sessions. _Alias_ : `/resume`, `/continue`
|
||||
Répertoriez et basculez entre les sessions. *Alias* : `/resume`, `/continue`
|
||||
|
||||
```bash frame="none"
|
||||
/sessions
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode formatta automaticamente i file dopo che vengono scritti o modificati u
|
||||
|
||||
OpenCode include diversi formattatori integrati per linguaggi e framework popolari. Qui sotto trovi la lista dei formattatori, delle estensioni supportate e dei comandi o opzioni di config richiesti.
|
||||
|
||||
| Formattatore | Estensioni | Requisiti |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` command available |
|
||||
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available |
|
||||
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | `prettier` dependency in `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file |
|
||||
| zig | .zig, .zon | `zig` command available |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file |
|
||||
| ktlint | .kt, .kts | `ktlint` command available |
|
||||
| ruff | .py, .pyi | `ruff` command available with config |
|
||||
| rustfmt | .rs | `rustfmt` command available |
|
||||
| cargofmt | .rs | `cargo fmt` command available |
|
||||
| uv | .py, .pyi | `uv` command available |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available |
|
||||
| air | .R | `air` command available |
|
||||
| dart | .dart | `dart` command available |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` command available and `.ocamlformat` config file |
|
||||
| terraform | .tf, .tfvars | `terraform` command available |
|
||||
| gleam | .gleam | `gleam` command available |
|
||||
| nixfmt | .nix | `nixfmt` command available |
|
||||
| shfmt | .sh, .bash | `shfmt` command available |
|
||||
| pint | .php | `laravel/pint` dependency in `composer.json` |
|
||||
| Formattatore | Estensioni | Requisiti |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` command available |
|
||||
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available |
|
||||
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | `prettier` dependency in `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file |
|
||||
| zig | .zig, .zon | `zig` command available |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file |
|
||||
| ktlint | .kt, .kts | `ktlint` command available |
|
||||
| ruff | .py, .pyi | `ruff` command available with config |
|
||||
| rustfmt | .rs | `rustfmt` command available |
|
||||
| cargofmt | .rs | `cargo fmt` command available |
|
||||
| uv | .py, .pyi | `uv` command available |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available |
|
||||
| air | .R | `air` command available |
|
||||
| dart | .dart | `dart` command available |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` command available and `.ocamlformat` config file |
|
||||
| terraform | .tf, .tfvars | `terraform` command available |
|
||||
| gleam | .gleam | `gleam` command available |
|
||||
| nixfmt | .nix | `nixfmt` command available |
|
||||
| shfmt | .sh, .bash | `shfmt` command available |
|
||||
| pint | .php | `laravel/pint` dependency in `composer.json` |
|
||||
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `oxfmt` dependency in `package.json` and an [experimental env variable flag](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | `ormolu` command available |
|
||||
| ormolu | .hs | `ormolu` command available |
|
||||
|
||||
Quindi, se il progetto ha `prettier` in `package.json`, OpenCode lo usera automaticamente.
|
||||
|
||||
|
||||
@@ -48,18 +48,18 @@ $ opencode upgrade 0.15.31
|
||||
|
||||
- メッセージを元に戻す -> メッセージを元に戻す
|
||||
- スイッチエージェント -> エージェントサイクル
|
||||
- スイッチ_エージェント_リバース -> エージェント_サイクル_リバース
|
||||
- スイッチ*エージェント*リバース -> エージェント*サイクル*リバース
|
||||
- スイッチモード -> エージェントサイクル
|
||||
- スイッチモードリバース -> エージェントサイクルリバース
|
||||
|
||||
### キーバインドが削除されました
|
||||
|
||||
- メッセージ_レイアウト_トグル
|
||||
- メッセージ_次
|
||||
- メッセージ_前
|
||||
- メッセージ*レイアウト*トグル
|
||||
- メッセージ\_次
|
||||
- メッセージ\_前
|
||||
- file_diff_toggle
|
||||
- ファイル検索
|
||||
- ファイル_閉じる
|
||||
- ファイル\_閉じる
|
||||
- ファイルリスト
|
||||
- アプリヘルプ
|
||||
- プロジェクト初期化
|
||||
|
||||
@@ -29,15 +29,15 @@ opencode [project]
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` |最後のセッションを続行 |
|
||||
| `--session` | `-s` |続行するセッション ID |
|
||||
| `--prompt` | |使用のプロンプト |
|
||||
| `--model` | `-m` |プロバイダー/モデルの形式で使用するモデル |
|
||||
| `--agent` | |使用するエージェント |
|
||||
| `--port` | |リッスンするポート |
|
||||
| `--hostname` | |リッスンするホスト名 |
|
||||
| 旗 | ショート | 説明 |
|
||||
| ------------ | -------- | ----------------------------------------- |
|
||||
| `--continue` | `-c` | 最後のセッションを続行 |
|
||||
| `--session` | `-s` | 続行するセッション ID |
|
||||
| `--prompt` | | 使用のプロンプト |
|
||||
| `--model` | `-m` | プロバイダー/モデルの形式で使用するモデル |
|
||||
| `--agent` | | 使用するエージェント |
|
||||
| `--port` | | リッスンするポート |
|
||||
| `--hostname` | | リッスンするホスト名 |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | TUI を開始する作業ディレクトリ |
|
||||
| `--session` | `-s` |続行するセッション ID |
|
||||
| 旗 | ショート | 説明 |
|
||||
| ----------- | -------- | ------------------------------ |
|
||||
| `--dir` | | TUI を開始する作業ディレクトリ |
|
||||
| `--session` | `-s` | 続行するセッション ID |
|
||||
|
||||
---
|
||||
|
||||
@@ -186,10 +186,10 @@ opencode github run
|
||||
|
||||
##### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| --------- | -------------------------------------- |
|
||||
| `--event` |エージェントを実行するための GitHub モック イベント |
|
||||
| `--token` | GitHub個人アクセストークン |
|
||||
| 旗 | 説明 |
|
||||
| --------- | --------------------------------------------------- |
|
||||
| `--event` | エージェントを実行するための GitHub モック イベント |
|
||||
| `--token` | GitHub個人アクセストークン |
|
||||
|
||||
---
|
||||
|
||||
@@ -295,10 +295,10 @@ opencode models anthropic
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | models.dev からモデル キャッシュを更新します。
|
||||
| `--verbose` |より詳細なモデル出力を使用します (コストなどのメタデータを含む) |
|
||||
| 旗 | 説明 |
|
||||
| ----------- | --------------------------------------------------------------- |
|
||||
| `--refresh` | models.dev からモデル キャッシュを更新します。 |
|
||||
| `--verbose` | より詳細なモデル出力を使用します (コストなどのメタデータを含む) |
|
||||
|
||||
`--refresh` フラグを使用して、キャッシュされたモデル リストを更新します。これは、新しいモデルがプロバイダーに追加され、それを OpenCode で確認したい場合に便利です。
|
||||
|
||||
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | |実行するコマンド。引数には message を使用します。
|
||||
| `--continue` | `-c` |最後のセッションを続行 |
|
||||
| `--session` | `-s` |続行するセッション ID |
|
||||
| `--share` | |セッションを共有する |
|
||||
| `--model` | `-m` |プロバイダー/モデルの形式で使用するモデル |
|
||||
| `--agent` | |使用するエージェント |
|
||||
| `--file` | `-f` |メッセージに添付するファイル |
|
||||
| `--format` | |形式: デフォルト (フォーマット済み) または json (生の JSON イベント) |
|
||||
| `--title` | |セッションのタイトル (値が指定されていない場合は、切り詰められたプロンプトが使用されます) |
|
||||
| `--attach` | |実行中のオープンコードサーバー (http://localhost:4096 など) に接続します。
|
||||
| `--port` | |ローカルサーバーのポート (デフォルトはランダムポート) |
|
||||
| 旗 | ショート | 説明 |
|
||||
| ------------ | -------- | ----------------------------------------------------------------------------------------- |
|
||||
| `--command` | | 実行するコマンド。引数には message を使用します。 |
|
||||
| `--continue` | `-c` | 最後のセッションを続行 |
|
||||
| `--session` | `-s` | 続行するセッション ID |
|
||||
| `--share` | | セッションを共有する |
|
||||
| `--model` | `-m` | プロバイダー/モデルの形式で使用するモデル |
|
||||
| `--agent` | | 使用するエージェント |
|
||||
| `--file` | `-f` | メッセージに添付するファイル |
|
||||
| `--format` | | 形式: デフォルト (フォーマット済み) または json (生の JSON イベント) |
|
||||
| `--title` | | セッションのタイトル (値が指定されていない場合は、切り詰められたプロンプトが使用されます) |
|
||||
| `--attach` | | 実行中のオープンコードサーバー (http://localhost:4096 など) に接続します。 |
|
||||
| `--port` | | ローカルサーバーのポート (デフォルトはランダムポート) |
|
||||
|
||||
---
|
||||
|
||||
@@ -362,12 +362,12 @@ opencode serve
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` |リッスンするポート |
|
||||
| `--hostname` |リッスンするホスト名 |
|
||||
| `--mdns` | mDNS 検出を有効にする |
|
||||
| `--cors` | CORS を許可する追加のブラウザーオリジン |
|
||||
| 旗 | 説明 |
|
||||
| ------------ | --------------------------------------- |
|
||||
| `--port` | リッスンするポート |
|
||||
| `--hostname` | リッスンするホスト名 |
|
||||
| `--mdns` | mDNS 検出を有効にする |
|
||||
| `--cors` | CORS を許可する追加のブラウザーオリジン |
|
||||
|
||||
---
|
||||
|
||||
@@ -391,10 +391,10 @@ opencode session list
|
||||
|
||||
##### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` |最新のセッションを N 個に制限 |
|
||||
| `--format` | |出力形式: テーブルまたは json (テーブル) |
|
||||
| 旗 | ショート | 説明 |
|
||||
| ------------- | -------- | ---------------------------------------- |
|
||||
| `--max-count` | `-n` | 最新のセッションを N 個に制限 |
|
||||
| `--format` | | 出力形式: テーブルまたは json (テーブル) |
|
||||
|
||||
---
|
||||
|
||||
@@ -408,12 +408,12 @@ opencode stats
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` |過去 N 日間の統計を表示 (すべての時間) |
|
||||
| `--tools` |表示するツールの数 (すべて) |
|
||||
| `--models` |モデルの使用状況の内訳を表示します (デフォルトでは非表示)。上位 N | を表示するには、数値を渡します。
|
||||
| `--project` |プロジェクトによるフィルター (すべてのプロジェクト、空の文字列: 現在のプロジェクト) |
|
||||
| 旗 | 説明 |
|
||||
| ----------- | ----------------------------------------------------------------------------------- | -------------------------------- |
|
||||
| `--days` | 過去 N 日間の統計を表示 (すべての時間) |
|
||||
| `--tools` | 表示するツールの数 (すべて) |
|
||||
| `--models` | モデルの使用状況の内訳を表示します (デフォルトでは非表示)。上位 N | を表示するには、数値を渡します。 |
|
||||
| `--project` | プロジェクトによるフィルター (すべてのプロジェクト、空の文字列: 現在のプロジェクト) |
|
||||
|
||||
---
|
||||
|
||||
@@ -458,12 +458,12 @@ opencode web
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` |リッスンするポート |
|
||||
| `--hostname` |リッスンするホスト名 |
|
||||
| `--mdns` | mDNS 検出を有効にする |
|
||||
| `--cors` | CORS を許可する追加のブラウザーオリジン |
|
||||
| 旗 | 説明 |
|
||||
| ------------ | --------------------------------------- |
|
||||
| `--port` | リッスンするポート |
|
||||
| `--hostname` | リッスンするホスト名 |
|
||||
| `--mdns` | mDNS 検出を有効にする |
|
||||
| `--cors` | CORS を許可する追加のブラウザーオリジン |
|
||||
|
||||
---
|
||||
|
||||
@@ -479,11 +479,11 @@ opencode acp
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |説明 |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` |作業ディレクトリ |
|
||||
| `--port` |リッスンするポート |
|
||||
| `--hostname` |リッスンするホスト名 |
|
||||
| 旗 | 説明 |
|
||||
| ------------ | -------------------- |
|
||||
| `--cwd` | 作業ディレクトリ |
|
||||
| `--port` | リッスンするポート |
|
||||
| `--hostname` | リッスンするホスト名 |
|
||||
|
||||
---
|
||||
|
||||
@@ -497,12 +497,12 @@ opencode uninstall
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` |設定ファイルを保持する |
|
||||
| `--keep-data` | `-d` |セッション データとスナップショットを保持する |
|
||||
| `--dry-run` | | | を削除せずに削除されるものを表示します。
|
||||
| `--force` | `-f` |確認プロンプトをスキップする |
|
||||
| 旗 | ショート | 説明 |
|
||||
| --------------- | -------- | --------------------------------------------- | ---------------------------------------- |
|
||||
| `--keep-config` | `-c` | 設定ファイルを保持する |
|
||||
| `--keep-data` | `-d` | セッション データとスナップショットを保持する |
|
||||
| `--dry-run` | | | を削除せずに削除されるものを表示します。 |
|
||||
| `--force` | `-f` | 確認プロンプトをスキップする |
|
||||
|
||||
---
|
||||
|
||||
@@ -528,9 +528,9 @@ opencode upgrade v0.1.48
|
||||
|
||||
#### フラグ
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| `--method` | `-m` |使用されたインストール方法。カール、npm、pnpm、バン、醸造 |
|
||||
| 旗 | ショート | 説明 |
|
||||
| ---------- | -------- | --------------------------------------------------------- |
|
||||
| `--method` | `-m` | 使用されたインストール方法。カール、npm、pnpm、バン、醸造 |
|
||||
|
||||
---
|
||||
|
||||
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
|
||||
|
||||
opencode CLI は次のグローバル フラグを受け取ります。
|
||||
|
||||
|旗 |ショート |説明 |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` |ヘルプを表示 |
|
||||
| `--version` | `-v` |バージョン番号を出力 |
|
||||
| `--print-logs` | |ログを標準エラー出力に出力 |
|
||||
| `--log-level` | |ログ レベル (DEBUG、INFO、WARN、ERROR) |
|
||||
| 旗 | ショート | 説明 |
|
||||
| -------------- | -------- | -------------------------------------- |
|
||||
| `--help` | `-h` | ヘルプを表示 |
|
||||
| `--version` | `-v` | バージョン番号を出力 |
|
||||
| `--print-logs` | | ログを標準エラー出力に出力 |
|
||||
| `--log-level` | | ログ レベル (DEBUG、INFO、WARN、ERROR) |
|
||||
|
||||
---
|
||||
|
||||
@@ -551,32 +551,32 @@ opencode CLI は次のグローバル フラグを受け取ります。
|
||||
|
||||
OpenCode は環境変数を使用して構成できます。
|
||||
|
||||
|変数 |タイプ |説明 |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` |ブール値 |セッションを自動的に共有する |
|
||||
| `OPENCODE_GIT_BASH_PATH` |文字列 | Windows 上で実行可能な Git Bash へのパス |
|
||||
| `OPENCODE_CONFIG` |文字列 |構成ファイルへのパス |
|
||||
| `OPENCODE_CONFIG_DIR` |文字列 | config ディレクトリへのパス |
|
||||
| `OPENCODE_CONFIG_CONTENT` |文字列 |インライン JSON 構成コンテンツ |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` |ブール値 |自動更新チェックを無効にする |
|
||||
| `OPENCODE_DISABLE_PRUNE` |ブール値 |古いデータのプルーニングを無効にする |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` |ブール値 |端末タイトルの自動更新を無効にする |
|
||||
| `OPENCODE_PERMISSION` |文字列 |インライン化された json 権限設定 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` |ブール値 |デフォルトのプラグインを無効にする |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` |ブール値 | LSP サーバーの自動ダウンロードを無効にする |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` |ブール値 |実験モデルを有効にする |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` |ブール値 |自動コンテキスト圧縮を無効にする |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` |ブール値 | `.claude` からの読み取りを無効にする (プロンプト + スキル) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` |ブール値 | `~/.claude/CLAUDE.md` の読み取りを無効にする |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` |ブール値 | `.claude/skills` のロードを無効にする |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` |ブール値 |リモート ソースからのモデルの取得を無効にする |
|
||||
| `OPENCODE_FAKE_VCS` |文字列 |テスト目的の偽の VCS プロバイダー |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` |ブール値 |最適化のためにファイル時間チェックを無効にする |
|
||||
| `OPENCODE_CLIENT` |文字列 |クライアント識別子 (デフォルトは `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` |ブール値 | Exa Web 検索ツールを有効にする |
|
||||
| `OPENCODE_SERVER_PASSWORD` |文字列 | `serve`/`web` の基本認証を有効にする |
|
||||
| `OPENCODE_SERVER_USERNAME` |文字列 |基本認証ユーザー名 (デフォルト `opencode`) をオーバーライドします。
|
||||
| `OPENCODE_MODELS_URL` |文字列 |モデル設定を取得するためのカスタム URL |
|
||||
| 変数 | タイプ | 説明 |
|
||||
| ------------------------------------- | -------- | ------------------------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | ブール値 | セッションを自動的に共有する |
|
||||
| `OPENCODE_GIT_BASH_PATH` | 文字列 | Windows 上で実行可能な Git Bash へのパス |
|
||||
| `OPENCODE_CONFIG` | 文字列 | 構成ファイルへのパス |
|
||||
| `OPENCODE_CONFIG_DIR` | 文字列 | config ディレクトリへのパス |
|
||||
| `OPENCODE_CONFIG_CONTENT` | 文字列 | インライン JSON 構成コンテンツ |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | ブール値 | 自動更新チェックを無効にする |
|
||||
| `OPENCODE_DISABLE_PRUNE` | ブール値 | 古いデータのプルーニングを無効にする |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | ブール値 | 端末タイトルの自動更新を無効にする |
|
||||
| `OPENCODE_PERMISSION` | 文字列 | インライン化された json 権限設定 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | ブール値 | デフォルトのプラグインを無効にする |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | ブール値 | LSP サーバーの自動ダウンロードを無効にする |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | ブール値 | 実験モデルを有効にする |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | ブール値 | 自動コンテキスト圧縮を無効にする |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | ブール値 | `.claude` からの読み取りを無効にする (プロンプト + スキル) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | ブール値 | `~/.claude/CLAUDE.md` の読み取りを無効にする |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | ブール値 | `.claude/skills` のロードを無効にする |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | ブール値 | リモート ソースからのモデルの取得を無効にする |
|
||||
| `OPENCODE_FAKE_VCS` | 文字列 | テスト目的の偽の VCS プロバイダー |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | ブール値 | 最適化のためにファイル時間チェックを無効にする |
|
||||
| `OPENCODE_CLIENT` | 文字列 | クライアント識別子 (デフォルトは `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | ブール値 | Exa Web 検索ツールを有効にする |
|
||||
| `OPENCODE_SERVER_PASSWORD` | 文字列 | `serve`/`web` の基本認証を有効にする |
|
||||
| `OPENCODE_SERVER_USERNAME` | 文字列 | 基本認証ユーザー名 (デフォルト `opencode`) をオーバーライドします。 |
|
||||
| `OPENCODE_MODELS_URL` | 文字列 | モデル設定を取得するためのカスタム URL |
|
||||
|
||||
---
|
||||
|
||||
@@ -584,18 +584,18 @@ OpenCode は環境変数を使用して構成できます。
|
||||
|
||||
これらの環境変数により、変更または削除される可能性のある実験的な機能が有効になります。
|
||||
|
||||
|変数 |タイプ |説明 |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` |ブール値 |すべての実験的機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` |ブール値 |アイコン検出を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` |ブール値 | TUI で選択時のコピーを無効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` |番号 | bash コマンドのデフォルトのタイムアウト (ミリ秒) |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` |番号 | LLM 応答の最大出力トークン |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` |ブール値 |ディレクトリ全体のファイル監視を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` |ブール値 | oxfmt フォーマッタを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` |ブール値 |実験的な LSP ツールを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` |ブール値 |ファイルウォッチャーを無効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` |ブール値 |実験的な Exa 機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` |ブール値 |実験的な LSP タイプ チェックを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` |ブール値 |試験的なマークダウン機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` |ブール値 |プランモードを有効にする |
|
||||
| 変数 | タイプ | 説明 |
|
||||
| ----------------------------------------------- | -------- | ------------------------------------------------ |
|
||||
| `OPENCODE_EXPERIMENTAL` | ブール値 | すべての実験的機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | ブール値 | アイコン検出を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | ブール値 | TUI で選択時のコピーを無効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 番号 | bash コマンドのデフォルトのタイムアウト (ミリ秒) |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 番号 | LLM 応答の最大出力トークン |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | ブール値 | ディレクトリ全体のファイル監視を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | ブール値 | oxfmt フォーマッタを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | ブール値 | 実験的な LSP ツールを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | ブール値 | ファイルウォッチャーを無効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | ブール値 | 実験的な Exa 機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | ブール値 | 実験的な LSP タイプ チェックを有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | ブール値 | 試験的なマークダウン機能を有効にする |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | ブール値 | プランモードを有効にする |
|
||||
|
||||
@@ -15,62 +15,62 @@ OpenCode 関連プロジェクトをこのリストに追加したいですか?
|
||||
|
||||
## プラグイン
|
||||
|
||||
|名前 |説明 |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | git sync とライブ プレビューを使用して、隔離された Daytona サンドボックスで OpenCode セッションを自動的に実行します。
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) |リクエストのグループ化のために Helicone セッション ヘッダーを自動的に挿入する |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) |ルックアップ ツールを使用して TypeScript/Svelte 型をファイル読み取りに自動挿入する |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | API クレジットの代わりに ChatGPT Plus/Pro サブスクリプションを使用する |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | API 課金の代わりに既存の Gemini プランを使用する |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API 課金の代わりに Antigravity の無料モデルを使用する |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) |浅いクローンと自動割り当てポートを使用したマルチブランチ devcontainer の分離 |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth プラグイン、Google 検索のサポート、およびより堅牢な API 処理 |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) |古いツールの出力を削除してトークンの使用を最適化する |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Google ベースのスタイルでサポートされているプロバイダーにネイティブ Web 検索サポートを追加 |
|
||||
| [オープンコード-pty](https://github.com/shekohex/opencode-pty.git) | AI エージェントが PTY でバックグラウンド プロセスを実行し、インタラクティブな入力を送信できるようにします。 |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) |非対話型シェル コマンドの手順 - TTY に依存する操作によるハングの防止 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | wakatime で OpenCode の使用状況を追跡する |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | LLM によって生成されたマークダウン テーブルをクリーンアップする |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Morph Fast apply API と遅延編集マーカーにより 10 倍高速なコード編集 |
|
||||
| [オーマイオープンコード](https://github.com/code-yeongyu/oh-my-opencode) |バックグラウンド エージェント、事前構築された LSP/AST/MCP ツール、厳選されたエージェント、Claude Code 互換 |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | OpenCode セッションのデスクトップ通知とサウンド アラート |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) |許可、完了、エラー イベントのデスクトップ通知とサウンド アラート |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | OpenCode コンテキストに基づいた AI による自動 Zellij セッション命名 |
|
||||
| [オープンコードスキル](https://github.com/zenobi-us/opencode-skillful) | OpenCode エージェントがスキルの検出と挿入を使用してオンデマンドでプロンプトを遅延ロードできるようにする |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) |スーパーメモリを使用したセッション間での永続メモリ |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) |視覚的な注釈とプライベート/オフライン共有による対話型の計画レビュー |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) |オープンコード/コマンドをきめ細かいフロー制御を備えた強力なオーケストレーション システムに拡張 |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | launchd (Mac) または systemd (Linux) を cron 構文で使用して、定期的なジョブをスケジュールする |
|
||||
| [ミコード](https://github.com/vtemian/micode) |構造化されたブレインストーミング → 計画 → セッション継続性のあるワークフローの実装 |
|
||||
| [octto](https://github.com/vtemian/octto) |複数の質問フォームを使用した AI ブレインストーミング用のインタラクティブなブラウザ UI |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) |非同期委任とコンテキスト永続性を備えた Claude Code スタイルのバックグラウンド エージェント |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | OpenCode のネイティブ OS 通知 – タスクがいつ完了したかを知る |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) |バンドルされたマルチエージェント オーケストレーション ハーネス – 16 コンポーネント、1 回のインストール |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | OpenCode 用のゼロフリクション Git ワークツリー |
|
||||
| 名前 | 説明 |
|
||||
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | git sync とライブ プレビューを使用して、隔離された Daytona サンドボックスで OpenCode セッションを自動的に実行します。 |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | リクエストのグループ化のために Helicone セッション ヘッダーを自動的に挿入する |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | ルックアップ ツールを使用して TypeScript/Svelte 型をファイル読み取りに自動挿入する |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | API クレジットの代わりに ChatGPT Plus/Pro サブスクリプションを使用する |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | API 課金の代わりに既存の Gemini プランを使用する |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API 課金の代わりに Antigravity の無料モデルを使用する |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | 浅いクローンと自動割り当てポートを使用したマルチブランチ devcontainer の分離 |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth プラグイン、Google 検索のサポート、およびより堅牢な API 処理 |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 古いツールの出力を削除してトークンの使用を最適化する |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Google ベースのスタイルでサポートされているプロバイダーにネイティブ Web 検索サポートを追加 |
|
||||
| [オープンコード-pty](https://github.com/shekohex/opencode-pty.git) | AI エージェントが PTY でバックグラウンド プロセスを実行し、インタラクティブな入力を送信できるようにします。 |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | 非対話型シェル コマンドの手順 - TTY に依存する操作によるハングの防止 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | wakatime で OpenCode の使用状況を追跡する |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | LLM によって生成されたマークダウン テーブルをクリーンアップする |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Morph Fast apply API と遅延編集マーカーにより 10 倍高速なコード編集 |
|
||||
| [オーマイオープンコード](https://github.com/code-yeongyu/oh-my-opencode) | バックグラウンド エージェント、事前構築された LSP/AST/MCP ツール、厳選されたエージェント、Claude Code 互換 |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | OpenCode セッションのデスクトップ通知とサウンド アラート |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | 許可、完了、エラー イベントのデスクトップ通知とサウンド アラート |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | OpenCode コンテキストに基づいた AI による自動 Zellij セッション命名 |
|
||||
| [オープンコードスキル](https://github.com/zenobi-us/opencode-skillful) | OpenCode エージェントがスキルの検出と挿入を使用してオンデマンドでプロンプトを遅延ロードできるようにする |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | スーパーメモリを使用したセッション間での永続メモリ |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | 視覚的な注釈とプライベート/オフライン共有による対話型の計画レビュー |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | オープンコード/コマンドをきめ細かいフロー制御を備えた強力なオーケストレーション システムに拡張 |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | launchd (Mac) または systemd (Linux) を cron 構文で使用して、定期的なジョブをスケジュールする |
|
||||
| [ミコード](https://github.com/vtemian/micode) | 構造化されたブレインストーミング → 計画 → セッション継続性のあるワークフローの実装 |
|
||||
| [octto](https://github.com/vtemian/octto) | 複数の質問フォームを使用した AI ブレインストーミング用のインタラクティブなブラウザ UI |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | 非同期委任とコンテキスト永続性を備えた Claude Code スタイルのバックグラウンド エージェント |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | OpenCode のネイティブ OS 通知 – タスクがいつ完了したかを知る |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | バンドルされたマルチエージェント オーケストレーション ハーネス – 16 コンポーネント、1 回のインストール |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | OpenCode 用のゼロフリクション Git ワークツリー |
|
||||
|
||||
---
|
||||
|
||||
## プロジェクト
|
||||
|
||||
|名前 |説明 |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK 上に構築された OpenCode セッションを制御する Discord ボット |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API に基づいて構築された、エディター対応プロンプト用の Neovim プラグイン |
|
||||
| [ポータル](https://github.com/hosenur/portal) | Tailscale/VPN 上の OpenCode 向けモバイルファースト Web UI |
|
||||
| [opencode プラグイン テンプレート ](https://github.com/zenobi-us/opencode-plugin-template/) | OpenCode プラグインを構築するためのテンプレート |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim オープンコード用フロントエンド - ターミナルベースの AI コーディング エージェント |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | @opencode-ai/sdk 経由で OpenCode を使用するための Vercel AI SDK プロバイダー |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | OpenCode 用の Web/デスクトップ アプリと VS Code 拡張機能 |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian の UI に OpenCode を埋め込む Obsidian プラグイン |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | OpenCode を利用した、Claude Cowork に代わるオープンソース |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) |移植可能な独立したプロファイルを備えた OpenCode 拡張機能マネージャー。 |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode 用のデスクトップ、Web、モバイル、およびリモート クライアント アプリ |
|
||||
| 名前 | 説明 |
|
||||
| ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK 上に構築された OpenCode セッションを制御する Discord ボット |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API に基づいて構築された、エディター対応プロンプト用の Neovim プラグイン |
|
||||
| [ポータル](https://github.com/hosenur/portal) | Tailscale/VPN 上の OpenCode 向けモバイルファースト Web UI |
|
||||
| [opencode プラグイン テンプレート ](https://github.com/zenobi-us/opencode-plugin-template/) | OpenCode プラグインを構築するためのテンプレート |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim オープンコード用フロントエンド - ターミナルベースの AI コーディング エージェント |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | @opencode-ai/sdk 経由で OpenCode を使用するための Vercel AI SDK プロバイダー |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | OpenCode 用の Web/デスクトップ アプリと VS Code 拡張機能 |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian の UI に OpenCode を埋め込む Obsidian プラグイン |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | OpenCode を利用した、Claude Cowork に代わるオープンソース |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | 移植可能な独立したプロファイルを備えた OpenCode 拡張機能マネージャー。 |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode 用のデスクトップ、Web、モバイル、およびリモート クライアント アプリ |
|
||||
|
||||
---
|
||||
|
||||
## エージェント
|
||||
|
||||
|名前 |説明 |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) |構造化開発のためのモジュール型 AI エージェントとコマンド |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) |強化されたワークフローのための構成、プロンプト、エージェント、およびプラグイン |
|
||||
| 名前 | 説明 |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 構造化開発のためのモジュール型 AI エージェントとコマンド |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | 強化されたワークフローのための構成、プロンプト、エージェント、およびプラグイン |
|
||||
|
||||
@@ -11,32 +11,32 @@ OpenCode は、言語固有のフォーマッタを使用してファイルを
|
||||
|
||||
OpenCode には、一般的な言語およびフレームワーク用のいくつかの組み込みフォーマッタが付属しています。以下は、フォーマッタ、サポートされているファイル拡張子、および必要なコマンドまたは構成オプションのリストです。
|
||||
|
||||
|フォーマッタ |拡張機能 |要件 |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
|ゴーフムト | .go | `gofmt` コマンドが利用可能 |
|
||||
|ミックス | .ex、.exs、.eex、.heex、.leex、.neex、.sface | `mix` コマンドが利用可能 |
|
||||
|よりきれい | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml、および [more](https://prettier.io/docs/en/index.html) | `package.json` における `prettier` の依存関係 |
|
||||
|バイオーム | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml、および [more](https://biomejs.dev/) | `biome.json(c)` 設定ファイル |
|
||||
|ジグ | .zig、.zon | `zig` コマンドが利用可能 |
|
||||
|クラン形式 | .c、.cpp、.h、.hpp、.ino、および [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` 設定ファイル |
|
||||
|クトリント | .kt、.kts | `ktlint` コマンドが利用可能 |
|
||||
|ラフ | .py、.pyi | `ruff` コマンドは config | で使用可能です。
|
||||
|さびと.rs | `rustfmt` コマンドが利用可能 |
|
||||
|カーゴフムト | .rs | `cargo fmt` コマンドが利用可能 |
|
||||
|紫外線 | .py、.pyi | `uv` コマンドが利用可能 |
|
||||
|ロボコップ | .rb、.rake、.gemspec、.ru | `rubocop` コマンドが利用可能 |
|
||||
|標準RB | .rb、.rake、.gemspec、.ru | `standardrb` コマンドが利用可能 |
|
||||
| htmlビューティー | .erb、.html.erb | `htmlbeautifier` コマンドが利用可能 |
|
||||
|空気 | .R | `air` コマンドが利用可能 |
|
||||
|ダーツ | .ダーツ | `dart` コマンドが利用可能 |
|
||||
| ocaml形式 | .ml、.mli |利用可能な `ocamlformat` コマンドと `.ocamlformat` 設定ファイル |
|
||||
|テラフォーム | .tf、.tfvars | `terraform` コマンドが利用可能 |
|
||||
|輝く.gleam | `gleam` コマンドが利用可能 |
|
||||
|ニクスフムト | .nix | `nixfmt` コマンドが利用可能 |
|
||||
|シュフムト | .sh、.bash | `shfmt` コマンドが利用可能 |
|
||||
|パイント | .php | `composer.json` における `laravel/pint` の依存関係 |
|
||||
| oxfmt (実験的) | .js、.jsx、.ts、.tsx | `package.json` の `oxfmt` 依存関係と [実験用環境変数 flag](/docs/cli/#experimental) |
|
||||
|オルモル | .hs | `ormolu` コマンドが利用可能 |
|
||||
| フォーマッタ | 拡張機能 | 要件 |
|
||||
| ---------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------- |
|
||||
| ゴーフムト | .go | `gofmt` コマンドが利用可能 |
|
||||
| ミックス | .ex、.exs、.eex、.heex、.leex、.neex、.sface | `mix` コマンドが利用可能 |
|
||||
| よりきれい | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml、および [more](https://prettier.io/docs/en/index.html) | `package.json` における `prettier` の依存関係 |
|
||||
| バイオーム | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml、および [more](https://biomejs.dev/) | `biome.json(c)` 設定ファイル |
|
||||
| ジグ | .zig、.zon | `zig` コマンドが利用可能 |
|
||||
| クラン形式 | .c、.cpp、.h、.hpp、.ino、および [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` 設定ファイル |
|
||||
| クトリント | .kt、.kts | `ktlint` コマンドが利用可能 |
|
||||
| ラフ | .py、.pyi | `ruff` コマンドは config | で使用可能です。 |
|
||||
| さびと.rs | `rustfmt` コマンドが利用可能 |
|
||||
| カーゴフムト | .rs | `cargo fmt` コマンドが利用可能 |
|
||||
| 紫外線 | .py、.pyi | `uv` コマンドが利用可能 |
|
||||
| ロボコップ | .rb、.rake、.gemspec、.ru | `rubocop` コマンドが利用可能 |
|
||||
| 標準RB | .rb、.rake、.gemspec、.ru | `standardrb` コマンドが利用可能 |
|
||||
| htmlビューティー | .erb、.html.erb | `htmlbeautifier` コマンドが利用可能 |
|
||||
| 空気 | .R | `air` コマンドが利用可能 |
|
||||
| ダーツ | .ダーツ | `dart` コマンドが利用可能 |
|
||||
| ocaml形式 | .ml、.mli | 利用可能な `ocamlformat` コマンドと `.ocamlformat` 設定ファイル |
|
||||
| テラフォーム | .tf、.tfvars | `terraform` コマンドが利用可能 |
|
||||
| 輝く.gleam | `gleam` コマンドが利用可能 |
|
||||
| ニクスフムト | .nix | `nixfmt` コマンドが利用可能 |
|
||||
| シュフムト | .sh、.bash | `shfmt` コマンドが利用可能 |
|
||||
| パイント | .php | `composer.json` における `laravel/pint` の依存関係 |
|
||||
| oxfmt (実験的) | .js、.jsx、.ts、.tsx | `package.json` の `oxfmt` 依存関係と [実験用環境変数 flag](/docs/cli/#experimental) |
|
||||
| オルモル | .hs | `ormolu` コマンドが利用可能 |
|
||||
|
||||
したがって、プロジェクトの `package.json` に `prettier` が含まれている場合、OpenCode は自動的にそれを使用します。
|
||||
|
||||
@@ -67,12 +67,12 @@ OpenCode 構成の `formatter` セクションを通じてフォーマッタを
|
||||
|
||||
各フォーマッタ設定は以下をサポートします。
|
||||
|
||||
|プロパティ |タイプ |説明 |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` |ブール値 |フォーマッタを無効にするには、これを `true` に設定します。
|
||||
| `command` |文字列[] |フォーマットのために実行するコマンド |
|
||||
| `environment` |オブジェクト |フォーマッタの実行時に設定する環境変数 |
|
||||
| `extensions` |文字列[] |このフォーマッタが処理するファイル拡張子 |
|
||||
| プロパティ | タイプ | 説明 |
|
||||
| ------------- | ------------ | ---------------------------------------------------------- |
|
||||
| `disabled` | ブール値 | フォーマッタを無効にするには、これを `true` に設定します。 |
|
||||
| `command` | 文字列[] | フォーマットのために実行するコマンド |
|
||||
| `environment` | オブジェクト | フォーマッタの実行時に設定する環境変数 |
|
||||
| `extensions` | 文字列[] | このフォーマッタが処理するファイル拡張子 |
|
||||
|
||||
いくつかの例を見てみましょう。
|
||||
|
||||
|
||||
@@ -39,39 +39,39 @@ opencode github install
|
||||
|
||||
次のワークフロー ファイルをリポジトリの `.github/workflows/opencode.yml` に追加します。適切な `model` と必要な API キーを `env` に設定してください。
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. **API キーをシークレットに保存します**
|
||||
|
||||
@@ -89,13 +89,13 @@ opencode github install
|
||||
|
||||
あるいは、OpenCode GitHub アプリをインストールせずに、GitHub Action ランナーの [組み込み `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) を使用することもできます。ワークフローで必要な権限を必ず付与してください。
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
必要に応じて、[パーソナル アクセス トークン](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) を使用することもできます。
|
||||
|
||||
@@ -105,14 +105,14 @@ opencode github install
|
||||
|
||||
OpenCode は、次の GitHub イベントによってトリガーできます。
|
||||
|
||||
|イベントの種類 |きっかけ |詳細 |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` |問題または PR についてコメントする |コメントで `/opencode` または `/oc` について言及してください。 OpenCode はコンテキストを読み取り、ブランチを作成したり、PR を開いたり、返信したりできます。 |
|
||||
| `pull_request_review_comment` | PR 内の特定のコード行にコメントする |コードをレビューするときに、`/opencode` または `/oc` について言及します。 OpenCode は、ファイル パス、行番号、および diff コンテキストを受け取ります。 |
|
||||
| `issues` |問題がオープンまたは編集されました |問題が作成または変更されると、OpenCode が自動的にトリガーされます。 `prompt` 入力が必要です。 |
|
||||
| `pull_request` | PR がオープンまたは更新されました | PR が開かれる、同期される、または再度開かれるときに、OpenCode を自動的にトリガーします。自動レビューに役立ちます。 |
|
||||
| `schedule` | Cron ベースのスケジュール |スケジュールに従って OpenCode を実行します。 `prompt` 入力が必要です。出力はログと PR に送られます (コメントする問題はありません)。 |
|
||||
| `workflow_dispatch` | GitHub UI からの手動トリガー | [アクション] タブから OpenCode をオンデマンドでトリガーします。 `prompt` 入力が必要です。出力はログと PR に送られます。 |
|
||||
| イベントの種類 | きっかけ | 詳細 |
|
||||
| ----------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | 問題または PR についてコメントする | コメントで `/opencode` または `/oc` について言及してください。 OpenCode はコンテキストを読み取り、ブランチを作成したり、PR を開いたり、返信したりできます。 |
|
||||
| `pull_request_review_comment` | PR 内の特定のコード行にコメントする | コードをレビューするときに、`/opencode` または `/oc` について言及します。 OpenCode は、ファイル パス、行番号、および diff コンテキストを受け取ります。 |
|
||||
| `issues` | 問題がオープンまたは編集されました | 問題が作成または変更されると、OpenCode が自動的にトリガーされます。 `prompt` 入力が必要です。 |
|
||||
| `pull_request` | PR がオープンまたは更新されました | PR が開かれる、同期される、または再度開かれるときに、OpenCode を自動的にトリガーします。自動レビューに役立ちます。 |
|
||||
| `schedule` | Cron ベースのスケジュール | スケジュールに従って OpenCode を実行します。 `prompt` 入力が必要です。出力はログと PR に送られます (コメントする問題はありません)。 |
|
||||
| `workflow_dispatch` | GitHub UI からの手動トリガー | [アクション] タブから OpenCode をオンデマンドでトリガーします。 `prompt` 入力が必要です。出力はログと PR に送られます。 |
|
||||
|
||||
### スケジュール例
|
||||
|
||||
@@ -277,9 +277,9 @@ GitHub で OpenCode を使用する方法の例をいくつか示します。
|
||||
|
||||
このコメントを GitHub の問題に追加します。
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode は、すべてのコメントを含むスレッド全体を読み取り、明確な説明を返信します。
|
||||
|
||||
@@ -287,9 +287,9 @@ OpenCode は、すべてのコメントを含むスレッド全体を読み取
|
||||
|
||||
GitHub の問題で次のように言います。
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
そして、OpenCode は新しいブランチを作成し、変更を実装し、変更を含む PR を開きます。
|
||||
|
||||
@@ -297,9 +297,9 @@ GitHub の問題で次のように言います。
|
||||
|
||||
GitHub PR に次のコメントを残してください。
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
OpenCode は要求された変更を実装し、同じ PR にコミットします。
|
||||
|
||||
@@ -307,15 +307,16 @@ OpenCode は要求された変更を実装し、同じ PR にコミットしま
|
||||
|
||||
PR の「ファイル」タブのコード行に直接コメントを残します。 OpenCode は、ファイル、行番号、および diff コンテキストを自動的に検出して、正確な応答を提供します。
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
特定の行にコメントすると、OpenCode は以下を受け取ります。
|
||||
- レビューされている正確なファイル
|
||||
- コードの特定の行
|
||||
- 周囲の差分コンテキスト
|
||||
- 行番号情報
|
||||
|
||||
- レビューされている正確なファイル
|
||||
- コードの特定の行
|
||||
- 周囲の差分コンテキスト
|
||||
- 行番号情報
|
||||
|
||||
これにより、ファイル パスや行番号を手動で指定する必要がなく、よりターゲットを絞ったリクエストが可能になります。
|
||||
|
||||
@@ -55,7 +55,7 @@ OpenCode は GitLab ワークフローと統合します。
|
||||
|
||||
- **問題のトリアージ**: OpenCode に問題を調べて説明してもらいます。
|
||||
- **修正と実装**: OpenCode に問題の修正または機能の実装を依頼します。
|
||||
新しいブランチを作成し、変更を加えたマージリクエストを発行します。
|
||||
新しいブランチを作成し、変更を加えたマージリクエストを発行します。
|
||||
- **安全**: OpenCode は GitLab ランナー上で実行されます。
|
||||
|
||||
---
|
||||
@@ -168,9 +168,9 @@ GitLab で OpenCode を使用する方法の例をいくつか示します。
|
||||
|
||||
このコメントを GitLab の問題に追加します。
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode は問題を読み、明確な説明を返信します。
|
||||
|
||||
@@ -178,9 +178,9 @@ OpenCode は問題を読み、明確な説明を返信します。
|
||||
|
||||
GitLab の問題では、次のように言います。
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
OpenCode は新しいブランチを作成し、変更を実装し、変更を含むマージ リクエストを開きます。
|
||||
|
||||
@@ -188,8 +188,8 @@ OpenCode は新しいブランチを作成し、変更を実装し、変更を
|
||||
|
||||
GitLab マージ リクエストに次のコメントを残してください。
|
||||
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
|
||||
OpenCode はマージ リクエストをレビューし、フィードバックを提供します。
|
||||
|
||||
@@ -224,60 +224,60 @@ OpenCode に新しい機能をプロジェクトに追加するよう依頼で
|
||||
1. **計画を作成する**
|
||||
|
||||
OpenCode には、変更を加える機能を無効にする _Plan モード_ があり、
|
||||
代わりに、その機能を_どのように_実装するかを提案してください。
|
||||
代わりに、その機能を*どのように*実装するかを提案してください。
|
||||
|
||||
**Tab** キーを使用してそれに切り替えます。右下隅にこれを示すインジケーターが表示されます。
|
||||
|
||||
```bash frame="none" title="Switch to Plan mode"
|
||||
<TAB>
|
||||
```
|
||||
```bash frame="none" title="Switch to Plan mode"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
では、何をしたいのかを説明しましょう。
|
||||
|
||||
```txt frame="none"
|
||||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||||
Then create a screen that shows all the recently deleted notes.
|
||||
From this screen, the user can undelete a note or permanently delete it.
|
||||
```
|
||||
```txt frame="none"
|
||||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||||
Then create a screen that shows all the recently deleted notes.
|
||||
From this screen, the user can undelete a note or permanently delete it.
|
||||
```
|
||||
|
||||
自分が何を望んでいるのかを理解するために、OpenCode に十分な詳細を提供したいと考えています。役に立ちます
|
||||
チームの若手開発者と話しているように話すことができます。
|
||||
|
||||
:::ヒント
|
||||
OpenCode に多くのコンテキストと例を提供して、意図する内容を理解できるようにします。
|
||||
want.
|
||||
:::
|
||||
want.
|
||||
:::
|
||||
|
||||
2. **計画を反復する**
|
||||
|
||||
計画が示されたら、フィードバックを送信したり、詳細を追加したりできます。
|
||||
|
||||
```txt frame="none"
|
||||
We'd like to design this new screen using a design I've used before.
|
||||
[Image #1] Take a look at this image and use it as a reference.
|
||||
```
|
||||
```txt frame="none"
|
||||
We'd like to design this new screen using a design I've used before.
|
||||
[Image #1] Take a look at this image and use it as a reference.
|
||||
```
|
||||
|
||||
:::ヒント
|
||||
画像をターミナルにドラッグ アンド ドロップして、プロンプトに追加します。
|
||||
:::
|
||||
:::
|
||||
|
||||
OpenCode は、指定された画像をスキャンしてプロンプトに追加できます。あなたはできる
|
||||
これを行うには、画像をターミナルにドラッグ アンド ドロップします。
|
||||
|
||||
3. **機能を構築する**
|
||||
|
||||
計画に慣れたら、_Build モード_に戻ります。
|
||||
計画に慣れたら、*Build モード*に戻ります。
|
||||
**Tab** キーをもう一度押します。
|
||||
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
そして変更を加えるように依頼します。
|
||||
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
```
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -134,21 +134,21 @@ OpenCode は、ほとんどのキーバインドに `leader` キーを使用し
|
||||
|
||||
OpenCode デスクトップ アプリのプロンプト入力は、テキストを編集するための一般的な Readline/Emacs スタイルのショートカットをサポートしています。これらは組み込みであり、現在 `opencode.json` を介して構成することはできません。
|
||||
|
||||
|ショートカット |アクション |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` |現在の行の先頭に移動 |
|
||||
| `ctrl+e` |現在の行の末尾に移動 |
|
||||
| `ctrl+b` |カーソルを 1 文字前に移動 |
|
||||
| `ctrl+f` |カーソルを 1 文字前に移動 |
|
||||
| `alt+b` |カーソルを 1 単語前に移動 |
|
||||
| `alt+f` |カーソルを 1 単語前に移動 |
|
||||
| `ctrl+d` |カーソル下の文字を削除 |
|
||||
| `ctrl+k` |行末まで強制終了 |
|
||||
| `ctrl+u` |行の先頭までキル |
|
||||
| `ctrl+w` |前の単語を削除 |
|
||||
| `alt+d` |次の単語を削除 |
|
||||
| `ctrl+t` |文字を入れ替える |
|
||||
| `ctrl+g` |ポップオーバーをキャンセル/実行中の応答を中止する |
|
||||
| ショートカット | アクション |
|
||||
| -------------- | ------------------------------------------------- |
|
||||
| `ctrl+a` | 現在の行の先頭に移動 |
|
||||
| `ctrl+e` | 現在の行の末尾に移動 |
|
||||
| `ctrl+b` | カーソルを 1 文字前に移動 |
|
||||
| `ctrl+f` | カーソルを 1 文字前に移動 |
|
||||
| `alt+b` | カーソルを 1 単語前に移動 |
|
||||
| `alt+f` | カーソルを 1 単語前に移動 |
|
||||
| `ctrl+d` | カーソル下の文字を削除 |
|
||||
| `ctrl+k` | 行末まで強制終了 |
|
||||
| `ctrl+u` | 行の先頭までキル |
|
||||
| `ctrl+w` | 前の単語を削除 |
|
||||
| `alt+d` | 次の単語を削除 |
|
||||
| `ctrl+t` | 文字を入れ替える |
|
||||
| `ctrl+g` | ポップオーバーをキャンセル/実行中の応答を中止する |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -11,40 +11,40 @@ OpenCode は言語サーバー プロトコル (LSP) と統合して、LLM が
|
||||
|
||||
OpenCode には、一般的な言語用のいくつかの組み込み LSP サーバーが付属しています。
|
||||
|
||||
| LSPサーバー |拡張機能 |要件 |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
|アストロ | .astro | Astro プロジェクトの自動インストール |
|
||||
|バッシュ | .sh、.bash、.zsh、.ksh | bash-lang-server を自動インストールします。
|
||||
|クランド | .c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++ | C/C++ プロジェクトの自動インストール |
|
||||
|シーシャープ | .cs | `.NET SDK` がインストールされました |
|
||||
| clojure-lsp | .clj、.cljs、.cljc、.edn | `clojure-lsp` コマンドが利用可能 |
|
||||
|ダーツ | .ダーツ | `dart` コマンドが利用可能 |
|
||||
|デノ | .ts、.tsx、.js、.jsx、.mjs | `deno` コマンドが利用可能 (deno.json/deno.jsonc を自動検出) |
|
||||
|エリクサーLS | .ex、.exs | `elixir` コマンドが利用可能 |
|
||||
|エスリント | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue |プロジェクト内の `eslint` 依存関係 |
|
||||
|フシャープ | .fs、.fsi、.fsx、.fsscript | `.NET SDK` がインストールされました |
|
||||
|輝く.gleam | `gleam` コマンドが利用可能 |
|
||||
|ゴップル | .go | `go` コマンドが利用可能 |
|
||||
| HLS | .hs、.lhs | `haskell-language-server-wrapper` コマンドが利用可能 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` がインストールされました |
|
||||
| kotlin-ls | .kt、.kts | Kotlin プロジェクトの自動インストール |
|
||||
|ルアール | .lua | Lua プロジェクトの自動インストール |
|
||||
|ニクスド | .nix | `nixd` コマンドが利用可能 |
|
||||
| ocaml-lsp | .ml、.mli | `ocamllsp` コマンドが利用可能 |
|
||||
|オックスリント | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue、.astro、.svelte |プロジェクト内の `oxlint` 依存関係 |
|
||||
| php インテルフェンス | .php | PHP プロジェクトの自動インストール |
|
||||
|プリズマ | .プリズム | `prisma` コマンドが利用可能 |
|
||||
|著作権 | .py、.pyi | `pyright` 依存関係がインストールされました |
|
||||
| Ruby-LSP (ルボコップ) | .rb、.rake、.gemspec、.ru | `ruby` および `gem` コマンドが利用可能 |
|
||||
|さび | .rs | `rust-analyzer` コマンドが利用可能 |
|
||||
|ソースキット-lsp | .swift、.objc、.objcpp | `swift` がインストールされています (macOS では `xcode`)。
|
||||
|細い | .svelte | Svelte プロジェクトの自動インストール |
|
||||
|テラフォーム | .tf、.tfvars | GitHub リリースからの自動インストール |
|
||||
|タイニーミスト | .typ、.typc | GitHub リリースからの自動インストール |
|
||||
|タイプスクリプト | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts |プロジェクト内の `typescript` 依存関係 |
|
||||
|ビュー | .vue | Vue プロジェクトの自動インストール |
|
||||
| yaml-ls | .yaml、.yml | Red Hat yaml-lang-server を自動インストールします。
|
||||
| zls | .zig、.zon | `zig` コマンドが利用可能 |
|
||||
| LSPサーバー | 拡張機能 | 要件 |
|
||||
| --------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------- |
|
||||
| アストロ | .astro | Astro プロジェクトの自動インストール |
|
||||
| バッシュ | .sh、.bash、.zsh、.ksh | bash-lang-server を自動インストールします。 |
|
||||
| クランド | .c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++ | C/C++ プロジェクトの自動インストール |
|
||||
| シーシャープ | .cs | `.NET SDK` がインストールされました |
|
||||
| clojure-lsp | .clj、.cljs、.cljc、.edn | `clojure-lsp` コマンドが利用可能 |
|
||||
| ダーツ | .ダーツ | `dart` コマンドが利用可能 |
|
||||
| デノ | .ts、.tsx、.js、.jsx、.mjs | `deno` コマンドが利用可能 (deno.json/deno.jsonc を自動検出) |
|
||||
| エリクサーLS | .ex、.exs | `elixir` コマンドが利用可能 |
|
||||
| エスリント | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue | プロジェクト内の `eslint` 依存関係 |
|
||||
| フシャープ | .fs、.fsi、.fsx、.fsscript | `.NET SDK` がインストールされました |
|
||||
| 輝く.gleam | `gleam` コマンドが利用可能 |
|
||||
| ゴップル | .go | `go` コマンドが利用可能 |
|
||||
| HLS | .hs、.lhs | `haskell-language-server-wrapper` コマンドが利用可能 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` がインストールされました |
|
||||
| kotlin-ls | .kt、.kts | Kotlin プロジェクトの自動インストール |
|
||||
| ルアール | .lua | Lua プロジェクトの自動インストール |
|
||||
| ニクスド | .nix | `nixd` コマンドが利用可能 |
|
||||
| ocaml-lsp | .ml、.mli | `ocamllsp` コマンドが利用可能 |
|
||||
| オックスリント | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue、.astro、.svelte | プロジェクト内の `oxlint` 依存関係 |
|
||||
| php インテルフェンス | .php | PHP プロジェクトの自動インストール |
|
||||
| プリズマ | .プリズム | `prisma` コマンドが利用可能 |
|
||||
| 著作権 | .py、.pyi | `pyright` 依存関係がインストールされました |
|
||||
| Ruby-LSP (ルボコップ) | .rb、.rake、.gemspec、.ru | `ruby` および `gem` コマンドが利用可能 |
|
||||
| さび | .rs | `rust-analyzer` コマンドが利用可能 |
|
||||
| ソースキット-lsp | .swift、.objc、.objcpp | `swift` がインストールされています (macOS では `xcode`)。 |
|
||||
| 細い | .svelte | Svelte プロジェクトの自動インストール |
|
||||
| テラフォーム | .tf、.tfvars | GitHub リリースからの自動インストール |
|
||||
| タイニーミスト | .typ、.typc | GitHub リリースからの自動インストール |
|
||||
| タイプスクリプト | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts | プロジェクト内の `typescript` 依存関係 |
|
||||
| ビュー | .vue | Vue プロジェクトの自動インストール |
|
||||
| yaml-ls | .yaml、.yml | Red Hat yaml-lang-server を自動インストールします。 |
|
||||
| zls | .zig、.zon | `zig` コマンドが利用可能 |
|
||||
|
||||
上記のファイル拡張子のいずれかが検出され、要件が満たされると、LSP サーバーは自動的に有効になります。
|
||||
|
||||
@@ -76,13 +76,13 @@ Opencode 構成の `lsp` セクションを通じて LSP サーバーをカス
|
||||
|
||||
各 LSP サーバーは以下をサポートします。
|
||||
|
||||
|プロパティ |タイプ |説明 |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` |ブール値 | LSP サーバーを無効にするには、これを `true` に設定します。
|
||||
| `command` |文字列[] | LSP サーバーを起動するコマンド |
|
||||
| `extensions` |文字列[] |この LSP サーバーが処理するファイル拡張子 |
|
||||
| `env` |オブジェクト |サーバーの起動時に設定する環境変数 |
|
||||
| `initialization` |オブジェクト | LSP サーバーに送信する初期化オプション |
|
||||
| プロパティ | タイプ | 説明 |
|
||||
| ---------------- | ------------ | ---------------------------------------------------------- |
|
||||
| `disabled` | ブール値 | LSP サーバーを無効にするには、これを `true` に設定します。 |
|
||||
| `command` | 文字列[] | LSP サーバーを起動するコマンド |
|
||||
| `extensions` | 文字列[] | この LSP サーバーが処理するファイル拡張子 |
|
||||
| `env` | オブジェクト | サーバーの起動時に設定する環境変数 |
|
||||
| `initialization` | オブジェクト | LSP サーバーに送信する初期化オプション |
|
||||
|
||||
いくつかの例を見てみましょう。
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
ここでは、ローカル MCP サーバーを構成するためのすべてのオプションを示します。
|
||||
|
||||
|オプション |タイプ |必須 |説明 |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` |文字列 |や | MCP サーバー接続のタイプは、`"local"` である必要があります。 |
|
||||
| `command` |配列 |や | MCP サーバーを実行するためのコマンドと引数。 |
|
||||
| `environment` |オブジェクト | |サーバーの実行時に設定する環境変数。 |
|
||||
| `enabled` |ブール値 | |起動時に MCP サーバーを有効または無効にします。 |
|
||||
| `timeout` |番号 | | MCP サーバーからツールを取得する際のタイムアウト (ミリ秒)。デフォルトは 5000 (5 秒) です。 |
|
||||
| オプション | タイプ | 必須 | 説明 |
|
||||
| ------------- | ------------ | ---- | ------------------------------------------------------------------------------------------ |
|
||||
| `type` | 文字列 | や | MCP サーバー接続のタイプは、`"local"` である必要があります。 |
|
||||
| `command` | 配列 | や | MCP サーバーを実行するためのコマンドと引数。 |
|
||||
| `environment` | オブジェクト | | サーバーの実行時に設定する環境変数。 |
|
||||
| `enabled` | ブール値 | | 起動時に MCP サーバーを有効または無効にします。 |
|
||||
| `timeout` | 番号 | | MCP サーバーからツールを取得する際のタイムアウト (ミリ秒)。デフォルトは 5000 (5 秒) です。 |
|
||||
|
||||
---
|
||||
|
||||
@@ -152,14 +152,14 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
#### オプション
|
||||
|
||||
|オプション |タイプ |必須 |説明 |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` |文字列 |や | MCP サーバー接続のタイプは、`"remote"` である必要があります。 |
|
||||
| `url` |文字列 |や |リモート MCP サーバーの URL。 |
|
||||
| `enabled` |ブール値 | |起動時に MCP サーバーを有効または無効にします。 |
|
||||
| `headers` |オブジェクト | |リクエストとともに送信するヘッダー。 |
|
||||
| `oauth` |オブジェクト | | OAuth認証構成。以下の「OAuth](#oauth)」セクションを参照してください。 |
|
||||
| `timeout` |番号 | | MCP サーバーからツールを取得する際のタイムアウト (ミリ秒)。デフォルトは 5000 (5 秒) です。 |
|
||||
| オプション | タイプ | 必須 | 説明 |
|
||||
| ---------- | ------------ | ---- | ------------------------------------------------------------------------------------------ |
|
||||
| `type` | 文字列 | や | MCP サーバー接続のタイプは、`"remote"` である必要があります。 |
|
||||
| `url` | 文字列 | や | リモート MCP サーバーの URL。 |
|
||||
| `enabled` | ブール値 | | 起動時に MCP サーバーを有効または無効にします。 |
|
||||
| `headers` | オブジェクト | | リクエストとともに送信するヘッダー。 |
|
||||
| `oauth` | オブジェクト | | OAuth認証構成。以下の「OAuth](#oauth)」セクションを参照してください。 |
|
||||
| `timeout` | 番号 | | MCP サーバーからツールを取得する際のタイムアウト (ミリ秒)。デフォルトは 5000 (5 秒) です。 |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,12 +266,12 @@ opencode mcp logout my-oauth-server
|
||||
|
||||
#### OAuth オプション
|
||||
|
||||
|オプション |タイプ |説明 |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` |オブジェクト \|偽 | OAuth 構成オブジェクト、または `false` を使用して OAuth 自動検出を無効にします。 |
|
||||
| `clientId` |文字列 | OAuth クライアント ID。指定しない場合は、動的クライアント登録が試行されます。 |
|
||||
| `clientSecret` |文字列 | OAuth クライアント シークレット (認可サーバーで必要な場合)。 |
|
||||
| `scope` |文字列 |認可中にリクエストする OAuth スコープ。 |
|
||||
| オプション | タイプ | 説明 |
|
||||
| -------------- | ----------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | オブジェクト \|偽 | OAuth 構成オブジェクト、または `false` を使用して OAuth 自動検出を無効にします。 |
|
||||
| `clientId` | 文字列 | OAuth クライアント ID。指定しない場合は、動的クライアント登録が試行されます。 |
|
||||
| `clientSecret` | 文字列 | OAuth クライアント シークレット (認可サーバーで必要な場合)。 |
|
||||
| `scope` | 文字列 | 認可中にリクエストする OAuth スコープ。 |
|
||||
|
||||
#### デバッグ
|
||||
|
||||
|
||||
@@ -225,19 +225,19 @@ Provide constructive feedback without making direct changes.
|
||||
|
||||
ここでは、モード設定を通じて制御できるすべてのツールを示します。
|
||||
|
||||
|ツール |説明 |
|
||||
| ----------- | ----------------------- |
|
||||
| `bash` |シェルコマンドを実行する |
|
||||
| `edit` |既存のファイルを変更する |
|
||||
| `write` |新しいファイルを作成する |
|
||||
| `read` |ファイルの内容を読み取る |
|
||||
| `grep` |ファイルの内容を検索 |
|
||||
| `glob` |パターンでファイルを検索 |
|
||||
| `list` |ディレクトリの内容をリストする |
|
||||
| `patch` |ファイルにパッチを適用する |
|
||||
| `todowrite` | ToDo リストを管理する |
|
||||
| `todoread` | ToDo リストを読む |
|
||||
| `webfetch` | Web コンテンツを取得する |
|
||||
| ツール | 説明 |
|
||||
| ----------- | ------------------------------ |
|
||||
| `bash` | シェルコマンドを実行する |
|
||||
| `edit` | 既存のファイルを変更する |
|
||||
| `write` | 新しいファイルを作成する |
|
||||
| `read` | ファイルの内容を読み取る |
|
||||
| `grep` | ファイルの内容を検索 |
|
||||
| `glob` | パターンでファイルを検索 |
|
||||
| `list` | ディレクトリの内容をリストする |
|
||||
| `patch` | ファイルにパッチを適用する |
|
||||
| `todowrite` | ToDo リストを管理する |
|
||||
| `todoread` | ToDo リストを読む |
|
||||
| `webfetch` | Web コンテンツを取得する |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -37,13 +37,13 @@ const { client } = await createOpencode()
|
||||
|
||||
#### オプション
|
||||
|
||||
|オプション |タイプ |説明 |デフォルト |
|
||||
| ---------- | ------------- | ------------------------------ | ----------- |
|
||||
| `hostname` | `string` |サーバーのホスト名 |うーん
|
||||
| `port` | `number` |サーバーポート |うーん
|
||||
| `signal` | `AbortSignal` |キャンセルのためのアボート信号 |うーん
|
||||
| `timeout` | `number` |サーバー起動のタイムアウト (ミリ秒) |うーん
|
||||
| `config` | `Config` |構成オブジェクト |うーん
|
||||
| オプション | タイプ | 説明 | デフォルト |
|
||||
| ---------- | ------------- | ----------------------------------- | ---------- |
|
||||
| `hostname` | `string` | サーバーのホスト名 | うーん |
|
||||
| `port` | `number` | サーバーポート | うーん |
|
||||
| `signal` | `AbortSignal` | キャンセルのためのアボート信号 | うーん |
|
||||
| `timeout` | `number` | サーバー起動のタイムアウト (ミリ秒) | うーん |
|
||||
| `config` | `Config` | 構成オブジェクト | うーん |
|
||||
|
||||
---
|
||||
|
||||
@@ -81,13 +81,13 @@ const client = createOpencodeClient({
|
||||
|
||||
#### オプション
|
||||
|
||||
|オプション |タイプ |説明 |デフォルト |
|
||||
| --------------- | ---------- | -------------------------------- | ----------------------- |
|
||||
| `baseUrl` | `string` |サーバーの URL |うーん
|
||||
| `fetch` | `function` |カスタムフェッチの実装 |うーん
|
||||
| `parseAs` | `string` |応答解析方法 |うーん
|
||||
| `responseStyle` | `string` |戻り値のスタイル: `data` または `fields` |認証済み
|
||||
| `throwOnError` | `boolean` | | を返す代わりにエラーをスローします。うーん
|
||||
| オプション | タイプ | 説明 | デフォルト |
|
||||
| --------------- | ---------- | ---------------------------------------- | ------------------------------------------ |
|
||||
| `baseUrl` | `string` | サーバーの URL | うーん |
|
||||
| `fetch` | `function` | カスタムフェッチの実装 | うーん |
|
||||
| `parseAs` | `string` | 応答解析方法 | うーん |
|
||||
| `responseStyle` | `string` | 戻り値のスタイル: `data` または `fields` | 認証済み |
|
||||
| `throwOnError` | `boolean` | | を返す代わりにエラーをスローします。うーん |
|
||||
|
||||
---
|
||||
|
||||
@@ -125,9 +125,9 @@ SDK は、タイプセーフなクライアントを通じてすべてのサー
|
||||
|
||||
### グローバル
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ----------------- | ------------------------------- | ------------------------------------ |
|
||||
| `global.health()` |サーバーの健全性とバージョンを確認する | `{ healthy: true, version: string }` |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ----------------- | -------------------------------------- | ------------------------------------ |
|
||||
| `global.health()` | サーバーの健全性とバージョンを確認する | `{ healthy: true, version: string }` |
|
||||
|
||||
---
|
||||
|
||||
@@ -142,10 +142,10 @@ console.log(health.data.version)
|
||||
|
||||
### アプリ
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| -------------- | ------------------------- | ------------------------------------------- |
|
||||
| `app.log()` |ログエントリを書き込む | `boolean` |
|
||||
| `app.agents()` |利用可能なすべてのエージェントをリストする | <a href={typesUrl}><code>エージェント[]</code></a> |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| -------------- | ------------------------------------------ | -------------------------------------------------- |
|
||||
| `app.log()` | ログエントリを書き込む | `boolean` |
|
||||
| `app.agents()` | 利用可能なすべてのエージェントをリストする | <a href={typesUrl}><code>エージェント[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -169,10 +169,10 @@ const agents = await client.app.agents()
|
||||
|
||||
### プロジェクト
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ------------------- | ------------------- | --------------------------------------------- |
|
||||
| `project.list()` |すべてのプロジェクトをリストする | <a href={typesUrl}><code>プロジェクト[]</code></a> |
|
||||
| `project.current()` |現在のプロジェクトを取得 | <a href={typesUrl}><code>プロジェクト</code></a> |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------------- | -------------------------------- | -------------------------------------------------- |
|
||||
| `project.list()` | すべてのプロジェクトをリストする | <a href={typesUrl}><code>プロジェクト[]</code></a> |
|
||||
| `project.current()` | 現在のプロジェクトを取得 | <a href={typesUrl}><code>プロジェクト</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -190,9 +190,9 @@ const currentProject = await client.project.current()
|
||||
|
||||
### パス
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------ | ---------------- | ---------------------------------------- |
|
||||
| `path.get()` |現在のパスを取得 | <a href={typesUrl}><code>パス</code></a> |
|
||||
| `path.get()` | 現在のパスを取得 | <a href={typesUrl}><code>パス</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -207,10 +207,10 @@ const pathInfo = await client.path.get()
|
||||
|
||||
### 構成
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `config.get()` |構成情報を取得する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `config.providers()` |プロバイダーとデフォルトのモデルをリストする | `{ providers: `<a href={typesUrl}><code>プロバイダ[]</code></a>`, default: { [key: string]: string } }` |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| -------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| `config.get()` | 構成情報を取得する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `config.providers()` | プロバイダーとデフォルトのモデルをリストする | `{ providers: `<a href={typesUrl}><code>プロバイダ[]</code></a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
@@ -226,27 +226,27 @@ const { providers, default: defaults } = await client.config.providers()
|
||||
|
||||
### セッション
|
||||
|
||||
|方法 |説明 |メモ |
|
||||
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `session.list()` |セッションをリストする |戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `session.get({ path })` |セッションを取得 |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.children({ path })` |子セッションをリストする |戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `session.create({ body })` |セッションの作成 |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.delete({ path })` |セッションを削除 |戻り値 `boolean` |
|
||||
| `session.update({ path, body })` |セッションのプロパティを更新する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.init({ path, body })` |アプリを分析して `AGENTS.md` を作成する |戻り値 `boolean` |
|
||||
| `session.abort({ path })` |実行中のセッションを中止する |戻り値 `boolean` |
|
||||
| `session.share({ path })` |セッションを共有する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.unshare({ path })` |セッションの共有を解除 |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.summarize({ path, body })` |セッションを要約する |戻り値 `boolean` |
|
||||
| `session.messages({ path })` |セッション内のメッセージをリストする |戻り値 `{ info: `<a href={typesUrl}><code>メッセージ</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
|
||||
| `session.message({ path })` |メッセージの詳細を取得する |戻り値 `{ info: `<a href={typesUrl}><code>メッセージ</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` |プロンプトメッセージを送信する | `body.noReply: true` は UserMessage (コンテキストのみ) を返します。デフォルトでは、AI 応答を含む <a href={typesUrl}><code>AssistantMessage</code></a> を返します。
|
||||
| `session.command({ path, body })` |コマンドをセッションに送信 |戻り値 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` |シェルコマンドを実行する |戻り値 <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` |メッセージを元に戻す |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.unrevert({ path })` |元に戻したメッセージを復元する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` |許可リクエストに応答する |戻り値 `boolean` |
|
||||
| 方法 | 説明 | メモ |
|
||||
| ---------------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `session.list()` | セッションをリストする | 戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `session.get({ path })` | セッションを取得 | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.children({ path })` | 子セッションをリストする | 戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `session.create({ body })` | セッションの作成 | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.delete({ path })` | セッションを削除 | 戻り値 `boolean` |
|
||||
| `session.update({ path, body })` | セッションのプロパティを更新する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.init({ path, body })` | アプリを分析して `AGENTS.md` を作成する | 戻り値 `boolean` |
|
||||
| `session.abort({ path })` | 実行中のセッションを中止する | 戻り値 `boolean` |
|
||||
| `session.share({ path })` | セッションを共有する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.unshare({ path })` | セッションの共有を解除 | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.summarize({ path, body })` | セッションを要約する | 戻り値 `boolean` |
|
||||
| `session.messages({ path })` | セッション内のメッセージをリストする | 戻り値 `{ info: `<a href={typesUrl}><code>メッセージ</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | メッセージの詳細を取得する | 戻り値 `{ info: `<a href={typesUrl}><code>メッセージ</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | プロンプトメッセージを送信する | `body.noReply: true` は UserMessage (コンテキストのみ) を返します。デフォルトでは、AI 応答を含む <a href={typesUrl}><code>AssistantMessage</code></a> を返します。 |
|
||||
| `session.command({ path, body })` | コマンドをセッションに送信 | 戻り値 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | シェルコマンドを実行する | 戻り値 <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` | メッセージを元に戻す | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `session.unrevert({ path })` | 元に戻したメッセージを復元する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` | 許可リクエストに応答する | 戻り値 `boolean` |
|
||||
|
||||
---
|
||||
|
||||
@@ -283,13 +283,13 @@ await client.session.prompt({
|
||||
|
||||
### ファイル
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` |ファイル内のテキストを検索 | `path`、`lines`、`line_number`、`absolute_offset`、`submatches` の一致オブジェクトの配列 |
|
||||
| `find.files({ query })` |ファイルとディレクトリを名前で検索する | `string[]` (パス) |
|
||||
| `find.symbols({ query })` |ワークスペースのシンボルを検索する | <a href={typesUrl}><code>シンボル[]</code></a> |
|
||||
| `file.read({ query })` |ファイルを読む | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` |追跡されたファイルのステータスを取得する | <a href={typesUrl}><code>ファイル[]</code></a> |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` | ファイル内のテキストを検索 | `path`、`lines`、`line_number`、`absolute_offset`、`submatches` の一致オブジェクトの配列 |
|
||||
| `find.files({ query })` | ファイルとディレクトリを名前で検索する | `string[]` (パス) |
|
||||
| `find.symbols({ query })` | ワークスペースのシンボルを検索する | <a href={typesUrl}><code>シンボル[]</code></a> |
|
||||
| `file.read({ query })` | ファイルを読む | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` | 追跡されたファイルのステータスを取得する | <a href={typesUrl}><code>ファイル[]</code></a> |
|
||||
|
||||
`find.files` は、いくつかのオプションのクエリ フィールドをサポートしています。
|
||||
|
||||
@@ -324,17 +324,17 @@ const content = await client.file.read({
|
||||
|
||||
### トゥイ
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ------------------------------ | ------------------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` |プロンプトにテキストを追加します | `boolean` |
|
||||
| `tui.openHelp()` |ヘルプダイアログを開く | `boolean` |
|
||||
| `tui.openSessions()` |セッションセレクターを開く | `boolean` |
|
||||
| `tui.openThemes()` |テーマセレクターを開く | `boolean` |
|
||||
| `tui.openModels()` |モデルセレクターを開く | `boolean` |
|
||||
| `tui.submitPrompt()` |現在のプロンプトを送信します | `boolean` |
|
||||
| `tui.clearPrompt()` |プロンプトをクリア | `boolean` |
|
||||
| `tui.executeCommand({ body })` |コマンドを実行する | `boolean` |
|
||||
| `tui.showToast({ body })` |トースト通知を表示 | `boolean` |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------------------------ | -------------------------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` | プロンプトにテキストを追加します | `boolean` |
|
||||
| `tui.openHelp()` | ヘルプダイアログを開く | `boolean` |
|
||||
| `tui.openSessions()` | セッションセレクターを開く | `boolean` |
|
||||
| `tui.openThemes()` | テーマセレクターを開く | `boolean` |
|
||||
| `tui.openModels()` | モデルセレクターを開く | `boolean` |
|
||||
| `tui.submitPrompt()` | 現在のプロンプトを送信します | `boolean` |
|
||||
| `tui.clearPrompt()` | プロンプトをクリア | `boolean` |
|
||||
| `tui.executeCommand({ body })` | コマンドを実行する | `boolean` |
|
||||
| `tui.showToast({ body })` | トースト通知を表示 | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
@@ -355,9 +355,9 @@ await client.tui.showToast({
|
||||
|
||||
### 認証
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ------------------- | ------------------------------ | --------- |
|
||||
| `auth.set({ ... })` |認証資格情報を設定する | `boolean` |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------------- | ---------------------- | --------- |
|
||||
| `auth.set({ ... })` | 認証資格情報を設定する | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
@@ -374,9 +374,9 @@ await client.auth.set({
|
||||
|
||||
### イベント
|
||||
|
||||
|方法 |説明 |応答 |
|
||||
| ------------------- | ------------------------- | ------------------------- |
|
||||
| `event.subscribe()` |サーバー送信イベント ストリーム |サーバー送信イベント ストリーム |
|
||||
| 方法 | 説明 | 応答 |
|
||||
| ------------------- | ------------------------------- | ------------------------------- |
|
||||
| `event.subscribe()` | サーバー送信イベント ストリーム | サーバー送信イベント ストリーム |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@ opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
|
||||
#### オプション
|
||||
|
||||
|旗 |説明 |デフォルト |
|
||||
| --------------- | ----------------------------------- | ---------------- |
|
||||
| `--port` |リッスンするポート | `4096` |
|
||||
| `--hostname` |リッスンするホスト名 | `127.0.0.1` |
|
||||
| `--mdns` | mDNS 検出を有効にする | `false` |
|
||||
| 旗 | 説明 | デフォルト |
|
||||
| --------------- | ---------------------------------- | ---------------- |
|
||||
| `--port` | リッスンするポート | `4096` |
|
||||
| `--hostname` | リッスンするホスト名 | `127.0.0.1` |
|
||||
| `--mdns` | mDNS 検出を有効にする | `false` |
|
||||
| `--mdns-domain` | mDNS サービスのカスタム ドメイン名 | `opencode.local` |
|
||||
| `--cors` |許可する追加のブラウザーオリジン | `[]` |
|
||||
| `--cors` | 許可する追加のブラウザーオリジン | `[]` |
|
||||
|
||||
`--cors` は複数回渡すことができます。
|
||||
|
||||
@@ -89,116 +89,116 @@ opencode サーバーは次の API を公開します。
|
||||
|
||||
### グローバル
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
|
||||
| `GET` | `/global/health` |サーバーの健全性とバージョンを取得する |うーん
|
||||
| `GET` | `/global/event` |グローバル イベントの取得 (SSE ストリーム) |イベントストリーム |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ---------------- | ------------------------------------------ | ------------------ |
|
||||
| `GET` | `/global/health` | サーバーの健全性とバージョンを取得する | うーん |
|
||||
| `GET` | `/global/event` | グローバル イベントの取得 (SSE ストリーム) | イベントストリーム |
|
||||
|
||||
---
|
||||
|
||||
### プロジェクト
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
|
||||
| `GET` | `/project` |すべてのプロジェクトをリストする | <a href={typesUrl}><code>プロジェクト[]</code></a> |
|
||||
| `GET` | `/project/current` |現在のプロジェクトを取得 | <a href={typesUrl}><code>プロジェクト</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ------------------ | -------------------------------- | -------------------------------------------------- |
|
||||
| `GET` | `/project` | すべてのプロジェクトをリストする | <a href={typesUrl}><code>プロジェクト[]</code></a> |
|
||||
| `GET` | `/project/current` | 現在のプロジェクトを取得 | <a href={typesUrl}><code>プロジェクト</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### パスと VCS
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
|
||||
| `GET` | `/path` |現在のパスを取得する | <a href={typesUrl}><code>パス</code></a> |
|
||||
| `GET` | `/vcs` |現在のプロジェクトの VCS 情報を取得する | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ------- | --------------------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/path` | 現在のパスを取得する | <a href={typesUrl}><code>パス</code></a> |
|
||||
| `GET` | `/vcs` | 現在のプロジェクトの VCS 情報を取得する | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### 実例
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------------------- | ---------------------------- | --------- |
|
||||
| `POST` | `/instance/dispose` |現在のインスタンスを破棄する |うーん
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------ | ------------------- | ---------------------------- | ------ |
|
||||
| `POST` | `/instance/dispose` | 現在のインスタンスを破棄する | うーん |
|
||||
|
||||
---
|
||||
|
||||
### 構成
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` |構成情報を取得する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `PATCH` | `/config` |構成を更新する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `GET` | `/config/providers` |プロバイダーとデフォルトのモデルをリストする | `{ providers: `<a href={typesUrl}>プロバイダ[]</a>`, default: { [key: string]: string } }` |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------- | ------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| `GET` | `/config` | 構成情報を取得する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `PATCH` | `/config` | 構成を更新する | <a href={typesUrl}><code>構成</code></a> |
|
||||
| `GET` | `/config/providers` | プロバイダーとデフォルトのモデルをリストする | `{ providers: `<a href={typesUrl}>プロバイダ[]</a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
### プロバイダー
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` |すべてのプロバイダーをリストする | `{ all: `<a href={typesUrl}>プロバイダ[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` |プロバイダーの認証方法を取得する | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | OAuth を使用してプロバイダーを認証する | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` |プロバイダーの OAuth コールバックを処理する |うーん
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------ | -------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` | すべてのプロバイダーをリストする | `{ all: `<a href={typesUrl}>プロバイダ[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | プロバイダーの認証方法を取得する | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | OAuth を使用してプロバイダーを認証する | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | プロバイダーの OAuth コールバックを処理する | うーん |
|
||||
|
||||
---
|
||||
|
||||
### セッション
|
||||
|
||||
|方法 |パス |説明 |メモ |
|
||||
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session` |すべてのセッションをリストする |戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `POST` | `/session` |新しいセッションを作成する |本文: `{ parentID?, title? }`、<a href={typesUrl}><code>セッション</code></a> を返します。
|
||||
| `GET` | `/session/status` |すべてのセッションのセッション ステータスを取得する |戻り値 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
|
||||
| `GET` | `/session/:id` |セッションの詳細を取得する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `DELETE` | `/session/:id` |セッションとそのすべてのデータを削除する |戻り値 `boolean` |
|
||||
| `PATCH` | `/session/:id` |セッションのプロパティを更新する |本文: `{ title? }`、<a href={typesUrl}><code>セッション</code></a> を返します。
|
||||
| `GET` | `/session/:id/children` |セッションの子セッションを取得する |戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` |セッションの ToDo リストを取得する |戻り値 <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` |アプリを分析して `AGENTS.md` を作成する |本文: `{ messageID, providerID, modelID }`、`boolean` を返します。
|
||||
| `POST` | `/session/:id/fork` |メッセージで既存のセッションをフォークする |本文: `{ messageID? }`、<a href={typesUrl}><code>セッション</code></a> を返します。
|
||||
| `POST` | `/session/:id/abort` |実行中のセッションを中止する |戻り値 `boolean` |
|
||||
| `POST` | `/session/:id/share` |セッションを共有する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `DELETE` | `/session/:id/share` |セッションの共有を解除する |戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `GET` | `/session/:id/diff` |このセッションの差分を取得する |クエリ: `messageID?`、<a href={typesUrl}><code>FileDiff[]</code></a> を返します。
|
||||
| `POST` | `/session/:id/summarize` |セッションを要約する |本文: `{ providerID, modelID }`、`boolean` を返します。
|
||||
| `POST` | `/session/:id/revert` |メッセージを元に戻す |本文: `{ messageID, partID? }`、`boolean` を返します。
|
||||
| `POST` | `/session/:id/unrevert` |元に戻したすべてのメッセージを復元する |戻り値 `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` |許可リクエストに応答する |本文: `{ response, remember? }`、`boolean` を返します。
|
||||
| 方法 | パス | 説明 | メモ |
|
||||
| -------- | ---------------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| `GET` | `/session` | すべてのセッションをリストする | 戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `POST` | `/session` | 新しいセッションを作成する | 本文: `{ parentID?, title? }`、<a href={typesUrl}><code>セッション</code></a> を返します。 |
|
||||
| `GET` | `/session/status` | すべてのセッションのセッション ステータスを取得する | 戻り値 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
|
||||
| `GET` | `/session/:id` | セッションの詳細を取得する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `DELETE` | `/session/:id` | セッションとそのすべてのデータを削除する | 戻り値 `boolean` |
|
||||
| `PATCH` | `/session/:id` | セッションのプロパティを更新する | 本文: `{ title? }`、<a href={typesUrl}><code>セッション</code></a> を返します。 |
|
||||
| `GET` | `/session/:id/children` | セッションの子セッションを取得する | 戻り値 <a href={typesUrl}><code>セッション[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | セッションの ToDo リストを取得する | 戻り値 <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | アプリを分析して `AGENTS.md` を作成する | 本文: `{ messageID, providerID, modelID }`、`boolean` を返します。 |
|
||||
| `POST` | `/session/:id/fork` | メッセージで既存のセッションをフォークする | 本文: `{ messageID? }`、<a href={typesUrl}><code>セッション</code></a> を返します。 |
|
||||
| `POST` | `/session/:id/abort` | 実行中のセッションを中止する | 戻り値 `boolean` |
|
||||
| `POST` | `/session/:id/share` | セッションを共有する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | セッションの共有を解除する | 戻り値 <a href={typesUrl}><code>セッション</code></a> |
|
||||
| `GET` | `/session/:id/diff` | このセッションの差分を取得する | クエリ: `messageID?`、<a href={typesUrl}><code>FileDiff[]</code></a> を返します。 |
|
||||
| `POST` | `/session/:id/summarize` | セッションを要約する | 本文: `{ providerID, modelID }`、`boolean` を返します。 |
|
||||
| `POST` | `/session/:id/revert` | メッセージを元に戻す | 本文: `{ messageID, partID? }`、`boolean` を返します。 |
|
||||
| `POST` | `/session/:id/unrevert` | 元に戻したすべてのメッセージを復元する | 戻り値 `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | 許可リクエストに応答する | 本文: `{ response, remember? }`、`boolean` を返します。 |
|
||||
|
||||
---
|
||||
|
||||
### メッセージ
|
||||
|
||||
|方法 |パス |説明 |メモ |
|
||||
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` |セッション内のメッセージをリストする |クエリ: `limit?`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します。`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` |メッセージを送信して応答を待ちます |本文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` |メッセージの詳細を取得する |戻り値 `{ info: `<a href={typesUrl}>メッセージ</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` |メッセージを非同期に送信する (待機なし) | body: `/session/:id/message` と同じ、`204 No Content` を返します。
|
||||
| `POST` | `/session/:id/command` |スラッシュコマンドを実行します |本文: `{ messageID?, agent?, model?, command, arguments }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` |シェルコマンドを実行する |本文: `{ agent, model?, command }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| 方法 | パス | 説明 | メモ |
|
||||
| ------ | --------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` | セッション内のメッセージをリストする | クエリ: `limit?`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します。`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | メッセージを送信して応答を待ちます | 本文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | メッセージの詳細を取得する | 戻り値 `{ info: `<a href={typesUrl}>メッセージ</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | メッセージを非同期に送信する (待機なし) | body: `/session/:id/message` と同じ、`204 No Content` を返します。 |
|
||||
| `POST` | `/session/:id/command` | スラッシュコマンドを実行します | 本文: `{ messageID?, agent?, model?, command, arguments }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | シェルコマンドを実行する | 本文: `{ agent, model?, command }`、`{ info: `<a href={typesUrl}>メッセージ</a>を返します`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
### コマンド
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ---------- | ----------------- | --------------------------------------------- |
|
||||
| `GET` | `/command` |すべてのコマンドをリストする | <a href={typesUrl}><code>コマンド[]</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ---------- | ---------------------------- | ---------------------------------------------- |
|
||||
| `GET` | `/command` | すべてのコマンドをリストする | <a href={typesUrl}><code>コマンド[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### ファイル
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` |ファイル内のテキストを検索 | `path`、`lines`、`line_number`、`absolute_offset`、`submatches` と一致するオブジェクトの配列 |
|
||||
| `GET` | `/find/file?query=<q>` |ファイルとディレクトリを名前で検索する | `string[]` (パス) |
|
||||
| `GET` | `/find/symbol?query=<q>` |ワークスペースのシンボルを検索する | <a href={typesUrl}><code>シンボル[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` |ファイルとディレクトリをリストする | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` |ファイルを読む | <a href={typesUrl}><code>ファイルコンテンツ</code></a> |
|
||||
| `GET` | `/file/status` |追跡されたファイルのステータスを取得する | <a href={typesUrl}><code>ファイル[]</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ------------------------ | ---------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | ファイル内のテキストを検索 | `path`、`lines`、`line_number`、`absolute_offset`、`submatches` と一致するオブジェクトの配列 |
|
||||
| `GET` | `/find/file?query=<q>` | ファイルとディレクトリを名前で検索する | `string[]` (パス) |
|
||||
| `GET` | `/find/symbol?query=<q>` | ワークスペースのシンボルを検索する | <a href={typesUrl}><code>シンボル[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | ファイルとディレクトリをリストする | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | ファイルを読む | <a href={typesUrl}><code>ファイルコンテンツ</code></a> |
|
||||
| `GET` | `/file/status` | 追跡されたファイルのステータスを取得する | <a href={typesUrl}><code>ファイル[]</code></a> |
|
||||
|
||||
#### `/find/file` クエリパラメータ
|
||||
|
||||
@@ -212,76 +212,76 @@ opencode サーバーは次の API を公開します。
|
||||
|
||||
### ツール (実験的)
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` |すべてのツール ID をリストする | <a href={typesUrl}><code>ツール ID</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` |モデルの JSON スキーマを含むツールをリストする | <a href={typesUrl}><code>ツールリスト</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ------------------------------------------- | ---------------------------------------------- | ------------------------------------------------ |
|
||||
| `GET` | `/experimental/tool/ids` | すべてのツール ID をリストする | <a href={typesUrl}><code>ツール ID</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | モデルの JSON スキーマを含むツールをリストする | <a href={typesUrl}><code>ツールリスト</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### LSP、フォーマッタ、MCP
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | LSP サーバーのステータスを取得 | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` |フォーマッタのステータスを取得する | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | MCP サーバーのステータスを取得する | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | MCP サーバーを動的に追加する |本文: `{ name, config }`、MCP ステータス オブジェクトを返します。
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------ | ------------ | ---------------------------------- | ----------------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | LSP サーバーのステータスを取得 | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | フォーマッタのステータスを取得する | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | MCP サーバーのステータスを取得する | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | MCP サーバーを動的に追加する | 本文: `{ name, config }`、MCP ステータス オブジェクトを返します。 |
|
||||
|
||||
---
|
||||
|
||||
### エージェント
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | -------- | ------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/agent` |利用可能なすべてのエージェントをリストする | <a href={typesUrl}><code>エージェント[]</code></a> |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | -------- | ------------------------------------------ | -------------------------------------------------- |
|
||||
| `GET` | `/agent` | 利用可能なすべてのエージェントをリストする | <a href={typesUrl}><code>エージェント[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### ロギング
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------ | ------------------------------------------------------------ | --------- |
|
||||
| `POST` | `/log` |ログエントリを書き込みます。本体:`{ service, level, message, extra? }` |うーん
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------ | ------ | ---------------------------------------------------------------------- | ------ |
|
||||
| `POST` | `/log` | ログエントリを書き込みます。本体:`{ service, level, message, extra? }` | うーん |
|
||||
|
||||
---
|
||||
|
||||
### トゥイ
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
|
||||
| `POST` | `/tui/append-prompt` |プロンプトにテキストを追加します |うーん
|
||||
| `POST` | `/tui/open-help` |ヘルプダイアログを開く |うーん
|
||||
| `POST` | `/tui/open-sessions` |セッションセレクターを開く |うーん
|
||||
| `POST` | `/tui/open-themes` |テーマセレクターを開く |うーん
|
||||
| `POST` | `/tui/open-models` |モデルセレクターを開く |うーん
|
||||
| `POST` | `/tui/submit-prompt` |現在のプロンプトを送信します |うーん
|
||||
| `POST` | `/tui/clear-prompt` |プロンプトをクリア |うーん
|
||||
| `POST` | `/tui/execute-command` |コマンドを実行する (`{ command }`) |うーん
|
||||
| `POST` | `/tui/show-toast` |トーストを表示 (`{ title?, message, variant }`) |うーん
|
||||
| `GET` | `/tui/control/next` |次の制御リクエストを待ちます |コントロールリクエストオブジェクト |
|
||||
| `POST` | `/tui/control/response` |制御リクエストに応答する (`{ body }`) |うーん
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ------ | ----------------------- | ----------------------------------------------- | ---------------------------------- |
|
||||
| `POST` | `/tui/append-prompt` | プロンプトにテキストを追加します | うーん |
|
||||
| `POST` | `/tui/open-help` | ヘルプダイアログを開く | うーん |
|
||||
| `POST` | `/tui/open-sessions` | セッションセレクターを開く | うーん |
|
||||
| `POST` | `/tui/open-themes` | テーマセレクターを開く | うーん |
|
||||
| `POST` | `/tui/open-models` | モデルセレクターを開く | うーん |
|
||||
| `POST` | `/tui/submit-prompt` | 現在のプロンプトを送信します | うーん |
|
||||
| `POST` | `/tui/clear-prompt` | プロンプトをクリア | うーん |
|
||||
| `POST` | `/tui/execute-command` | コマンドを実行する (`{ command }`) | うーん |
|
||||
| `POST` | `/tui/show-toast` | トーストを表示 (`{ title?, message, variant }`) | うーん |
|
||||
| `GET` | `/tui/control/next` | 次の制御リクエストを待ちます | コントロールリクエストオブジェクト |
|
||||
| `POST` | `/tui/control/response` | 制御リクエストに応答する (`{ body }`) | うーん |
|
||||
|
||||
---
|
||||
|
||||
### 認証
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ----------- | --------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` |認証資格情報を設定します。本文はプロバイダーのスキーマと一致する必要があります |うーん
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ----------- | ------------------------------------------------------------------------------ | ------ |
|
||||
| `PUT` | `/auth/:id` | 認証資格情報を設定します。本文はプロバイダーのスキーマと一致する必要があります | うーん |
|
||||
|
||||
---
|
||||
|
||||
### イベント
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
|
||||
| `GET` | `/event` |サーバーから送信されたイベント ストリーム。最初のイベントは `server.connected` で、次にバス イベントです。サーバー送信イベント ストリーム |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---- |
|
||||
| `GET` | `/event` | サーバーから送信されたイベント ストリーム。最初のイベントは `server.connected` で、次にバス イベントです。サーバー送信イベント ストリーム |
|
||||
|
||||
---
|
||||
|
||||
### ドキュメント
|
||||
|
||||
|方法 |パス |説明 |応答 |
|
||||
| ------ | ------ | ------------------------- | --------------------------- |
|
||||
| 方法 | パス | 説明 | 応答 |
|
||||
| ----- | ------ | ---------------- | -------------------------------- |
|
||||
| `GET` | `/doc` | OpenAPI 3.1 仕様 | OpenAPI 仕様を備えた HTML ページ |
|
||||
|
||||
@@ -139,11 +139,11 @@ skill({ name: "git-release" })
|
||||
}
|
||||
```
|
||||
|
||||
|許可 |行動 |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `allow` |スキルはすぐにロードされます |
|
||||
| `deny` |スキルはエージェントから隠蔽され、アクセスは拒否されました |
|
||||
| `ask` |ロードする前にユーザーに承認を求めるメッセージが表示される |
|
||||
| 許可 | 行動 |
|
||||
| ------- | ---------------------------------------------------------- |
|
||||
| `allow` | スキルはすぐにロードされます |
|
||||
| `deny` | スキルはエージェントから隠蔽され、アクセスは拒否されました |
|
||||
| `ask` | ロードする前にユーザーに承認を求めるメッセージが表示される |
|
||||
|
||||
パターンはワイルドカードをサポートしています: `internal-*` は `internal-docs`、`internal-tools` などに一致します。
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ OpenCode を使用すると、いくつかの組み込みテーマから 1 つ
|
||||
|
||||
OpenCode にはいくつかの組み込みテーマが付属しています。
|
||||
|
||||
|名前 |説明 |
|
||||
| ---------------------- | ---------------------------------------------------------------------------- |
|
||||
| `system` |端末の背景色に適応します |
|
||||
| `tokyonight` | 【Tokyonight](https://github.com/folke/tokyonight.nvim)テーマ |
|
||||
| `everforest` | [Everforest](https://github.com/sainnhe/everforest) テーマ |
|
||||
| `ayu` | [Ayu](https://github.com/ayu-theme) ダークテーマ | ベース]
|
||||
| `catppuccin` | [Catppuccin](https://github.com/catppuccin) テーマ |
|
||||
| `catppuccin-macchiato` | [Catppuccin](https://github.com/catppuccin) テーマ |
|
||||
| `gruvbox` | [Gruvbox](https://github.com/morhetz/gruvbox) テーマ |
|
||||
| `kanagawa` | 【神奈川](https://github.com/rebelot/kanagawa.nvim)テーマ |
|
||||
| `nord` | [Nord](https://github.com/nordtheme/nord) テーマ |
|
||||
| `matrix` |ハッカースタイルの黒地に緑のテーマ |
|
||||
| `one-dark` | [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark テーマ | Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark テーマ |
|
||||
| 名前 | 説明 |
|
||||
| ---------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------- |
|
||||
| `system` | 端末の背景色に適応します |
|
||||
| `tokyonight` | 【Tokyonight](https://github.com/folke/tokyonight.nvim)テーマ |
|
||||
| `everforest` | [Everforest](https://github.com/sainnhe/everforest) テーマ |
|
||||
| `ayu` | [Ayu](https://github.com/ayu-theme) ダークテーマ | ベース] |
|
||||
| `catppuccin` | [Catppuccin](https://github.com/catppuccin) テーマ |
|
||||
| `catppuccin-macchiato` | [Catppuccin](https://github.com/catppuccin) テーマ |
|
||||
| `gruvbox` | [Gruvbox](https://github.com/morhetz/gruvbox) テーマ |
|
||||
| `kanagawa` | 【神奈川](https://github.com/rebelot/kanagawa.nvim)テーマ |
|
||||
| `nord` | [Nord](https://github.com/nordtheme/nord) テーマ |
|
||||
| `matrix` | ハッカースタイルの黒地に緑のテーマ |
|
||||
| `one-dark` | [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark テーマ | Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark テーマ |
|
||||
|
||||
さらに、新しいテーマも常に追加されています。
|
||||
|
||||
|
||||
@@ -35,11 +35,11 @@ OpenCode.
|
||||
これを修正するために、いくつかのことを行いました。
|
||||
|
||||
1. 私たちは選択したモデルのグループをテストし、その方法についてチームと話し合いました。
|
||||
それらを実行するのが最善です。
|
||||
それらを実行するのが最善です。
|
||||
2. その後、いくつかのプロバイダーと協力して、これらが確実に提供されるようにしました。
|
||||
correctly.
|
||||
3. 最後に、モデルとプロバイダーの組み合わせをベンチマークし、次の結果を導き出しました。
|
||||
私たちが自信を持ってお勧めするリストをご紹介します。
|
||||
私たちが自信を持ってお勧めするリストをご紹介します。
|
||||
|
||||
OpenCode Zen は、これらのモデルへのアクセスを可能にする AI ゲートウェイです。
|
||||
|
||||
@@ -50,7 +50,7 @@ OpenCode Zen は、これらのモデルへのアクセスを可能にする AI
|
||||
OpenCode Zen は、OpenCode の他のプロバイダーと同様に機能します。
|
||||
|
||||
1. **<a href={console}>OpenCode Zen</a>** にログインし、請求内容を追加します
|
||||
詳細を確認し、API キーをコピーします。
|
||||
詳細を確認し、API キーをコピーします。
|
||||
2. TUI で `/connect` コマンドを実行し、OpenCode Zen を選択して API キーを貼り付けます。
|
||||
3. TUI で `/models` を実行すると、推奨されるモデルのリストが表示されます。
|
||||
|
||||
@@ -62,37 +62,37 @@ OpenCode Zen は、OpenCode の他のプロバイダーと同様に機能しま
|
||||
|
||||
次の API エンドポイントを通じてモデルにアクセスすることもできます。
|
||||
|
||||
|モデル |モデルID |エンドポイント | AI SDK パッケージ |
|
||||
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
|
||||
| GPT5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.2 コーデックス | gpt-5.2-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス | gpt-5.1-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス マックス | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス ミニ | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 コーデックス | gpt-5-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5ナノ | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
|クロード・ソネット 4.5 |クロード・ソネット-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード・ソネット 4 |クロード・ソネット4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード俳句 4.5 |クロード俳句-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード俳句 3.5 |クロード-3-5-俳句 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード作品4.6 |クロード作品4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード作品4.5 |クロード作品4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|クロード作品4.1 |クロード-作品-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|ジェミニ 3 プロ |ジェミニ-3-プロ | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
|ジェミニ 3 フラッシュ |ジェミニ-3-フラッシュ | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
|ミニマックス M2.1 |ミニマックス-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 無料 |ミニマックス-m2.1-無料 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 無料 | glm-4.7-無料 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|キミK2.5 |きみk2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|キミ K2.5 無料 | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|キミ K2 思考 | kimi-k2-思考 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|キミ K2 |きみk2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Qwen3 コーダー 480B | qwen3 コーダー | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|ビッグピクルス |ビッグピクルス | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| モデル | モデルID | エンドポイント | AI SDK パッケージ |
|
||||
| ----------------------------- | ---------------------- | -------------------------------------------------- | --------------------------- |
|
||||
| GPT5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.2 コーデックス | gpt-5.2-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス | gpt-5.1-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス マックス | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 コーデックス ミニ | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 コーデックス | gpt-5-コーデックス | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT5ナノ | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| クロード・ソネット 4.5 | クロード・ソネット-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード・ソネット 4 | クロード・ソネット4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード俳句 4.5 | クロード俳句-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード俳句 3.5 | クロード-3-5-俳句 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード作品4.6 | クロード作品4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード作品4.5 | クロード作品4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| クロード作品4.1 | クロード-作品-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| ジェミニ 3 プロ | ジェミニ-3-プロ | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
| ジェミニ 3 フラッシュ | ジェミニ-3-フラッシュ | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| ミニマックス M2.1 | ミニマックス-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 無料 | ミニマックス-m2.1-無料 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 無料 | glm-4.7-無料 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| キミK2.5 | きみk2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| キミ K2.5 無料 | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| キミ K2 思考 | kimi-k2-思考 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| キミ K2 | きみk2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Qwen3 コーダー 480B | qwen3 コーダー | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| ビッグピクルス | ビッグピクルス | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|
||||
OpenCode 設定の [model id](/docs/config/#models)
|
||||
`opencode/<model-id>` 形式を使用します。たとえば、GPT 5.2 Codex の場合は、次のようになります。
|
||||
@@ -114,41 +114,41 @@ https://opencode.ai/zen/v1/models
|
||||
|
||||
当社は従量課金制モデルをサポートしています。以下は **100 万トークンあたりの価格**です。
|
||||
|
||||
|モデル |入力 |出力 |キャッシュされた読み取り |キャッシュされた書き込み |
|
||||
| --------------------------------- | ------ | ------ | ----------- | ------------ |
|
||||
|ビッグピクルス |無料 |無料 |無料 | - |
|
||||
| MiniMax M2.1 無料 |無料 |無料 |無料 | - |
|
||||
|ミニマックス M2.1 | $0.30 | $1.20 | $0.10 | - |
|
||||
| GLM 4.7 無料 |無料 |無料 |無料 | - |
|
||||
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
|
||||
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
|
||||
|キミ K2.5 無料 |無料 |無料 |無料 | - |
|
||||
|キミK2.5 | $0.60 | $3.00 | $0.08 | - |
|
||||
|キミ K2 思考 | $0.40 | $2.50 | - | - |
|
||||
|キミK2 | $0.40 | $2.50 | - | - |
|
||||
| Qwen3 コーダー 480B | $0.45 | $1.50 | - | - |
|
||||
|クロード・ソネット 4.5 (≤ 200K トークン) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
|クロード・ソネット 4.5 (> 200K トークン) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
|クロード・ソネット 4 (≤ 200K トークン) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
|クロード・ソネット 4 (> 200K トークン) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
|クロード俳句 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
|
||||
|クロード俳句 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
|
||||
|クロード オーパス 4.6 (≤ 200K トークン) | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
|クロード オーパス 4.6 (> 200K トークン) | $10.00 | $37.50 | $1.00 | $12.50 |
|
||||
|クロード作品4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
|クロード作品4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
|
||||
| Gemini 3 Pro (≤ 200K トークン) | $2.00 | $12.00 | $0.20 | - |
|
||||
| Gemini 3 Pro (> 200K トークン) | $4.00 | $18.00 | $0.40 | - |
|
||||
|ジェミニ 3 フラッシュ | $0.50 | $3.00 | $0.05 | - |
|
||||
| GPT5.2 | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT 5.2 コーデックス | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT5.1 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 コーデックス | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 コーデックス マックス | $1.25 | $10.00 | $0.125 | - |
|
||||
| GPT 5.1 コーデックス ミニ | $0.25 | $2.00 | $0.025 | - |
|
||||
| GPT5 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 コーデックス | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT5ナノ |無料 |無料 |無料 | - |
|
||||
| モデル | 入力 | 出力 | キャッシュされた読み取り | キャッシュされた書き込み |
|
||||
| ---------------------------------------- | ------ | ------ | ------------------------ | ------------------------ |
|
||||
| ビッグピクルス | 無料 | 無料 | 無料 | - |
|
||||
| MiniMax M2.1 無料 | 無料 | 無料 | 無料 | - |
|
||||
| ミニマックス M2.1 | $0.30 | $1.20 | $0.10 | - |
|
||||
| GLM 4.7 無料 | 無料 | 無料 | 無料 | - |
|
||||
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
|
||||
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
|
||||
| キミ K2.5 無料 | 無料 | 無料 | 無料 | - |
|
||||
| キミK2.5 | $0.60 | $3.00 | $0.08 | - |
|
||||
| キミ K2 思考 | $0.40 | $2.50 | - | - |
|
||||
| キミK2 | $0.40 | $2.50 | - | - |
|
||||
| Qwen3 コーダー 480B | $0.45 | $1.50 | - | - |
|
||||
| クロード・ソネット 4.5 (≤ 200K トークン) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| クロード・ソネット 4.5 (> 200K トークン) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| クロード・ソネット 4 (≤ 200K トークン) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| クロード・ソネット 4 (> 200K トークン) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| クロード俳句 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
|
||||
| クロード俳句 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
|
||||
| クロード オーパス 4.6 (≤ 200K トークン) | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| クロード オーパス 4.6 (> 200K トークン) | $10.00 | $37.50 | $1.00 | $12.50 |
|
||||
| クロード作品4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| クロード作品4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
|
||||
| Gemini 3 Pro (≤ 200K トークン) | $2.00 | $12.00 | $0.20 | - |
|
||||
| Gemini 3 Pro (> 200K トークン) | $4.00 | $18.00 | $0.40 | - |
|
||||
| ジェミニ 3 フラッシュ | $0.50 | $3.00 | $0.05 | - |
|
||||
| GPT5.2 | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT 5.2 コーデックス | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT5.1 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 コーデックス | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 コーデックス マックス | $1.25 | $10.00 | $0.125 | - |
|
||||
| GPT 5.1 コーデックス ミニ | $0.25 | $2.00 | $0.025 | - |
|
||||
| GPT5 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 コーデックス | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT5ナノ | 無料 | 無料 | 無料 | - |
|
||||
|
||||
使用履歴に _Claude Haiku 3.5_ が表示されるかもしれません。これは [セッションのタイトルを生成するために使用される低コスト モデル ](/docs/config/#models) です。
|
||||
|
||||
|
||||
@@ -112,15 +112,16 @@ Codebases를 탐구하는 빠르고, 읽기 전용 에이전트. 파일을 수
|
||||
|
||||
1. 1 차적인 대리인을 위해, **Tab ** 열쇠를 사용하여 세션 도중 주기. 구성 된 `switch_agent` keybind도 사용할 수 있습니다.
|
||||
|
||||
2. 시약은 invoked 일 수 있습니다:
|
||||
-**Automatically** 그들의 설명에 근거를 둔 특화된 업무를 위한 1 차적인 대리인에 의하여.
|
||||
- 메시지에 대한 하위 시약**. 예를 들어.
|
||||
2. 시약은 invoked 일 수 있습니다: -**Automatically** 그들의 설명에 근거를 둔 특화된 업무를 위한 1 차적인 대리인에 의하여.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
- 메시지에 대한 하위 시약\*\*. 예를 들어.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
|
||||
3. ** 세션 간의 편차 **: 하위 시약은 자신의 자녀 세션을 만들 때, 부모 세션과 모든 어린이 세션을 사용하여 탐색 할 수 있습니다.
|
||||
|
||||
- **\<Leader>+Right** (또는 부모 → Child1 → Child2 →를 통해 전달하기 위해 설정된 `session_child_cycle` keybind)
|
||||
- **\<Leader>+Left** (또는 `session_child_cycle_reverse` keybind) 부모를 통해 돌아 가기 위해 ← child1 ← child2 ← ... ← 부모
|
||||
|
||||
@@ -230,7 +231,7 @@ markdown 파일 이름은 대리인 이름입니다. 예를 들어, `review.md`
|
||||
}
|
||||
```
|
||||
|
||||
** config 옵션이 필요합니다.
|
||||
\*\* config 옵션이 필요합니다.
|
||||
|
||||
---
|
||||
|
||||
@@ -255,8 +256,7 @@ markdown 파일 이름은 대리인 이름입니다. 예를 들어, `review.md`
|
||||
|
||||
온도 값은 일반적으로 0.0에서 1.0에 배열합니다:
|
||||
|
||||
- **0.0-0.2**: 매우 집중하고 신중한 응답, 코드 분석 및 계획에 이상
|
||||
-**0.3-0.5**: 일부 창의력과 균형 잡힌 응답, 일반 개발 작업에 좋은
|
||||
- **0.0-0.2**: 매우 집중하고 신중한 응답, 코드 분석 및 계획에 이상 -**0.3-0.5**: 일부 창의력과 균형 잡힌 응답, 일반 개발 작업에 좋은
|
||||
- **0.6-1.0**: 더 창조적이고 다양한 응답, 뇌하수 및 탐험에 유용한
|
||||
|
||||
```json title="opencode.json"
|
||||
|
||||
@@ -29,15 +29,15 @@ opencode [project]
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | 마지막 세션 |
|
||||
| `--session` | `-s` | 세션 ID|
|
||||
| `--prompt` | | | 사용 허가 |
|
||||
| `--model` | `-m` | `-m`의 형태로 사용 가능 |
|
||||
| `--agent` | | 에이전트 |
|
||||
| `--port` |||꾸라 안내|
|
||||
| `--hostname` | | 들러 주세요 |
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------ | ---- | ----------------------- | --------- |
|
||||
| `--continue` | `-c` | 마지막 세션 |
|
||||
| `--session` | `-s` | 세션 ID |
|
||||
| `--prompt` | | | 사용 허가 |
|
||||
| `--model` | `-m` | `-m`의 형태로 사용 가능 |
|
||||
| `--agent` | | 에이전트 |
|
||||
| `--port` | | | 꾸라 안내 |
|
||||
| `--hostname` | | 들러 주세요 |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | TUI를 시작하는 작업 디렉토리 |
|
||||
| `--session` | `-s` | 세션 ID|
|
||||
| 간선 | 간선 | Description |
|
||||
| ----------- | ---- | ---------------------------- |
|
||||
| `--dir` | | TUI를 시작하는 작업 디렉토리 |
|
||||
| `--session` | `-s` | 세션 ID |
|
||||
|
||||
---
|
||||
|
||||
@@ -106,7 +106,7 @@ opencode agent list
|
||||
|
||||
---
|
||||
|
||||
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
##
|
||||
|
||||
credentials 및 로그인을 관리하는 명령.
|
||||
|
||||
@@ -186,9 +186,9 @@ opencode github run
|
||||
|
||||
##### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| --------- | -------------------------------------- |
|
||||
| `--event` | GitHub 모의 이벤트 |
|
||||
| 플래그 | 설명 |
|
||||
| --------- | ----------------------- |
|
||||
| `--event` | GitHub 모의 이벤트 |
|
||||
| `--token` | GitHub 개인 액세스 토큰 |
|
||||
|
||||
---
|
||||
@@ -295,9 +295,9 @@ opencode models anthropic
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | 모델 캐시를 모델에서 새로 고침 |
|
||||
| 플래그 | 설명 |
|
||||
| ----------- | ----------------------------------------------------------- |
|
||||
| `--refresh` | 모델 캐시를 모델에서 새로 고침 |
|
||||
| `--verbose` | 더 많은 verbose 모델 출력 사용(비용과 같은 메타데이터 포함) |
|
||||
|
||||
`--refresh` 플래그를 사용하여 캐시 모델 목록을 업데이트합니다. 이것은 새로운 모델이 공급자에 추가되었을 때 유용합니다. OpenCode에서 그들을보고 싶습니다.
|
||||
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | 실행중인 명령, args의 메시지 사용 |
|
||||
| `--continue` | `-c` | 마지막 세션 |
|
||||
| `--session` | `-s` | 세션 ID|
|
||||
| `--share` | 세션 공유 |
|
||||
| `--model` | `-m` | `-m`의 형태로 사용 가능 |
|
||||
| `--agent` | | 에이전트 |
|
||||
| `--file` | `-f` | 메시지 첨부 파일|
|
||||
| `--format` | 체재: 기본(formatted) 또는 json(raw JSON 이벤트) |
|
||||
| `--title` | | 세션의 제목(제공되지 않은 경우 truncated prompt 사용) |
|
||||
| `--attach` | | 운영 개시 서버(예: http://localhost:4096) |
|
||||
| `--port` | | 현지 서버 포트|
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------ | ------------------------------------------------ | ----------------------------------------------------- |
|
||||
| `--command` | 실행중인 명령, args의 메시지 사용 |
|
||||
| `--continue` | `-c` | 마지막 세션 |
|
||||
| `--session` | `-s` | 세션 ID |
|
||||
| `--share` | 세션 공유 |
|
||||
| `--model` | `-m` | `-m`의 형태로 사용 가능 |
|
||||
| `--agent` | | 에이전트 |
|
||||
| `--file` | `-f` | 메시지 첨부 파일 |
|
||||
| `--format` | 체재: 기본(formatted) 또는 json(raw JSON 이벤트) |
|
||||
| `--title` | | 세션의 제목(제공되지 않은 경우 truncated prompt 사용) |
|
||||
| `--attach` | | 운영 개시 서버(예: http://localhost:4096) |
|
||||
| `--port` | | 현지 서버 포트 |
|
||||
|
||||
---
|
||||
|
||||
@@ -362,12 +362,12 @@ TUI 인터페이스없이 API 액세스를 제공하는 HTTP 서버를 시작합
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| `--hostname` | 듣고 싶은 이름 |
|
||||
| `--mdns` | 엔터블 mDNS 검색 |
|
||||
| `--cors` | CORS를 허용하는 추가 브라우저 기원 |
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | ---------------------------------- |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| `--hostname` | 듣고 싶은 이름 |
|
||||
| `--mdns` | 엔터블 mDNS 검색 |
|
||||
| `--cors` | CORS를 허용하는 추가 브라우저 기원 |
|
||||
|
||||
---
|
||||
|
||||
@@ -391,10 +391,10 @@ opencode session list
|
||||
|
||||
##### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | 최근 세션에 제한 |
|
||||
| `--format` | 산출 체재: 테이블 또는 json (테이블) |
|
||||
| 간선 | 간선 | Description |
|
||||
| ------------- | ------------------------------------ | ---------------- |
|
||||
| `--max-count` | `-n` | 최근 세션에 제한 |
|
||||
| `--format` | 산출 체재: 테이블 또는 json (테이블) |
|
||||
|
||||
---
|
||||
|
||||
@@ -408,12 +408,12 @@ opencode stats
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` | 지난 N일간의 통계를 보여 주세요(모든 시간) |
|
||||
| `--tools` | 쇼의 도구 수 |
|
||||
| `--models` | 모델 사용 내역(기본적으로 숨겨져 있음) 상단 N을 표시할 수 있는 번호|
|
||||
| `--project` | 프로젝트별 필터링(모든 프로젝트, 빈 문자열: 현재 프로젝트) |
|
||||
| 플래그 | 설명 |
|
||||
| ----------- | ------------------------------------------------------------------- |
|
||||
| `--days` | 지난 N일간의 통계를 보여 주세요(모든 시간) |
|
||||
| `--tools` | 쇼의 도구 수 |
|
||||
| `--models` | 모델 사용 내역(기본적으로 숨겨져 있음) 상단 N을 표시할 수 있는 번호 |
|
||||
| `--project` | 프로젝트별 필터링(모든 프로젝트, 빈 문자열: 현재 프로젝트) |
|
||||
|
||||
---
|
||||
|
||||
@@ -458,12 +458,12 @@ HTTP 서버를 시작하고 웹 인터페이스를 통해 OpenCode에 액세스
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| `--hostname` | 듣고 싶은 이름 |
|
||||
| `--mdns` | 엔터블 mDNS 검색 |
|
||||
| `--cors` | CORS를 허용하는 추가 브라우저 기원 |
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | ---------------------------------- |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| `--hostname` | 듣고 싶은 이름 |
|
||||
| `--mdns` | 엔터블 mDNS 검색 |
|
||||
| `--cors` | CORS를 허용하는 추가 브라우저 기원 |
|
||||
|
||||
---
|
||||
|
||||
@@ -479,10 +479,10 @@ opencode acp
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | 작업 디렉토리 |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| 플래그 | 설명 |
|
||||
| ------------ | -------------- |
|
||||
| `--cwd` | 작업 디렉토리 |
|
||||
| `--port` | 즐거운 항구 |
|
||||
| `--hostname` | 듣고 싶은 이름 |
|
||||
|
||||
---
|
||||
@@ -497,12 +497,12 @@ opencode uninstall
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | 구성 파일 유지 |
|
||||
| `--keep-data` | `-d` | 세션 데이터 및 스냅샷 유지 |
|
||||
| `--dry-run` | | 제거하지 않고 제거하는 것
|
||||
| `--force` | `-f`|확인 프롬프트|
|
||||
| 간선 | 간선 | Description |
|
||||
| --------------- | ---- | -------------------------- |
|
||||
| `--keep-config` | `-c` | 구성 파일 유지 |
|
||||
| `--keep-data` | `-d` | 세션 데이터 및 스냅샷 유지 |
|
||||
| `--dry-run` | | 제거하지 않고 제거하는 것 |
|
||||
| `--force` | `-f` | 확인 프롬프트 |
|
||||
|
||||
---
|
||||
|
||||
@@ -528,8 +528,8 @@ opencode upgrade v0.1.48
|
||||
|
||||
#### 플래그
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| 간선 | 간선 | Description |
|
||||
| ---------- | ---- | -------------------------------------------- |
|
||||
| `--method` | `-m` | 사용중인 설치 방법; 컬, npm, pnpm, bun, brew |
|
||||
|
||||
---
|
||||
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
|
||||
|
||||
opencode CLI는 다음의 글로벌 플래그를 사용합니다.
|
||||
|
||||
| 간선 | 간선 | Description |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | 디스플레이 도움말 |
|
||||
| `--version` | `-v` | 인쇄판 번호 |
|
||||
| `--print-logs` | | 스터디로 로그인 |
|
||||
| `--log-level` | 로그 레벨(DEBUG, INFO, WARN, ERROR) |
|
||||
| 간선 | 간선 | Description |
|
||||
| -------------- | ----------------------------------- | ----------------- |
|
||||
| `--help` | `-h` | 디스플레이 도움말 |
|
||||
| `--version` | `-v` | 인쇄판 번호 |
|
||||
| `--print-logs` | | 스터디로 로그인 |
|
||||
| `--log-level` | 로그 레벨(DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
@@ -551,32 +551,32 @@ opencode CLI는 다음의 글로벌 플래그를 사용합니다.
|
||||
|
||||
OpenCode는 환경 변수를 사용하여 구성할 수 있습니다.
|
||||
|
||||
| 변하기 쉬운 | 유형 | 묘사 |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | 불린 | 자동 공유 세션 |
|
||||
| `OPENCODE_GIT_BASH_PATH` | string | Windows에서 실행되는 Git Bash 경로 |
|
||||
| `OPENCODE_CONFIG` | string | 설정파일 경로 |
|
||||
| `OPENCODE_CONFIG_DIR` | string | 구성 디렉토리 경로 |
|
||||
| `OPENCODE_CONFIG_CONTENT` | 문자열 | 인라인 json 구성 내용 |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | 불린 | 자동 업데이트 체크 아웃 |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | 오래된 자료의 무능 |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | 불린 | 자동 단말 제목 업데이트 |
|
||||
| `OPENCODE_PERMISSION` | 문자열 | 인라인 json 권한 설정 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | 불린 | 기본 플러그인 비활성화 |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | 불린 | 자동 LSP 서버 다운로드 |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | 불린 | 실험 모델|
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | 자동 컨텍스트 컴팩트 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | `.claude`(prompt + Skill)의 읽을 수 있음 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | 불린 | `~/.claude/CLAUDE.md`를 읽을 수 있습니다 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | 불린 | `.claude/skills` 적재 가능 |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | 리모트 소스에서 모델에 익숙하지 않은 모델 |
|
||||
| `OPENCODE_FAKE_VCS` | string | 시험용 VCS 제공업체 |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | 최적화를 위한 파일 시간 검사 |
|
||||
| `OPENCODE_CLIENT` | string | 클라이언트 식별자(`cli`와 동일) |
|
||||
| `OPENCODE_ENABLE_EXA` | 불린 | 엑다 웹 검색 도구 |
|
||||
| `OPENCODE_SERVER_PASSWORD` | string | `serve`/`web`에 대한 기본 요점 |
|
||||
| `OPENCODE_SERVER_USERNAME` | string | 기본 사용자 이름(기본 `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | string | 모델 구성의 맞춤 URL |
|
||||
| 변하기 쉬운 | 유형 | 묘사 |
|
||||
| ------------------------------------- | ------- | ----------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | 불린 | 자동 공유 세션 |
|
||||
| `OPENCODE_GIT_BASH_PATH` | string | Windows에서 실행되는 Git Bash 경로 |
|
||||
| `OPENCODE_CONFIG` | string | 설정파일 경로 |
|
||||
| `OPENCODE_CONFIG_DIR` | string | 구성 디렉토리 경로 |
|
||||
| `OPENCODE_CONFIG_CONTENT` | 문자열 | 인라인 json 구성 내용 |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | 불린 | 자동 업데이트 체크 아웃 |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | 오래된 자료의 무능 |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | 불린 | 자동 단말 제목 업데이트 |
|
||||
| `OPENCODE_PERMISSION` | 문자열 | 인라인 json 권한 설정 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | 불린 | 기본 플러그인 비활성화 |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | 불린 | 자동 LSP 서버 다운로드 |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | 불린 | 실험 모델 |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | 자동 컨텍스트 컴팩트 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | `.claude`(prompt + Skill)의 읽을 수 있음 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | 불린 | `~/.claude/CLAUDE.md`를 읽을 수 있습니다 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | 불린 | `.claude/skills` 적재 가능 |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | 리모트 소스에서 모델에 익숙하지 않은 모델 |
|
||||
| `OPENCODE_FAKE_VCS` | string | 시험용 VCS 제공업체 |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | 최적화를 위한 파일 시간 검사 |
|
||||
| `OPENCODE_CLIENT` | string | 클라이언트 식별자(`cli`와 동일) |
|
||||
| `OPENCODE_ENABLE_EXA` | 불린 | 엑다 웹 검색 도구 |
|
||||
| `OPENCODE_SERVER_PASSWORD` | string | `serve`/`web`에 대한 기본 요점 |
|
||||
| `OPENCODE_SERVER_USERNAME` | string | 기본 사용자 이름(기본 `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | string | 모델 구성의 맞춤 URL |
|
||||
|
||||
---
|
||||
|
||||
@@ -584,18 +584,18 @@ OpenCode는 환경 변수를 사용하여 구성할 수 있습니다.
|
||||
|
||||
이 환경변수는 변화하거나 제거될 수 있는 실험적인 특징을 가능하게 합니다.
|
||||
|
||||
| 변하기 쉬운 | 유형 | 묘사 |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | 불린 | 모든 실험적인 특징 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | 아이콘 검색 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | 불린 | TUI의 선택 해제
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 번호 | ms에서 bash 명령의 기본 시간 |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 번호 | LLM 응답을 위한 최대 출력 토큰 |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | 전체 디디터용 파일워커 |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | 불린 | 엔블 oxfmt 형식 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | 불린 | 실험적인 LSP 도구 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | 사용 가능한 파일워커 |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | 실험용 Exa 기능 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | 불린 | 실험적인 LSP형 검사 |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | 실험용 마운팅 기능 |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | 불린 | 플랜 모드 |
|
||||
| 변하기 쉬운 | 유형 | 묘사 |
|
||||
| ----------------------------------------------- | ------- | ------------------------------ |
|
||||
| `OPENCODE_EXPERIMENTAL` | 불린 | 모든 실험적인 특징 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | 아이콘 검색 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | 불린 | TUI의 선택 해제 |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 번호 | ms에서 bash 명령의 기본 시간 |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 번호 | LLM 응답을 위한 최대 출력 토큰 |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | 전체 디디터용 파일워커 |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | 불린 | 엔블 oxfmt 형식 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | 불린 | 실험적인 LSP 도구 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | 사용 가능한 파일워커 |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | 실험용 Exa 기능 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | 불린 | 실험적인 LSP형 검사 |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | 실험용 마운팅 기능 |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | 불린 | 플랜 모드 |
|
||||
|
||||
@@ -163,7 +163,7 @@ with the following content: $3
|
||||
|
||||
### 포탄 산출
|
||||
|
||||
사용 !`command` 는 [bash command](/docs/tui#bash-commands)를 프롬프트로 출력합니다.
|
||||
사용 !`command` 는 [bash command](/docs/tui#bash-commands)를 프롬프트로 출력합니다.
|
||||
|
||||
예를 들어, 테스트 범위를 분석하는 사용자 정의 명령을 만들려면:
|
||||
|
||||
@@ -232,7 +232,7 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
** config 옵션이 필요합니다.
|
||||
\*\* config 옵션이 필요합니다.
|
||||
|
||||
---
|
||||
|
||||
@@ -277,7 +277,7 @@ Check for performance issues and suggest improvements.
|
||||
# # # 서브스크랩
|
||||
|
||||
`subtask` boolean을 사용하여 명령을 강제로 [subagent](/docs/agents/#subagents) 호출합니다.
|
||||
이것은 당신이 명령을 원하지 않는 경우 유용합니다 당신의 기본 컨텍스트를 pollute하고 ** 에이전트는 시약으로 행동하는,
|
||||
이것은 당신이 명령을 원하지 않는 경우 유용합니다 당신의 기본 컨텍스트를 pollute하고 \*\* 에이전트는 시약으로 행동하는,
|
||||
`mode`가 [시약](/docs/시약) 구성에 `primary`로 설정되는 경우에도.
|
||||
|
||||
```json title="opencode.json"
|
||||
|
||||
@@ -29,7 +29,7 @@ OpenCode는 **JSON** 및 **JSONC** (JSON with Comments) 형식을 지원합니
|
||||
precedence의 다른 순서.
|
||||
|
||||
:::note
|
||||
구성 파일은 ** 함께, 대체되지 않습니다.
|
||||
구성 파일은 \*\* 함께, 대체되지 않습니다.
|
||||
:::
|
||||
|
||||
구성 파일은 함께 결합되어 대체되지 않습니다. 다음 구성 위치에서 설정이 결합됩니다. 나중에 configs override 이전 하나만 충돌 키. 모든 구성에서 설정이 보존됩니다.
|
||||
@@ -42,12 +42,11 @@ precedence의 다른 순서.
|
||||
|
||||
Config 소스는 이 순서에서 적재됩니다 (더 많은 소스는 더 이른 것 삭제합니다):
|
||||
|
||||
1. ** 원격 설정** (`.well-known/opencode`에서) - 조직 기본
|
||||
2.**Global config** (`~/.config/opencode/opencode.json`) - 사용자 선호도
|
||||
3. ** 사용자 정의 설정** (`OPENCODE_CONFIG` env var) - 사용자 정의 overrides
|
||||
4. ** 프로젝트 별 설정** (`opencode.json`) - 프로젝트 별 설정
|
||||
5. **`.opencode` 디렉토리 ** - 에이전트, 명령, 플러그인
|
||||
6. ** 인라인 설정** (`OPENCODE_CONFIG_CONTENT` env var) - 런타임 오버라이드
|
||||
1. ** 원격 설정** (`.well-known/opencode`에서) - 조직 기본 2.**Global config** (`~/.config/opencode/opencode.json`) - 사용자 선호도
|
||||
2. ** 사용자 정의 설정** (`OPENCODE_CONFIG` env var) - 사용자 정의 overrides
|
||||
3. ** 프로젝트 별 설정** (`opencode.json`) - 프로젝트 별 설정
|
||||
4. **`.opencode` 디렉토리 ** - 에이전트, 명령, 플러그인
|
||||
5. ** 인라인 설정** (`OPENCODE_CONFIG_CONTENT` env var) - 런타임 오버라이드
|
||||
|
||||
이것은 프로젝트 구성은 글로벌 디폴트를 override 할 수 있으며, 글로벌 구성은 원격 조직 디폴트를 override 할 수 있습니다.
|
||||
|
||||
@@ -140,7 +139,7 @@ export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
사용자 정의 디렉토리는 글로벌 구성 및 `.opencode` 디렉토리 후로드됩니다. ** 설정할 수 있습니다.
|
||||
사용자 정의 디렉토리는 글로벌 구성 및 `.opencode` 디렉토리 후로드됩니다. \*\* 설정할 수 있습니다.
|
||||
|
||||
---
|
||||
|
||||
@@ -152,7 +151,7 @@ opencode run "Hello world"
|
||||
|
||||
---
|
||||
|
||||
# # # # TUI # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
# # # # TUI
|
||||
|
||||
`tui` 옵션을 통해 TUI-specific 설정을 구성할 수 있습니다.
|
||||
|
||||
|
||||
@@ -15,62 +15,62 @@ OpenCode에 내장 된 커뮤니티 프로젝트의 컬렉션.
|
||||
|
||||
## 플러그인
|
||||
|
||||
| 이름 | 설명 |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| 이름 | 설명 |
|
||||
| --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | git sync와 live preview를 가진 고립된 Daytona 샌드박스의 OpenCode 세션을 자동으로 실행 |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | 자주 사용되는 Helicone session headers for request grouping |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Auto-inject TypeScript/Svelte 타입의 파일 검색 도구|
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | API 크레딧 대신 ChatGPT Plus/Pro 구독 사용 |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | API 결제 대신 기존 Gemini 플랜 사용 |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API 결제 대신 Antigravity의 무료 모델 사용 |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | 얕은 clones와 자동 할당된 포트가 있는 Multi-branch devcontainer 고립 |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth Plugin, 구글 검색 지원, 더 강력한 API 처리 |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 펀딩이 없는 툴 출력으로 토큰 사용 최적화 |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git)|한국어 지원 제공 업체에 대한 기본 웹 연구 지원 추가 Google 접지 스타일 |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | PTY에서 배경 프로세스를 실행하기 위한 AI Agent를 사용해서 대화형 입력을 보냅니다. ·
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | 비동기 포탄 명령에 대한 지침 - TTY 의존 작업에서 걸림 방지 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Wakatime의 OpenCode 사용 추적 |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | LLMs에서 생산한 Markdown 테이블 정리 |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x 빠른 코드 편집 및 Morph Fast Apply API 및 게으른 편집 마커 |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | 배경 에이전트, 사전 제작된 LSP/AST/MCP 도구, 큐레이터 에이전트, 클로드 코드 호환 |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | OpenCode 세션을 위한 데스크탑 알림 및 사운드 알림 |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | 허가, 완료 및 오류 이벤트용 데스크탑 알림 및 사운드 알림 |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | 오픈코드 컨텍스트를 기반으로 하는 AI-powered automatic Zellij session naming |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | 기술검출 및 주사를 요구하는 OpenCode Agent를 게으른 로드 프롬프트 허용 |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Supermemory를 사용하여 세션 전반에 걸쳐 지속되는 메모리 |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | (영어) 상호 작용하는 계획은 시각적인 주석 및 개인/오프라인 공유를 검토합니다 |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | granular flow control과 강력한 오케스트라 시스템 확장
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | cron 구문을 가진 발사된 (Mac) 또는 체계화된 (Linux)를 사용하여 작업 재발견 |
|
||||
| [micode](https://github.com/vtemian/micode) | Structured Brainstorm → Plan → 세션 연속성으로 워크플로우 구현 |
|
||||
| [octto](https://github.com/vtemian/octto) | 멀티 퀘스트 양식으로 AI Brainstorming을 위한 인터랙티브 브라우저 UI |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agent) | 동기화 위임 및 컨텍스트의 코드 스타일 배경 에이전트 |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | OpenCode의 Native OS 알림 – 작업이 완료되면 알 수 있습니다 |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | 멀티 시약 오케스트라 묶음 하네스 – 16개 부품, 하나 설치 |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | 오픈코드를 위한 Zero-friction git worktree |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | 자주 사용되는 Helicone session headers for request grouping |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Auto-inject TypeScript/Svelte 타입의 파일 검색 도구 |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | API 크레딧 대신 ChatGPT Plus/Pro 구독 사용 |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | API 결제 대신 기존 Gemini 플랜 사용 |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API 결제 대신 Antigravity의 무료 모델 사용 |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | 얕은 clones와 자동 할당된 포트가 있는 Multi-branch devcontainer 고립 |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth Plugin, 구글 검색 지원, 더 강력한 API 처리 |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 펀딩이 없는 툴 출력으로 토큰 사용 최적화 |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | 한국어 지원 제공 업체에 대한 기본 웹 연구 지원 추가 Google 접지 스타일 |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | PTY에서 배경 프로세스를 실행하기 위한 AI Agent를 사용해서 대화형 입력을 보냅니다. · |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | 비동기 포탄 명령에 대한 지침 - TTY 의존 작업에서 걸림 방지 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Wakatime의 OpenCode 사용 추적 |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | LLMs에서 생산한 Markdown 테이블 정리 |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x 빠른 코드 편집 및 Morph Fast Apply API 및 게으른 편집 마커 |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | 배경 에이전트, 사전 제작된 LSP/AST/MCP 도구, 큐레이터 에이전트, 클로드 코드 호환 |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | OpenCode 세션을 위한 데스크탑 알림 및 사운드 알림 |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | 허가, 완료 및 오류 이벤트용 데스크탑 알림 및 사운드 알림 |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | 오픈코드 컨텍스트를 기반으로 하는 AI-powered automatic Zellij session naming |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | 기술검출 및 주사를 요구하는 OpenCode Agent를 게으른 로드 프롬프트 허용 |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Supermemory를 사용하여 세션 전반에 걸쳐 지속되는 메모리 |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | (영어) 상호 작용하는 계획은 시각적인 주석 및 개인/오프라인 공유를 검토합니다 |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | granular flow control과 강력한 오케스트라 시스템 확장 |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | cron 구문을 가진 발사된 (Mac) 또는 체계화된 (Linux)를 사용하여 작업 재발견 |
|
||||
| [micode](https://github.com/vtemian/micode) | Structured Brainstorm → Plan → 세션 연속성으로 워크플로우 구현 |
|
||||
| [octto](https://github.com/vtemian/octto) | 멀티 퀘스트 양식으로 AI Brainstorming을 위한 인터랙티브 브라우저 UI |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agent) | 동기화 위임 및 컨텍스트의 코드 스타일 배경 에이전트 |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | OpenCode의 Native OS 알림 – 작업이 완료되면 알 수 있습니다 |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | 멀티 시약 오케스트라 묶음 하네스 – 16개 부품, 하나 설치 |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | 오픈코드를 위한 Zero-friction git worktree |
|
||||
|
||||
---
|
||||
|
||||
## 프로젝트
|
||||
|
||||
| 이름 | 설명 |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK 내장 OpenCode 세션을 제어하는 Discord bot |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API에 내장된 편집기웨어 프롬프롬프 플러그인 |
|
||||
| [portal](https://github.com/hosenur/portal) | Tailscale/VPN에 OpenCode를 위한 모바일 최초의 웹 UI |
|
||||
| [opencode 플러그인 템플릿](https://github.com/zenobi-us/opencode-plugin-template/) | OpenCode 플러그인 구축 템플릿 |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | 오픈코드를 위한 Neovim frontend - 터미널 기반 AI 코딩 에이전트 |
|
||||
| 이름 | 설명 |
|
||||
| ------------------------------------------------------------------------------------------ | -------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK 내장 OpenCode 세션을 제어하는 Discord bot |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API에 내장된 편집기웨어 프롬프롬프 플러그인 |
|
||||
| [portal](https://github.com/hosenur/portal) | Tailscale/VPN에 OpenCode를 위한 모바일 최초의 웹 UI |
|
||||
| [opencode 플러그인 템플릿](https://github.com/zenobi-us/opencode-plugin-template/) | OpenCode 플러그인 구축 템플릿 |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | 오픈코드를 위한 Neovim frontend - 터미널 기반 AI 코딩 에이전트 |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | @opencode-ai/sdk를 통해 OpenCode를 사용하는 Vercel AI SDK 제공 |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | 웹 / 데스크탑 앱 및 VS Code Extension for OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian 플러그인 Obsidian의 UI에서 OpenCode를 포함
|
||||
| 【영업】(https://github.com/different-ai/openwork) | OpenCode에 의해 구동 Claude Cowork에 대한 오픈 소스 대안 |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | 휴대용, 절연 프로파일을 갖춘 OpenCode 확장 관리자. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode를 위한 데스크탑, 웹, 모바일 및 원격 클라이언트 앱 |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | 웹 / 데스크탑 앱 및 VS Code Extension for OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian 플러그인 Obsidian의 UI에서 OpenCode를 포함 |
|
||||
| 【영업】(https://github.com/different-ai/openwork) | OpenCode에 의해 구동 Claude Cowork에 대한 오픈 소스 대안 |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | 휴대용, 절연 프로파일을 갖춘 OpenCode 확장 관리자. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode를 위한 데스크탑, 웹, 모바일 및 원격 클라이언트 앱 |
|
||||
|
||||
---
|
||||
|
||||
# # 에이전트
|
||||
|
||||
| 이름 | 설명 |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 구조 개발용 모듈형 AI 에이전트 및 명령 |
|
||||
| 이름 | 설명 |
|
||||
| ----------------------------------------------------------------- | --------------------------------------------------------------- |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 구조 개발용 모듈형 AI 에이전트 및 명령 |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | 향상된 워크플로우를 위한 컨피그, 프롬프트, 에이전트 및 플러그인 |
|
||||
|
||||
@@ -11,10 +11,11 @@ OpenCode는 언어 별 형식을 사용하여 작성 또는 편집 한 후 자
|
||||
|
||||
OpenCode는 인기있는 언어 및 프레임 워크에 대한 몇 가지 내장 형식자와 함께 제공됩니다. 아래는 formatters, 지원된 파일 확장 및 명령 또는 구성 옵션의 목록입니다.
|
||||
|
||||
| 형식 | 연장 | 요구 사항 |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` 명령 가능 |
|
||||
| 믹스 | .ex, .ex, .eex, .heex, .leex, .neex, .sface | `mix` 명령 가능 |
|
||||
| 형식 | 연장 | 요구 사항 |
|
||||
| ----- | ------------------------------------------- | ----------------- |
|
||||
| gofmt | .go | `gofmt` 명령 가능 |
|
||||
| 믹스 | .ex, .ex, .eex, .heex, .leex, .neex, .sface | `mix` 명령 가능 |
|
||||
|
||||
인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션
|
||||
| 바이오메 | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, [기타](https://biomejs.dev/) | `biome.json(c)` 구성 파일 |
|
||||
| 지그 | .zig, .zon | `zig` 명령 가능 |
|
||||
@@ -67,12 +68,12 @@ OpenCode config의 `formatter` 섹션을 통해 형식기를 사용자 정의
|
||||
|
||||
각 formatter 윤곽은 다음을 지원합니다:
|
||||
|
||||
| 재산 | 유형 | 묘사 |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | 불린 | 이 세트를 `true`로 포맷터 비활성화 |
|
||||
| `command` | 문자열[] | 형식을 실행하는 명령 |
|
||||
| `environment` | 객체 | 형식의 실행시 설정하는 환경 변수 |
|
||||
| `extensions` | string[] | 이 형식의 파일 확장자 취급 |
|
||||
| 재산 | 유형 | 묘사 |
|
||||
| ------------- | -------- | ---------------------------------- |
|
||||
| `disabled` | 불린 | 이 세트를 `true`로 포맷터 비활성화 |
|
||||
| `command` | 문자열[] | 형식을 실행하는 명령 |
|
||||
| `environment` | 객체 | 형식의 실행시 설정하는 환경 변수 |
|
||||
| `extensions` | string[] | 이 형식의 파일 확장자 취급 |
|
||||
|
||||
몇 가지 예제를 살펴 보자.
|
||||
|
||||
|
||||
@@ -10,8 +10,7 @@ OpenCode는 GitHub 워크플로우와 통합됩니다. Mention `/opencode` 또
|
||||
## 특징
|
||||
|
||||
- **문제**: OpenCode가 문제점을 보고 당신을 설명합니다.
|
||||
- **Fix 및 구현 **: 이슈를 수정하거나 기능을 구현하려면 OpenCode에 문의하십시오. 그리고 새로운 지점에서 일하고 모든 변경으로 PR을 제출합니다.
|
||||
-**Secure**: OpenCode는 GitHub의 런너 내부에서 실행됩니다.
|
||||
- **Fix 및 구현 **: 이슈를 수정하거나 기능을 구현하려면 OpenCode에 문의하십시오. 그리고 새로운 지점에서 일하고 모든 변경으로 PR을 제출합니다. -**Secure**: OpenCode는 GitHub의 런너 내부에서 실행됩니다.
|
||||
|
||||
---
|
||||
|
||||
@@ -39,39 +38,39 @@ GitHub 앱을 설치하고 워크플로를 만들고 비밀을 설정할 수 있
|
||||
|
||||
저장소에 `.github/workflows/opencode.yml`에 다음 작업 흐름 파일을 추가합니다. 적절한 `model`를 설정하고 `env`의 API 키가 필요합니다.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. ** 비밀의 API 키 저장 **
|
||||
|
||||
@@ -89,13 +88,13 @@ GitHub 앱을 설치하고 워크플로를 만들고 비밀을 설정할 수 있
|
||||
|
||||
대안으로, GitHub Action runner의 [붙박이 `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github token)을 사용하여 OpenCode GitHub 앱을 설치하지 않고 사용할 수 있습니다. 워크플로우에서 필요한 권한을 부여하는 것을 확인하십시오.
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
또한 [개인 액세스 토큰](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT)를 사용할 수 있습니다.
|
||||
|
||||
@@ -105,14 +104,14 @@ GitHub 앱을 설치하고 워크플로를 만들고 비밀을 설정할 수 있
|
||||
|
||||
OpenCode는 다음 GitHub 이벤트에 의해 트리거 될 수 있습니다:
|
||||
|
||||
| 이벤트 타입 | Triggered by | 상세 |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | 발행 또는 PR에 대한 의견 | 멘션 `/opencode` 또는 `/oc` 당신의 의견. OpenCode는 컨텍스트를 읽고, 지점을 만들 수 있습니다, 열린 PR, 또는 대답. ·
|
||||
| `pull_request_review_comment` | PR의 특정 코드 라인에 대한 의견 | Mention `/opencode` 또는 `/oc` 코드 검토 중. OpenCode는 파일 경로, 줄 번호 및 diff 컨텍스트를 수신합니다. ·
|
||||
| `issues` | 이슈가 열리고 편집되었습니다 | 이슈가 생성되거나 수정될 때 자동으로 OpenCode를 트리거합니다. `prompt` 입력이 필요합니다. |
|
||||
| `pull_request` | PR 오픈 또는 업데이트 | PR이 열릴 때 자동 트리거 OpenCode 자동 리뷰에 대한 유용한 정보 |
|
||||
| `schedule` | 크론 기반 일정 | 일정에 오픈코드를 실행합니다. `prompt` 입력을 요구합니다. 출력 로그 및 PR에 간다 (댓글이 없습니다). |
|
||||
| `workflow_dispatch` | GitHub UI에서 수동 트리거 | 액션 탭을 통해 까다로운 Trigger OpenCode. `prompt` 입력을 요구합니다. 출력 로그 및 PR에 간다. |
|
||||
| 이벤트 타입 | Triggered by | 상세 |
|
||||
| ----------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | 발행 또는 PR에 대한 의견 | 멘션 `/opencode` 또는 `/oc` 당신의 의견. OpenCode는 컨텍스트를 읽고, 지점을 만들 수 있습니다, 열린 PR, 또는 대답. · |
|
||||
| `pull_request_review_comment` | PR의 특정 코드 라인에 대한 의견 | Mention `/opencode` 또는 `/oc` 코드 검토 중. OpenCode는 파일 경로, 줄 번호 및 diff 컨텍스트를 수신합니다. · |
|
||||
| `issues` | 이슈가 열리고 편집되었습니다 | 이슈가 생성되거나 수정될 때 자동으로 OpenCode를 트리거합니다. `prompt` 입력이 필요합니다. |
|
||||
| `pull_request` | PR 오픈 또는 업데이트 | PR이 열릴 때 자동 트리거 OpenCode 자동 리뷰에 대한 유용한 정보 |
|
||||
| `schedule` | 크론 기반 일정 | 일정에 오픈코드를 실행합니다. `prompt` 입력을 요구합니다. 출력 로그 및 PR에 간다 (댓글이 없습니다). |
|
||||
| `workflow_dispatch` | GitHub UI에서 수동 트리거 | 액션 탭을 통해 까다로운 Trigger OpenCode. `prompt` 입력을 요구합니다. 출력 로그 및 PR에 간다. |
|
||||
|
||||
### 일정 예
|
||||
|
||||
@@ -277,9 +276,9 @@ GitHub에서 OpenCode를 사용할 수있는 몇 가지 예입니다.
|
||||
|
||||
GitHub 문제에서 이 의견 추가.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode는 모든 코멘트를 포함하여 전체 스레드를 읽고, 명확한 설명과 대답.
|
||||
|
||||
@@ -287,9 +286,9 @@ OpenCode는 모든 코멘트를 포함하여 전체 스레드를 읽고, 명확
|
||||
|
||||
GitHub 문제에서:
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
OpenCode는 새로운 지점을 만들 것이며 변경 사항을 실행하고 PR을 변경합니다.
|
||||
|
||||
@@ -297,9 +296,9 @@ OpenCode는 새로운 지점을 만들 것이며 변경 사항을 실행하고 P
|
||||
|
||||
GitHub PR에 다음 댓글을 남겨주세요.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
OpenCode는 요청한 변경을 구현하고 동일한 PR에 커밋합니다.
|
||||
|
||||
@@ -307,12 +306,13 @@ OpenCode는 요청한 변경을 구현하고 동일한 PR에 커밋합니다.
|
||||
|
||||
PR의 "Files" 탭의 코드 라인에 직접 댓글을 남겨주세요. OpenCode는 파일, 줄 번호 및 diff 컨텍스트를 자동으로 감지하여 정확한 응답을 제공합니다.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
특정 라인에 대한 의견이 있을 때, OpenCode는 다음과 같습니다.
|
||||
|
||||
- 검토되는 정확한 파일
|
||||
- 코드의 특정 라인
|
||||
- 주변 diff 컨텍스트
|
||||
|
||||
@@ -55,7 +55,7 @@ OpenCode는 GitLab 워크플로우와 통합됩니다.
|
||||
|
||||
- **문제**: OpenCode가 문제점을 보고 당신을 설명합니다.
|
||||
- **Fix 및 구현 **: 이슈를 수정하거나 기능을 구현하려면 OpenCode에 문의하십시오.
|
||||
새로운 지점을 만들고 변화를 병합 요청을 제기합니다.
|
||||
새로운 지점을 만들고 변화를 병합 요청을 제기합니다.
|
||||
- **Secure**: OpenCode는 GitLab runners에서 실행됩니다.
|
||||
|
||||
---
|
||||
@@ -68,12 +68,12 @@ OpenCode는 GitLab CI/CD 파이프라인에서 실행되며, 여기서 설정해
|
||||
[**GitLab docs**](https://docs.gitlab.com/user/duo agent platform/agent assistant/) 를 체크 아웃하십시오.
|
||||
:::
|
||||
|
||||
1. GitLab 환경 설정
|
||||
2. CI/CD 설치
|
||||
3. AI 모형 공급자 API 열쇠를 얻으십시오
|
||||
4. 서비스 계정 만들기
|
||||
5. CI/CD 변수 구성
|
||||
6. Flow config 파일을 만들려면 다음과 같습니다.
|
||||
1. GitLab 환경 설정
|
||||
2. CI/CD 설치
|
||||
3. AI 모형 공급자 API 열쇠를 얻으십시오
|
||||
4. 서비스 계정 만들기
|
||||
5. CI/CD 변수 구성
|
||||
6. Flow config 파일을 만들려면 다음과 같습니다.
|
||||
|
||||
<details>
|
||||
|
||||
@@ -168,9 +168,9 @@ OpenCode는 GitLab CI/CD 파이프라인에서 실행되며, 여기서 설정해
|
||||
|
||||
GitLab 문제에서이 코멘트를 추가하십시오.
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode는 문제와 대답을 명확하게 설명합니다.
|
||||
|
||||
@@ -178,9 +178,9 @@ OpenCode는 문제와 대답을 명확하게 설명합니다.
|
||||
|
||||
GitLab 문제에서, 말한다:
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
OpenCode는 새로운 지점을 만들 것이며 변경 사항을 구현하고 변경 사항을 병합 요청을 엽니다.
|
||||
|
||||
@@ -188,8 +188,8 @@ OpenCode는 새로운 지점을 만들 것이며 변경 사항을 구현하고
|
||||
|
||||
GitLab 병합 요청에 대한 다음 의견을 남겨주세요.
|
||||
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
|
||||
OpenCode는 병합 요청을 검토하고 피드백을 제공합니다.
|
||||
|
||||
@@ -9,9 +9,8 @@ OpenCode는 VS Code, Cursor, 또는 터미널을 지원하는 IDE와 통합합
|
||||
|
||||
## 사용법
|
||||
|
||||
-**Quick Launch**: `Cmd+Esc` (Mac) 또는 `Ctrl+Esc` (Windows/Linux)를 사용하여 균열 단자 전망에 OpenCode를 열거나 기존 터미널 세션을 이미 실행하면 됩니다.
|
||||
-**New Session**: `Cmd+Shift+Esc` (Mac) 또는 `Ctrl+Shift+Esc` (Windows/Linux)를 사용하여 새로운 OpenCode 터미널 세션을 시작하려면 이미 열리면 됩니다. UI에서 OpenCode 버튼을 클릭합니다.
|
||||
-**Context Awareness**: OpenCode로 현재 선택 또는 탭을 자동으로 공유합니다.
|
||||
-**Quick Launch**: `Cmd+Esc` (Mac) 또는 `Ctrl+Esc` (Windows/Linux)를 사용하여 균열 단자 전망에 OpenCode를 열거나 기존 터미널 세션을 이미 실행하면 됩니다. -**New Session**: `Cmd+Shift+Esc` (Mac) 또는 `Ctrl+Shift+Esc` (Windows/Linux)를 사용하여 새로운 OpenCode 터미널 세션을 시작하려면 이미 열리면 됩니다. UI에서 OpenCode 버튼을 클릭합니다. -**Context Awareness**: OpenCode로 현재 선택 또는 탭을 자동으로 공유합니다.
|
||||
|
||||
- ** 파일 참조 단축키 ** : 파일 참조를 삽입하려면 `Cmd+Option+K` (Mac) 또는 `Alt+Ctrl+K` (Linux / Windows)를 사용하십시오. 예를 들어, `@File#L37-42`.
|
||||
|
||||
---
|
||||
|
||||
@@ -134,25 +134,25 @@ OpenCode는 대부분의 keybinds에 대한 `leader` 키를 사용합니다. 이
|
||||
|
||||
OpenCode 데스크톱 앱 프롬프트 입력은 텍스트 편집을 위한 일반적인 Readline/Emacs-style 단축키를 지원합니다. 이들은 내장되어 있으며 현재 `opencode.json`를 통해 구성할 수 없습니다.
|
||||
|
||||
| 단축 | 액션 |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | 현재 행 시작으로 이동 |
|
||||
| `ctrl+e` | 현재선 끝으로 이동 |
|
||||
| 단축 | 액션 |
|
||||
| -------- | -------------------------- |
|
||||
| `ctrl+a` | 현재 행 시작으로 이동 |
|
||||
| `ctrl+e` | 현재선 끝으로 이동 |
|
||||
| `ctrl+b` | 커서를 다시 한 문자로 이동 |
|
||||
| `ctrl+f` | 한자 앞의 커서 |
|
||||
| `alt+b` | 한 단어로 커서 이동 |
|
||||
| `alt+f` | 한 단어를 넘겨 주세요 |
|
||||
| `ctrl+d` | 커서의 캐릭터 삭제 |
|
||||
| `ctrl+k` | 노선의 종료 |
|
||||
| `ctrl+u` | 노선 시작 |
|
||||
| `ctrl+w` | 이전 단어 |
|
||||
| `alt+d` | 다음 단어를 죽이기 |
|
||||
| `ctrl+t` | 자가용 캐릭터 |
|
||||
| `ctrl+g` | 팝오버를 취소 / 응답 취소 |
|
||||
| `ctrl+f` | 한자 앞의 커서 |
|
||||
| `alt+b` | 한 단어로 커서 이동 |
|
||||
| `alt+f` | 한 단어를 넘겨 주세요 |
|
||||
| `ctrl+d` | 커서의 캐릭터 삭제 |
|
||||
| `ctrl+k` | 노선의 종료 |
|
||||
| `ctrl+u` | 노선 시작 |
|
||||
| `ctrl+w` | 이전 단어 |
|
||||
| `alt+d` | 다음 단어를 죽이기 |
|
||||
| `ctrl+t` | 자가용 캐릭터 |
|
||||
| `ctrl+g` | 팝오버를 취소 / 응답 취소 |
|
||||
|
||||
---
|
||||
|
||||
## 시프트+ 이름 *
|
||||
## 시프트+ 이름 \*
|
||||
|
||||
몇몇 맨끝은 기본적으로 입력한 modifier 열쇠를 보내지 않습니다. `Shift+Enter`를 탈출 순서로 보낼 터미널을 구성해야 할 수 있습니다.
|
||||
|
||||
|
||||
@@ -11,40 +11,40 @@ OpenCode는 언어 서버 프로토콜 (LSP)과 통합하여 LLM은 코드베이
|
||||
|
||||
OpenCode는 인기있는 언어로 여러 내장 LSP 서버와 함께 제공됩니다.
|
||||
|
||||
| LSP 서버 | 연장 | 요구사항 |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Astro 프로젝트 자동 설치 |
|
||||
| bash | .sh, .bash, .zsh, .ksh | 자동 설치 bash-language-server |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | C/C++ 프로젝트용 자동 설치 |
|
||||
| csharp | .cs | `.NET SDK` 설치 |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` 명령 가능 |
|
||||
| 다트 | 다트 | `dart` 명령 |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` 명령 가능(자동검출 deno.json/deno.jsonc) |
|
||||
| elixir-ls | .ex, .exs | `elixir` 명령 가능 |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | 프로젝트의 `eslint` 의존성 |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` 설치 |
|
||||
| gleam | .gleam | `gleam` 명령 가능 |
|
||||
| gopls | .go | `go` 명령 가능 |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper` 명령 가능 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` 설치 |
|
||||
| kotlin-ls | .kt, .kts | Kotlin 프로젝트용 자동 설치 |
|
||||
| lua-ls | .lua | 루아 사업용 자동설치 |
|
||||
| nixd | .nix | `nixd` 명령 가능 |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp` 명령 가능 |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .ct, .vue, .astro, .svelte | 프로젝트의 `oxlint` 신뢰성 |
|
||||
| PHP intelephense | .php | PHP 프로젝트 자동 설치 |
|
||||
| 프리즘 | .prisma | `prisma` 명령 가능 |
|
||||
| pyright | .py, .pyi | `pyright` 의존성 설치 |
|
||||
| 루비-lsp(rubocop) | .rb, .rake, .gemspec, .ru | `ruby` 및 `gem` 명령 사용 가능 |
|
||||
| 녹 | .rs | `rust-analyzer` 명령 가능 |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` 설치 (MacOS의 `xcode`) |
|
||||
| svelte | .svelte | Svelte 프로젝트 자동 설치 |
|
||||
| 지형 | .tf, .tfvars | GitHub 릴리스의 자동 설치 |
|
||||
| 작문 | .typ, .typc | GitHub 릴리스의 자동 설치 |
|
||||
인가정보 | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | 프로젝트의 `typescript` 의존성 |
|
||||
| vue | .vue | Vue 프로젝트 자동 설치 |
|
||||
| yaml-ls | .yaml, .yml | 자동 설치 Red Hat yaml-language-server |
|
||||
| zls | .zig, .zon | `zig` 명령 가능 |
|
||||
| LSP 서버 | 연장 | 요구사항 |
|
||||
| ----------------- | ------------------------------------------------------------------ | ----------------------------------------------- |
|
||||
| astro | .astro | Astro 프로젝트 자동 설치 |
|
||||
| bash | .sh, .bash, .zsh, .ksh | 자동 설치 bash-language-server |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | C/C++ 프로젝트용 자동 설치 |
|
||||
| csharp | .cs | `.NET SDK` 설치 |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` 명령 가능 |
|
||||
| 다트 | 다트 | `dart` 명령 |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` 명령 가능(자동검출 deno.json/deno.jsonc) |
|
||||
| elixir-ls | .ex, .exs | `elixir` 명령 가능 |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | 프로젝트의 `eslint` 의존성 |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` 설치 |
|
||||
| gleam | .gleam | `gleam` 명령 가능 |
|
||||
| gopls | .go | `go` 명령 가능 |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper` 명령 가능 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` 설치 |
|
||||
| kotlin-ls | .kt, .kts | Kotlin 프로젝트용 자동 설치 |
|
||||
| lua-ls | .lua | 루아 사업용 자동설치 |
|
||||
| nixd | .nix | `nixd` 명령 가능 |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp` 명령 가능 |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .ct, .vue, .astro, .svelte | 프로젝트의 `oxlint` 신뢰성 |
|
||||
| PHP intelephense | .php | PHP 프로젝트 자동 설치 |
|
||||
| 프리즘 | .prisma | `prisma` 명령 가능 |
|
||||
| pyright | .py, .pyi | `pyright` 의존성 설치 |
|
||||
| 루비-lsp(rubocop) | .rb, .rake, .gemspec, .ru | `ruby` 및 `gem` 명령 사용 가능 |
|
||||
| 녹 | .rs | `rust-analyzer` 명령 가능 |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` 설치 (MacOS의 `xcode`) |
|
||||
| svelte | .svelte | Svelte 프로젝트 자동 설치 |
|
||||
| 지형 | .tf, .tfvars | GitHub 릴리스의 자동 설치 |
|
||||
| 작문 | .typ, .typc | GitHub 릴리스의 자동 설치 |
|
||||
| 인가정보 | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | 프로젝트의 `typescript` 의존성 |
|
||||
| vue | .vue | Vue 프로젝트 자동 설치 |
|
||||
| yaml-ls | .yaml, .yml | 자동 설치 Red Hat yaml-language-server |
|
||||
| zls | .zig, .zon | `zig` 명령 가능 |
|
||||
|
||||
LSP 서버는 위의 파일 확장자 중 하나가 감지되고 요구 사항은 자동으로 활성화됩니다.
|
||||
|
||||
@@ -76,13 +76,13 @@ opencode가 파일을 열 때, 그것은:
|
||||
|
||||
각 LSP 서버는 다음을 지원합니다:
|
||||
|
||||
| 재산 | 유형 | 묘사 |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` | 불린 | LSP 서버를 비활성화하려면 `true`로 설정 |
|
||||
| `command` | 문자열[] | LSP 서버를 시작하는 명령 |
|
||||
| `extensions` | string[] | 이 LSP 서버 확장 |
|
||||
| `env` | 객체 | 서버 시작시 설정할 환경 변수 |
|
||||
| `initialization` | 객체 | LSP 서버에 보내는 초기화 옵션 |
|
||||
| 재산 | 유형 | 묘사 |
|
||||
| ---------------- | -------- | --------------------------------------- |
|
||||
| `disabled` | 불린 | LSP 서버를 비활성화하려면 `true`로 설정 |
|
||||
| `command` | 문자열[] | LSP 서버를 시작하는 명령 |
|
||||
| `extensions` | string[] | 이 LSP 서버 확장 |
|
||||
| `env` | 객체 | 서버 시작시 설정할 환경 변수 |
|
||||
| `initialization` | 객체 | LSP 서버에 보내는 초기화 옵션 |
|
||||
|
||||
몇 가지 예제를 살펴 보자.
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
로컬 MCP 서버를 구성하는 모든 옵션이 있습니다.
|
||||
|
||||
| 옵션 | 유형 |필수 | 설명 |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | 문자열 | Y | MCP 서버 연결 유형은 `"local"`. |
|
||||
| `command` | Array | Y | MCP 서버를 실행하는 명령과 인수. |
|
||||
| `environment` | 개체 | | 서버 실행시 설정하는 환경 변수
|
||||
| `enabled` | Boolean | | 시동에서 MCP 서버 사용 가능 |
|
||||
| `timeout` | Number | | MCP 서버에서 태핑툴을 위한 타임아웃 기본 5000 (5 초). |
|
||||
| 옵션 | 유형 | 필수 | 설명 |
|
||||
| ------------- | ------- | ---- | ----------------------------------------------------- |
|
||||
| `type` | 문자열 | Y | MCP 서버 연결 유형은 `"local"`. |
|
||||
| `command` | Array | Y | MCP 서버를 실행하는 명령과 인수. |
|
||||
| `environment` | 개체 | | 서버 실행시 설정하는 환경 변수 |
|
||||
| `enabled` | Boolean | | 시동에서 MCP 서버 사용 가능 |
|
||||
| `timeout` | Number | | MCP 서버에서 태핑툴을 위한 타임아웃 기본 5000 (5 초). |
|
||||
|
||||
---
|
||||
|
||||
@@ -152,14 +152,14 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
#### 옵션
|
||||
|
||||
| 옵션 | 유형 |필수 | 설명 |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | 문자열 | Y | MCP 서버 연결 유형은 `"remote"`. |
|
||||
| `url` | 문자열 | Y | 원격 MCP 서버의 URL. |
|
||||
| `enabled` | Boolean | | 시동에서 MCP 서버 사용 가능 |
|
||||
| `headers` | 개체 | | 헤드러는 요청으로 보내드립니다. |
|
||||
| `oauth` | 개체 | | OAuth 인증 구성 [OAuth](#oauth) 아래의 섹션을 참조하십시오. |
|
||||
| `timeout` | Number | | MCP 서버에서 태핑툴을 위한 타임아웃 기본 5000 (5 초). |
|
||||
| 옵션 | 유형 | 필수 | 설명 |
|
||||
| --------- | ------- | ---- | ----------------------------------------------------------- |
|
||||
| `type` | 문자열 | Y | MCP 서버 연결 유형은 `"remote"`. |
|
||||
| `url` | 문자열 | Y | 원격 MCP 서버의 URL. |
|
||||
| `enabled` | Boolean | | 시동에서 MCP 서버 사용 가능 |
|
||||
| `headers` | 개체 | | 헤드러는 요청으로 보내드립니다. |
|
||||
| `oauth` | 개체 | | OAuth 인증 구성 [OAuth](#oauth) 아래의 섹션을 참조하십시오. |
|
||||
| `timeout` | Number | | MCP 서버에서 태핑툴을 위한 타임아웃 기본 5000 (5 초). |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,12 +266,12 @@ opencode mcp logout my-oauth-server
|
||||
|
||||
#### OAuth 옵션
|
||||
|
||||
| 옵션 | 유형 | 설명 |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | 개체 \| false | OAuth config object, 또는 `false`를 비활성화하는 OAuth 자동검출. ·
|
||||
| `clientId` | 문자열 | OAuth 클라이언트 ID. 제공되지 않은 경우, 동적 클라이언트 등록 시도됩니다. ·
|
||||
| `clientSecret` | String | OAuth 클라이언트 비밀, 허가서 서버가 필요한 경우. |
|
||||
| `scope` | String | OAuth 범위는 인증 중입니다. |
|
||||
| 옵션 | 유형 | 설명 |
|
||||
| -------------- | ------------- | --------------------------------------------------------------------------- |
|
||||
| `oauth` | 개체 \| false | OAuth config object, 또는 `false`를 비활성화하는 OAuth 자동검출. · |
|
||||
| `clientId` | 문자열 | OAuth 클라이언트 ID. 제공되지 않은 경우, 동적 클라이언트 등록 시도됩니다. · |
|
||||
| `clientSecret` | String | OAuth 클라이언트 비밀, 허가서 서버가 필요한 경우. |
|
||||
| `scope` | String | OAuth 범위는 인증 중입니다. |
|
||||
|
||||
# # # # # # 디버깅
|
||||
|
||||
@@ -343,7 +343,7 @@ MCP는 OpenCode의 도구로 사용할 수 있으며 내장 도구와 함께 사
|
||||
|
||||
---
|
||||
|
||||
## 대리인 당 ##
|
||||
## 대리인 당
|
||||
|
||||
MCP 서버의 많은 수를 가지고 있다면 에이전트 당만 활성화하고 전 세계적으로 비활성화 할 수 있습니다. 이 작업을 수행:
|
||||
|
||||
|
||||
@@ -151,8 +151,7 @@ Markdown 파일 이름은 모드 이름 (예 : `review.md`는 `review` 모드를
|
||||
|
||||
온도 값은 일반적으로 0.0에서 1.0에 배열합니다:
|
||||
|
||||
- **0.0-0.2**: 매우 집중하고 신중한 응답, 코드 분석 및 계획에 이상
|
||||
-**0.3-0.5**: 일부 창의력과 균형 잡힌 응답, 일반 개발 작업에 좋은
|
||||
- **0.0-0.2**: 매우 집중하고 신중한 응답, 코드 분석 및 계획에 이상 -**0.3-0.5**: 일부 창의력과 균형 잡힌 응답, 일반 개발 작업에 좋은
|
||||
- **0.6-1.0**: 더 창조적이고 다양한 응답, 뇌하수 및 탐험에 유용한
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -225,19 +224,19 @@ Markdown 파일 이름은 모드 이름 (예 : `review.md`는 `review` 모드를
|
||||
|
||||
여기에 모든 도구는 모드 구성을 통해 제어 할 수 있습니다.
|
||||
|
||||
| 도구 | 설명 |
|
||||
| ----------- | ----------------------- |
|
||||
| `bash` | 쉘 명령 실행 |
|
||||
| `edit` | 기존 파일 수정 |
|
||||
| `write` | 새 파일 만들기 |
|
||||
| `read` | 읽는 파일 내용 |
|
||||
| `grep` | 파일 검색 |
|
||||
| `glob` | 패턴으로 찾기 |
|
||||
| `list` | 디렉토리 내용 보기 |
|
||||
| `patch` | 파일에 패치 적용 |
|
||||
| `todowrite` | 도도 목록 관리 |
|
||||
| `todoread` | 읽는 도 목록 |
|
||||
| `webfetch` | 사이트 맵 |
|
||||
| 도구 | 설명 |
|
||||
| ----------- | ------------------ |
|
||||
| `bash` | 쉘 명령 실행 |
|
||||
| `edit` | 기존 파일 수정 |
|
||||
| `write` | 새 파일 만들기 |
|
||||
| `read` | 읽는 파일 내용 |
|
||||
| `grep` | 파일 검색 |
|
||||
| `glob` | 패턴으로 찾기 |
|
||||
| `list` | 디렉토리 내용 보기 |
|
||||
| `patch` | 파일에 패치 적용 |
|
||||
| `todowrite` | 도도 목록 관리 |
|
||||
| `todoread` | 읽는 도 목록 |
|
||||
| `webfetch` | 사이트 맵 |
|
||||
|
||||
---
|
||||
|
||||
@@ -323,8 +322,7 @@ Priorities:
|
||||
다음은 다른 모드에 대한 일반적인 사용 사례입니다.
|
||||
|
||||
- **빌딩 모드**: 모든 도구와 함께 전체 개발 작업
|
||||
- **플랜 모드**: 변화없이 분석 및 계획
|
||||
-**Review 모드**: Code review with read-only access plus 문서 도구
|
||||
- **플랜 모드**: 변화없이 분석 및 계획 -**Review 모드**: Code review with read-only access plus 문서 도구
|
||||
- ** 디버그 모드**: bash 및 읽기 도구와 함께 조사에 집중
|
||||
- **Docs 모드**: 파일 작업과 문서 작성하지만 시스템 명령 없음
|
||||
|
||||
|
||||
@@ -127,10 +127,10 @@ OpenCode의 다른 공급자와 같이 작동하고 사용하기에 완전히
|
||||
OpenCode로 Amazon Bedrock을 사용하려면:
|
||||
|
||||
1. Amazon Bedrock 콘솔 및 요청에서 ** 모델 카탈로그**에 머리
|
||||
원하는 모델에 액세스.
|
||||
원하는 모델에 액세스.
|
||||
|
||||
:::tip
|
||||
Amazon Bedrock에서 원하는 모델에 액세스해야합니다.
|
||||
Amazon Bedrock에서 원하는 모델에 액세스해야합니다.
|
||||
:::
|
||||
|
||||
2. ** 설정** 다음 방법 중 하나를 사용하여:
|
||||
@@ -139,76 +139,79 @@ Amazon Bedrock에서 원하는 모델에 액세스해야합니다.
|
||||
|
||||
opencode를 실행하는 동안 이러한 환경 변수 중 하나를 설정:
|
||||
|
||||
```bash
|
||||
# Option 1: Using AWS access keys
|
||||
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
|
||||
```bash
|
||||
# Option 1: Using AWS access keys
|
||||
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
|
||||
|
||||
# Option 2: Using named AWS profile
|
||||
AWS_PROFILE=my-profile opencode
|
||||
# Option 2: Using named AWS profile
|
||||
AWS_PROFILE=my-profile opencode
|
||||
|
||||
# Option 3: Using Bedrock bearer token
|
||||
AWS_BEARER_TOKEN_BEDROCK=XXX opencode
|
||||
```
|
||||
# Option 3: Using Bedrock bearer token
|
||||
AWS_BEARER_TOKEN_BEDROCK=XXX opencode
|
||||
```
|
||||
|
||||
또는 bash 프로필에 추가:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AWS_PROFILE=my-dev-profile
|
||||
export AWS_REGION=us-east-1
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export AWS_PROFILE=my-dev-profile
|
||||
export AWS_REGION=us-east-1
|
||||
```
|
||||
|
||||
#### 설정 파일 (추천)
|
||||
|
||||
프로젝트 별 또는 지속적 구성의 경우 `opencode.json`를 사용하십시오.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "my-aws-profile"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "my-aws-profile"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
** 유효한 옵션:**
|
||||
|
||||
- `region` - AWS 지역 (예: `us-east-1`, `eu-west-1`)
|
||||
- `profile` - AWS는 `~/.aws/credentials`에서 단면도를 지명했습니다
|
||||
- `endpoint` - VPC 엔드 포인트에 대한 사용자 정의 엔드 포인트 URL (일반 `baseURL` 옵션 별)
|
||||
|
||||
:::tip
|
||||
구성 파일 옵션은 환경 변수에 대한 precedence를 가져옵니다.
|
||||
:::
|
||||
:::tip
|
||||
구성 파일 옵션은 환경 변수에 대한 precedence를 가져옵니다.
|
||||
:::
|
||||
|
||||
#### 고급: VPC 엔드포인트
|
||||
|
||||
Bedrock의 VPC 엔드포인트를 사용하는 경우:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "production",
|
||||
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "production",
|
||||
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
:::note
|
||||
`endpoint` 옵션은 일반적인 `baseURL` 옵션의 별칭입니다. `endpoint`와 `baseURL` 둘 다 지정되는 경우에, `endpoint`는 전진합니다.
|
||||
:::
|
||||
:::
|
||||
|
||||
#### 인증 방법
|
||||
|
||||
-**`AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`**: IAM 사용자 생성 및 AWS 콘솔에서 액세스 키를 생성
|
||||
|
||||
- **`AWS_PROFILE`**: `~/.aws/credentials`의 프로필 이름을 사용합니다. `aws configure --profile my-profile` 또는 `aws sso login`로 첫번째 구성
|
||||
- **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock 콘솔에서 장기적인 API 키 생성
|
||||
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (서비스 계정을위한IAM 역할) 또는 OIDC federation과 다른 쿠버네티스 환경. 이 환경 변수는 서비스 계정 할당을 사용할 때 쿠버네티스에 의해 자동으로 주사됩니다.
|
||||
@@ -216,11 +219,12 @@ Bedrock의 VPC 엔드포인트를 사용하는 경우:
|
||||
#### 인증
|
||||
|
||||
Amazon Bedrock은 다음과 같은 인증 우선 순위를 사용합니다.
|
||||
|
||||
1. ** 브라우저 토큰 ** - `AWS_BEARER_TOKEN_BEDROCK` 환경 변수 또는 `/connect` 명령에서 토큰
|
||||
2. **AWS Credential Chain ** - 프로필, 액세스 키, 공유 자격 증명, IAM 역할, 웹 ID 토큰 (EKS IRSA), 인스턴스 메타 데이터
|
||||
|
||||
:::note
|
||||
Bearer 토큰을 설정할 때 (`/connect` 또는 `AWS_BEARER_TOKEN_BEDROCK`를 통해), 구성 된 프로파일을 포함한 모든 AWS 자격 방법을 통해 우선 순위가됩니다.
|
||||
Bearer 토큰을 설정할 때 (`/connect` 또는 `AWS_BEARER_TOKEN_BEDROCK`를 통해), 구성 된 프로파일을 포함한 모든 AWS 자격 방법을 통해 우선 순위가됩니다.
|
||||
:::
|
||||
|
||||
3. 당신이 원하는 모형을 선정하기 위하여 `/models` 명령을 실행하십시오.
|
||||
@@ -261,7 +265,7 @@ custom inference profiles를 위해, 열쇠에 있는 모형 그리고 공급자
|
||||
```
|
||||
|
||||
2. **Claude Pro/Max** 옵션을 선택하고 브라우저를 열 수 있습니다.
|
||||
자주 묻는 질문
|
||||
자주 묻는 질문
|
||||
|
||||
```txt
|
||||
┌ Select auth method
|
||||
@@ -297,13 +301,14 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
|
||||
:::
|
||||
|
||||
1. [Azure 포털](https://portal.azure.com/) 이상으로 머리와 **Azure OpenAI** 리소스를 만듭니다. 당신은 필요로 할 것이다:
|
||||
|
||||
- **소스 이름**: 이것은 API 엔드 포인트의 일부가됩니다 (`https://RESOURCE_NAME.openai.azure.com/`)
|
||||
- ** API 키**: `KEY 1` 또는 당신의 자원에서 `KEY 2`
|
||||
|
||||
2. [Azure AI Foundry](https://ai.azure.com/)로 이동하여 모델을 배포합니다.
|
||||
|
||||
:::note
|
||||
배포 이름은 제대로 작동하려면 opencode의 모델 이름을 일치해야합니다.
|
||||
배포 이름은 제대로 작동하려면 opencode의 모델 이름을 일치해야합니다.
|
||||
:::
|
||||
|
||||
3. `/connect` 명령을 실행하고 **Azure**를 검색하십시오.
|
||||
@@ -329,9 +334,9 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
|
||||
|
||||
또는 bash 프로파일에 추가:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_RESOURCE_NAME=XXX
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_RESOURCE_NAME=XXX
|
||||
```
|
||||
|
||||
6. `/models` 명령을 실행하여 배포 된 모델을 선택하십시오.
|
||||
|
||||
@@ -344,13 +349,14 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
|
||||
### Azure Cognitive 서비스
|
||||
|
||||
1. [Azure 포털](https://portal.azure.com/) 이상으로 머리와 **Azure OpenAI** 리소스를 만듭니다. 당신은 필요로 할 것이다:
|
||||
|
||||
- **소스 이름**: 이것은 API 엔드 포인트의 일부가됩니다 (`https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/`)
|
||||
- ** API 키**: `KEY 1` 또는 당신의 자원에서 `KEY 2`
|
||||
|
||||
2. [Azure AI Foundry](https://ai.azure.com/)로 이동하여 모델을 배포합니다.
|
||||
|
||||
:::note
|
||||
배포 이름은 제대로 작동하려면 opencode의 모델 이름을 일치해야합니다.
|
||||
배포 이름은 제대로 작동하려면 opencode의 모델 이름을 일치해야합니다.
|
||||
:::
|
||||
|
||||
3. `/connect` 명령을 실행하고 **Azure Cognitive Services**를 검색하십시오.
|
||||
@@ -376,9 +382,9 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
|
||||
|
||||
또는 bash 프로파일에 추가:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
|
||||
```
|
||||
|
||||
6. `/models` 명령을 실행하여 배포 된 모델을 선택하십시오.
|
||||
|
||||
@@ -434,7 +440,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Qwen 3 Coder 480B .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Qwen 3 Coder 480B .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -472,9 +478,9 @@ Cloudflare AI 게이트웨이는 OpenAI, Anthropic, Workers AI 등의 모델에
|
||||
|
||||
또는 환경 변수로 설정한다.
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export CLOUDFLARE_API_TOKEN=your-api-token
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export CLOUDFLARE_API_TOKEN=your-api-token
|
||||
```
|
||||
|
||||
5. 모델을 선택하려면 `/models` 명령을 실행하십시오.
|
||||
|
||||
@@ -484,19 +490,19 @@ Cloudflare AI 게이트웨이는 OpenAI, Anthropic, Workers AI 등의 모델에
|
||||
|
||||
Opencode config를 통해 모델을 추가할 수 있습니다.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"cloudflare-ai-gateway": {
|
||||
"models": {
|
||||
"openai/gpt-4o": {},
|
||||
"anthropic/claude-sonnet-4": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"cloudflare-ai-gateway": {
|
||||
"models": {
|
||||
"openai/gpt-4o": {},
|
||||
"anthropic/claude-sonnet-4": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -519,7 +525,7 @@ Opencode config를 통해 모델을 추가할 수 있습니다.
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -546,7 +552,7 @@ Opencode config를 통해 모델을 추가할 수 있습니다.
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 DeepSeek 모델을 선택하십시오. DeepSeek Reasoner .
|
||||
4. `/models` 명령을 실행하여 DeepSeek 모델을 선택하십시오. DeepSeek Reasoner .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -627,7 +633,7 @@ Opencode config를 통해 모델을 추가할 수 있습니다.
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -660,22 +666,20 @@ Opencode config를 통해 모델을 추가할 수 있습니다.
|
||||
Select**OAuth**와 브라우저는 권한이 없습니다.
|
||||
|
||||
### 개인 액세스 토큰 사용
|
||||
|
||||
1. [GitLab User Settings > Access Tokens](https://gitlab.com/-/user settings/personal access tokens)로 이동
|
||||
2. 새 토큰 추가 **
|
||||
2. 새 토큰 추가 \*\*
|
||||
3. 이름: `OpenCode`의 범위: `api`
|
||||
4. 토큰 복사 (`glpat-`와 함께 시작)
|
||||
5. 맨끝에서 그것을 입력하십시오
|
||||
|
||||
3. 유효한 모형을 보기 위하여 `/models` 명령을 실행하십시오.
|
||||
6. 유효한 모형을 보기 위하여 `/models` 명령을 실행하십시오.
|
||||
|
||||
```txt
|
||||
/models
|
||||
```
|
||||
|
||||
세 개의 클로드 기반 모델은 다음과 같습니다.
|
||||
-**duo-chat-haiku-4-5** (기본값) - 빠른 작업에 대한 빠른 응답
|
||||
-**duo-chat-sonnet-4-5** - 대부분의 워크플로우의 밸런스 성능
|
||||
-**duo-chat-opus-4-5** - 복잡한 분석 가능
|
||||
세 개의 클로드 기반 모델은 다음과 같습니다. -**duo-chat-haiku-4-5** (기본값) - 빠른 작업에 대한 빠른 응답 -**duo-chat-sonnet-4-5** - 대부분의 워크플로우의 밸런스 성능 -**duo-chat-opus-4-5** - 복잡한 분석 가능
|
||||
|
||||
:::note
|
||||
'GITLAB TOKEN' 환경 변수를 지정할 수도 있습니다.
|
||||
@@ -726,9 +730,10 @@ GitLab 관리자는 다음을 활성화해야합니다.
|
||||
|
||||
1. [Duo Agent Platform](https://docs.gitlab.com/user/gitlab duo/turn on off/) 사용자, 그룹 또는 인스턴스
|
||||
2. 특징 깃발 (철도 콘솔을 통해):
|
||||
|
||||
- `agent_platform_claude_code`
|
||||
- `third_party_agents_enabled`
|
||||
:::
|
||||
:::
|
||||
|
||||
####OAuth for Self-Hosted 인스턴스
|
||||
|
||||
@@ -826,13 +831,14 @@ GitHub Copilot 구독을 사용하여 opencode:
|
||||
OpenCode로 Google Vertex AI를 사용하려면:
|
||||
|
||||
1. Google Cloud Console에서 ** Model Garden**을 통해 헤드를 확인하고 확인하십시오.
|
||||
당신의 지역에서 유효한 모형.
|
||||
당신의 지역에서 유효한 모형.
|
||||
|
||||
:::note
|
||||
Vertex AI API를 사용하여 Google Cloud 프로젝트를 수행해야합니다.
|
||||
Vertex AI API를 사용하여 Google Cloud 프로젝트를 수행해야합니다.
|
||||
:::
|
||||
|
||||
2. 필요한 환경 변수를 설정:
|
||||
|
||||
- `GOOGLE_CLOUD_PROJECT`: 당신의 구글 클라우드 프로젝트 ID
|
||||
- `VERTEX_LOCATION` (선택): Vertex AI를 위한 지구 (`global`에 과태)
|
||||
- 인증(초당):
|
||||
@@ -841,17 +847,17 @@ Vertex AI API를 사용하여 Google Cloud 프로젝트를 수행해야합니다
|
||||
|
||||
opencode를 실행하면서 설정한다.
|
||||
|
||||
```bash
|
||||
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
|
||||
```
|
||||
```bash
|
||||
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
|
||||
```
|
||||
|
||||
또는 bash 프로파일에 추가하십시오.
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
||||
export GOOGLE_CLOUD_PROJECT=your-project-id
|
||||
export VERTEX_LOCATION=global
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
||||
export GOOGLE_CLOUD_PROJECT=your-project-id
|
||||
export VERTEX_LOCATION=global
|
||||
```
|
||||
|
||||
:::tip
|
||||
`global` 지구는 가용성을 개량하고 추가 비용 없이 과실을 감소시킵니다. 데이터 거주 요건에 대한 지역 엔드포인트(e.g., `us-central1`)를 사용하십시오. [더 알아보기](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional and global endpoints)
|
||||
@@ -913,7 +919,7 @@ opencode를 실행하면서 설정한다.
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi-K2-Instruct 또는 GLM-4.6 .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi-K2-Instruct 또는 GLM-4.6 .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1023,12 +1029,12 @@ npm install -g opencode-helicone-session
|
||||
|
||||
# # # # # # 공통 헬리콥터
|
||||
|
||||
| 헤드러 | Description
|
||||
| -------------------------- | ------------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | 대응 캐싱 (`true`/`false`) |
|
||||
| `Helicone-User-Id` | 사용자별 추적 가능 |
|
||||
| 헤드러 | Description |
|
||||
| -------------------------- | ---------------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | 대응 캐싱 (`true`/`false`) |
|
||||
| `Helicone-User-Id` | 사용자별 추적 가능 |
|
||||
| `Helicone-Property-[Name]` | 사용자 정의 속성 추가(예: `Helicone-Property-Environment`) |
|
||||
| `Helicone-Prompt-Id` | 신속한 대응 |
|
||||
| `Helicone-Prompt-Id` | 신속한 대응 |
|
||||
|
||||
모든 사용 가능한 헤더에 대한 [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory)를 참조하십시오.
|
||||
|
||||
@@ -1156,7 +1162,7 @@ Moonshot AI에서 Kimi K2 사용 :
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 Kimi K2 .
|
||||
4. `/models` 명령을 실행하여 Kimi K2 .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1183,7 +1189,7 @@ Moonshot AI에서 Kimi K2 사용 :
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 M2.1 .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 M2.1 .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1210,7 +1216,7 @@ Moonshot AI에서 Kimi K2 사용 :
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1310,7 +1316,7 @@ OpenCode로 Ollama Cloud를 사용하려면:
|
||||
```
|
||||
|
||||
2. **ChatGPT Plus/Pro** 옵션을 선택하고 브라우저를 열 수 있습니다.
|
||||
자주 묻는 질문
|
||||
자주 묻는 질문
|
||||
|
||||
```txt
|
||||
┌ Select auth method
|
||||
@@ -1353,7 +1359,7 @@ OpenCode Zen은 OpenCode 팀에서 제공하는 테스트 및 검증된 모델
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Qwen 3 Coder 480B .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Qwen 3 Coder 480B .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1388,18 +1394,18 @@ OpenCode Zen은 OpenCode 팀에서 제공하는 테스트 및 검증된 모델
|
||||
|
||||
Opencode config를 통해 추가 모델을 추가할 수 있습니다.
|
||||
|
||||
```json title="opencode.json" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openrouter": {
|
||||
"models": {
|
||||
"somecoolnewmodel": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```json title="opencode.json" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openrouter": {
|
||||
"models": {
|
||||
"somecoolnewmodel": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
5. 당신은 또한 당신의 opencode config를 통해 그들을 주문을 받아서 만들 수 있습니다. 공급자 지정의 예입니다.
|
||||
|
||||
@@ -1432,7 +1438,7 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
|
||||
1. [SAP BTP Cockpit](https://account.hana.ondemand.com/)로 이동하여 SAP AI Core 서비스 인스턴스로 이동하고 서비스 키를 만듭니다.
|
||||
|
||||
:::tip
|
||||
서비스 키는 `clientid`, `clientsecret`, `url` 및 `serviceurls.AI_API_URL`를 포함하는 JSON 객체입니다. **Services** > **Instances 및 Subscriptions** 아래 AI Core 인스턴스를 찾을 수 있습니다.
|
||||
서비스 키는 `clientid`, `clientsecret`, `url` 및 `serviceurls.AI_API_URL`를 포함하는 JSON 객체입니다. **Services** > **Instances 및 Subscriptions** 아래 AI Core 인스턴스를 찾을 수 있습니다.
|
||||
:::
|
||||
|
||||
2. `/connect` 명령을 실행하고 **SAP AI Core**를 검색하십시오.
|
||||
@@ -1452,15 +1458,15 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
|
||||
|
||||
또는 `AICORE_SERVICE_KEY` 환경 변수를 설정:
|
||||
|
||||
```bash
|
||||
AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
|
||||
```
|
||||
```bash
|
||||
AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
|
||||
```
|
||||
|
||||
또는 bash 프로파일에 추가:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
|
||||
```
|
||||
```bash title="~/.bash_profile"
|
||||
export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
|
||||
```
|
||||
|
||||
4. 선택적으로 배치 ID 및 자원 그룹:
|
||||
|
||||
@@ -1469,7 +1475,7 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
|
||||
```
|
||||
|
||||
:::note
|
||||
이 설정은 선택 사항이며 SAP AI Core 설정에 따라 구성해야합니다.
|
||||
이 설정은 선택 사항이며 SAP AI Core 설정에 따라 구성해야합니다.
|
||||
:::
|
||||
|
||||
5. `/models` 명령을 실행하여 40+ 유효한 모형에서 선택하십시오.
|
||||
@@ -1499,7 +1505,7 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 gpt-oss-120b .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 gpt-oss-120b .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1528,7 +1534,7 @@ Opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오. devstral-2-123b-instruct-2512 또는 gpt-oss-120b .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오. devstral-2-123b-instruct-2512 또는 gpt-oss-120b .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1555,7 +1561,7 @@ Opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1582,7 +1588,7 @@ Opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Llama 3.3 70B .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Llama 3.3 70B .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1638,15 +1644,15 @@ Opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공
|
||||
|
||||
몇몇 유용한 여정 선택권:
|
||||
|
||||
| 옵션 | 설명 |
|
||||
| ------------------- | ---------------------------------------------------- |
|
||||
| `order` | 공급자의 순서 |
|
||||
| `only` | 특정 공급자 제한 |
|
||||
| 옵션 | 설명 |
|
||||
| ------------------- | --------------------------------- |
|
||||
| `order` | 공급자의 순서 |
|
||||
| `only` | 특정 공급자 제한 |
|
||||
| `zeroDataRetention` | 제로 데이터 보유 정책만 이용 가능 |
|
||||
|
||||
---
|
||||
|
||||
# # # # # # # # # # #
|
||||
#
|
||||
|
||||
1. [xAI 콘솔](https://console.x.ai/)에 머리, 계정을 만들고 API 키를 생성합니다.
|
||||
|
||||
@@ -1665,7 +1671,7 @@ Opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Grok Beta .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Grok Beta .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1694,7 +1700,7 @@ Opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 GLM-4.7 .
|
||||
4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 GLM-4.7 .
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1729,18 +1735,18 @@ Opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공
|
||||
|
||||
Opencode config를 통해 추가 모델을 추가할 수 있습니다.
|
||||
|
||||
```json title="opencode.json" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"zenmux": {
|
||||
"models": {
|
||||
"somecoolnewmodel": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```json title="opencode.json" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"zenmux": {
|
||||
"models": {
|
||||
"somecoolnewmodel": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -1778,7 +1784,7 @@ Opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
|
||||
```
|
||||
|
||||
:::note
|
||||
기억에 남는 ID를 선택하면 구성 파일에서 이것을 사용할 수 있습니다.
|
||||
기억에 남는 ID를 선택하면 구성 파일에서 이것을 사용할 수 있습니다.
|
||||
:::
|
||||
|
||||
3. 공급자를 위한 당신의 API 열쇠를 입력하십시오.
|
||||
@@ -1818,8 +1824,8 @@ Opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
|
||||
```
|
||||
|
||||
여기에 구성 옵션:
|
||||
- **npm**: AI SDK 패키지, OpenAI 호환 공급자 `@ai-sdk/openai-compatible`
|
||||
-**name**: UI의 표시 이름.
|
||||
|
||||
- **npm**: AI SDK 패키지, OpenAI 호환 공급자 `@ai-sdk/openai-compatible` -**name**: UI의 표시 이름.
|
||||
- ** 모델**: 유효한 모델.
|
||||
- **options.baseURL**: API 엔드포인트 URL.
|
||||
- **options.apiKey**: 선택적으로 auth를 사용하지 않는 경우 API 키 설정.
|
||||
@@ -1865,8 +1871,7 @@ Opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
|
||||
|
||||
구성 세부 사항:
|
||||
|
||||
- **apiKey**: `env` 변수 구문을 사용하여 설정, [learn more](/docs/config#env-vars).
|
||||
-**headers**: 각 요청으로 전송된 사용자 정의 헤더.
|
||||
- **apiKey**: `env` 변수 구문을 사용하여 설정, [learn more](/docs/config#env-vars). -**headers**: 각 요청으로 전송된 사용자 정의 헤더.
|
||||
- **limit.context**: 최대 입력 토큰 모델은 받아들입니다.
|
||||
- **limit.output**: 최대 토큰은 모델을 생성할 수 있습니다.
|
||||
|
||||
@@ -1879,11 +1884,12 @@ Opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
|
||||
공급자 구성에 문제가 있는 경우 다음을 확인하십시오.
|
||||
|
||||
1. **주의 설정 확인 **: `opencode auth list`를 실행하여 자격 증명을 볼 수 있습니다.
|
||||
공급자는 config에 추가됩니다.
|
||||
공급자는 config에 추가됩니다.
|
||||
|
||||
이것은 Amazon Bedrock과 같은 공급자에 적용되지 않습니다. 환경 변수에 의존합니다.
|
||||
|
||||
2. 주문 공급자를 위해, opencode config를 검사하고:
|
||||
|
||||
- `/connect` 명령에 사용되는 공급자 ID가 opencode config에서 ID를 일치시킵니다.
|
||||
- 오른쪽 npm 패키지는 공급자에 사용됩니다. 예를 들어 Cerebras의 `@ai-sdk/cerebras`를 사용합니다. 그리고 다른 모든 OpenAI 호환 공급자를 위해, 사용 `@ai-sdk/openai-compatible`.
|
||||
- 올바른 API 엔드포인트는 `options.baseURL` 필드에 사용됩니다.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user