mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-01 18:26:38 +00:00
chore: generate
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user