npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

opencode-tasksync

v1.3.0

Published

OpenCode plugin for TaskSync — persistent daemon feedback loop for AI coding agents

Readme

opencode-tasksync

OpenCode plugin for TaskSync — human-in-the-loop feedback for AI coding agents.

Your agents call get_feedback, you reply via the web UI or Telegram, they keep working. Connections survive server restarts. Images appear natively in the conversation. Remote mode lets you respond from your phone.

What You Get

  • get_feedback tool — Blocks until you submit feedback via the TaskSync web UI or Telegram
  • daemon agent — Pre-configured agent that maintains a continuous work → feedback → work loop
  • Agent augmentation — Inject the feedback loop into your existing agents (ask, build, plan, general, or *) with one config line
  • Unbreakable connections — SSE with keepalives + automatic reconnection through server restarts and network blips (1s → 15s exponential backoff). The agent never sees transient errors.
  • Native images — Attached images injected directly into the LLM conversation via tool.execute.after hook. No temp files.
  • Remote mode — Get Telegram notifications with the agent's context when it's waiting. Quick-reply buttons or free-text responses, delivered straight back to the agent.
  • FYI updates — When the agent works for 30+ seconds without asking for feedback, you get a status update on Telegram.

Prerequisites

Start the TaskSync server:

npx tasksync-mcp-http

For remote mode, also set up a Telegram bot.

Install

Add to ~/.config/opencode/opencode.json:

{
  "plugin": ["opencode-tasksync"]
}

OpenCode auto-installs npm plugins at startup. Start OpenCode — a daemon agent is immediately available.

Configure

Create ~/.tasksync/config.json (global) or .tasksync/config.json (project):

{
  "serverUrl": "http://localhost:3456",
  "augmentAgents": ["ask", "build", "plan"],
  "overlayStyle": "full"
}

| Setting | Default | Description | |---------|---------|-------------| | serverUrl | http://localhost:3456 | TaskSync server URL | | augmentAgents | [] | Agents to augment with feedback loop (["*"] or "*" for wildcard) | | overlayStyle | "full" | Overlay detail: "full" (120 lines) or "compact" (50 lines) |

augmentAgents accepts either array form (e.g., ["ask", "build"]) or string form (e.g., "ask,build" or "*").

Environment overrides: TASKSYNC_SERVER_URL, TASKSYNC_AUGMENT_AGENTS (comma-separated, e.g. ask,build,plan,general or *), TASKSYNC_OVERLAY_STYLE.

How It Works

  1. SSE transportget_feedback opens an SSE stream to the server. 30-second keepalives prevent idle timeouts. If the connection drops, the plugin retries silently with exponential backoff.
  2. Agent context capture — The experimental.text.complete hook captures the agent's response text before tool execution. This text is forwarded to Telegram when remote mode is enabled.
  3. Native image injection — The tool.execute.after hook injects feedback images as FilePart attachments on the tool result, so the LLM sees them directly.
  4. FYI timer — If the agent writes text but doesn't call get_feedback within 30 seconds, a status update is sent to your notification channels.
  5. Config injection — The plugin adds a daemon agent and optionally augments existing agents with the feedback loop protocol.

For augmented agents, the overlay is appended at runtime (via experimental.chat.system.transform) so built-in OpenCode prompts are preserved.

Local Development

cd opencode-plugin
npm install && npm run build

Point to the local path in opencode.json:

{
  "plugin": ["/path/to/tasksync-mcp/opencode-plugin"]
}

Rebuild with npm run build after changes, then restart OpenCode.

Full Documentation

See the OpenCode Plugin Guide for agent augmentation, overlay styles, remote mode setup, and troubleshooting.

License

MIT