Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

╭──────────────────────────────────────────────╮
│  ◈  B O T P L U G I N   M A S T E R  ◈       │
│      AstrBot extensions for daily ops        │
╰──────────────────────────────────────────────╯

BotPlugin Master

A focused collection of lightweight AstrBot plugins for research intelligence, platform operations, and local Agent operations.

Runtime: AstrBot Python: 3.12 Plugins: 4 License: MIT

English · 中文

Project Positioning

BotPlugin Master is a collection of AstrBot plugins for personal and small self-hosted deployments. Each plugin has its own directory, configuration, and documentation, with explicit input boundaries, readable alerts, and a strict rule against committing runtime secrets.

The repository currently covers three workflows:

  • Research intelligence: discover new arXiv papers from a Zotero interest profile and generate a Chinese digest.
  • Platform operations: monitor sub2api channel balances, multipliers, and operational changes.
  • Agent operations: watch local Codex CLI rollout events and notify operators about completion or unexpected termination.
  • Creative operations: generate or edit Oli images with a daily quota and an owner-signal quota reset.
  • Status queries: Codex Radar intelligence-efficiency snapshots rendered as Oli GPT status images.

Plugin Matrix

Domain Plugin Scope Primary dependencies Documentation
Research zotero_arxiv_digest Zotero profiling, arXiv retrieval, relevance scoring, and LLM digests Zotero API, arXiv API, AstrBot LLM English · 中文
Operations sub2api_balance_monitor Upstream balances, low-balance alerts, group multiplier changes, and session binding PostgreSQL, upstream HTTP APIs English · 中文
Agent Ops astrbot_plugin_codex_monitor Rollout events, completion notifications, unexpected-stop diagnostics, and status queries Local Codex CLI sessions, AstrBot messaging platform English · 中文
Creative astrbot_plugin_oli_image_generation OpenAI-compatible image generation, image editing, daily quota, and owner-signal reset Image API, AstrBot messaging platform English · 中文
Status astrbot_plugin_oli_gpt_status /gpt状态 Codex Radar intelligence-efficiency ranking image Codex Radar public API, Pillow, AstrBot English · 中文

Quick Start

1. Clone the repository

git clone git@github.com:GZWSAMA/BotPlugin_Master.git
cd BotPlugin_Master

2. Install the required plugins

Copy the plugin directories you need into the AstrBot plugin directory:

cp -r plugins/zotero_arxiv_digest <astrbot-root>/data/plugins/
cp -r plugins/sub2api_balance_monitor <astrbot-root>/data/plugins/
cp -r plugins/astrbot_plugin_codex_monitor <astrbot-root>/data/plugins/
cp -r plugins/astrbot_plugin_oli_image_generation <astrbot-root>/data/plugins/
cp -r plugins/astrbot_plugin_oli_gpt_status <astrbot-root>/data/plugins/

When installing only one plugin, copy only its corresponding line. Install additional dependencies inside the AstrBot environment:

python -m pip install -r <astrbot-root>/data/plugins/zotero_arxiv_digest/requirements.txt
python -m pip install -r <astrbot-root>/data/plugins/sub2api_balance_monitor/requirements.txt
python -m pip install -r <astrbot-root>/data/plugins/astrbot_plugin_oli_gpt_status/requirements.txt

The Codex task monitor has no additional Python dependencies.

3. Configure and restart AstrBot

Each plugin includes a sanitized config.example.json. For plugins that use plugin_data configuration files, copy the template first:

mkdir -p <astrbot-root>/data/plugin_data/<plugin-name>
cp plugins/<plugin-name>/config.example.json <astrbot-root>/data/plugin_data/<plugin-name>/config.json

Plugins that provide _conf_schema.json use AstrBot-generated configuration. Fill it in through the WebUI or the generated data/config/_config.json, then restart AstrBot. Never copy real runtime configuration back into this repository.

Configuration and Runtime Data

Plugin Configuration Runtime data
zotero_arxiv_digest data/plugin_data/zotero_arxiv_digest/config.json Digest state and interest-profile cache
sub2api_balance_monitor data/plugin_data/sub2api_balance_monitor/config.json Alert, multiplier, and probe snapshots
astrbot_plugin_codex_monitor data/config/astrbot_plugin_codex_monitor_config.json data/plugin_data/astrbot_plugin_codex_monitor/monitor_state.json
astrbot_plugin_oli_image_generation data/config/astrbot_plugin_oli_image_generation_config.json data/plugin_data/astrbot_plugin_oli_image_generation/daily_quota.json and generated images
astrbot_plugin_oli_gpt_status data/config/astrbot_plugin_oli_gpt_status_config.json Generated images under data/plugin_data/astrbot_plugin_oli_gpt_status/snapshots/

Configuration templates describe structure only. They do not contain real API keys, tokens, passwords, session IDs, or QQ OpenIDs. The Codex monitor may also read rollout logs containing prompts, tool arguments, and final replies; configure its target session explicitly and only send data to a session you control.

Release Standards

Every plugin directory should contain at least:

  • metadata.yaml: plugin name, version, author, and a professional description.
  • README.md and README.zh-CN.md: installation, configuration, runtime boundaries, and security notes.
  • config.example.json: a sanitized, copyable configuration template.
  • requirements.txt: only when extra dependencies are required.

Do not commit runtime configuration, state files, logs, caches, credentials, or platform session identifiers. Before committing, run:

rg -n --hidden -S "(api[_-]?key|token|secret|password|Authorization|Bearer|sk-[A-Za-z0-9])" .

Repository Layout

BotPlugin_Master/
├── plugins/
│   ├── astrbot_plugin_codex_monitor/
│   ├── astrbot_plugin_oli_image_generation/
│   ├── astrbot_plugin_oli_gpt_status/
│   ├── sub2api_balance_monitor/
│   └── zotero_arxiv_digest/
├── .gitignore
├── LICENSE
├── README.md
└── README.zh-CN.md

Security Boundaries

  • Prefer environment variables or AstrBot runtime configuration for data-source credentials.
  • Each plugin should access only the data sources declared in its documentation and must not write real runtime state into the repository.
  • External API, database, and messaging failures must remain explicit; empty data must never be used to disguise a failed run.
  • Every new plugin must update its own README files, metadata.yaml, and configuration template together.

License

MIT License. See LICENSE.

About

A focused collection of lightweight AstrBot plugins for research intelligence, platform operations, and local Agent operations.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages