0.1.01unset
strict
core24
AI-powered code knowledge graph server and web interface
Harvest exposes an AI-powered HTTP API and web interface for querying code
knowledge graphs stored in Neo4j. Agents can connect to it to run commands
on remote machines.
Prerequisites
─────────────
A running Neo4j instance (not bundled in this snap).
Quick start
───────────
1. Set required credentials:
2. Start the services:
3. Open http://localhost:3000 in your browser.
Snap configuration keys
───────────────────────
neo4j.host Neo4j hostname (default: localhost)
neo4j.port Neo4j bolt port (default: 7687)
neo4j.user Neo4j username (default: neo4j)
neo4j.password Neo4j password (required)
server.host API bind address (default: 127.0.0.1)
server.port API port (default: 8080)
LLM providers — define any number with user-chosen names:
llm.<name>.provider anthropic | gemini | openai-compatible
llm.<name>.api-key API key (setting this enables the provider)
llm.<name>.model Model name
llm.<name>.base-url Base URL (openai-compatible only)
llm.<name>.timeout-secs Per-request timeout (default: 120)
llm.<name>.max-retries Retry limit per request (default: 3)
llm.<name>.priority Lower = tried first on rate limits (default: 0)
Example — Anthropic primary, Gemini fallback:
snap set harvest \
agent.max-iterations Agent iteration limit (default: 20)
agent.compaction-threshold-chars Context compaction trigger (default: 40000)
agent.compaction-keep-last Messages kept after compaction (default: 6)
auth.jwt-secret JWT signing secret (required)
auth.allow-local-login Enable username/password login (default: true)
auth.google.client-id Google OAuth client ID (optional)
auth.google.client-secret Google OAuth client secret (optional)
auth.google.redirect-uri Google OAuth redirect URI (optional)
auth.oidc.issuer-url OIDC provider URL (optional)
auth.oidc.client-id OIDC client ID (optional)
auth.oidc.client-secret OIDC client secret (optional)
auth.oidc.redirect-uri OIDC redirect URI (optional)
auth.oidc.display-name OIDC provider display name (optional)
agents.public-url Public URL for agent callbacks (optional)
docs.dir Documentation directory (default: $SNAP_COMMON/docs)
ui.enable-docs Show docs page in web UI (default: false)
ui.host Web UI bind address (default: 127.0.0.1)
ui.port Web UI port (default: 3000)
knowledge graphs stored in Neo4j. Agents can connect to it to run commands
on remote machines.
Prerequisites
─────────────
A running Neo4j instance (not bundled in this snap).
Quick start
───────────
1. Set required credentials:
snap set harvest \
neo4j.password=<neo4j-password> \
llm.primary.provider=anthropic \
llm.primary.api-key=<llm-api-key> \
auth.jwt-secret=$(openssl rand -base64 32)2. Start the services:
snap start harvest.serve
snap start harvest.ui3. Open http://localhost:3000 in your browser.
Snap configuration keys
───────────────────────
neo4j.host Neo4j hostname (default: localhost)
neo4j.port Neo4j bolt port (default: 7687)
neo4j.user Neo4j username (default: neo4j)
neo4j.password Neo4j password (required)
server.host API bind address (default: 127.0.0.1)
server.port API port (default: 8080)
LLM providers — define any number with user-chosen names:
llm.<name>.provider anthropic | gemini | openai-compatible
llm.<name>.api-key API key (setting this enables the provider)
llm.<name>.model Model name
llm.<name>.base-url Base URL (openai-compatible only)
llm.<name>.timeout-secs Per-request timeout (default: 120)
llm.<name>.max-retries Retry limit per request (default: 3)
llm.<name>.priority Lower = tried first on rate limits (default: 0)
Example — Anthropic primary, Gemini fallback:
snap set harvest \
llm.primary.provider=anthropic llm.primary.api-key=sk-ant-... \
llm.fallback.provider=gemini llm.fallback.api-key=AIza... \
llm.fallback.priority=1agent.max-iterations Agent iteration limit (default: 20)
agent.compaction-threshold-chars Context compaction trigger (default: 40000)
agent.compaction-keep-last Messages kept after compaction (default: 6)
auth.jwt-secret JWT signing secret (required)
auth.allow-local-login Enable username/password login (default: true)
auth.google.client-id Google OAuth client ID (optional)
auth.google.client-secret Google OAuth client secret (optional)
auth.google.redirect-uri Google OAuth redirect URI (optional)
auth.oidc.issuer-url OIDC provider URL (optional)
auth.oidc.client-id OIDC client ID (optional)
auth.oidc.client-secret OIDC client secret (optional)
auth.oidc.redirect-uri OIDC redirect URI (optional)
auth.oidc.display-name OIDC provider display name (optional)
agents.public-url Public URL for agent callbacks (optional)
docs.dir Documentation directory (default: $SNAP_COMMON/docs)
ui.enable-docs Show docs page in web UI (default: false)
ui.host Web UI bind address (default: 127.0.0.1)
ui.port Web UI port (default: 3000)
Update History
0.1.0 (1)27 Jun 2026, 01:00 UTC
27 Jun 2026, 00:21 UTC
27 Jun 2026, 00:21 UTC
27 Jun 2026, 01:00 UTC