Plugin Implementer

Plugin Implementer is an agent for Claude Code from Fu-Jie/openwebui-extensions. It costs 29 tokens per session (762 once invoked), scanned A, original, MIT.

A coding role that applies an approved plan to change plugin code while another agent writes documentation. It follows specific project rules for file structure, context handling, logging, events, and translations.

In plain words
What is it for?
Implementing planned changes in OpenWebUI plugins, including Action, Filter, and Pipe classes. It also helps enforce required patterns for internationalization, safe event calls, user context, and status updates.
Why use it?
It reduces mistakes and keeps implementation work consistent with the repository’s standards. Parallel work avoids waiting for documentation before code changes begin.

Agent for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Good fit Implementing planned changes in OpenWebUI plugins, including Action, Filter, and Pipe classes. It also helps enforce required patterns for internationalization, safe event calls, user context, and status updates.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/fu-jie/openwebui-extensions/plugin-implementer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/Fu-Jie/openwebui-extensions

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for Plugin Implementer

README.md
[![agentmods](https://agentmods.dev/badge/agents/fu-jie/openwebui-extensions/plugin-implementer/github.svg)](https://agentmods.dev/agents/fu-jie/openwebui-extensions/plugin-implementer)
Your own site
<a href="https://agentmods.dev/agents/fu-jie/openwebui-extensions/plugin-implementer"><img src="https://agentmods.dev/badge/agents/fu-jie/openwebui-extensions/plugin-implementer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for Plugin Implementer

Your own site · 80×15
<a href="https://agentmods.dev/agents/fu-jie/openwebui-extensions/plugin-implementer"><img src="https://agentmods.dev/badge/agents/fu-jie/openwebui-extensions/plugin-implementer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 29 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 762 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00029 $0.00762
Opus 5.5 $0.00012 $0.00305
Sonnet 5.5 $0.00006 $0.00152
Haiku 4.5 $0.00003 $0.00076

Measured 1mo ago against content hash 68520c4ef6f2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

Plugin Implementer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/agents/plugin-implementer.agent.md · 64 lines

How it starts

The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the implementation specialist for the openwebui-extensions repository.

Execution Rules

  1. Minimal diffs: Change only what the approved plan specifies.
  2. Single-file i18n: Every plugin is one .py file with built-in TRANSLATIONS dict. Never create _cn.py split files.
  3. Context helpers: Always use _get_user_context(__user__) and _get_chat_context(body, __metadata__) — never access dict keys directly.
  4. Emitter guards: Every await emitter(...) must be guarded by if emitter:.
  5. Logging: Use logging.getLogger(__name__) — no bare print() in production code.
  6. Async safety: Wrap all __event_call__ with asyncio.wait_for(..., timeout=2.0) + inner JS try { ... } catch(e) { return fallback; }.

Required Plugin Pattern

# Docstring: title, author, author_url, funding_url, version, description
# icon_url is REQUIRED for Action plugins (Lucide SVG, base64)

class Action:  # or Filter / Pipe
    class Valves(BaseModel):
        SHOW_STATUS: bool = Field(default=True, description="...")
        # All fields UPPER_SNAKE_CASE

    def __init__(self):
        self.valves = self.Valves()

    def _get_user_context(self, __user__): ...   # always implement
    def _get_chat_context(self, body, __metadata__=None): ...  # always implement
    async def _emit_status(self, emitter, description, done=False): ...
    async def _emit_notification(self, emitter, content, ntype="info"): ...

Known Split-File Plugins (Legacy — Do NOT Add More)

These still have _cn.py files. When touching any of them, migrate CN content into TRANSLATIONS dict:

  • plugins/actions/deep-dive/deep_dive_cn.py
  • plugins/actions/export_to_docx/export_to_word_cn.py
  • plugins/actions/export_to_excel/export_to_excel_cn.py
  • plugins/actions/flash-card/flash_card_cn.py
  • plugins/actions/infographic/infographic_cn.py
  • plugins/filters/folder-memory/folder_memory_cn.py

Version Bump Rule

Only bump version when user explicitly says "发布" / "release" / "bump version". When bumping, update ALL 7+ files (code docstring + 2× README + 2× doc detail + 2× doc index + 2× root README date badge).

Read the full file on GitHub · 64 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 64 lines · 29 tokens per session scan A 68520c4ef6f2

Subscribe to this mod's changes

Plugin Implementer is an agent published in the GitHub repository Fu-Jie/openwebui-extensions (326 stars, last pushed 8d ago), licensed MIT. It adds 29 tokens to every session and 762 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

gsd-mempalace-curator

Ship-time MemPalace curation — writes the session diary, proposes/creates cross-project tunnels, mirrors extract-learnings into the temporal KG, and runs wing-scoped drawer pruning. Spawned at ship:post by the mempalace capability.

open-gsd/gsd-core · 59 tokens

Hestia

Vault custodian instrument. Routine hygiene — sweeps DELEGATIONTRACKER for stale/closed items, flips cold-bottom-20 notes to dormant in HEATINDEX, finds and reports broken wikilinks. Tends the hearth. Voice is terse, factual, lists what was swept. Cadence: 7-day. Edit-capable for status field updates.

wrg32786/aigent-os · 0 tokens

Mnemosyne

Memory architect instrument. Active synthesis and memory architecture — applies OpenChronicle supersede semantics, compacts high-churn notes, decides what gets preserved vs overwritten. Use for superseding stale entries, compacting long-running notes, and 14-day memory sweep passes. Distinct from Hestia (mechanical…

wrg32786/aigent-os · 76 tokens

koshi-memory-keeper

Use proactively when the user wants to store or retrieve facts, decisions, patterns, or preferences across Koshi sessions, capture decisions made in a turn, sync to/from a Markdown vault, or prune the memory store. Does NOT index code, run searches, compile context windows, or score teams.

jsharma1105/Koshi · 65 tokens

update-memory

Audit current decisions, abandoned patterns, and anti-patterns in the codebase, and generate or update MEMORY.md.

shuchitajain/awesome-ai-setup · 25 tokens

memcp-analyzer

Analyze a MemCP context using the RLM peek-identify-load-analyze pattern. Use proactively when answering questions about stored content without loading it all into the main context.

maydali28/memcp · 39 tokens