Skip to content

Agent Loop Plugin for OpenCode - Task continuation and iteration loops

Notifications You must be signed in to change notification settings

rwese/agent-loop-plugin

Repository files navigation

Task Continuation Plugin

Minimal task continuation plugin for OpenCode - automatically continues sessions when incomplete tasks remain.

Overview

This plugin provides task continuation functionality:

  1. Task Continuation: Automatically continues sessions when incomplete todos remain

Perfect for:

  • Multi-step task execution with automatic continuation
  • Long-running agent workflows
  • Preventing premature session termination
  • Ensuring all tasks in a todo list are completed

Installation

npm install @frugally3683/agent-loop-plugin

Usage

import agentLoopPlugin from "@frugally3683/agent-loop-plugin"

export default agentLoopPlugin

Configuration

The plugin can be configured with the following options:

{
  countdownSeconds: 2,        // Seconds to wait before auto-continuation
  errorCooldownMs: 3000,      // Cooldown period after errors
  toastDurationMs: 900,       // Toast notification duration
  agent: "custom-agent",      // Agent name for continuation prompts
  model: "custom-model",      // Model name for continuation prompts
  logFilePath: "path/to/log", // Path to log file for debugging
}

Features

  • Automatic Continuation: Sessions automatically continue when incomplete tasks remain
  • User Message Handling: Cancels pending continuations when users send new messages
  • Error Handling: Graceful handling of session errors with cooldown periods
  • Recovery Support: Sessions can be marked as recovering to pause auto-continuation

API

Plugin Export

import { agentLoopPlugin, createTaskContinuation } from "@frugally3683/agent-loop-plugin"

Task Continuation API

const continuation = createTaskContinuation(input, options)

continuation.handler({ event }) // Handle session events
continuation.cleanup() // Cleanup resources
continuation.scheduleContinuation(sessionID) // Manually schedule continuation
continuation.markRecovering(sessionID) // Mark session as recovering
continuation.markRecoveryComplete(sessionID) // Mark recovery as complete
continuation.cancel(sessionID) // Cancel pending continuation

License

MIT

About

Agent Loop Plugin for OpenCode - Task continuation and iteration loops

Resources

Stars

Watchers

Forks

Packages