owletto
Health Gecti
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 10 GitHub stars
Code Uyari
- fs module — File system access in .github/workflows/publish-sdk.yml
- network request — Outbound network request in connectors/github.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool provides persistent, structured organizational memory for AI agents, allowing them to save, recall, and manage context across different conversations and sessions.
Security Assessment
Overall Risk: Medium. The application runs a local server on your machine and stores data locally. There are no hardcoded secrets, and it does not request overtly dangerous system permissions or execute raw shell commands. However, it does make outbound network requests, specifically within its GitHub connector feature, which is expected for fetching external data. File system access is also present in its automated publishing workflows. You should be mindful of the data you allow the agents to store and recall, especially if you connect it to external or public URLs rather than keeping it strictly local.
Quality Assessment
The project is highly active, with its most recent code push happening just today. It has a solid foundation for a new tool with 10 GitHub stars, indicating early but existing community validation. The main downside is that its license is marked as "NOASSERTION." This means the author has not clearly defined the terms under which the code can be used, modified, or distributed, which is a notable drawback for enterprise or commercial integration.
Verdict
Use with caution—while the tool is active and functionally safe for local use, the missing license makes it a potential legal gray area for broader adoption.
Entity-based organizational memory for your agents.
Owletto
Live organizational memory for AI agents. Owletto gives MCP-capable agents structured memory, external data connectors, scheduled watchers, and a web UI to manage what they know.
Works with Claude Code, ChatGPT, Cursor, Gemini, OpenClaw, Codex, and other MCP clients.
Quick Start
Requires Node.js 20+.
- Start Owletto locally:
npx owletto start
This starts the local runtime on http://localhost:8787 using embedded Postgres. No Docker or external Postgres is required.
- Connect your agents:
npx owletto init
The wizard detects supported agents, lets you choose an MCP endpoint, and configures local clients directly when possible.
You can point agents at the local runtime, Owletto Cloud, or any custom Owletto MCP URL.
Open http://localhost:8787 to create your account. Local data is stored in ~/.owletto/data/ by default.
Local URLs (
localhostand127.0.0.1) are only reachable from your machine. Use a tunnel or public URL if your agents run remotely.
How It Works
Most AI agents lose memory between sessions. Owletto gives them persistent, structured memory that survives across conversations, agents, and teams.
Structured Memory
Instead of storing a flat pile of embeddings, Owletto stores knowledge in entity types you define, backed by JSON Schema.
Organization
└─ Entity Types
└─ Entities
├─ Content
├─ Connections
└─ Watchers
Agents save facts with a kind such as preference, decision, fact, or observation. New facts can supersede older ones, so memory stays current without losing history.
Recall And Capture
- Plugin-capable agents such as OpenClaw can recall relevant memory before each prompt and capture new observations after each response automatically.
- Agents without plugin hooks such as Claude Code, Codex, Cursor, and ChatGPT call Owletto directly to search and save memory during the conversation.
- Recall is structured: Owletto uses the user message to identify likely entities, then retrieves related facts, observations, and connected context for those entities instead of relying on raw vector matches alone.
- That recalled memory is injected before prompt construction, so the agent sees relevant context before it starts reasoning about the turn.
- The web UI closes the loop: users can review recalled memory, correct facts, edit metadata, manage sources, and control watcher schedules, and those changes affect future recall immediately.
OpenClaw Plugin Loop
The OpenClaw plugin (packages/openclaw-plugin) closes the memory loop in three stages:
- Before each prompt, it uses the user's message to find relevant entities, retrieves related memory for those entities, and injects the result into prompt context.
- It also injects workspace instructions such as entity schemas, available tools, and organization structure so the agent understands the domain it is operating in.
- During the conversation, the agent can use Owletto to save knowledge, manage entities, connect sources, and control watchers.
- After the turn, it saves the exchange as an
observationso future prompts can recall it.
That gives OpenClaw automatic recall, explicit memory writes, and continuous capture in one loop.
flowchart TD
A["User message"] --> B["Find likely entities from the prompt"]
B --> C["Retrieve related facts, observations, and connected context"]
C --> D["Inject memory and workspace instructions before prompt construction"]
D --> E["Agent responds and can use Owletto during the turn"]
E --> F["Save new observations after the turn"]
F --> G["Web UI review and correction"]
G --> C
Hybrid Search
Owletto blends three signals for recall:
- Entity name matching
- Full-text search
- Semantic vector search
This makes recall more reliable than vector-only lookup, especially when agents use different wording from the original source.
Connectors And Watchers
Owletto can ingest external content from Reddit, GitHub, app stores, review sites, Google Maps, Hacker News, YouTube, RSS, LinkedIn, and more.
Watchers analyze that content on a schedule, extract structured data through JSON Schema, track trends over time, and can write classifications back to the source content.
Why Not Just A Vector Database?
| Vector DB | Owletto | |
|---|---|---|
| Schema | None | Custom entity types with JSON Schema validation |
| Updates | Duplicate or overwrite | Superseding with history |
| Scope | Flat namespace | Organization > Entity Type > Entity > Content |
| Search | Vector-only | Hybrid recall |
| Sources | Manual ingestion | Built-in connectors with scheduled sync |
| Analysis | None | Watchers with structured extraction |
Runtime
- Windows: Watchers persist bounded time ranges as durable analysis windows with structured
extracted_data. - Classifications: Watcher output can classify cited source content while preserving the link between summary and evidence.
- Continuous processing: Feeds resume from checkpoints, and watchers analyze only the next time window instead of reprocessing everything.
- Database: PostgreSQL 17 + pgvector
- Runtime: Node.js + Hono
- Embeddings: HuggingFace transformers, self-hosted
- Worker: Playwright-based connector execution
- Protocol: Model Context Protocol over HTTP
Connector Model
- Connectors support OAuth, API keys or env credentials, or persisted browser sessions.
- Each connector declares a
ConnectorDefinitionwith auth, feeds, and actions, then implements aConnectorRuntime. sync()ingests normalized events with checkpoints, andexecute()performs write actions with approval when needed.
Development
# Prerequisites: Node.js 20+, pnpm 9+, Docker
pnpm install
pnpm dev:all
pnpm dev:all:down
pnpm test
pnpm typecheck
To run from source instead of npx:
git clone https://github.com/lobu-ai/owletto.git
cd owletto
pnpm install
pnpm owletto start
From a repo checkout, local data is stored at ./data/.
Connectors
Built-in connectors include:
reddit, github, trustpilot, gmaps, ios_appstore, google_play, hackernews, youtube, x, producthunt, capterra, g2, glassdoor, rss, linkedin, website
Owletto Cloud
Owletto Cloud adds managed features on top of the open-source core:
- Always-on agents via lobu.ai
- Multi-organization workspaces with RBAC and SSO
- Delivery to Slack, Telegram, and WhatsApp
- Managed hosting
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi