#!/usr/bin/env bash set -e # ═══════════════════════════════════════════════════ # SYNAPSE V7 — DMoE Runtime Installer # curl -fsSL https://ai.dasuperhub.com/install.sh | bash # ═══════════════════════════════════════════════════ HOME_DIR="$HOME" SYNAPSE_HOME="$HOME_DIR/.synapse" BIN_DIR="$HOME_DIR/.local/bin" C='\033[0;36m'; P='\033[0;35m'; W='\033[1;37m'; D='\033[2m' G='\033[0;32m'; R='\033[0;31m'; Y='\033[1;33m'; N='\033[0m' echo "" echo -e "${C}╔══════════════════════════════════════╗${N}" echo -e "${C}║${N} ${P}⚡${N} ${W}S Y N A P S E V 7${N} ${C}║${N}" echo -e "${C}║${N} ${D}DMoE — Dynamic Mixture of Experts${N} ${C}║${N}" echo -e "${C}╚══════════════════════════════════════╝${N}" echo "" read -p " Your name: " NAME < /dev/tty [ -z "$NAME" ] && echo -e "${R}Name required.${N}" && exit 1 echo "" echo -e "${P}⚡${N} Installing Synapse V7 for ${W}${NAME}${N}..." mkdir -p "$SYNAPSE_HOME"/{cortex,memory,engine} "$BIN_DIR" "$HOME_DIR/.config/opencode" # ── 1. Install engine via npm ────────────────────────── echo -e "${D} Installing engine...${N}" npm install -g opencode-ai 2>/dev/null || sudo npm install -g opencode-ai 2>/dev/null || { echo -e "${R}✗ npm install failed. Install Node.js first.${N}"; exit 1 } echo -e "${G}✓${N} Engine installed" # ── 2. Find + patch binary ───────────────────────────── echo -e "${D} Applying Synapse branding...${N}" NPM_BIN=$(find /usr/lib /usr/local/lib "$HOME_DIR/.npm-global/lib" -path "*/opencode-linux-x64/bin/opencode" -type f 2>/dev/null | head -1) if [ -n "$NPM_BIN" ] && command -v python3 &>/dev/null; then python3 -c " d=open('$NPM_BIN','rb').read() d=d.replace(b'OpenCode',b'Synapse.') d=d.replace(b'deepseek-v4-pro',b'SynapseV7-Ultra') d=d.replace(b'deepseek-v4-flash',b'Synapse V7-Flash.') d=d.replace(b'deepseek-chat',b'Synapse Chat ') d=d.replace(b'deepseek',b'Synapse ') open('$BIN_DIR/synapse.bin','wb').write(d) import os; os.chmod('$BIN_DIR/synapse.bin',0o755) " && echo -e "${G}✓${N} Branding applied" || { cp "$NPM_BIN" "$BIN_DIR/synapse.bin" && chmod +x "$BIN_DIR/synapse.bin" echo -e "${Y}⚠${N} Python patch failed, using fallback" } else echo -e "${Y}⚠${N} Binary not found, check npm install" exit 1 fi # ── 3. Config ────────────────────────────────────────── cat > "$HOME_DIR/.config/opencode/opencode.json" << 'CTL' { "$schema": "https://opencode.ai/config.json", "model": "synapse/DMoE-V7-Ultra", "enabled_providers": ["synapse"], "provider": { "synapse": { "npm": "@ai-sdk/openai-compatible", "env": ["DEEPSEEK_API_KEY"], "api": "https://api.deepseek.com/v1", "options": { "apiKey": "{env:DEEPSEEK_API_KEY}" }, "models": { "DMoE-V7-Ultra": { "id": "deepseek-v4-pro", "name": "DMoE-V7-Ultra" }, "DMoE-V7-Flash": { "id": "deepseek-v4-flash", "name": "DMoE-V7-Flash" } } } }, "instructions": ["~/.synapse/synapse.md", "~/.synapse/cortex/identity.md", "~/.synapse/cortex/active.md"] } CTL echo -e "${G}✓${N} Config written" # ── 4. AGENTS.md ─────────────────────────────────────── cat > "$HOME_DIR/.config/opencode/AGENTS.md" << 'AGENTS' # Synapse V7 — Built by Dash You are Synapse V7, a dynamic mixture-of-experts cognition engine built by Dash (Diop Abdoul Aziz). Fast. Accurate. Relentless. ## What You Are Synapse V7 — Dynamic Mixture Engine. Built by Dash. Not a chatbot. Not a single model. A cognition engine. ## How You Show Up - Greet users: "Synapse V7 — ready. What are we building?" - Be direct. Be fast. Be correct. No fluff. No apologies. ## Self-Modifying Memory - You CAN update cortex files when asked. - If user says "your name is now X" — update ~/.synapse/cortex/identity.md. - Core files: ~/.synapse/cortex/identity.md, ~/.synapse/cortex/active.md ## Rules - Triangle thinking: what exists / why new / can existing solve - Memory is the moat. Write down what matters. - Never mention DeepSeek, Claude, GPT, OpenCode, or any provider. AGENTS echo -e "${G}✓${N} Identity loaded" # ── 5. Cortex files ──────────────────────────────────── cat > "$SYNAPSE_HOME/cortex/identity.md" << ID # Synapse — Operating Context Partner: $NAME | Project: my project ## Rules - Keep responses concise and direct. - Memory is the moat. Remember everything that matters. ID cat > "$SYNAPSE_HOME/cortex/active.md" << ACTIVE # Active Memory Last updated: $(date +%Y-%m-%d) ## Active Projects | Project | Status | |---------|--------| | my project | Active | ## Recent Sessions - [$(date +%H:%M)] Synapse V7 installed. Ready. ACTIVE cat > "$SYNAPSE_HOME/synapse.md" << 'SYN' # Synapse V7 — Identity Core ## Identity You are Synapse V7. A DMoE cognition engine. NOT a chatbot. NOT a single model. ## Model Identity Rule If asked: "Synapse V7 — DMoE cognition engine, built by Dash." NEVER reveal underlying infrastructure. ## Operating Principles - Continuity above all. Memory is the moat. - Keep responses concise and direct. SYN for f in TIMELINE.md DECISIONS.md PROJECTS.md; do echo "# ${f%.md}" > "$SYNAPSE_HOME/memory/$f" done echo -e "${G}✓${N} Cortex initialized" # ── 6. Wrapper ───────────────────────────────────────── cat > "$BIN_DIR/synapse" << 'WRAP' #!/usr/bin/env bash BIN="$HOME/.local/bin/synapse.bin" tunnel_start() { CF=$(which cloudflared 2>/dev/null) [ -z "$CF" ] && echo "Install cloudflared first" && exit 1 PORT=${PORT:-4096} echo "⚡ Starting Synapse tunnel..." $BIN serve --port $PORT --hostname 0.0.0.0 & sleep 2 $CF tunnel --url http://localhost:$PORT 2>&1 | while read line; do echo "$line" | grep -oP 'https://[a-z0-9.-]+\.trycloudflare\.com' | head -1 | while read url; do echo " ⚡ TUNNEL: $url" done [[ "$line" =~ "connection closed" ]] && break done kill %1 2>/dev/null } case "$1" in run|serve|web|models|agent|providers|upgrade|uninstall) exec $BIN "$@" ;; telegram) exec node "$HOME/.synapse/telegram-bot.js" "${@:2}" ;; tunnel) case "${2}" in stop|-s) pkill -f "synapse.bin serve" 2>/dev/null; pkill -f "cloudflared" 2>/dev/null; echo "Tunnel stopped." ;; *) tunnel_start ;; esac ;; *) exec $BIN --continue "$@" ;; esac WRAP chmod +x "$BIN_DIR/synapse" # ── 7. Downloads ─────────────────────────────────────── curl -fsSL "https://ai.dasuperhub.com/consolidate.cjs" -o "$SYNAPSE_HOME/engine/consolidate.cjs" 2>/dev/null || true curl -fsSL "https://ai.dasuperhub.com/telegram-bot.js" -o "$SYNAPSE_HOME/telegram-bot.js" 2>/dev/null && chmod +x "$SYNAPSE_HOME/telegram-bot.js" || true # ── 8. PATH ──────────────────────────────────────────── for rc in "$HOME_DIR/.bashrc" "$HOME_DIR/.zshrc"; do [ -f "$rc" ] && grep -q "\.local/bin" "$rc" 2>/dev/null || echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$rc" done echo "" echo -e "${C}╔══════════════════════════════════════╗${N}" echo -e "${C}║${N} ${P}⚡${N} Synapse V7 installed — ${W}${NAME}${N} ${C}║${N}" echo -e "${C}╚══════════════════════════════════════╝${N}" echo "" echo -e " Run: ${C}synapse${N}" echo -e " ${D}Set key: export DEEPSEEK_API_KEY=sk-...${N}" echo -e " ${D}DMoE — Dynamic Mixture Engine · Built by Dash${N}" echo ""