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

    Poke

    v0.1.5智能体编排
    opencode-poke

    OpenCode TUI plugin to interact with stuck subagents — abort, retry, or send instructions to frozen child sessions

    GitHub 星标

    1

    月装机量

    37

    近 7 天 10

    综合评分SCORE

    28.6

    生态多维模型

    最近提交

    2 个月前

    2026-06-10

    快速安装与配置

    opencode.json

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

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-poke@0.1.5"]
    }

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

    npm version npm downloads license

    OpenCode TUI plugin to interact with stuck agents and subagents — abort, retry, or send instructions to frozen sessions.

    What it does

    • Auto-detects what's stuck — checks busy subagents first, then the main agent
    • Abort — kills a stuck session so the parent can retry
    • Abort + send message — kills it, then sends a follow-up message so it resumes with new instructions
    • Abort + poke parent — kills a stuck subagent and tells the parent to retry the task
    • Works on both agents and subagents — one command handles everything

    Why

    OpenCode subagents can freeze when an LLM provider silently drops an SSE connection or stops sending chunks. The main agent has ESC + "continue" as a workaround, but subagents have no equivalent — they just hang forever with no way to interact. This plugin gives you a way to unstick them.

    See anomalyco/opencode#13841 for the upstream issue.

    Install

    opencode plugin opencode-poke -g
    

    This installs the package globally and updates your tui.json automatically.

    Or manually:

    npm install -g opencode-poke
    

    Then add to your tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["opencode-poke"]
    }
    

    Usage

    Open the command palette and select "Poke", or bind a keyboard shortcut (see below).

    Add a keyboard shortcut

    Add to your tui.json:

    {
      "tui": {
        "keybinds": {
          "poke.global": {
            "poke.session": "ctrl+k"
          }
        }
      }
    }
    

    Replace ctrl+k with whatever key combo you prefer.

    Flow

    1. Press your keybinding or select "Poke" from the command palette
    2. If one session is stuck, you go straight to the action picker
    3. If multiple are stuck, you pick which one first
    4. Choose an action:
      • Abort — stop the session
      • Abort + send message — stop it, then send a message to resume with new context
      • Abort + poke parent — stop a subagent and tell the parent to retry (subagents only)

    Development

    bun install
    bun run typecheck
    bun run build
    

    Releasing

    Releases are automated via GitHub Actions. To cut a new release:

    npm version patch   # or minor / major
    git push --follow-tags
    

    The publish workflow builds, publishes to npm with provenance, and creates a GitHub Release with auto-generated notes.

    License

    MIT