Просмотр исходного кода

docs: add custom tools section to plugins documentation

Dax Raad 5 месяцев назад
Родитель
Сommit
5f2945ae71
1 измененных файлов с 34 добавлено и 0 удалено
  1. 34 0
      packages/web/src/content/docs/plugins.mdx

+ 34 - 0
packages/web/src/content/docs/plugins.mdx

@@ -103,3 +103,37 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
   }
 }
 ```
+
+---
+
+### Custom tools
+
+Create custom tools that opencode can use:
+
+```ts title=".opencode/plugin/custom-tools.ts"
+import type { Plugin, tool } from "@opencode-ai/plugin"
+
+export const CustomToolsPlugin: Plugin = async (ctx) => {
+  return {
+    tool: {
+      mytool: tool((zod) => ({
+        description: "This is a custom tool",
+        args: {
+          foo: zod.string(),
+        },
+        async execute(args, ctx) {
+          return `Hello ${args.foo}!`
+        },
+      })),
+    },
+  }
+}
+```
+
+The `tool` helper creates a custom tool that opencode can call. It takes a Zod schema function and returns a tool definition with:
+
+- `description`: What the tool does
+- `args`: Zod schema for the tool's arguments
+- `execute`: Function that runs when the tool is called
+
+Your custom tools will be available to opencode alongside built-in tools.