How encyc/novel-vibe works
Novel Vibe is a local-first, cloud-optional, multi-agent novel-writing system: the writer works in a project workspace, asks the Chief Editor for help, and reviews AI-proposed Markdown changes. The Agent Server coordinates specialist agents and session context; documents move through human-controlled confirmation states, with a database serving as a rebuildable index. The graph also preserves the documented community, skills, billing, and MCP capabilities. Some subsystem internals were not sampled, so their paths use the exact enclosing directories and their links are limited to documented relationships.
Main entry points: server.ts Agent Server · storage.ts Markdown Documents · App.tsx Web UI · agents.ts Agent Orchestrator
Components 19
Writing Workspace
- Web UI
packages/novel-webui/src/App.tsx - API Client
packages/novel-webui/src/api/client.ts - Workspace Router
packages/novel-webui/src/workbench/WorkspaceRouter.tsx
Agent Runtime
- Agent Orchestrator
packages/novel-agents/agents.ts - Session Service
packages/novel-agents/session/service.ts - Context Manager
packages/novel-agents/context/manager.ts - Specialist Agents
packages/novel-agents/agents.ts
Creative Content
- Markdown Documents
packages/novel-agents/lib/storage.ts - Document Metadata
packages/novel-agents/lib/frontmatter.ts - Document Versioning
packages/novel-agents/document-version/service.ts - Database Index
packages/novel-agents/lib/db.ts
Platform Services
- Community
packages/novel-agents/community/service.ts - Skills System
packages/novel-agents/skills/service.ts - Credits and Billing
packages/novel-agents/billing
Access Channels
- Web BFF
packages/novel-web/src/routes.ts - Agent Server
packages/novel-agents/server.ts - MCP Server
packages/novel-mcp/src/server.ts - MCP Agent Client
packages/novel-mcp/src/agent-client.ts
Other components
- Writer
Connections 20
- Writer → Web UI: uses
README.md - Web UI → Workspace Router: routes to
packages/novel-webui/src/workbench/WorkspaceRouter.tsx - Web UI → API Client: requests through
packages/novel-webui/src/App.tsx - API Client → Web BFF: calls API
README.md - Web BFF → Agent Server: proxies requests
README.md - Agent Server → Agent Orchestrator: coordinates
packages/novel-agents/server.ts - Agent Orchestrator → Specialist Agents: delegates to
README.md - Agent Orchestrator → Session Service: uses sessions
- Session Service → Context Manager: builds context
packages/novel-agents/session/service.ts - Context Manager → Markdown Documents: restores context
- Agent Server → Markdown Documents: reads and writes
packages/novel-agents/server.ts - Agent Server → Document Versioning: records versions
packages/novel-agents/server.ts - Markdown Documents → Document Metadata: stores metadata
README.md - Markdown Documents → Database Index: rebuilds index
README.md - Agent Server → Community: serves community
packages/novel-agents/server.ts - Agent Server → Skills System: serves skills
packages/novel-agents/server.ts - Agent Server → Credits and Billing: uses billing
- Writer → MCP Server: uses tools
README.md - MCP Server → MCP Agent Client: registers tools
packages/novel-mcp/src/server.ts - MCP Agent Client → Agent Server: calls Agent API