II.
AgentVersion JSON
Structured · liveagentVersion:opencode:ge-0-0-0
OpenCode json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "agentVersion:opencode:ge-0-0-0",
"_kind": "AgentVersion",
"_file": "agent-stack/versions/opencode-1-x.yaml",
"_cluster": "agent-stack",
"attributes": {
"agentId": "opencode",
"aliases": [],
"runtimeFamily": "cli-harness",
"releaseChannel": "stable",
"displayName": "OpenCode",
"summary": "Terminal-native coding agent with configurable providers",
"sourcePackage": "opencode",
"osSupport": [
"linux",
"macos",
"windows"
],
"agentProductId": "agent:opencode",
"versionRange": ">=0.0.0",
"releasedAt": "2025-01-01",
"cliCommand": "opencode",
"installMethods": [
"install:npm",
"install:brew",
"install:curl"
],
"minSchemaVersion": "6.0.0",
"hookSupport": {
"interactive": {
"sessionStart": "native",
"stop": "emulated",
"userPromptSubmit": "native",
"preToolUse": "native",
"sessionEnd": "native"
},
"nonInteractive": {
"sessionStart": "emulated",
"stop": "unsupported",
"userPromptSubmit": "unsupported",
"preToolUse": "unsupported",
"sessionEnd": "unsupported"
}
},
"bridgeCapabilities": {
"interactiveBridge": true,
"sessionResume": true,
"positionalPrompt": true
}
},
"outgoingEdges": [
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "agent:opencode",
"kind": "version_of"
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "agent-core-impl:opencode.core@1.x",
"kind": "composed_of",
"attributes": {
"role": "core"
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "agent-runtime-impl:opencode.runtime@1.x",
"kind": "composed_of",
"attributes": {
"role": "runtime"
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "agent-platform-impl:opencode.platform@1.x",
"kind": "composed_of",
"attributes": {
"role": "platform"
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "agent-ui-impl:opencode.ui@current",
"kind": "composed_of",
"attributes": {
"role": "ui"
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "knowledge-fabric-impl:opencode.knowledge@current",
"kind": "composed_of",
"attributes": {
"role": "knowledge-fabric"
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:skills",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode documents reusable command surfaces — first-party basis for the local skills abstraction."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:supports-thinking",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode documented as an interactive terminal coding surface backed by configurable providers."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:interactive-mode",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Interactive terminal use documented directly in OpenCode TUI docs."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:stdin-injection",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public docs thinner for non-interactive prompt injection; local fallback metadata remains primary."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:vision-input",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public OpenCode docs lack strong technical detail for image input."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:runtime-hooks",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode plugins expose hook-based extensibility — first-party basis for runtime hooks."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:stop-hook",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Local ontology normalizes stop-hook separately; first-party support is the broader plugin hook system."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "capability:can-resume",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public OpenCode docs describe where sessions are stored."
}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "memory-system:file-based-markdown-pattern",
"kind": "uses_memory_system",
"attributes": {}
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "install:npm",
"kind": "installed_via"
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "install:brew",
"kind": "installed_via"
},
{
"from": "agentVersion:opencode:ge-0-0-0",
"to": "install:curl",
"kind": "installed_via"
}
],
"incomingEdges": [
{
"from": "knowledge-fabric-impl:opencode.knowledge@current",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "composes",
"attributes": {
"role": "knowledge-fabric"
}
},
{
"from": "agent:opencode",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "has_version"
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:skills",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:thinking",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:interactive-mode",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:stdin-injection",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:image-input",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:runtime-hooks",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:stop-hook",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "capabilitySupport:opencode:ge-0-0-0:session-resume",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "capability_of_version",
"attributes": {}
},
{
"from": "hook-mapping:opencode-session-idle",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:opencode-shell-env",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:opencode-on-step",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:post-tool-use-opencode",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "mux:agent-launch-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:agent-comm-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:session-storage-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:agent-config-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:hooks-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:extension-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:tool-mux",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "lifecycle-semantics:opencode",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "applies_to_version",
"attributes": {}
},
{
"from": "session-semantics:opencode",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "applies_to_version",
"attributes": {}
}
]
}