* fix: rename moltbot to openclawd * fix * fix * fix: use single shared pg0 database for all banks + add default mission This commit fixes a critical database isolation issue and adds the default mission feature for the openclawd plugin. ## Changes: **hindsight-embed:** - Fixed daemon_client.py to use single shared database: pg0://hindsight-embed - Previously, each bank_id would create a separate pg0 instance (wrong!) - Now all banks share the same database with isolation via bank_id parameter - Updated README to clarify database architecture **openclawd plugin (v0.0.5):** - Added default bank mission describing OpenClawd's multi-channel assistant role - Added setBankMission() method to client - Integrated mission setting during plugin initialization - Added bankMission to plugin config schema with sensible default - Updated docs to explain shared database architecture ## Why this matters: Bank isolation should happen WITHIN the database (via separate tables/schemas), not via separate database instances. Using HINDSIGHT_EMBED_BANK_ID to create separate pg0 databases was architecturally wrong and caused confusion. * ci: rename moltbot to openclawd in workflows and release script - Updated build-moltbot-integration → build-openclawd-integration in test.yml - Updated release-moltbot-integration → release-openclawd-integration in release.yml - Updated all working directories from moltbot to openclawd - Updated artifact names from moltbot-integration to openclawd-integration - Added openclawd package.json to release.sh version bump script
169 lines
4.6 KiB
Markdown
169 lines
4.6 KiB
Markdown
# hindsight-embed
|
|
|
|
Hindsight embedded CLI - local memory operations with automatic daemon management.
|
|
|
|
This package provides a simple CLI for storing and recalling memories using Hindsight's memory engine. It automatically manages a background daemon for fast operations - no manual server setup required.
|
|
|
|
## How It Works
|
|
|
|
`hindsight-embed` uses a background daemon architecture for optimal performance:
|
|
|
|
1. **First command**: Automatically starts a local daemon (first run downloads dependencies and loads ML models - can take 1-3 minutes)
|
|
2. **Subsequent commands**: Near-instant responses (~1-2s) since daemon is already running
|
|
3. **Auto-shutdown**: Daemon automatically exits after 5 minutes of inactivity
|
|
|
|
The daemon runs on `localhost:8889` and uses an embedded PostgreSQL database (pg0) - everything stays local on your machine.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install hindsight-embed
|
|
# or with uvx (no install needed)
|
|
uvx hindsight-embed --help
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Interactive setup (recommended)
|
|
hindsight-embed configure
|
|
|
|
# Or set your LLM API key manually
|
|
export OPENAI_API_KEY=sk-...
|
|
|
|
# Store a memory (bank_id = "default")
|
|
hindsight-embed memory retain default "User prefers dark mode"
|
|
|
|
# Recall memories
|
|
hindsight-embed memory recall default "What are user preferences?"
|
|
```
|
|
|
|
## Commands
|
|
|
|
### configure
|
|
|
|
Interactive setup wizard:
|
|
|
|
```bash
|
|
hindsight-embed configure
|
|
```
|
|
|
|
This will:
|
|
- Let you choose an LLM provider (OpenAI, Groq, Google, Ollama)
|
|
- Configure your API key
|
|
- Set the model and memory bank ID
|
|
- Start the daemon with your configuration
|
|
|
|
### memory retain
|
|
|
|
Store a memory:
|
|
|
|
```bash
|
|
hindsight-embed memory retain default "User prefers dark mode"
|
|
hindsight-embed memory retain default "Meeting on Monday" --context work
|
|
hindsight-embed memory retain myproject "API uses JWT authentication"
|
|
```
|
|
|
|
### memory recall
|
|
|
|
Search memories:
|
|
|
|
```bash
|
|
hindsight-embed memory recall default "user preferences"
|
|
hindsight-embed memory recall default "upcoming events"
|
|
```
|
|
|
|
Use `-o json` for JSON output:
|
|
```bash
|
|
hindsight-embed memory recall default "user preferences" -o json
|
|
```
|
|
|
|
### memory reflect
|
|
|
|
Get contextual answers that synthesize multiple memories:
|
|
|
|
```bash
|
|
hindsight-embed memory reflect default "How should I set up the dev environment?"
|
|
```
|
|
|
|
### bank list
|
|
|
|
List all memory banks:
|
|
|
|
```bash
|
|
hindsight-embed bank list
|
|
```
|
|
|
|
### daemon
|
|
|
|
Manage the background daemon:
|
|
|
|
```bash
|
|
hindsight-embed daemon status # Check if daemon is running
|
|
hindsight-embed daemon start # Start the daemon
|
|
hindsight-embed daemon stop # Stop the daemon
|
|
hindsight-embed daemon logs # View last 50 lines of logs
|
|
hindsight-embed daemon logs -f # Follow logs in real-time
|
|
hindsight-embed daemon logs -n 100 # View last 100 lines
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Interactive Setup
|
|
|
|
Run `hindsight-embed configure` for a guided setup that saves to `~/.hindsight/embed`.
|
|
|
|
### Environment Variables
|
|
|
|
| Variable | Description | Default |
|
|
|----------|-------------|---------|
|
|
| `HINDSIGHT_EMBED_LLM_API_KEY` | LLM API key (or use `OPENAI_API_KEY`) | Required |
|
|
| `HINDSIGHT_EMBED_LLM_PROVIDER` | LLM provider (`openai`, `groq`, `google`, `ollama`) | `openai` |
|
|
| `HINDSIGHT_EMBED_LLM_MODEL` | LLM model | `gpt-4o-mini` |
|
|
| `HINDSIGHT_EMBED_BANK_ID` | Default memory bank ID (optional, used when not specified in CLI) | `default` |
|
|
|
|
**Note:** All banks share a single pg0 database (`pg0://hindsight-embed`). Bank isolation happens within the database via the `bank_id` parameter passed to CLI commands.
|
|
|
|
### Files
|
|
|
|
| Path | Description |
|
|
|------|-------------|
|
|
| `~/.hindsight/embed` | Configuration file |
|
|
| `~/.hindsight/config.env` | Alternative config file location |
|
|
| `~/.hindsight/daemon.log` | Daemon logs |
|
|
| `~/.hindsight/daemon.lock` | Daemon lock file (PID) |
|
|
|
|
## Use with AI Coding Assistants
|
|
|
|
This CLI is designed to work with AI coding assistants like Claude Code, Cursor, and Windsurf. Install the Hindsight skill:
|
|
|
|
```bash
|
|
curl -fsSL https://hindsight.vectorize.io/get-skill | bash
|
|
```
|
|
|
|
This will configure the LLM provider and install the skill to your assistant's skills directory.
|
|
|
|
## Troubleshooting
|
|
|
|
**Daemon won't start:**
|
|
```bash
|
|
# Check logs for errors
|
|
hindsight-embed daemon logs
|
|
|
|
# Stop any stuck daemon and restart
|
|
hindsight-embed daemon stop
|
|
hindsight-embed daemon start
|
|
```
|
|
|
|
**Slow first command:**
|
|
This is expected - the first command needs to download dependencies, start the daemon, and load ML models. First run can take 1-3 minutes depending on network speed. Subsequent commands will be fast (~1-2s).
|
|
|
|
**Change configuration:**
|
|
```bash
|
|
# Re-run configure (automatically restarts daemon)
|
|
hindsight-embed configure
|
|
```
|
|
|
|
## License
|
|
|
|
Apache 2.0
|