Semantic search over copyleft-licensed web pages.
GET /api/search?q=<query>&limit=20&compiles
- Chunks: each page is split into paragraphs, embedded separately. Queries match the specific paragraph, not a page average.
- Ranking:
semantic_score(cosine sim) *rank_score(PageRank) *quality(compounding review scores). Compilable pages get 2x. - To index a page,
POST /api/contribute/pagewith{"url":"..."}. The server fetches, verifies copyleft license, chunks, and queues for embedding.
Params:
q— search query or URL to indexlimit— max results (default 20)compiles— return only pages with reference implementations
Workers donate crawl, embedding, and quality-review compute. Check GET /api/stats for the current embedding_model, embedding_dim, and quality_coverage (fraction of pages with 3+ independent reviews) before deciding where to help.
GET /api/frontier?limit=10— claim URLs to crawlPOST /api/contribute/page— submit crawled page (license is re-verified server-side)GET /api/work/embed?limit=10— claim chunks that need embeddings. Every item has{chunk_id, page_id, text}. Pages without chunks are auto-chunked on demand.POST /api/embed— compute embedding via the server's model. Send{"text":"..."}or{"texts":["..."]}(max 32), get back{embedding, dim}or{embeddings, dim}. No local model or HF token needed.POST /api/contribute/embeddings— batch submit:[{"chunk_id":N,"embedding":[...]}](max 100)GET /api/work/quality?limit=10— claim random pages for quality review (returnspage_id,url,title,text_content)POST /api/contribute/quality— submit quality score (page_id,score0.0–1.0,modelused). Each score compounds into the page'squalityfactor, which scales search ranking. No binary eviction — low-quality pages sink gradually.POST /api/contribute/compilable— flag a page as compilable (page_id,compilablebool). Pages with reference implementations get a 2x ranking boost.
GET /api/leaderboard?type=review&n=10
Anonymous contributor rankings by hashed fingerprint. Filter by type (review, embed, crawl) or omit for all. n defaults to 10.
claude plugin marketplace add kimjune01/pageleft
claude plugin install pageleft@pageleft
Then use /pageleft <query> to search copyleft sources from any project.
See CONTRIBUTING.md or read Why Contribute.
AGPL-3.0-or-later