🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

session-forge-hub

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

session-forge-hub

Team intelligence dashboard for session-forge. Local-first, zero cloud dependencies. See what your AI coding agents are doing — on YOUR infrastructure.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

session-forge hub

Team intelligence for AI coding — on YOUR infrastructure.

Your developers are making hundreds of decisions, hitting dead ends, and building institutional knowledge every day through AI coding assistants. session-forge hub gives you visibility into all of it — without sending a single byte to anyone else's servers.

https://github.com/420247jake/session-forge-hub/raw/main/promo/sessionforge.mp4

Prerequisites

This project requires session-forge — the MCP server that Claude Code uses to track decisions, dead ends, journal entries, and session state. Each developer on your team needs session-forge installed and configured in their Claude Code setup.

If your developers aren't already using session-forge, start there first:

npx session-forge

session-forge hub does NOT replace session-forge. It sits alongside it. session-forge continues to work exactly as before — hub just gives your team a shared dashboard to see everyone's data in one place.

How the Three Pieces Fit Together

There are three separate npm packages involved. Here's what each one does:

PackageWho installs itWhat it does
session-forgeEach developerMCP server that Claude Code talks to. Saves decisions, dead ends, journal entries as local JSON files. You probably already have this.
session-forge-hubIT admin / team leadDashboard server that runs on your LAN. Collects data from all developers. Shows activity, search, reports.
session-forge-reporterEach developerWatches session-forge's local JSON files and syncs new entries to the hub over your local network. This is the bridge between session-forge and the hub.
Developer's Machine                          Company LAN Server
┌─────────────────────────────────┐          ┌──────────────────────────┐
│                                 │          │                          │
│  Claude Code                    │          │  session-forge hub       │
│       ↓ (MCP)                   │          │  http://192.168.x.x:3700 │
│  session-forge                  │          │                          │
│       ↓ (writes JSON)           │          │  Dashboard, Search,      │
│  ~/.session-forge/              │          │  Reports, Audit Log      │
│       ↓ (watches files)         │   HTTP   │                          │
│  session-forge-reporter  ───────────────→  │  REST API + JSON Storage │
│                                 │  (LAN)   │                          │
└─────────────────────────────────┘          └──────────────────────────┘

session-forge works without the hub. The hub is optional — it just adds team-wide visibility. If a developer never runs the reporter, their data stays local and nothing breaks.

Why Local-First Matters

Every AI coding session generates sensitive data: architectural decisions, debugging history, file paths, code context, failed approaches. This is your company's intellectual property.

Cloud-hosted alternatives route this data through third-party servers. You're trusting someone else with your proprietary code intelligence, your team's workflow patterns, and your project architecture.

session-forge hub runs on YOUR network. Zero external calls. Zero analytics. Zero phone-home. Your data never leaves your infrastructure.

What the Hub Dashboard Shows

  • Overview — stats cards, agent grid, recent activity feed across all developers
  • Agents — register, monitor, and manage each Claude Code instance
  • Activity Feed — real-time view of checkpoints, decisions, dead ends across the team
  • Cross-Agent Search — search all decisions and dead ends across all developers
  • Daily Reports — auto-generated summaries with highlights, top projects, breakthroughs
  • Audit Log — every API call logged with timestamp, agent, IP, and action
  • Security Page — educational content about why local-first matters
  • Sync & Export — export/import all agent data with scope filters (all, self, select)
  • Remote Access Guide — setup instructions for VPN, Nginx, and Cloudflare Tunnel
  • Donate — optional Stripe integration if you want to support development

Quick Start

1. Make sure developers have session-forge

Each developer needs session-forge configured in their Claude Code. If they don't have it yet:

npx session-forge

Then add it to their Claude Code MCP settings. See the session-forge docs for setup.

2. Start the hub (on your LAN server or any machine)

npx session-forge-hub

On first run, it generates your admin API key and prints it to the terminal. Save it — it's shown once.

3. Open the dashboard

Navigate to http://localhost:3700 (or your server's LAN IP) and enter your admin key.

4. Register each developer as an agent

In the dashboard, click "Register Agent" and fill in:

  • Name: e.g. "Alice's Claude Code"
  • Developer: e.g. "Alice"
  • Machine: e.g. "alice-macbook"

You'll get an agent API key. Give this to the developer.

5. Each developer runs the reporter

On each developer's machine (where session-forge is already saving data):

npx session-forge-reporter --hub http://YOUR_HUB_IP:3700 --key sfh_agent_...

The reporter watches session-forge's local JSON files and syncs new entries to the hub. It does a full sync on startup, then polls for changes every 5 seconds.

Configuration

Hub Server

VariableDefaultDescription
PORT3700Server port
HOST0.0.0.0Bind address
SESSION_FORGE_HUB_DIR~/.session-forge-hubData directory
HUB_NAMEsession-forge hubName shown in dashboard
MAX_AGENTS50Maximum registered agents
RETENTION_DAYS90Data retention period
STRIPE_SECRET_KEYOptional: Stripe secret key for donations
STRIPE_PUBLISHABLE_KEYOptional: Stripe publishable key

Reporter

# CLI flags
npx session-forge-reporter --hub <url> --key <key> [--forge-dir <dir>] [--poll <ms>]

# Or config file (~/.session-forge-reporter.json)
{
  "hubUrl": "http://192.168.1.100:3700",
  "agentApiKey": "sfh_agent_..."
}

# Sync mode — export all hub data to a file
npx session-forge-reporter sync --hub <url> --key <admin_key> --output backup.json

# Sync mode — import data from a file
npx session-forge-reporter sync --hub <url> --key <admin_key> --import backup.json

# Export specific agents only
npx session-forge-reporter sync --hub <url> --key <admin_key> --agents id1,id2 --output partial.json

Security Model

API Keys

  • Admin key (sfh_admin_...) — full dashboard access, agent management
  • Agent keys (sfh_agent_...) — can only submit and read own data
  • All keys bcrypt-hashed (cost 12) before storage
  • Keys shown exactly once on generation, never stored in plaintext

Network

  • All traffic stays on your local network
  • No external network calls — ever
  • No CDN dependencies (all assets bundled)
  • No analytics, no telemetry, no tracking
  • Helmet.js security headers

Rate Limiting

  • 120 requests/minute per IP
  • Prevents abuse without blocking normal usage

Audit

  • Every API call logged: timestamp, agent ID, action, IP, success/failure
  • Rolling buffer of 10,000 entries
  • Viewable in dashboard and via API

API Reference

Agent Management (Admin key)

MethodPathDescription
POST/api/agents/registerRegister new agent
GET/api/agentsList all agents
GET/api/agents/:idGet agent details
DELETE/api/agents/:idDeactivate agent
POST/api/agents/:id/rotate-keyRotate API key

Data Ingestion (Agent key)

MethodPathDescription
POST/api/ingest/checkpointSubmit checkpoint
POST/api/ingest/decisionSubmit decision
POST/api/ingest/dead-endSubmit dead end
POST/api/ingest/journalSubmit journal entry
POST/api/ingest/profileUpdate profile
POST/api/ingest/batchBatch submit

Dashboard (Admin key)

MethodPathDescription
GET/api/dashboard/overviewHub overview stats
GET/api/dashboard/activityRecent activity feed
GET/api/dashboard/agent/:id/activityAgent activity

Search (Admin key)

MethodPathDescription
GET/api/search/decisions?q=Search decisions
GET/api/search/dead-ends?q=Search dead ends

Reports (Admin key)

MethodPathDescription
GET/api/reports/daily?date=Daily report

Sync & Export (Admin or Agent key)

MethodPathDescription
POST/api/sync/exportExport data bundle (scope: all, self, select)
POST/api/sync/importImport data bundle (admin only)
GET/api/sync/agentsList agents for sync UI

Admin

MethodPathDescription
GET/api/admin/healthHealth check (no auth)
GET/api/admin/auditAudit log

Storage

All data stored as plain JSON files:

~/.session-forge-hub/
  hub.json              # Hub config + admin key hash
  audit.json            # Audit log
  agents/
    {id}.json           # Agent metadata per registered agent
  data/
    {id}/               # Per-agent data directory
      checkpoints.json
      decisions.json
      dead-ends.json
      journal.json
      profile.json
  reports/
    daily/{date}.json   # Generated daily reports

Support

session-forge hub is free and open-source. If it's saving your team time, consider supporting development:

  • GitHub Sponsors
  • The hub includes a built-in donation page at /donate.html (Stripe integration, optional)

License

MIT

Built by Jacob Terrell

Keywords

session-forge

FAQs

Package last updated on 09 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts