2.8 KiB
2.8 KiB
| display_name | icon | description | verified | tags | ||||
|---|---|---|---|---|---|---|---|---|
| OpenCode | ../../../../.icons/opencode.svg | Run OpenCode AI coding assistant for AI-powered terminal assistance | false |
|
OpenCode
Run OpenCode AI coding assistant in your workspace for intelligent code generation, analysis, and development assistance. This module integrates with AgentAPI for seamless task reporting in the Coder UI.
module "opencode" {
source = "registry.coder.com/coder-labs/opencode/coder"
version = "0.1.1"
agent_id = coder_agent.main.id
workdir = "/home/coder/project"
}
Prerequisites
- Authentication credentials - OpenCode auth.json file is required for non-interactive authentication, you can find this file on your system:
$HOME/.local/share/opencode/auth.json
Examples
Basic Usage with Tasks
resource "coder_ai_task" "task" {
app_id = module.opencode.task_app_id
}
module "opencode" {
source = "registry.coder.com/coder-labs/opencode/coder"
version = "0.1.1"
agent_id = coder_agent.main.id
workdir = "/home/coder/project"
ai_prompt = coder_ai_task.task.prompt
auth_json = <<-EOT
{
"google": {
"type": "api",
"key": "gem-xxx-xxxx"
},
"anthropic": {
"type": "api",
"key": "sk-ant-api03-xxx-xxxxxxx"
}
}
EOT
config_json = jsonencode({
"$schema" = "https://opencode.ai/config.json"
mcp = {
filesystem = {
command = ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/home/coder/projects"]
enabled = true
type = "local"
environment = {
SOME_VARIABLE_X = "value"
}
}
playwright = {
command = ["npx", "-y", "@playwright/mcp@latest", "--headless", "--isolated"]
enabled = true
type = "local"
}
}
model = "anthropic/claude-sonnet-4-20250514"
})
pre_install_script = <<-EOT
#!/bin/bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
EOT
}
Standalone CLI Mode
Run OpenCode as a command-line tool without web interface or task reporting:
module "opencode" {
source = "registry.coder.com/coder-labs/opencode/coder"
version = "0.1.1"
agent_id = coder_agent.main.id
workdir = "/home/coder"
report_tasks = false
cli_app = true
}
Troubleshooting
If you encounter any issues, check the log files in the ~/.opencode-module directory within your workspace for detailed information.