Skip to main content
Projects

LaForceIT Argonaut

AI chat integration for laforceit.com — portfolio Q&A powered by Argonaut with daemon proxy for full RAG across Arcturus-Prime, LaForceIT, and Career vaults

February 25, 2026

LaForceIT Argonaut

Argonaut AI chat widget integrated into laforceit.com (Dan’s professional portfolio). Visitors can ask questions about projects, experience, skills, and services. The chat operates in two modes: cloud-only with an embedded portfolio prompt, or daemon proxy for full RAG search across all 13 knowledge vaults.

Architecture

Chat Widget

src/components/ArgonautChat.astro — floating button (bottom-right) that expands into a glass-morphism chat panel styled in LaForceIT’s navy/gold theme. Features:

  • Starter chips: Projects, Background, Services, Arcturus-Prime
  • SSE streaming for real-time response rendering
  • Markdown formatting (code blocks, bold, italic, links)
  • Session history in sessionStorage (last 20 messages)
  • Rate limit display
  • ViewTransitions-compatible (astro:page-load)

Included in PortfolioLayout.astro so it appears on every page.

API Endpoint

functions/api/chat.js — Cloudflare Pages Function handling chat requests.

Mode 1: Daemon Proxy (Full RAG) When ARGONAUT_DAEMON_URL is set, the function proxies requests to the Argonaut daemon running on callisto (port 7777). This gives access to hybrid BM25+vector search across all 13 knowledge vaults — 75K+ chunks including Arcturus-Prime content, Career vault, LaForceIT portfolio data, and more.

Mode 2: Cloud Fallback (Embedded Context) When no daemon is available, calls OpenRouter directly with a comprehensive system prompt that embeds Dan’s complete portfolio data: all work experience, 18 projects, technical skills (6 categories, 30+ skills), 6 service offerings, case studies, and certifications. Uses google/gemini-2.0-flash-001 (free model) by default.

Rate Limiting

In-memory rate limiting: 20 requests per hour per IP. Resets automatically. The X-RateLimit-Remaining header is passed to the frontend for display.

Environment Variables

VariableRequiredPurpose
OPENROUTER_API_KEYYes (cloud mode)OpenRouter API key for LLM inference
ARGONAUT_DAEMON_URLNoArgonaut daemon URL for full RAG (e.g., http://localhost:7777)
ARGONAUT_DAEMON_SECRETNoBearer token for daemon auth
ARGONAUT_MODELNoOverride model (default: google/gemini-2.0-flash-001)

RAG Integration

LaForceIT’s Argonaut draws from the same knowledge tier as Arcturus-Prime’s RAG system when using daemon proxy mode:

CollectionDocsChunksContent
Arcturus-Prime-technical3,11357,022Technical vault journals
knowledge-sanitized1,16312,722Sanitized knowledge base
argo-os-docs9354,091Argo OS documentation
Arcturus-Prime-docs100365Docs hub content
Arcturus-Prime-posts76300Blog posts
dev-vault213468Development notes
Arcturus-Prime-journal73153Engineering journal
tendril1874Graph visualization docs
career1941Resumes, strategy, scoring
build-swarm2332Distributed build docs
jobspy1116Job scraping docs
Arcturus-Prime-projects811Project pages
laforceit68Portfolio content
Total5,75875,303653.8 MB

The laforceit collection is sourced from ~/Vaults/laforceit-vault/ which contains the site architecture documentation and full portfolio content (projects, experience, skills, services, case studies).

Files

FileLocationPurpose
src/components/ArgonautChat.astrolaforceit.comChat widget component
src/layouts/PortfolioLayout.astrolaforceit.comLayout (imports chat widget)
functions/api/chat.jslaforceit.comCF Pages Function — chat API
~/Vaults/laforceit-vault/content/Portfolio-Content.mdVaultRAG source — full portfolio data
~/Vaults/laforceit-vault/development/Site-Architecture.mdVaultRAG source — site architecture

Relationship to Arcturus-Prime

LaForceIT and Arcturus-Prime share:

  • @glass-ui/core — UI component library (Starfield, Nebula, GlassCard, SEO)
  • Argonaut RAG — same knowledge tier database when using daemon proxy
  • Design language — glass-morphism effects, dark theme, space aesthetic

Arcturus-Prime’s Argonaut is more feature-rich (admin chat, voice mode, tool execution, three-tier fallback). LaForceIT’s version is intentionally lightweight — a single CF Pages Function with no native dependencies, designed to work on static hosting without SSR.

Quick Reference

# Build the site
cd ~/Development/laforceit.com
npx astro build

# Dev server (chat works via Pages Functions emulation)
npx astro dev

# Set env vars for CF Pages
# In Cloudflare dashboard → Pages → Settings → Environment variables:
# OPENROUTER_API_KEY = sk-or-v1-...
# ARGONAUT_DAEMON_URL = http://... (optional, for full RAG)
laforceitargonautairagcloudflarechat