CONTEXTCORE / LOCAL WORKBENCH GUIDE

Local Setup & Workflow Guide

Senrelay combines a local macOS background service with a native/browser workbench for multi-host configuration management, source-linked companion auto-memory (with a brief 💡 receipt), and cross-agent conversation relay.

Core Pillars Overview

1. Multi-Host Configuration Management: Switch target hosts from the permanent top bar (covering the six core context hosts—Claude Code, Codex, Cursor, Antigravity, OMP, and OpenCode—plus extended config hosts), run One-Click Connect, and switch or sync providers, MCP tools, Skills, and prompts with automatic rollback snapshots and external conflict diff protection. File writes and live host process reloads are tracked separately.

2. Companion Auto-Memory: During everyday chats, companion MCP tools and Skills capture source-linked structured memories (preferences, architecture decisions, constraints, progress, and lessons learned) with a brief 💡 receipt, complemented by 📌 core-rule pinning, AGENTS.md handbook generation, and multi-format document imports.

3. Cross-Agent Conversation Relay: Type /contextcore or say "Relay" in a new agent to list recent cross-host conversation candidates (with index, source agent, project, title, and summary)—replying with only a number loads context and reports a brief summary while waiting for your next instruction, while attaching a concrete task continues directly.

1. Download & Requirements macOS 14.0+ · arm64

Install via Homebrew Cask or download published artifacts from GitHub Releases (v1.0.0-beta.1). Senrelay-macOS.zip is free and MIT-licensed, targets Apple Silicon (arm64) on macOS 14.0 or later, and bundles Senrelay.app with a self-contained Python backend and built web workbench—no separate Python or Node installation is required to run the app (each AI assistant still uses its own host installation).

# Recommended: install via Homebrew Cask
brew install --cask qingsongcui/tap/senrelay

Verify SHA256SUMS before extracting manual archives. Because current Beta builds are ad-hoc signed and not Apple notarized, follow these two steps for first launch on macOS 14.0+ (never disable Gatekeeper globally):

  1. Move Senrelay.app to /Applications;
  2. Run xattr -cr /Applications/Senrelay.app in Terminal to clear quarantine attributes (or allow it in System Settings → Privacy & Security → Open Anyway; source checkouts also include app/macos/install-macos.sh).

Package Disambiguation Note: Do not run pip install contextcore—the PyPI package with that name is an unrelated third-party project. For source mode, always clone this repository and run pip install -e 'app/backend[test]' below.

User data lives in ~/Library/Application Support/ContextCore. Closing the window (Cmd+W) keeps the background service running; stop it explicitly from Settings or contextcore stop when needed. Whole-database SQLite online backups are supported via contextcore backup, and removing the app bundle does not erase your saved projects, memories, or Keychain items.

Source Development Prerequisites

  • OS: macOS 14.0 or later on Apple Silicon (supports macOS Keychain credential isolation and LaunchAgent supervision).
  • Python: Python 3.12 recommended (minimum 3.11 with SQLite blobopen support).
  • Node.js: Node 22 LTS or Node 24 LTS (package engines ^22.22.2 || ^24.15.0 || >=26).

2. Install Dependencies From Repository Root

Run all setup commands from the repository root:

# 1. Create the backend virtualenv and install the package (registers the contextcore CLI)
python3.12 -m venv app/backend/.venv
app/backend/.venv/bin/python -m pip install -e 'app/backend[test]'

# 2. Install locked frontend dependencies
npm --prefix app/frontend ci --ignore-scripts

3. Launch the Workbench Mode A & Mode B

Choose between integrated serving (for everyday local use) or split Vite hot-reload mode (for frontend development).

Mode A: Integrated Workbench (Backend serves built frontend)

# Step 1: Build the frontend bundle into app/frontend/dist-staging
npm --prefix app/frontend run build

# Step 2: Start the local service on 127.0.0.1:18420 (or 8420 for daily service)
app/backend/.venv/bin/contextcore serve --host 127.0.0.1 --port 18420 --data-dir "$HOME/.contextcore/dev-data" --frontend-dir app/frontend/dist-staging

Open http://127.0.0.1:18420 in your browser (or http://127.0.0.1:8420 when running the persistent launchd service).

Mode B: Split Frontend & Backend Dev Mode (dev:isolated HMR)

# Terminal 1: Start API & MCP backend without static serving
app/backend/.venv/bin/contextcore serve --host 127.0.0.1 --port 18420 --data-dir "$HOME/.contextcore/dev-data" --no-static

# Terminal 2: Start isolated Vite dev server on port 15173 (proxies to 18420)
npm --prefix app/frontend run dev:isolated

Open http://localhost:15173 in your browser.

4. Core Workflows in Practice Core Workflows

① Multi-Host Config Switching & Sync

Open Agent Management, select a target host in the permanent top bar (Claude Code, Codex, Cursor, Antigravity, OMP, OpenCode, or extended hosts), and run One-Click Connect. Fill provider presets, run endpoint latency checks, switch or sync providers, MCP tools, Skills, and prompts with automatic snapshots and conflict diff checks, and import existing local configurations on demand.

② Companion Auto-Memory

Work naturally in any agent connected with companion MCP tools and Skills. Preferences, architecture decisions, constraints, milestones, and lessons are captured as source-linked structured memories with a brief 💡 receipt, while conflicting updates route to Pending Conflicts.

③ Cross-Agent Conversation Relay

Type /contextcore or say "Relay" in a new agent to list recent conversation candidates: pick just a number to load context, review a brief summary, and wait for your next prompt, or attach a concrete task to continue right away.

5. Local Data & Security Boundaries Data & Keychain

Local-First Storage & macOS Keychain Isolation

Session indexes, project memories, and configuration snapshots stay in your local Mac data directory (0700 directory mode, 0600 SQLite database files), with whole-database online backups available from Settings or contextcore backup. Provider API keys are isolated in macOS Keychain, and configuration exports exclude managed secrets by default.

Separate Permissions, Routing & Config Guard

Reading conversation history, modifying host configuration files, and downloading optional local semantic models require separate permissions that are never bundled. Each host supports Direct, Local Proxy Routing (with ordered fallback chains), or Model Aggregation, and every host file write saves an automatic rollback snapshot while blocking silent overwrites on external manual edits.