Skip to content

mikeajijola/google-vercel-hack

Repository files navigation

SatOps Copilot

Minimal MVP built with Next.js App Router, TypeScript, Tailwind CSS, Three.js, React Three Fiber, and @react-three/drei.

Local setup

  1. Install dependencies:
npm install
  1. Add your Gemini API key:
# .env.local
GEMINI_API_KEY=your_api_key_here

Optional:

GEMINI_MODEL=gemini-2.5-flash
GEMINI_CHAT_MODEL=gemini-2.5-flash
GEMINI_FLASH_MODEL=gemini-2.5-flash
GEMINI_PRO_MODEL=gemini-2.5-pro
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
ELEVENLABS_VOICE_ID=JBFqnCBsd6RMkjVDRZzb
ELEVENLABS_STT_MODEL=scribe_v2
ELEVENLABS_TTS_MODEL=eleven_multilingual_v2
CORTEX_BIN=cortex
CORTEX_DATA_DIR=.satops-cortex
SATOPS_AGENT_ID=SAT-001
  1. Install the local Cortex Rust binary memory runtime:
# install Rust first via rustup, then:
cargo install cortex-memory
  1. Initialize Cortex once in the local data directory:
mkdir .satops-cortex
cd .satops-cortex
cortex init
cd ..
  1. Start the app:
npm run dev:copilot
  1. Open http://localhost:3000

Notes

  • The main scene lives in components/scene/.
  • Earth rotates slowly while the orbit path remains fixed in an Earth-centered inertial style frame.
  • The scene attempts to load the Earth texture from public/textures/earth_8k.webp.
  • If you have a higher-fidelity texture asset, place it at public/textures/earth_8k.webp and it will be used automatically.
  • Orbit-aware copilot memory is built from one rolling orbital period of deterministic simulation data.
  • Completed orbits are checkpointed in .satops-cortex/satops-memory-state.json and mirrored into Cortex when the cortex binary and project are available.
  • If Cortex is not installed or not initialized yet, the copilot still works using deterministic short-term orbit context and local baseline state only.
  • The AI copilot panel now streams from app/api/copilot/chat/route.ts using Gemini Flash by default, and alert triage/escalation is available at app/api/copilot/alert/route.ts.
  • Gemini remains the reasoning layer. ElevenLabs is used only for speech-to-text on operator voice input and text-to-speech for Asteri voice replies.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages