Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
76 lines
3.3 KiB
TypeScript
76 lines
3.3 KiB
TypeScript
import { setupManifest } from '@start9labs/start-sdk'
|
|
|
|
/**
|
|
* Boardroom Map manifest.
|
|
*
|
|
* Like the LLaMA-Factory and Nightshift services, this is a CONTROL PLANE — it
|
|
* does not run any GPU workload itself. It is a small web UI + job runner that
|
|
* SSHes into one or two NVIDIA DGX Sparks to:
|
|
* 1. serve a panel of local LLMs with vLLM (loaded in waves to fit GPU memory),
|
|
* 2. extract text from documents you drop in (PDF/DOCX/TXT/MD — done on the
|
|
* StartOS box), ship it to the Sparks, and launch a panel of sandboxed
|
|
* "reviewer" containers (each a model + a persona) that read the documents
|
|
* and write a report,
|
|
* 3. optionally run a local "lead reviewer" that synthesizes the panel's
|
|
* reports into one consolidated report.
|
|
*
|
|
* There is NO frontier model and NO cloud API key. In the default `airgapped`
|
|
* network mode the reviewer containers can reach ONLY the on-Spark model proxy —
|
|
* the documents and their reviews never touch the internet.
|
|
*
|
|
* NOTE: s9pk.mk extracts the package identifier from the single-quoted value on
|
|
* the line below, so keep that field on one line and avoid stray quotes above it.
|
|
*/
|
|
export const manifest = setupManifest({
|
|
id: 'boardroom-map',
|
|
title: 'Boardroom Map',
|
|
license: 'Apache-2.0',
|
|
packageRepo: 'https://github.com/ten31/boardroom-map',
|
|
upstreamRepo: 'https://github.com/ten31/boardroom-map',
|
|
marketingUrl: 'https://github.com/ten31/boardroom-map',
|
|
donationUrl: null,
|
|
description: {
|
|
short: 'A private panel of local LLMs that reviews your confidential documents on your DGX Sparks',
|
|
long:
|
|
'Boardroom Map lets you drop confidential documents in and convene a panel of ' +
|
|
'local LLMs running on your NVIDIA DGX Sparks to review them. You choose ' +
|
|
'which models and which personas (lenses) sit on the panel and how many ' +
|
|
'reviews to run. Each reviewer reads the documents and writes a report; an ' +
|
|
'optional local lead reviewer synthesizes them into one consolidated ' +
|
|
'report. There is no frontier model and no cloud key: in the default ' +
|
|
'air-gapped mode the reviewers reach only the on-Spark model endpoint, so ' +
|
|
'your documents and their reviews never leave your hardware. No GPU is ' +
|
|
'needed on the StartOS host.',
|
|
},
|
|
// Arch-agnostic orchestrator. Docker build paths are relative to the PROJECT
|
|
// ROOT (where the Makefile runs), matching the Start9 convention.
|
|
images: {
|
|
main: {
|
|
source: {
|
|
dockerBuild: {
|
|
dockerfile: './orchestrator.Dockerfile',
|
|
workdir: '.',
|
|
},
|
|
},
|
|
arch: ['x86_64', 'aarch64'],
|
|
// The orchestrator only SSHes out + extracts document text on CPU; it never
|
|
// touches a local GPU.
|
|
nvidiaContainer: false,
|
|
},
|
|
},
|
|
volumes: ['main'],
|
|
dependencies: {},
|
|
hardwareRequirements: {
|
|
ram: 2048,
|
|
},
|
|
alerts: {
|
|
install:
|
|
'Boardroom Map drives work on REMOTE machines (your DGX Sparks) over SSH; ' +
|
|
'nothing serves or runs on your StartOS server. After install: ' +
|
|
'(1) "Configure Sparks" for SSH access, (2) "Configure Models" for the ' +
|
|
'local models to serve, (3) "Configure Reviewers" for the panel + personas, ' +
|
|
'(4) "Configure Review" for the rubric and air-gap mode. Then drop ' +
|
|
'documents in the inbox and run "Run Review".',
|
|
},
|
|
})
|