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 ArgoBox, 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, ArgoBox
  • 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 ArgoBox 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

Variable Required Purpose
OPENROUTER_API_KEY Yes (cloud mode) OpenRouter API key for LLM inference
ARGONAUT_DAEMON_URL No Argonaut daemon URL for full RAG (e.g., http://localhost:7777)
ARGONAUT_DAEMON_SECRET No Bearer token for daemon auth
ARGONAUT_MODEL No Override model (default: google/gemini-2.0-flash-001)

RAG Integration

LaForceIT's Argonaut draws from the same knowledge tier as ArgoBox's RAG system when using daemon proxy mode:

Collection Docs Chunks Content
argobox-technical 3,113 57,022 Technical vault journals
knowledge-sanitized 1,163 12,722 Sanitized knowledge base
argo-os-docs 935 4,091 Argo OS documentation
argobox-docs 100 365 Docs hub content
argobox-posts 76 300 Blog posts
dev-vault 213 468 Development notes
argobox-journal 73 153 Engineering journal
tendril 18 74 Graph visualization docs
career 19 41 Resumes, strategy, scoring
build-swarm 23 32 Distributed build docs
jobspy 11 16 Job scraping docs
argobox-projects 8 11 Project pages
laforceit 6 8 Portfolio content
Total 5,758 75,303 653.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

File Location Purpose
src/components/ArgonautChat.astro laforceit.com Chat widget component
src/layouts/PortfolioLayout.astro laforceit.com Layout (imports chat widget)
functions/api/chat.js laforceit.com CF Pages Function — chat API
~/Vaults/laforceit-vault/content/Portfolio-Content.md Vault RAG source — full portfolio data
~/Vaults/laforceit-vault/development/Site-Architecture.md Vault RAG source — site architecture

Relationship to ArgoBox

LaForceIT and ArgoBox share:

  • @argobox/glass-ui — 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

ArgoBox'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