Skip to content
Back to skills

Zvec Local Rag Service

BSecurity

Operate an always-on local semantic-search service using zvec + Ollama embeddings. Use when you need to ingest .txt/.md files, run meaning-based search via HTTP endpoints (/health, /ingest, /search), and keep the service running on macOS (launchd) or manually. Includes service code, launchd template, and management scripts.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsbashnode

Security analysis

B75/100
  • criticalModifies startup scripts or system services for persistence

Pro scans all 5 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill zvec-local-rag-service --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Zvec Local Rag Service?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Zvec Local Rag Service
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-zvec-local-rag-service/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-zvec-local-rag-service)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: zvec-local-rag-service
description: Operate an always-on local semantic-search service using zvec + Ollama embeddings. Use when you need to ingest .txt/.md files, run meaning-based search via HTTP endpoints (/health, /ingest, /search), and keep the service running on macOS (launchd) or manually. Includes service code, launchd template, and management scripts.
metadata:
  openclaw:
    requires:
      bins: ["node", "npm", "ollama", "curl"]
    install:
      - id: zvec-deps
        kind: npm
        package: "@zvec/zvec"
        label: "Install zvec Node binding"
---

# zvec-local-rag-service

Run local RAG search with Ollama embeddings and zvec.

## Included files

- `scripts/rag-service.mjs` → HTTP service implementation
- `scripts/manage.sh` → bootstrap/start/stop/restart/health/ingest/search
- `references/launchd.plist.template` → macOS LaunchAgent template

## Prerequisites

- Node.js 18+
- Ollama daemon running
- Embedding model (default): `mxbai-embed-large`

Prepare model once:

```bash
ollama pull mxbai-embed-large
```

## Quick start

From the skill directory:

```bash
scripts/manage.sh bootstrap
scripts/manage.sh install-launchd   # writes plist, inspect once
scripts/manage.sh start
scripts/manage.sh health
```

Ingest and search:

```bash
scripts/manage.sh ingest ./docs
scripts/manage.sh search "your query"
```

## Install + smoke test (copy/paste)

```bash
# 1) prerequisites
ollama pull mxbai-embed-large

# 2) bootstrap and start service
scripts/manage.sh bootstrap
scripts/manage.sh install-launchd
scripts/manage.sh start

# 3) verify health
scripts/manage.sh health

# 4) create tiny test corpus
mkdir -p ./docs
cat > ./docs/sample.md <<'EOF'
Zvec + Ollama enables local semantic search.
EOF

# 5) ingest + query
scripts/manage.sh ingest ./docs
scripts/manage.sh search "local semantic search with ollama"
```

## Endpoints

- `GET /health`
- `POST /ingest` with `{ "dir": "./docs", "reset": true }`
- `POST /search` with `{ "query": "...", "topk": 5 }`

## Persistence (macOS launchd)

Install and enable LaunchAgent:

```bash
scripts/manage.sh install-launchd
scripts/manage.sh start
scripts/manage.sh status
```

Remove LaunchAgent:

```bash
scripts/manage.sh uninstall-launchd
```

Always inspect generated plist before enabling persistence:
- `~/Library/LaunchAgents/com.openclaw.zvec-rag-service.plist`

## Config via env vars

- `RAG_HOST` (default `127.0.0.1`)
- `RAG_PORT` (default `8787`)
- `OLLAMA_URL` (default `http://127.0.0.1:11434`)
- `OLLAMA_EMBED_MODEL` (default `mxbai-embed-large`)
- `RAG_BASE_DIR` (default `~/.openclaw/data/zvec-rag-service`)
- `ALLOW_REMOTE_OLLAMA` (default `false`, blocks non-local OLLAMA_URL)
- `ALLOW_NON_LOOPBACK_HOST` (default `false`, blocks externally reachable bind host)

## Notes

- Secure defaults: loopback-only service + loopback-only Ollama.
- Remote embedding/host binding require explicit opt-in env flags.
- `launchd` operations are macOS-specific. On non-macOS, run with `scripts/manage.sh start` (manual mode).

Files in this skill

  • SKILL.md3 KB
  • _meta.json298 B
  • package.json136 B
  • scripts/manage.sh3.9 KB
  • scripts/rag-service.mjs6.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.