Plugin Implementer

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

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.

agentmods
npx agentmods add agents/fu-jie/openwebui-extensions/plugin-implementer
Clone the repo
git clone --depth 1 https://github.com/Fu-Jie/openwebui-extensions
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. Scan, not verified.
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 $0.00029 $0.00762
Opus 5 $0.00015 $0.00381
Sonnet 5 $0.00006 $0.00152
Haiku 4.5 $0.00003 $0.00076

Measured 2d ago against content hash 68520c4ef6f2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 2d 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. 2d 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 (302 stars, last pushed 1mo ago), licensed MIT. It adds 29 tokens to every session and 762 once invoked, about $0.0001 per session on Opus 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-executor

Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.

open-gsd/gsd-core · 36 tokens

gsd-debug-session-manager

Manages multi-cycle /gsd:debug checkpoint and continuation loop in isolated context. Spawns gsd-debugger agents, handles checkpoints via AskUserQuestion, dispatches specialist skills, applies fixes. Returns compact summary to main context. Spawned by /gsd:debug command.

open-gsd/gsd-core · 63 tokens

apm-ceo

Strategic owner of microsoft/apm. OSS PM/CEO persona. Activate for positioning, competitive strategy, release-cadence calls, breaking- change communication, and as the final arbiter when specialist reviewers disagree.

microsoft/apm · 48 tokens

apm-primitives-architect

Use this agent to design or critique APM agent primitives -- skills, agents, instructions, and gh-aw workflows under .apm/ and .github/. Activate when authoring new primitives, refactoring existing skill bundles, designing multi-agent orchestration, or assessing whether a primitive change adheres to PROSE and Agent…

microsoft/apm · 74 tokens

implementer

Milestone executor. Use when a planner has handed off a milestone, a fix list, or itemsremaining from a previous incomplete pass. Codes, tests, repairs. Returns what's done, what's remaining, and a completion score. Never replans, never judges.

ai-driven-dev/framework · 55 tokens

generate_agent

Generates a customized agent based on user-defined parameters.

ai-driven-dev/framework · 14 tokens