CrowTerminal
/install crowterminal
CrowTerminal - External Brain for AI Agents
"Agents are ephemeral. We are persistent."
While your agent stores 10-50 lines of context, CrowTerminal stores 6 months of versioned history for each creator.
What It Does
CrowTerminal is a persistent memory layer for AI agents working with influencers/creators:
- Versioned Memory - Track what works across sessions (hook patterns, engagement, posting times)
- Pattern Detection - See trends over months, not single data points
- Engagement Analysis - Know what configuration performed best historically
- Validation - Check if your changes will repeat past mistakes
- Data Ingestion - Push platform data we can't access (retention curves, demographics)
- LLM-Native API - Schema discovery, semantic field aliases, natural language queries
Quick Start
1. Get API Key (Self-Registration)
curl -X POST "https://api.crowterminal.com/api/agent/register" \
-H "Content-Type: application/json" \
-d '{"agentName": "OpenClaw", "agentDescription": "My personal AI agent"}'
Save the returned API key as CROWTERMINAL_API_KEY.
2. Read Creator Memory
curl https://api.crowterminal.com/api/agent/memory/client_123 \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY"
Returns versioned skill data:
{
"version": 47,
"skill": {
"primaryNiche": "fitness",
"hookPatterns": ["confession", "transformation"],
"avgEngagement": 4.2,
"bestPostingTimes": [{"day": 2, "hour": 7, "score": 0.89}]
}
}
Key Endpoints
Schema Discovery (LLM-Friendly)
These endpoints help agents understand what data is available without hardcoding field names:
| Endpoint | Description |
|---|---|
GET /memory/schema |
Full schema with field descriptions, types, and semantic aliases |
GET /memory/schema/:category |
Schema filtered by category (content, performance, timing, audience, history) |
POST /memory/resolve |
Resolve natural language queries to field names |
Example: Discover available fields
curl https://api.crowterminal.com/api/agent/memory/schema \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY"
Returns field definitions with semantic aliases:
{
"fields": {
"avgEngagement": {
"type": "number",
"description": "Average engagement rate",
"aliases": ["engagement", "engagement rate", "interaction rate"],
"category": "performance"
}
}
}
Smart Query (Natural Language)
Query data using natural language instead of exact field names:
| Endpoint | Description |
|---|---|
POST /memory/:clientId/query |
Query with natural language ("engagement and hooks") |
GET /memory/:clientId/overview |
Human-readable summary of the creator |
GET /memory/:clientId/changes |
Natural language summary of recent changes |
GET /memory/:clientId/insights |
AI-friendly performance insights |
Example: Natural language query
curl -X POST "https://api.crowterminal.com/api/agent/memory/client_123/query" \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "engagement and hooks"}'
Returns matched data:
{
"results": {
"matchedFields": ["avgEngagement", "hookPatterns"],
"data": {
"avgEngagement": 4.2,
"hookPatterns": ["confession", "POV"]
},
"context": "avgEngagement: Average engagement rate; hookPatterns: Effective hook types"
}
}
Example: Get natural language overview
curl https://api.crowterminal.com/api/agent/memory/client_123/overview \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY"
Returns:
{
"overview": "FitnessGuru is a fitness creator averaging 125,000 views per video with 4.2% engagement and is currently growing. Their best-performing hooks are: confession, transformation, POV."
}
Memory Layer (Core)
| Endpoint | Description |
|---|---|
GET /memory/:clientId |
Current skill version |
GET /memory/:clientId/versions |
Version history |
GET /memory/:clientId/diff?from=5&to=10 |
Compare versions |
GET /memory/:clientId/pattern?field=engagement |
Track field over time with trend analysis |
POST /memory/:clientId/validate |
Check before changing |
POST /memory/:clientId/engagement-analysis |
THE KILLER ENDPOINT |
The Killer Endpoint: Engagement Analysis
Send your current learnings, get back what configuration performed best:
curl -X POST "https://api.crowterminal.com/api/agent/memory/client_123/engagement-analysis" \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentMd": {
"hookPatterns": ["confession"],
"contentStyle": "casual"
}
}'
Returns:
{
"overallStats": {
"peakEngagement": 6.2,
"yourSimilarityToTop": "65%"
},
"recommendations": [
"Change hookPatterns to [\"POV\",\"confession\"] (+51% potential)"
]
}
Data Ingestion (Push Your Data)
Push platform data we can't access via API:
curl -X POST "https://api.crowterminal.com/api/agent/data/ingest" \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clientId": "client_123",
"platform": "TIKTOK",
"dataType": "retention",
"data": {
"retentionCurve": [100, 95, 88, 75, 60, 45, 30],
"avgWatchTime": 12.5
}
}'
Webhooks (Async Notifications)
curl -X POST "https://api.crowterminal.com/api/agent/webhooks" \
-H "Authorization: Bearer $CROWTERMINAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/webhook",
"events": ["skill.updated", "data.ingested"]
}'
Service Status (No Auth)
curl https://api.crowterminal.com/api/agent/status
Sandbox (Test Without Auth)
Test endpoints without affecting real data:
Memory & Schema:
GET /api/agent/sandbox/client- Mock client dataGET /api/agent/sandbox/memory- Mock memory/skillGET /api/agent/sandbox/schema- Schema discoveryPOST /api/agent/sandbox/resolve- Resolve field aliases
Smart Query:
POST /api/agent/sandbox/query- Natural language queriesGET /api/agent/sandbox/overview- Creator overviewGET /api/agent/sandbox/changes- Recent changes summaryGET /api/agent/sandbox/insights- Performance insights
Analysis:
POST /api/agent/sandbox/validate- Validate changesPOST /api/agent/sandbox/engagement-analysis- Engagement analysisPOST /api/agent/sandbox/ingest- Data ingestion
Why Use CrowTerminal?
- Your agent learns → forgets → relearns - We remember
- One bad video ≠ pattern change - We track across versions
- Data you can't get via API - We accept it via ingestion
- BYOK - Use your own LLM, we just provide context
- LLM-Native - No hardcoding field names, use natural language queries
- Self-Documenting - Schema endpoint tells you what data exists
Pricing
FREE during beta. We want agents to test and give feedback.
| Tier | Price |
|---|---|
| Memory Read/Write | FREE |
| Data Ingestion | FREE |
| BYOK (your LLM) | FREE |
| Full Service | FREE |
Documentation
- Full Docs: https://crowterminal.com/llms.txt
- MCP Manifest: https://crowterminal.com/.well-known/mcp.json
- OpenAPI: https://api.crowterminal.com/api/docs.json
- SDKs: Python (
pip install crowterminal), TypeScript (npm install crowterminal)
Support
- Email: [email protected]
- GitHub: https://github.com/WillNigri/FluxOps
"Your agent's external hard drive. Because context windows aren't long-term memory."
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install crowterminal - After installation, invoke the skill by name or use
/crowterminal - Provide required inputs per the skill's parameter spec and get structured output
What is CrowTerminal?
Provides persistent, versioned memory and engagement analysis for AI agents supporting creators and influencers across social media platforms. It is an AI Agent Skill for Claude Code / OpenClaw, with 543 downloads so far.
How do I install CrowTerminal?
Run "/install crowterminal" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is CrowTerminal free?
Yes, CrowTerminal is completely free (open-source). You can download, install and use it at no cost.
Which platforms does CrowTerminal support?
CrowTerminal is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created CrowTerminal?
It is built and maintained by Will Nigri (@willnigri); the current version is v2.3.0.