English · 简体中文
CDF is an offline-first desktop Agent workstation for work that should outlive a chat tab. It keeps a local Project, its conversations, scene-specific Skills, Agent activity, workflows, files, and artifacts in one durable working context.
Today, CDF ships two complete Scene foundations—General and Research—with more specialized professional desks planned.
The interface has three stable zones: Project Ledger on the left, Scene Desk in the center, and an on-demand Auxiliary Bay for files and activity on the right. The current Project stays visible while the work changes.
A Project is created for a professional context, not for a provider. The General Scene handles everyday multimodal work. The Research Scene adds a Paper Library and a focused set of Skills for paper search, collection, reading, local PDF parsing, manuscript review, and academic revision.
AI Subscriptions exposes supported routes from accounts you already use:
- MiniMax Token Plan for text reasoning plus image, video, speech, and music workflows.
- Codex OAuth for supported text, code, and image workflows.
- xAI Grok OAuth for supported text and media workflows.
Connections and capability switches are explicit. CDF selects from enabled routes instead of forcing every task through one model vendor.
Workflow Runs turn a complex task into named Stages. A selected model drives the Master Agent, Stage Gates pause at decision boundaries, and the run record preserves progress, approvals, failures, and outputs instead of hiding them inside an autonomous loop.
The Research Scene keeps conversation and literature work in the same Project context. Its Paper Library supports searchable local entries, paper metadata, collection, PDF opening, and the built-in research Skill chain.
CDF stores application state in local SQLite-backed storage and roots each Project in a directory selected by the user. Filesystem, shell, MCP, browser, and model-provider operations stay in the Electron main process and cross a minimal preload IPC boundary.
External AI providers, scholarly search, and browser-assisted reading still require network access when invoked. Those connections are visible, configurable, and allowed to fail without redefining the local Project as a cloud workspace.
- Node.js
>=22 - pnpm
11.5.1 - macOS, Windows, or Linux desktop environment
git clone https://github.com/suntianc/CDF.git
cd CDF
pnpm install
pnpm run dev:electrondev:electron is the recommended start command because it rebuilds better-sqlite3 for the Electron ABI before launching the app.
Warning
pnpm test rebuilds better-sqlite3 for the Node.js ABI. After testing, use pnpm run dev:electron before launching the desktop app again. Do not delete the lockfile to work around an ABI mismatch.
| Command | Purpose |
|---|---|
pnpm run dev:electron |
Rebuild the native database module for Electron and start development |
pnpm test |
Run the Vitest suite in the Node.js environment |
pnpm run typecheck |
Type-check the main/preload and renderer targets |
pnpm run build |
Build the Electron main, preload, renderer, and paper-search runtime |
pnpm run preview |
Preview the compiled Electron application |
CDF can be built for the targets below. The optional Obscura browser-assisted reader is included only where this repository carries a matching native binary.
| Target | Application | Bundled Obscura |
|---|---|---|
| macOS x86_64 DMG | Yes | Yes |
| macOS ARM64 DMG | Yes | Yes |
| Windows x86_64 NSIS / MSI | Yes | Yes |
| Windows ARM64 NSIS / MSI | Yes | No |
| Linux x86_64 DEB / RPM | Yes | No |
Missing Obscura support does not disable the rest of CDF; invoking that optional route reports that no matching binary is bundled.
Renderer Preload boundary Main process
React 19 contextBridge Electron + IPC
Scene workspaces ───▶ minimal typed APIs ───▶ Agent / Workflow runtime
Zustand projections SQLite / filesystem / MCP
provider connections
src/renderer/contains the React workbench and user-visible projections.src/preload/exposes the smallest renderer-safe API surface.src/main/owns high-privilege operations, persistence, Agents, capabilities, and Workflow Runs.src/shared/holds types and constants shared across process boundaries.
The Electron window keeps contextIsolation: true and nodeIntegration: false.
- General Scene and local Project workbench
- Research Scene, Paper Library, and built-in research Skills
- MiniMax Token Plan, Codex OAuth, and xAI Grok OAuth connections
- Stage-based Workflow Runs with Gate decisions
- Additional creative, design, and analysis Scenes
Roadmap items describe direction, not a compatibility promise or release date.
Issues, design proposals, and pull requests are welcome. Before changing the codebase, read AGENTS.md for repository rules, test expectations, and Electron security boundaries.
CDF is licensed under the GNU Affero General Public License v3.0.
CDF is built with and informed by open-source work across several layers:
- Desktop and interface: Electron, electron-vite, React, Tailwind CSS, Radix UI, and Lucide.
- Agent runtime: LangChain, LangGraph, deepagents, and the Model Context Protocol.
- Local workbench: better-sqlite3, Zustand, React Flow, Monaco Editor, and Excalidraw.
- Integrated research capabilities: paper-search-cli, Obscura, and Marker.
- Skill references: scientific-agent-skills and humanizer informed parts of CDF's research writing and review workflows.
CDF · Local Field Desk



