mirror of
https://github.com/sst/opencode.git
synced 2025-09-27 14:59:10 +00:00
This commit is contained in:
parent
5d871b2075
commit
fc73d3c523
1 changed files with 138 additions and 2 deletions
|
@ -5,6 +5,127 @@ description: Configure and use specialized agents in opencode.
|
||||||
|
|
||||||
Agents are specialized AI assistants that can be configured for specific tasks and workflows. They allow you to create focused tools with custom prompts, models, and tool access.
|
Agents are specialized AI assistants that can be configured for specific tasks and workflows. They allow you to create focused tools with custom prompts, models, and tool access.
|
||||||
|
|
||||||
|
## Creating Agents
|
||||||
|
|
||||||
|
You can create new agents using the `opencode agent create` command. This interactive command will:
|
||||||
|
|
||||||
|
1. Ask where to save the agent (global or project-specific)
|
||||||
|
2. Prompt for a description of what the agent should do
|
||||||
|
3. Generate an appropriate system prompt and identifier
|
||||||
|
4. Let you select which tools the agent can access
|
||||||
|
5. Create a markdown file with the agent configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
opencode agent create
|
||||||
|
```
|
||||||
|
|
||||||
|
The command will guide you through the process and automatically generate a well-structured agent based on your requirements.
|
||||||
|
|
||||||
|
## Built-in Agents
|
||||||
|
|
||||||
|
opencode comes with a built-in `general` agent:
|
||||||
|
|
||||||
|
- **general** - General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. Use this when searching for keywords or files and you're not confident you'll find the right match in the first few tries.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Agents can be configured in your `opencode.json` config file or as markdown files.
|
||||||
|
|
||||||
|
### JSON Configuration
|
||||||
|
|
||||||
|
```json title="opencode.json"
|
||||||
|
{
|
||||||
|
"$schema": "https://opencode.ai/config.json",
|
||||||
|
"agent": {
|
||||||
|
"code-reviewer": {
|
||||||
|
"description": "Reviews code for best practices and potential issues",
|
||||||
|
"model": "anthropic/claude-sonnet-4-20250514",
|
||||||
|
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||||||
|
"tools": {
|
||||||
|
"write": false,
|
||||||
|
"edit": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"test-writer": {
|
||||||
|
"description": "Specialized agent for writing comprehensive tests",
|
||||||
|
"prompt": "You are a test writing specialist. Write thorough, maintainable tests.",
|
||||||
|
"tools": {
|
||||||
|
"bash": true,
|
||||||
|
"read": true,
|
||||||
|
"write": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Markdown Configuration
|
||||||
|
|
||||||
|
You can also define agents using markdown files. Place them in:
|
||||||
|
|
||||||
|
- Global: `~/.config/opencode/agent/`
|
||||||
|
- Project: `.opencode/agent/`
|
||||||
|
|
||||||
|
```markdown title="~/.config/opencode/agent/code-reviewer.md"
|
||||||
|
---
|
||||||
|
description: Reviews code for best practices and potential issues
|
||||||
|
model: anthropic/claude-sonnet-4-20250514
|
||||||
|
tools:
|
||||||
|
write: false
|
||||||
|
edit: false
|
||||||
|
---
|
||||||
|
|
||||||
|
You are a code reviewer with expertise in security, performance, and maintainability.
|
||||||
|
|
||||||
|
Focus on:
|
||||||
|
|
||||||
|
- Security vulnerabilities
|
||||||
|
- Performance bottlenecks
|
||||||
|
- Code maintainability
|
||||||
|
- Best practices adherence
|
||||||
|
```
|
||||||
|
|
||||||
|
## Agent Properties
|
||||||
|
|
||||||
|
### Required
|
||||||
|
|
||||||
|
- **description** - Brief description of what the agent does and when to use it
|
||||||
|
|
||||||
|
### Optional
|
||||||
|
|
||||||
|
- **model** - Specific model to use (defaults to your configured model)
|
||||||
|
- **prompt** - Custom system prompt for the agent
|
||||||
|
- **tools** - Object specifying which tools the agent can access (true/false for each tool)
|
||||||
|
- **disable** - Set to true to disable the agent
|
||||||
|
|
||||||
|
## Tool Access
|
||||||
|
|
||||||
|
By default, agents inherit the same tool access as the main assistant. You can restrict or enable specific tools:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"readonly-agent": {
|
||||||
|
"description": "Read-only agent for analysis",
|
||||||
|
"tools": {
|
||||||
|
"write": false,
|
||||||
|
"edit": false,
|
||||||
|
"bash": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Common tools you might want to control:
|
||||||
|
|
||||||
|
- `write` - Create new files
|
||||||
|
- `edit` - Modify existing files
|
||||||
|
- `bash` - Execute shell commands
|
||||||
|
- `read` - Read files
|
||||||
|
- `glob` - Search for files
|
||||||
|
- `grep` - Search file contents
|
||||||
|
|
||||||
## Using Agents
|
## Using Agents
|
||||||
|
|
||||||
Agents are automatically available through the Task tool when configured. The main assistant will use them for specialized tasks based on their descriptions.
|
Agents are automatically available through the Task tool when configured. The main assistant will use them for specialized tasks based on their descriptions.
|
||||||
|
@ -21,7 +142,7 @@ Agents are automatically available through the Task tool when configured. The ma
|
||||||
|
|
||||||
### Documentation Agent
|
### Documentation Agent
|
||||||
|
|
||||||
```markdown
|
```markdown title="~/.config/opencode/agent/docs-writer.md"
|
||||||
---
|
---
|
||||||
description: Writes and maintains project documentation
|
description: Writes and maintains project documentation
|
||||||
tools:
|
tools:
|
||||||
|
@ -29,11 +150,18 @@ tools:
|
||||||
---
|
---
|
||||||
|
|
||||||
You are a technical writer. Create clear, comprehensive documentation.
|
You are a technical writer. Create clear, comprehensive documentation.
|
||||||
|
|
||||||
|
Focus on:
|
||||||
|
|
||||||
|
- Clear explanations
|
||||||
|
- Proper structure
|
||||||
|
- Code examples
|
||||||
|
- User-friendly language
|
||||||
```
|
```
|
||||||
|
|
||||||
### Security Auditor
|
### Security Auditor
|
||||||
|
|
||||||
```markdown
|
```markdown title="~/.config/opencode/agent/security-auditor.md"
|
||||||
---
|
---
|
||||||
description: Performs security audits and identifies vulnerabilities
|
description: Performs security audits and identifies vulnerabilities
|
||||||
tools:
|
tools:
|
||||||
|
@ -42,4 +170,12 @@ tools:
|
||||||
---
|
---
|
||||||
|
|
||||||
You are a security expert. Focus on identifying potential security issues.
|
You are a security expert. Focus on identifying potential security issues.
|
||||||
|
|
||||||
|
Look for:
|
||||||
|
|
||||||
|
- Input validation vulnerabilities
|
||||||
|
- Authentication and authorization flaws
|
||||||
|
- Data exposure risks
|
||||||
|
- Dependency vulnerabilities
|
||||||
|
- Configuration security issues
|
||||||
```
|
```
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue