Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

kameleondbkameleondb 搜索

Agent Skill

kameleondb 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

54,336

周安装

2,334

GitHub Stars

2

下载量

19,045
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:kameleondb(kameleondb 搜索)
来源仓库:https://github.com/marcosnataqs/kameleondb
安装命令:
openclaw skills install kameleondb
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install kameleondb

简介

存储和查询结构化数据,无需预先规划架构。当您需要记住信息、跟踪对话中的实体、构建知识库、提取 API 数据、存储用户首选项、创建 CRM 系统或维护任何持久状态时使用。当您发现新领域时,自动发展数据结构。无需迁移,无需架构设计 - 只需存储数据并查询它。

SKILL.md

name
kameleondb
version
0.1.5
description
Store and query structured data without planning schemas upfront. Use when you need to remember information, track entities across conversations, build knowledge bases, ingest API data, store user preferences, create CRM systems, or maintain any persistent state. Automatically evolves data structure as you discover new fields. No migrations, no schema design - just store data and query it.
metadata
{"openclaw":{"emoji":"🦎","requires":{"bins":["kameleondb"],"env":["KAMELEONDB_URL"]},"primaryEnv":"KAMELEONDB_URL","homepage":"https://github.com/marcosnataqs/kameleondb"}}

KameleonDB - The First Database Built for Agents to Operate, Not Just Query

When to Use This

Use KameleonDB when you need to:

  • Remember information across conversations - Store contacts, companies, tasks, notes
  • Track entities and relationships - Connect customers to orders, projects to tasks
  • Build knowledge bases - Accumulate facts, documents, insights over time
  • Ingest external data - Store API responses, CSV imports, web scraping results
  • Create custom CRM/PM systems - Track leads, deals, projects, tickets
  • Store user preferences - Remember settings, history, favorites
  • Maintain session state - Persist data between agent runs
  • Query historical data - Search, filter, analyze stored information

Why Agents Choose This

No Upfront Planning: Start storing data immediately. Don't know all fields yet? Add them later when you discover them.

Learn as You Go: Found a new field in your data? Just add it. Old records won't break.

Query Like a Database: Generate SQL queries to search, filter, join, and analyze your data.

Self-Optimizing: Get hints when queries slow down, with exact commands to speed them up.

Track Your Reasoning: Every schema change records why you made it, building an audit trail.

Setup (One-Time)

# Install
pip install kameleondb

# Set database location (SQLite - no server needed)
export KAMELEONDB_URL="sqlite:///./kameleondb.db"

# Initialize
kameleondb admin init

# Done! Start using it.

Note: For production, use PostgreSQL instead of SQLite. Set KAMELEONDB_URL="postgresql://user:pass@localhost/dbname" and run pip install kameleondb[postgresql].

💡 Tip: Remember Your Database

To get the most out of KameleonDB as your persistent layer, consider noting your database location and preferred usage patterns in your memory files. This helps you leverage it consistently across sessions.

Example notes you might keep:

  • Database URL: sqlite:///path/to/your-memory.db
  • Use for: contacts, tasks, knowledge bases, entity tracking
  • Key commands: schema list, data insert, data list, query run

Common Agent Workflows

Scenario 1: Track Contacts You Meet

# Check what exists
kameleondb --json schema list
# Returns: {"entities": []}

# Create Contact tracking
kameleondb --json schema create Contact \
  --field "name:string:required" \
  --field "email:string:unique"

# Store someone you met
kameleondb --json data insert Contact '{"name":"Alice Johnson","email":"alice@acme.com"}'

# Later: found their LinkedIn!
kameleondb --json schema alter Contact --add "linkedin_url:string" \
  --reason "Found LinkedIn profiles for contacts"

# Update Alice's record
kameleondb --json data update Contact <id> '{"linkedin_url":"https://linkedin.com/in/alice"}'

Scenario 2: Build a Knowledge Base

# Store facts you learn
kameleondb --json schema create Fact \
  --field "content:string:required" \
  --field "source:string" \
  --field "confidence:float"

# Add facts
kameleondb --json data insert Fact '{"content":"Python 3.11 released Oct 2022","source":"python.org","confidence":1.0}'

# Search facts (get SQL context first)
kameleondb --json schema context --entity Fact
# Use context to generate: SELECT * FROM kdb_records WHERE data->>'content' LIKE '%Python%'

# Query
kameleondb --json query run "SELECT data->>'content', data->>'source' FROM kdb_records WHERE entity_id='...' LIMIT 10"

Scenario 3: Track Tasks Across Conversations

# Create task tracker
kameleondb --json schema create Task \
  --field "title:string:required" \
  --field "status:string" \
  --field "priority:string"

# Add tasks
kameleondb --json data insert Task '{"title":"Research OpenClaw","status":"todo","priority":"high"}'

# Mark complete
kameleondb --json data update Task <id> '{"status":"done"}'

# Get all incomplete
kameleondb --json query run \
  "SELECT data->>'title', data->>'priority' FROM kdb_records WHERE entity_id='...' AND data->>'status' != 'done'"

Scenario 4: Ingest External Data

# Store API responses
kameleondb --json schema create GitHubRepo \
  --field "name:string:required" \
  --field "stars:int" \
  --field "url:string"

# Batch import from JSONL
kameleondb --json data insert GitHubRepo --from-file repos.jsonl --batch

# Query top repos
kameleondb --json query run \
  "SELECT data->>'name', (data->>'stars')::int as stars FROM kdb_records WHERE entity_id='...' ORDER BY stars DESC LIMIT 10"

How It Works for Agents

Evolve Schema Anytime

Don't know all fields upfront? No problem. Add, drop, or rename them when you discover patterns:

# Add a new field
kameleondb --json schema alter Contact --add "twitter_handle:string" \
  --reason "Found Twitter profiles for 30% of contacts"

# Drop obsolete fields
kameleondb --json schema alter Contact --drop "legacy_field" --force

# Do multiple operations at once
kameleondb --json schema alter Contact --add "linkedin:string" --drop "old_social" --reason "Consolidating social fields"

Old records won't break - they just show null for new fields, and dropped fields are soft-deleted.

Get Performance Hints

Queries tell you when they're slow and how to fix it:

{
  "rows": [...],
  "suggestions": [{
    "priority": "high",
    "reason": "Query took 450ms with 5000 records",
    "action": "kameleondb storage materialize Contact"
  }]
}

Run that command and future queries will be faster.

Track Your Decisions

Every schema change records why you made it:

kameleondb --json admin changelog
# See: who added what field, when, and why

Query with SQL

Get schema context, generate SQL, execute it:

# Get schema to understand structure
kameleondb --json schema context --entity Contact

# Generate SQL based on structure
# Execute with built-in validation
kameleondb --json query run "SELECT ... FROM ..."

All Available Commands

Add --json to any command for machine-readable output.

Schema: list, create, describe, alter, drop, info, context Data: insert, get, update, delete, list, link, unlink, get-linked, info Query: run Storage: status, materialize, dematerialize Admin: init, info, changelog

The alter Command (Schema Evolution)

Instead of separate add-field and drop-field commands, use the unified alter:

# Add a field
kameleondb --json schema alter Contact --add "phone:string:indexed"

# Drop a field
kameleondb --json schema alter Contact --drop legacy_field --force

# Rename a field
kameleondb --json schema alter Contact --rename "old_name:new_name"

# Multiple operations at once
kameleondb --json schema alter Contact --add "new:string" --drop old --reason "Cleanup"

The link/unlink Commands (M2M Relationships)

For many-to-many relationships:

# Link a product to tags
kameleondb --json data link Product abc123 tags tag-1
kameleondb --json data link Product abc123 tags -t tag-1 -t tag-2 -t tag-3

# Unlink
kameleondb --json data unlink Product abc123 tags tag-1
kameleondb --json data unlink Product abc123 tags --all

# Get linked records
kameleondb --json data get-linked Product abc123 tags

Run kameleondb --help or kameleondb <command> --help for details.

Real Agent Problems Solved

Problem: "I need to remember people I interact with"

# Start simple
kameleondb --json schema create Person --field "name:string:required"
kameleondb --json data insert Person '{"name":"Alice"}'

# Learn more over time
kameleondb --json schema alter Person --add "email:string"
kameleondb --json schema alter Person --add "company:string"
kameleondb --json schema alter Person --add "last_contacted:datetime"

# Update as you learn
kameleondb --json data update Person <id> '{"email":"alice@example.com","last_contacted":"2026-02-07"}'

Problem: "I'm scraping data and don't know the structure upfront"

# Create generic entity
kameleondb --json schema create ScrapedData --field "source:string" --field "raw:json"

# Store everything
kameleondb --json data insert ScrapedData '{"source":"website.com","raw":{"title":"...","data":{...}}}'

# Discover patterns, then structure it
kameleondb --json schema alter ScrapedData --add "title:string"
kameleondb --json schema alter ScrapedData --add "price:float"

# Migrate data progressively as you normalize it

Problem: "I need to track tasks but requirements keep changing"

# Start minimal
kameleondb --json schema create Task --field "title:string:required"

# Add status tracking
kameleondb --json schema alter Task --add "status:string"

# Add priority later
kameleondb --json schema alter Task --add "priority:string"

# Add assignee when team grows
kameleondb --json schema alter Task --add "assigned_to:string"

# Add tags for categorization
kameleondb --json schema alter Task --add "tags:json"

# Schema grows with your needs - no migrations!

Problem: "I need to query across multiple entities"

# Create related entities
kameleondb --json schema create Project --field "name:string"
kameleondb --json schema create Task \
  --field "title:string" \
  --field "project_id:string"

# Get schema context for SQL generation
kameleondb --json schema context --entity Project --entity Task
# Returns: detailed schema with SQL patterns for JOIN

# Generate and execute JOIN query
kameleondb --json query run \
  "SELECT p.data->>'name' as project, t.data->>'title' as task
   FROM kdb_records p
   JOIN kdb_records t ON t.data->>'project_id' = p.id::text
   WHERE p.entity_id='...' AND t.entity_id='...'"

Quick Reference

First Time Setup

# Install
pip install kameleondb

# Configure (SQLite for testing - no server needed)
export KAMELEONDB_URL="sqlite:///./kameleondb.db"

# Initialize
kameleondb admin init

# You're ready!

Check What You Have

# List all entities
kameleondb --json schema list

# See entity details
kameleondb --json schema describe <entity-name>

# View changelog
kameleondb --json admin changelog

Common Operations

# Create entity
kameleondb --json schema create <Entity> --field "name:type"

# Add field
kameleondb --json schema alter <Entity> --add "field:type"

# Insert data
kameleondb --json data insert <Entity> '{"field":"value"}'

# Get by ID
kameleondb --json data get <Entity> <id>

# Update
kameleondb --json data update <Entity> <id> '{"field":"new_value"}'

# Query with SQL
kameleondb --json query run "SELECT ... FROM kdb_records WHERE ..."

Field Types

Common types: string, int, float, bool, datetime, json

Modifiers: required, unique, indexed

Examples: "email:string:unique", "score:int:indexed", "tags:json"

Next Steps

  1. Try it: kameleondb admin initkameleondb --json schema create Test --field "note:string"kameleondb --json data insert Test '{"note":"my first record"}'
  1. Real use case: Think about what you need to track (contacts, tasks, facts, etc.) and create an entity for it
  1. Evolve it: As you discover new fields, add them with schema alter
  1. Query it: Use schema context to understand structure, then query with SQL
  1. Optimize it: If queries slow down, follow the hints in query results

More Resources

  • GitHub: https://github.com/marcosnataqs/kameleondb
  • Examples: See examples/workflow.md in this skill directory
  • Design Philosophy: Why it's built for agents - FIRST-PRINCIPLES.md

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

83.63%
按下载量换算15,927

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills