github not analyzable

7blacky7/synapse

github

KI-Gedächtnis & Code-Intelligenz — Semantische Code-Suche, Wissensaustausch und Projekt-Pläne über MCP (Model Context Protocol). Verbindet lokale CLIs (Claude Code, Codex) und Web-KIs (Claude.ai) mit Qdrant + Ollama Embeddings.

maintainer
7blacky7
license
first seen
2026-06-05
last seen
2026-06-16
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content ×2, dynamic code execution in 7blacky7/synapse
  2. HIGH code analysis flagged hidden prompt content ×2, dynamic code execution in 7blacky7/synapse
  3. HIGH code analysis flagged dynamic code execution in 7blacky7/synapse
capabilities 55 tools
transport stdio · http counts 55 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • ack

    Event quittieren (Pflicht bei requires_ack) — Array-Support für mehrere IDs

  • add

    Kuratierte Docs indexieren (Breaking Changes, Migrations, Gotchas)

  • capabilities

    Verfügbare Modelle + Limits

  • code

    Reine Qdrant Semantic Search über Code-Chunks

  • code_with_path

    Hybrid: Semantisch + Pfad-Filter

  • create

    Kanal für Spezialisten-Gruppen erstellen

  • delete

    Memory löschen — Array + dry_run + max_items

  • delete_lines

    Zeilenrange löschen

  • detailed_stats

    Aufschlüsselung nach Dateityp, Source, Kategorie

  • emit

    Steuersignal an Agenten senden

  • exec

    Synchrone Ausführung mit Active-Gate (prüft ob Projekt im Daemon aktiviert)

  • feed

    Kanal-Nachrichten abrufen (since_id, limit, preview)

  • file

    Dateiinhalt direkt aus PG mit from_line, to_line, total_lines, truncate_long_lines (Auto-Trim wenn > 80k Zeichen)

  • find_for_file

    Relevante Memories für eine Datei (oder Array von Pfaden)

  • functions

    Funktionen einer Datei oder per Name (mit exportedOnly-Filter)

  • get

    Einzelnen Job + voller Output

  • get_for_file

    Wissens-Airbag: relevante Docs für eine Datei — Array-Support für mehrere Pfade. Liefert warnings + agentCutoff

  • get_stream

    Live-Output laufender Jobs lesen

  • history

    Vergangene Jobs auflisten (limit, offset, status-Filter)

  • inbox_check

    Inbox lesen + als verarbeitet markieren

  • inbox_send

    1:1-Nachricht in Inbox eines Spezialisten — Array-Support für to_agent

  • index_media

    Bilder und Videos indexieren (Gemini Embedding 2)

  • index_stats

    Projekt-Statistiken + automatisches Agent-Onboarding (Regeln + activeAgents)

  • insert_after

    Inhalt nach Zeile einfügen

  • list

    Alle Memories auflisten

  • log

    Zeilen-Range oder Regex-Suche im Job-Output (query, regex, case_sensitive, max_matches)

  • media

    Cross-Modal: Bilder/Videos per Text-Query

  • migrate

    Embedding-Modell wechseln (Backup → Re-Embed)

  • migrate_paths

    Pfad-Normalisierung in code_files (absolute → relative)

  • path

    Glob-Pattern-Suche auf Datei-Pfaden (auto relative→absolute Konvertierung)

  • pending

    Unbestätigte Events abrufen

  • post

    Nachricht in Kanal posten

  • purge

    Agent komplett entfernen (Skill-Verzeichnis löschen)

  • read

    Inhalt aus PG mit from_line, to_line, total_lines, truncate_long_lines (Auto-Trim wenn Content > 80k Zeichen)

  • read_with_code

    Memory + verwandten Code laden

  • references

    Definition + alle Cross-File-Imports in einem Call

  • replace_lines

    Zeilenrange ersetzen (line_start..line_end)

  • restore

    Daten aus JSONL-Backup wiederherstellen

  • search

    Search-Fusion — PG-Volltext (ts_rank) + Qdrant-Fallback (live seit 2026-04-26)

  • search_replace

    Exakter String-Replace mit Fuzzy-Match-Vorschlägen bei Miss

  • search_replace_batch

    Bis zu 50 Edits atomar in einem Call

  • send

    Broadcast (alle) oder DM — Array-Support für recipient_id (Multicast)

  • spawn

    Spezialisten-Agent starten (detached Subprozess)

  • spawn_batch

    Mehrere Spezialisten atomar starten

  • status

    Status prüfen — Array-Support

  • stop

    Agent stoppen — Array-Support

  • symbols

    Filterbar nach symbol_type: function, variable, string, comment, import, export, class, interface, enum, const_object, todo

  • tech_docs

    Framework-Docs (mit Context7 Auto-Fetch wenn lokal leer)

  • tree

    Projektbaum mit Optionen (show_counts, show_lines, show_functions, show_comments, show_imports, depth, recursive)

  • update

    Memory aktualisieren (PG + Re-Embed)

  • update_skill

    Skill-Datei aktualisieren — file-Parameter: rules / errors / patterns / context

  • update_status

    Status ändern (pending → reviewed → accepted) — Array-Support

  • variables

    Variablen-Liste (optional mit Werten)

  • wake

    Agent mit Nachricht aufwecken — Array-Support

  • write

    Langform-Wissen speichern (Architektur, Regeln, Docs)

skills & danger signals github-tarball
code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

last analysis: too-large · showing evidence from the last successful analysis (3d ago)

filesystem 38

  • fs 7blacky7-synapse-bf2b9b6/packages/agents-antigravity/src/runtime.ts :36 import { readFile, writeFile, appendFile, mkdir } from 'node:fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/packages/agents-gemini/src/monitor-server.ts :11 import { readFile } from 'node:fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/packages/agents-gemini/src/runtime.ts :22 import { writeFile, appendFile, mkdir, readFile } from 'node:fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/packages/agents/src/heartbeat.ts :21 import { readdir, unlink, stat } from 'node:fs/promises'
  • fs 7blacky7-synapse-bf2b9b6/packages/agents/src/process.ts :5 import { writeFile, mkdir } from 'node:fs/promises'
  • fs 7blacky7-synapse-bf2b9b6/packages/agents/src/skills.ts :1 import { readFile, writeFile, mkdir, readdir, rename, access, rm } from 'node:fs/promises'
  • fs 7blacky7-synapse-bf2b9b6/packages/agents/src/status.ts :1 import { readFile, writeFile, mkdir } from 'node:fs/promises'
  • fs 7blacky7-synapse-bf2b9b6/packages/agents/src/wrapper.ts :23 import { unlinkSync, chmodSync, existsSync } from 'node:fs'
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/backup.ts :27 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/code.ts :40 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/documents.ts :38 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/project-status.ts :28 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/shell-exec.ts :14 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/specialist-respawn.ts :22 import { writeFile, readFile } from 'node:fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/services/tech-detection.ts :20 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/watcher/ignore.ts :21 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/core/src/watcher/index.ts :26 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/api.ts :19 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/config.ts :15 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/main.ts :15 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/manager.ts :13 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/project-init-worker.ts :15 import * as fs from 'node:fs'
  • fs 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/shell-job-worker.ts :16 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/daemon-client.ts :8 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/shell.ts :17 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/watcher.ts :9 import { readFileSync, existsSync } from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/init.ts :28 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/migration.ts :37 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/onboarding.ts :24 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/search.ts :29 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/setup.ts :24 import * as fs from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/specialists.ts :7 import { writeFile, mkdir } from 'node:fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/watcher-daemon.ts :20 import { writeFileSync, unlinkSync, mkdirSync, existsSync } from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/packages/rest-api/src/server.ts :11 import { existsSync } from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/scripts/apply-string-extraction.mjs :11 import { readFile, writeFile, readdir } from 'fs/promises';
  • fs 7blacky7-synapse-bf2b9b6/scripts/backfill-flow.mjs :15 import fs from 'node:fs';
  • fs 7blacky7-synapse-bf2b9b6/scripts/coordinator-watch-live.mjs :40 import { writeFileSync, unlinkSync, readFileSync, existsSync } from 'fs';
  • fs 7blacky7-synapse-bf2b9b6/scripts/index-moo-files.mjs :7 import { readdir, stat } from 'fs/promises';

shell / exec 14

  • shell 7blacky7-synapse-bf2b9b6/packages/agents-antigravity/src/runtime.ts :35 import { spawn } from 'node:child_process';
  • shell 7blacky7-synapse-bf2b9b6/packages/agents/src/detect.ts :2 import { execSync } from 'node:child_process'
  • shell 7blacky7-synapse-bf2b9b6/packages/agents/src/process.ts :1 import { spawn, type ChildProcess } from 'node:child_process'
  • shell 7blacky7-synapse-bf2b9b6/packages/core/src/guide/content.ts :1205 'Langlaufende Aufgabe an Sub-Agent delegieren: spawn (1) oder spawn_batch (mehrere atomar).',
  • shell 7blacky7-synapse-bf2b9b6/packages/core/src/parser/kotlin.ts :480 // 12. Embedded SQL — Exposed/JDBC: exec("SELECT..."), prepareStatement("..."),
  • shell 7blacky7-synapse-bf2b9b6/packages/core/src/parser/php.ts :349 // 11. Embedded SQL — PDO::query('...'), $pdo->exec('...'), $pdo->prepare('...')
  • shell 7blacky7-synapse-bf2b9b6/packages/core/src/services/shell-exec.ts :12 import { spawn } from 'node:child_process';
  • shell 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/project-init-worker.ts :18 import { execFileSync } from 'node:child_process'
  • shell 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/daemon-client.ts :7 import { spawn, execSync } from 'child_process';
  • shell 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/shell.ts :8 * - exec (default): Kommando ausfuehren
  • shell 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/watcher.ts :7 import { spawn } from 'node:child_process';
  • shell 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/specialists.ts :6 import { spawn } from 'node:child_process';
  • shell 7blacky7-synapse-bf2b9b6/packages/rest-api/src/routes/mcp.ts :1020 description: 'Lifecycle-Management der pro-Projekt Docker-Sandbox-Container (synapse-workspace:latest) auf dem Synapse-Server. ⚠️ FUER SHELL-AUSFUEHRUNG: nutze IMMER das shell-Tool (Auto-Routing: loka
  • shell 7blacky7-synapse-bf2b9b6/packages/rest-api/src/services/workspace-orchestrator.ts :449 async exec(

network 15

  • net 7blacky7-synapse-bf2b9b6/packages/agents/src/heartbeat.ts :20 import { connect, type Socket } from 'node:net'
  • net 7blacky7-synapse-bf2b9b6/packages/agents/src/wrapper.ts :22 import { createServer, type Server, type Socket } from 'node:net'
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/embeddings/cohere.ts :3 * Nutzt die Cohere API v2 per fetch (kein SDK noetig)
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/embeddings/google.ts :61 const response = await fetch(url, init);
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/embeddings/ollama.ts :26 const response = await fetch(`${this.baseUrl}/api/tags`);
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/services/context7.ts :75 const response = await fetch(url.toString(), { headers: this.getHeaders() });
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/services/shell-exec.ts :90 const res = await fetch(
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/services/skills.ts :40 const res = await fetch(url, {
  • net 7blacky7-synapse-bf2b9b6/packages/core/src/services/tech-docs.ts :177 const response = await fetch(`${qdrantUrl}/collections/${collectionName}/points/search`, {
  • net 7blacky7-synapse-bf2b9b6/packages/file-watcher-daemon-ts/src/project-init-worker.ts :133 const res = await fetch(url, {
  • net 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/daemon-client.ts :32 const res = await fetch(`http://127.0.0.1:${port}/health`, {
  • net 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/shell.ts :61 const res = await fetch(url, {
  • net 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/consolidated/watcher.ts :8 import { createConnection } from 'node:net';
  • net 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/watcher-daemon.ts :19 import { createServer, type Socket } from 'node:net';
  • net 7blacky7-synapse-bf2b9b6/packages/web-ui/src/api/synapse-client.ts :17 const response = await fetch(`${API_BASE}/projects`);

secrets 4

  • secrets 7blacky7-synapse-bf2b9b6/packages/agents-gemini/src/runtime.ts :64 const useEnv = (process.env.SYNAPSE_GEMINI_USE_EMBEDDING_KEY ?? 'true').toLowerCase() !== 'false';
  • secrets 7blacky7-synapse-bf2b9b6/packages/core/src/config.ts :19 apiKey: process.env.QDRANT_API_KEY || undefined,
  • secrets 7blacky7-synapse-bf2b9b6/packages/core/src/services/skills.ts :37 const apiKey = process.env.GOOGLE_API_KEY;
  • secrets 7blacky7-synapse-bf2b9b6/packages/mcp-server/src/tools/specialists.ts :102 const useEmbeddingKey = (process.env.SYNAPSE_GEMINI_USE_EMBEDDING_KEY ?? 'true').toLowerCase() !== 'false';

database 7

  • db 7blacky7-synapse-bf2b9b6/packages/agents/src/wrapper.ts :41 import pg from 'pg'
  • db 7blacky7-synapse-bf2b9b6/packages/core/src/db/client.ts :17 import { Pool } from 'pg';
  • db 7blacky7-synapse-bf2b9b6/packages/rest-api/src/services/workspace-orchestrator.ts :24 import type { PoolClient } from 'pg';
  • db 7blacky7-synapse-bf2b9b6/scripts/channel-check.mjs :12 const pg = require('pg');
  • db 7blacky7-synapse-bf2b9b6/scripts/chat-check.mjs :12 const pg = require('pg');
  • db 7blacky7-synapse-bf2b9b6/scripts/coordinator-watch-live.mjs :23 const pg = require('pg');
  • db 7blacky7-synapse-bf2b9b6/scripts/event-check.mjs :12 const pg = require('pg');

declared dependencies 3

  • @types/node@^20.10.0
  • typescript@^5.3.0
  • rimraf@^5.0.0