# alfredxw/denova: an AI writing and RPG workspace in one Go server

> Denova bundles novel drafting, interactive story play, a shared lore library, agent tooling, image generation and local version control into a single self-hosted workspace. The repository is a Go backend with a web frontend, and the README is candid that it is still beta.

**alfredxw/denova** — An AI creative platform for novel writing and AI generated RPG, with built-in support for AI agents, Skills, subagent workflows, automations, image generation, and version control. 一个面向小说创作与 AI 角色扮演游戏的 AI 创作平台，内置支持 AI Agents、Skills、Subagent Workflows、Automations、图像自动生成与项目版本管理等核心能力

- Repository: https://github.com/alfredxw/denova
- Website: https://denova-ai.com/
- Stars: 849 · Forks: 136
- Language: Go
- License: Apache-2.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/alfredxw-denova

## What Denova is for, and who it is aimed at

Denova is an AI creative platform for two workflows that usually live in separate tools: novel writing and AI role-playing games. The README frames the target user as someone maintaining a long-running creative project, where settings accumulate and drafts get revised repeatedly. That is a narrower audience than "anyone who writes with an LLM".

The pitch rests on sharing. A lore library holds characters, locations, factions, world rules and narrative style, and both the writing flow and the game flow read from it. Chapter progress and game state stay separate so that a temporary state in one entry point does not bleed into the other. If your project is a single short story, that shared library is overhead rather than a feature.

The repository is written in Go with a web frontend under web/, and it ships as a desktop-style local application rather than a cloud service. The README describes it as still iterating quickly and labels the current v0.4.5 release as Beta.

## How the agent, skills and subagent layers fit together

The core mechanism is an agent that reads project content, calls tools and modifies files. The README states that agents can take the current selection, project files and the lore library as context, that workflows can be extended through Skills, and that multiple sessions plus on-demand SubAgent collaboration are supported. The repository layout backs this up: there is a top-level agent/ directory that is wired in as a separate Go module through a replace directive in go.mod, alongside a skills/ directory.

Version control is the safety net around that file-modifying behaviour. Denova saves local versions, shows diffs, restores historical files, and lets you review or undo changes an agent made to the workspace. That combination is the real design decision here: the agent is allowed to write, but every write is meant to be inspectable afterwards. It is not a sandbox. Nothing in the README claims the agent runs with restricted permissions, so the guarantee is after-the-fact recovery, not prevention.

Automations run review, continuation and custom creative tasks on a schedule. The CHANGELOG reference in the README notes that global automations had to be recreated inside a project as of v0.4.0, which tells you the automation model was reworked rather than extended.

## Installing Denova and starting a first project

The README gives a one-line installer for macOS and Linux. It downloads a script from the repository and pipes it into a shell, so read the script first if you care about what it does to your machine.

```bash
curl -fsSL https://raw.githubusercontent.com/alfredxw/denova/master/scripts/install.sh | sh
```

After that, run the denova command. Windows users, and anyone who prefers a manual install, should take the archive for their platform from GitHub Releases and run denova.exe. The README recommends a Release build for stable use, noting that master may contain unreleased changes.

Running from source needs Go 1.26.6 or newer, Node.js 22.13 or newer, pnpm, ripgrep and Bash. On Windows the README says to use Git Bash or WSL.

```bash
git clone https://github.com/alfredxw/denova.git
cd denova
corepack enable
./scripts/bootstrap.sh
```

That bootstrap starts the frontend at http://localhost:5173 and the backend at http://localhost:8080 according to the README. On first launch the onboarding flow asks for a language model API key and model name. Then you create or import a book, or open an existing project directory, and start from the writing entry point or create an interactive story line from the game entry point. Image generation is configured separately, and only when you need it. Model configuration happens in the settings page: add a provider connection first, then pick or type a model and test the connection. One connection can be reused across several models.

## Remote access, mobile layout and the HTTPS caveat

Denova is not limited to the machine it runs on. In Settings, under access, you enable LAN access, set a username and password, and restart. Other devices then log in at the address the page displays. The README also describes a one-time login QR code and link valid for five minutes, scannable by a phone on the same LAN. Browser sessions last 30 days, so a refresh or a service restart does not force a new password, and you can log out from settings. The mobile browser can add the page to the home screen.

There is a build detail that bites people running from source. The QR code and connection link serve the web/dist build output from the backend port. After a first run or after updating the frontend, you have to run pnpm --dir web build and restart the backend. The local Vite hot-reload entry point at port 5173 is for development and is not what the QR flow serves.

The README is explicit about public deployment: use a reverse proxy such as Caddy or Nginx to provide HTTPS, because otherwise login credentials travel in plain text. That is a real constraint, not a formality. A password over plain HTTP on a network you do not control is a credential leak.

## Where Denova is the wrong choice

The clearest limitation is maturity. The README calls the project Beta and says it is iterating quickly. Release cadence in the repository is fast, with v0.4.3, v0.4.4 and v0.4.5 all landing within a few days of each other in early September 2026. Fast releases during a beta phase usually mean breaking changes, and the v0.4.0 migration note confirms that pattern: global automations had to be recreated per project, and some model and context options had to be set again.

The second limitation is operational. You supply the model API keys, you run the server, and you handle HTTPS yourself if you expose it. There is no hosted tier described in the README. If you want a writing tool that works without a terminal, a reverse proxy and a key-management step, this is not it.

The third is scope. Denova is not a general-purpose IDE, despite the ide topic tag. The editing features listed are Markdown documents, source editing, multi-document tabs, find and replace, outlines, chapter beats, progress tracking, inline comments and revision review. That is a fiction-oriented editor. If your work is code, the agent tooling here is not the reason to pick it. And if your project is a single short piece, the lore library, the plan presets and the version history are ceremony you will not use.

## How Denova differs from a general agent IDE

The obvious comparison is a general-purpose coding agent environment, such as a terminal-based agent CLI or an editor plugin that lets a model read and write files in a repository. Those tools share the same primitive: an agent with file access and a diff you can review. The difference is what the context is made of. In a coding agent, context is source files and build output. In Denova, context is a lore library, plan presets, chapter outlines and story state, and the agent is expected to write prose against those constraints.

A second difference is the dual entry point. A coding agent has one surface. Denova deliberately runs writing and interactive play side by side on top of the same library, with chapter progress and game state kept apart. That is a product decision that a general agent tool has no reason to make, and it is the part of Denova worth evaluating on its own terms.

The third difference is packaging. Denova ships a Go backend and a web frontend with a LAN access mode, a one-time QR login and a PWA-capable mobile layout. A terminal agent gives you none of that, and in exchange it does not ask you to run a server.

## Licence and what maintenance costs you

Denova is licensed under Apache-2.0, with the licence file at the repository root. That is a permissive licence with an explicit patent grant, and it permits commercial use and modification. It also carries notice and attribution obligations, so if you redistribute a modified build you need to keep the licence and notice files intact. This is a description of the licence text, not legal advice; if you plan to ship Denova inside a product, have someone qualified read the terms.

The dependency set is worth noting for upgrade planning. The backend pulls in a Go Git implementation (go-git and go-billy), a browser automation stack (go-rod and go-rod/stealth), an HTML-to-Markdown converter, a readability extractor, a fuzzy matcher, a TOML parser and a YAML parser. Several of those are load-bearing for features the README advertises, which means a security advisory in any of them is your problem to track. There is no dependency-update policy described in the README.

Upgrade cost is the other line item. Because the project is in beta and releases are frequent, the practical approach is to pin to a Release tag rather than track master, and to read CHANGELOG.md before crossing a minor version. The v0.4.0 note is the precedent: configuration that existed before the change did not carry over automatically.

The last push to the repository was on 2026-09-10, and the most recent release listed is v0.4.5 from 2026-09-09.

## Conclusion

Adopt Denova if you run a long-lived fiction project that needs a lore library shared between drafting and interactive play, and you are comfortable running a beta on your own machine with API keys you supply. Skip it if you need a hosted service with an SLA, or if you only want a plain Markdown editor. Before committing, read the v0.4.0 migration note in CHANGELOG.md, since global automations have to be recreated inside a project, and confirm your Go and Node versions meet the 1.26.6 and 22.13 floors the README lists.

## FAQ

### How do I install Denova on macOS or Linux?

The README gives a one-line installer script fetched with curl and piped to sh, after which you run the denova command. Windows users and manual installers should download the platform archive from GitHub Releases and run denova.exe.

### What does Denova need to run from source?

The README lists Go 1.26.6 or newer, Node.js 22.13 or newer, pnpm, ripgrep and Bash, with Git Bash or WSL on Windows. You clone the repository, run corepack enable, then run ./scripts/bootstrap.sh.

### Can Denova be accessed from a phone?

Yes. Settings has an access section where you enable LAN access, set a username and password and restart, and the page then shows an address other devices can log in with. A five-minute one-time QR code and link can be scanned by a phone on the same LAN, and the mobile browser can add the page to the home screen.

### Which image models does Denova support?

The README lists OpenAI, xAI/Grok, Volcengine Seedream, Google Gemini Image, ComfyUI Workflow and custom endpoints. Language models support built-in providers and custom compatible endpoints, and one provider connection can be reused across several models.

### What changed in Denova v0.4.0 that affects upgrades?

The README points to the changelog for the v0.4.0 update and data migration notes, and states that legacy global automations must be recreated inside a project and that some model and context options need to be set again.

## Sources

- [alfredxw/denova on GitHub](https://github.com/alfredxw/denova)
- [License: Apache-2.0](https://github.com/alfredxw/denova/blob/master/LICENSE)
- [Project website](https://denova-ai.com/)
- [README](https://github.com/alfredxw/denova/blob/master/README.md)
- [Releases](https://github.com/alfredxw/denova/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/alfredxw-denova
