跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    中文English
    anis-dr

    Debug Agent

    v0.1.7其他
    opencode-debug-agent

    OpenCode plugin for runtime debugging - capture and analyze execution data

    GitHub 星标

    1

    月装机量

    86

    近 7 天 13

    综合评分SCORE

    24.4

    生态多维模型

    最近提交

    6 个月前

    2026-02-16

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-debug-agent@0.1.7"]
    }

    opencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    OpenCode plugin for runtime debugging - capture and analyze execution data via HTTP instrumentation.

    Features

    • Debug Agent - Primary agent specialized for debugging workflows
    • Debug Skill - Use debugging tools from any agent via skill({ name: "debug" })
    • HTTP Server - Hono-based server with CORS support for browser/Node instrumentation
    • Port Persistence - Server remembers its port across sessions
    • 5 Tools - debug_start, debug_stop, debug_read, debug_clear, debug_status

    Installation

    Add to your opencode.json:

    {
      "plugin": ["opencode-debug-agent"]
    }
    

    Or for local development, copy to .opencode/plugin/.

    Usage

    Using the Debug Agent

    Switch to the debug agent (Tab key) and describe your issue. The agent will:

    1. Start the debug server
    2. Instrument your code with fetch() calls
    3. Ask you to reproduce the issue
    4. Analyze captured logs
    5. Help identify the problem
    6. Clean up instrumentation

    Using the Debug Skill (from any agent)

    Load the debug skill and help me debug this API timeout issue.
    

    The build agent can then use all debug tools.

    Manual Tool Usage

    debug_start          # Start server, get instrumentation snippet
    debug_status         # Check if server running, get port
    debug_read           # Read captured logs
    debug_read(tail: 10) # Read last 10 entries
    debug_clear          # Clear log file
    debug_stop           # Stop server
    

    How It Works

    1. Start server: debug_start launches an HTTP server and returns a ready-to-use fetch() snippet
    2. Instrument code: Insert the snippet at strategic locations to capture runtime data
    3. Reproduce issue: User runs their code normally
    4. Analyze logs: debug_read returns captured data as structured JSON
    5. Clean up: debug_stop and remove instrumentation

    Instrumentation Example

    // Snippet returned by debug_start:
    fetch("http://localhost:54321/log", {
      method: "POST",
      headers: {"Content-Type": "application/json"},
      body: JSON.stringify({label: "LABEL_HERE", data: {YOUR_DATA}})
    })
    
    // Used in code:
    fetch("http://localhost:54321/log", {
      method: "POST", 
      headers: {"Content-Type": "application/json"},
      body: JSON.stringify({label: "before-api", data: {userId, params}})
    })
    

    Files

    • .opencode/debug.log - NDJSON log file
    • .opencode/debug.port - Persisted port number

    Development

    bun install
    mise run build
    mise run test
    mise run lint
    

    License

    MIT