A local research room that keeps AI-assisted work aligned, inspectable, and under your authority.
让长期 AI 辅助研究保持聚焦、可核查,并始终由你裁决。
Sestina is a local, interactive research application for work that lasts longer than one chat. Its Research Room keeps the active question, evidence, decisions, open issues, corrections, provenance, and next safe action in one continuous workspace. Models can propose; only the user can accept, reject, resolve, waive, or change research direction.
Long-running AI research often fails quietly: the question drifts, an old audit is repeated, a suggestion becomes an apparent decision, evidence boundaries disappear, or a polished answer hides an argumentative jump. Sestina turns those failure modes into visible research objects and explicit actions.
| Research need | What Sestina provides |
|---|---|
| Keep the real question in view | A persistent active research line and versioned Research Brief |
| Separate proposals from decisions | A user-only Authority Gate and append-only receipts |
| Know what leaves the machine | Exact, reviewable Context Manifests before Provider calls |
| Challenge an AI assessment | Correction appeals and an independently configured second opinion |
| Compare genuine disagreement | A bounded, mutually blind two-participant deliberation room |
| Resume without inventing context | Project-scoped governed memory, backups, restore, and schema recovery |
flowchart LR
U[User<br/>sole research authority] --> R[Research Room<br/>primary interface]
R --> K[Research Deliberation Kernel<br/>state, rules, receipts]
K --> L[(Local project<br/>.sestina)]
H[CLI · read-only MCP · host adapters] --> K
P[Optional model Provider] -. exact confirmed manifest .-> K
K -. proposal or evidence only .-> U
- Local-first: project state lives in the selected project's
.sestinadirectory. There is no Sestina cloud account, background sync, telemetry, crash upload, or automatic research-content logging. - Explicit outbound context: optional Provider requests remain disabled until the user configures a connection, inspects the exact Context Manifest, and confirms that bound request.
- Fail-closed authority: Provider output, agreement, signatures, hashes, and tool success never mutate research authority.
- Thin integrations: CLI, Skills, MCP, and host adapters expose the Kernel; they do not duplicate its rules. The public MCP surface is read-only.
Read the privacy contract, security policy, and data-flow inventory before using real research material.
The supported distribution is an archive, not a native installer. It requires Node.js 24.x and a local browser.
- Open the
v0.2.0release. - Download
SHA256SUMSand the one archive matching your system:sestina-research-room-0.2.0-windows-x64.zipsestina-research-room-0.2.0-macos-arm64.tar.gzsestina-research-room-0.2.0-ubuntu-x64.tar.gz
- Verify the archive SHA-256, then extract it into a new empty directory.
- In the extracted Sestina directory, run:
node start.mjs --version --json
node start.mjs
Open only the printed http://127.0.0.1:... address. Platform-specific details
are in the Windows,
macOS, and
Ubuntu guides.
Preview limits: 0.2.0 has no installer, updater, code signing, notarization, background service, npm publication, or public write-capable MCP. Release verification proves software behavior and artifact integrity; it does not prove Provider semantic quality, research correctness, adoption, or market value.
Prerequisites: Git, Node.js 24.x, and Corepack.
git clone https://github.com/Roblis0n/Sestina.git
cd Sestina
corepack enable
pnpm install --frozen-lockfile
pnpm verify:public
pnpm --filter @sestina/research-room build
node apps/research-room/dist/main.js
The server binds to loopback only. The default deterministic path works without
a semantic Provider and reports that limitation as ledger_only.
| Path | Purpose |
|---|---|
apps/research-room |
Production loopback server and React Research Room |
packages/research |
Research objects and user-authority domain model |
packages/core |
Application orchestration and Authority Gate |
packages/review |
Deterministic and optional semantic review contracts |
packages/storage |
SQLite persistence, migrations, backup, and restore |
integrations/mcp |
Bounded read-only Model Context Protocol adapter |
integrations/skills |
Generated host skill integration |
researchbench |
Synthetic, reproducible development evaluation assets |
docs |
Product, architecture, security, release, and recovery guides |
Start with the public documentation index, the product definition, or the architecture overview.
Issues and pull requests are welcome. Use synthetic data only—never attach real research content, project databases, Provider responses, credentials, private paths, or raw logs. See CONTRIBUTING.md, SUPPORT.md, and the Code of Conduct.
Source code and project documentation are available under the Apache License 2.0. Required attribution is in NOTICE, and bundled dependency terms are recorded in third-party notices. The copyright license does not grant trademark rights in the Sestina name or official logo; see TRADEMARKS.md.
