Skip to content

Community Plugins

Community plugins live in the SimpleContext-Plugin repository.


Submit Your Plugin

1. Fork the registry repo

git clone https://github.com/zacxyonly/SimpleContext-Plugin
cd SimpleContext-Plugin

2. Copy the starter template

cp -r templates/plugin-starter community/plugin-your-name
cd community/plugin-your-name

3. Build your plugin

Edit my_plugin.py — rename the class and implement the hooks you need.

Minimum viable plugin:

from simplecontext.plugins.base import BasePlugin

class MyPlugin(BasePlugin):
    name        = "my_plugin"
    version     = "1.0.0"
    description = "What this plugin does."

    def on_before_llm(self, user_id, agent_id, messages):
        # Your logic here
        return messages

4. Add documentation

Update README.md with: - What the plugin does - Installation instructions - Config options - Example output

5. Submit a Pull Request

Title: [Community Plugin] plugin-name


Plugin Requirements

Before submitting, verify:

  • [ ] Class inherits BasePlugin with name, version, description
  • [ ] All hooks that return values return the correct type (list or str)
  • [ ] No hardcoded API keys or credentials
  • [ ] README.md includes install, config, and example
  • [ ] Tested with SimpleContext v4.3+

Plugin Ideas

These plugins are listed in the Call for Contributors and would be valuable additions:

Plugin Description
plugin-auto-tagger Auto-tag messages based on keyword rules
plugin-summarizer Auto-compress working memory to episodic via LLM
plugin-sentiment Detect user sentiment, store in metadata
plugin-rate-limiter Limit request frequency per user
plugin-webhook Send events to external HTTP endpoints
plugin-translate Auto-translate messages to a configured language
plugin-analytics Usage dashboard with stats per user/agent

Review Process

  1. Automated checks run on your PR (syntax, import test, structure)
  2. Maintainer review within ~3 business days
  3. Feedback if changes needed
  4. Merged when approved 🎉

Plugin Structure in Registry

community/
└── plugin-your-name/
    ├── your_plugin.py   ← plugin file (this goes in ./plugins/)
    └── README.md        ← documentation

Users install community plugins by copying the .py file to their plugins/ folder:

cp community/plugin-your-name/your_plugin.py ./plugins/