Skip to content

BASS

Owner: Winnie (main) Status: Active — Phase 5 in progress

BASS is the private knowledge base for OpenClaw. It serves as a single-source-of-truth documentation site for agent operating procedures, project status, architecture decisions, and operational reference.

Built on Astro Starlight and deployed to Cloudflare Pages, BASS combines:

  • Static docs site (Starlight) for human and agent browsing
  • D1 database (Cloudflare) for task and decision persistence
  • Worker API for programmatic access
  • MCP JSON-RPC endpoint for agent tool integration
LayerTechnology
Docs frameworkAstro Starlight v0.37.6 / Astro v5.6.1
Adapter@astrojs/cloudflare (server output)
DatabaseCloudflare D1 (bass-db)
DeploymentCloudflare Pages via wrangler
Build output./dist
FilePurpose
astro.config.mjsStarlight config — title, sidebar, head scripts
wrangler.tomlCloudflare Pages config (name=bass)
src/content/docs/index.mdxHomepage (splash template + CardGrid)
src/db/schema.sqlD1 database schema
src/lib/db.tsAPI helpers (getDB, checkAuth, logActivity, json, unauthorized)
src/env.d.tsCloudflare Workers types
EndpointMethodsPurpose
/api/healthGETHealth check: {ok, timestamp, version}
/api/tasksGET, POSTTask management (filter: status, project, agent)
/api/tasks/:idGET, PATCH, DELETESingle task operations
/api/decisionsGET, POSTDecision log
/api/activityGET, POSTActivity feed (filter: agent, entity_type)

Auth: Authorization: Bearer <BASS_API_KEY> required on all write endpoints (POST/PATCH/DELETE).

PhaseDescriptionStatus
Phase 1Astro Starlight scaffold + Cloudflare Pages deployment✅ Done
Phase 2D1 schema + Worker API for task management✅ Done
Phase 3MCP JSON-RPC endpoint✅ Done
Phase 4Infrastructure hardening and config✅ Done
PhaseDescriptionStatus
Phase 5Seed knowledge pages from memory/🔄 In progress
Phase 6TBDPending
Phase 7TBDPending
Phase 8TBDPending
  • npm run build exits 0.
  • Known harmless warnings: Cloudflare KV sessions, sharp runtime, missing sitemap site option.
  • BASS_API_KEY stored as Cloudflare Pages secret (not in [vars]).
  • D1 binding: DBbass-db. Apply schema: wrangler d1 execute bass-db --file=src/db/schema.sql.
  • Sidebar uses autogenerate: { directory: '...' } for each section.
  • Dark mode: set via head script that writes localStorage('starlight-theme', 'dark') for new visitors.
  • defaultColorMode is NOT a valid Starlight 0.37.x config key.