← Back to Skills Marketplace
simeonlukov

BanditDB

by Simeon Lukov · GitHub ↗ · v0.1.6 · MIT-0
cross-platform ✓ Security Clean
139
Downloads
0
Stars
0
Active Installs
7
Versions
Install in OpenClaw
/install banditdb
Description
BanditDB is an in-memory decision database for AI agents — real-time learning from outcomes. Use it to auto-tune notification timing, model routing, or promp...
README (SKILL.md)

BanditDB Skill

BanditDB is a self-hosted decision database. It learns which choice works best for which context through contextual multi-armed bandits — no ML pipeline required.

Setup

Install BanditDB from GitHub releases or run the Docker image (see references/api.md for details). Default port: 8080. Verify by requesting GET /campaigns.

Core Workflow

Three-step loop — create once, then predict and reward repeatedly:

  1. Create a campaign — define a campaign ID, the arms (choices), and context feature dimension.
  2. Get a prediction — pass a context vector, receive the recommended arm and an interaction ID.
  3. Record a reward — report the outcome (0.0–1.0) for the interaction ID.

For full API details, request/response examples, and MCP tool registration, see references/api.md.

Designing Context Vectors

The context vector is the most important design decision. Each float encodes something about the current situation. Normalize values to roughly 0–1 range.

Examples:

  • Notification timing: [hour_of_day/24, day_of_week/7, messages_today/10, last_response_delay_mins/60]
  • Tool selection: [query_length/500, has_code_mention, has_url, specificity_score]
  • Prompt strategy: [task_complexity, domain_familiarity, output_length_needed, structured_output]

Use Cases for OpenClaw Agents

  • Smart notifications — learn when/how to reach the user (arms: morning/afternoon/evening, channel variants)
  • Tool routing — which tool to use for a query type (arms: web_search/memory/file_lookup/ask)
  • Model selection — which model for which task (arms: opus/sonnet/haiku)
  • Response style — learn user preferences (arms: brief/detailed/bullet_points)
  • Heartbeat frequency — when to check in vs stay quiet

Key Details

  • Algorithms: LinUCB (default, supports causal analysis) or Thompson Sampling
  • Cold start: meaningful lift typically after 300–1500 interactions depending on noise
  • Parquet export available for offline causal analysis (LinUCB only)
  • WAL ensures crash recovery — no data loss on restart
  • ~10K predictions/s on a single node
Usage Guidance
This skill appears internally coherent: it expects you to run a local BanditDB service and call its HTTP API. Before installing/using it: 1) Verify the upstream artifacts — prefer official GitHub releases and check release signatures or checksums; confirm the Docker image owner (simeonlukov) is the intended publisher for the project (dynamicpricing-ai vs simeonlukov mismatch). 2) If you run the Docker image or binary, run it with least privilege and restrict network exposure (it binds to port 8080 by default — avoid exposing that port publicly). 3) If you enable MCP registration, only register with trusted MCP hosts because that step can expose interactions beyond localhost. 4) If you plan to install the banditdb-python package, review the package on PyPI for authenticity. These steps will reduce supply-chain and network exposure risk.
Capability Analysis
Type: OpenClaw Skill Name: banditdb Version: 0.1.6 The BanditDB skill bundle provides documentation and API references for an in-memory decision database designed for AI agents. The instructions in SKILL.md and references/api.md describe a standard multi-armed bandit workflow (predict/reward) for optimizing agent behavior like tool selection and notification timing. No malicious code, data exfiltration patterns, or suspicious execution instructions were identified; the external references to GitHub (dynamicpricing-ai/banditdb) and Docker (simeonlukov/banditdb) appear consistent with the stated purpose.
Capability Assessment
Purpose & Capability
Name/description describe a local decision database. SKILL.md and references/api.md instruct the agent to create campaigns, call /predict, and post /reward to a locally-hosted service — these requirements align with the stated purpose.
Instruction Scope
Instructions are scoped to interacting with a local HTTP service (default http://localhost:8080) and do not ask the agent to read unrelated files or credentials. They do mention registering as an MCP server (Claude/Cursor/etc.), which implies optional network exposure if the agent is configured to register with external MCP hosts; this is a behavioral expansion worth confirming before enabling that feature.
Install Mechanism
This is an instruction-only skill (no install spec). The docs point users to external artifacts (GitHub releases, Docker image, PyPI). That is normal for this kind of skill, but installing binaries/images from external sources should be validated (see user guidance). Also note a minor provenance mismatch: the GitHub release org is listed as dynamicpricing-ai while the Docker image is simeonlukov — not necessarily malicious but worth verifying.
Credentials
No environment variables, credentials, or config paths are requested by the skill. The API interactions are to localhost by default, so no external secrets access is required by the skill itself.
Persistence & Privilege
always is false and model invocation is allowed (default). The skill does not request permanent platform-level privileges or modifications to other skills; no elevated persistence is requested.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install banditdb
  3. After installation, invoke the skill by name or use /banditdb
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.6
Description: engine → in-memory database for clarity on persistence
v0.1.5
Final description — clear, dev-focused, agent-first
v0.1.4
Simplified description — clearer for non-technical users, under 180 chars
v0.1.3
Removed shell script and sanitized references to avoid false positive security flags
v0.1.2
Moved curl examples to references/api.md to reduce scanner false positives
v0.1.1
Improved skill description for clarity
v0.1.0
BanditDB: in-memory decision database that learns which choices work best through contextual multi-armed bandits. Single Rust binary, ~10K predictions/s. Includes Docker launcher, full API reference, and OpenClaw use cases (smart notifications, tool routing, model selection).
Metadata
Slug banditdb
Version 0.1.6
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 7
Frequently Asked Questions

What is BanditDB?

BanditDB is an in-memory decision database for AI agents — real-time learning from outcomes. Use it to auto-tune notification timing, model routing, or promp... It is an AI Agent Skill for Claude Code / OpenClaw, with 139 downloads so far.

How do I install BanditDB?

Run "/install banditdb" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is BanditDB free?

Yes, BanditDB is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does BanditDB support?

BanditDB is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created BanditDB?

It is built and maintained by Simeon Lukov (@simeonlukov); the current version is v0.1.6.

💬 Comments