spacegho.st / ffxiv mods

Dalamud plugin · local AI

Almanac

Local AI for FFXIV, on your own GPU

An in-game chat with a model running on your own PC: Ollama, LM Studio, llama.cpp, or anything with an OpenAI-compatible API. A wizard fits a model to your GPU, XivMcp gives it the game's tools, and a shared benchmark tells everyone which local models are worth their VRAM. No cloud, no Python.

Almanac: an open book under an aetheryte crystal, with question and answer cards
Honest status

Almanac has a stable release in the plugin repository. Its core logic (model client, MCP client, agent loop, benchmark scorer, setup detection, SQLite store) is unit-tested with fakes. The plugin has not yet been verified in a running game: the windows, GPU detection through DXGI on Windows and Wine, SQLite inside Dalamud, the XivMcp connection and live benchmark mode are all still to be observed.

What it does

Almanac connects a language model that runs on your machine to the game. You ask a question in game, the model decides which of XivMcp's tools to call (where am I, what is the weather, what does this recipe need), and the answer streams back into the chat window. Anything that would change your game still goes through XivMcp's in-game approval.

Because local models vary wildly, Almanac includes a fixed benchmark of FFXIV tasks. Players who choose to share their results build the community leaderboard, and the wizard's recommendations come from it.

The same repository also holds the Almanac engine, a headless local AI tool runner for Linux machines. Players do not need it.

Features

Built and unit-tested outside the game; not yet verified in game.

Setup wizard

/almanac setup finds model servers on their usual local ports, reads your GPU and VRAM, subtracts what the game needs when both share the card, and recommends models that fit.

unverified in game

In-game chat

/almanac or /almanac <question>: threads kept in SQLite, follow-ups, branching from any message, streaming replies.

unverified in game

Game tools through XivMcp

The agent loop runs in the plugin against your model with a small, standard or full set of XivMcp's tools. XivMcp hands Almanac its own client token over Dalamud IPC, so nothing is copied by hand.

unverified in game

Tool-calling check

Every model shows whether it calls tools natively, through a prompted fallback, or is unknown until you press Test tool calling.

unverified in game

Benchmark

/almanac bench runs the ffxiv-core suite with mock game data or live through XivMcp: tool-call validity, answer quality, tokens per second, time to first token and peak VRAM.

unverified in game

Opt-in sharing

Results stay on your PC until you press Share and confirm the exact JSON that will be sent.

unverified in game

Leaderboard

Shared results become per-VRAM-tier recommendations on the public leaderboard, which the wizard reads.

released

IPC for other plugins

Almanac.Ask lets another plugin open the chat with a question.

unverified in game

Screenshots and clips

Planned shots. Empty frames are placeholders for screenshots and clips that will be captured in game.

Loading the shot list…

Install

Two ways, and both are kept on purpose: one click from the plugin repository, or build it from source and load it as a dev plugin.

One click

Add the repository once; every mod here installs and updates like any other plugin.

https://spacegho.st/mods/ffxiv/plugins.json
  1. In game, type /xlsettings → the Experimental tab.
  2. Under Custom Plugin Repositories, paste the URL into the empty row, press +, and leave its checkbox ticked.
  3. Save and Close.
  4. /xlpluginsAll Plugins → search AlmanacInstall.

Almanac has a stable release, so it shows under All Plugins straight away. For in-game tools it also needs XivMcp, which is in the same repository.

Dalamud will warn you that this is a third-party repository nobody but its author has reviewed. That is true. The repository page says more, including how test builds work.

Build it yourself

The dev plugin path: exactly the code in your checkout, no repository, no auto-update. It is how the author runs it, and the honest way to read the code before you trust it.

git clone https://github.com/Spaceghost/almanac-dalamud
cd almanac-dalamud
dotnet build dalamud/Almanac.Dalamud.slnx -c Release
  1. Needs the .NET 10 SDK and Dalamud's reference assemblies, which an XIVLauncher install already has; on a machine without them, dalamud/tools/fetch-dalamud.sh downloads the public distribution. Works from a Windows checkout too.
  2. The plugin lands outside the checkout, in ../almanac-dalamud-build/artifacts/bin/Almanac.Plugin/release/. Point Dalamud at that folder, not at a copy of the DLL alone.
  3. In game: /xlsettingsExperimentalDev Plugin Locations → add the path of the built Almanac.dll (under Wine, a Z:\… path) → +Save and Close.
  4. /xlpluginsDev ToolsInstalled Dev Plugins → enable Almanac. Dev plugins are added disabled.
  5. Rebuilt while the game is running? Press the reload arrow on its entry. No relaunch.

If you later switch to the one-click install, disable the dev plugin first so the two copies cannot fight over the same name. The README has the details.

Requirements

  • Final Fantasy XIV with XIVLauncher and Dalamud (API level 15), on Windows, or on Linux through XIVLauncher.Core and Wine.
  • A local model server on your PC: Ollama, LM Studio, llama.cpp, KoboldCpp, vLLM, or any OpenAI-compatible URL. A GPU with enough free VRAM for the model beside the game; the wizard works out what fits.
  • XivMcp for in-game tools. Without it the chat still works, with no game access.

Community screenshots

Screenshots of Almanac shared by players. Every one is reviewed by the site owner before it is shown here. Every mod's are in the gallery, and what Almanac should do next is up for a vote.

Loading…

Add yours

Sharing a screenshot needs a sign-in, so that everything sent to this site comes from an account.

Signing in with FFXIV needs an XIVAuth account and shares no character.

Hide your own name and chat first, and never share a terminal showing tokens or private paths. Metadata is stripped from the image before it is stored. Your upload is linked to your GitHub or XIVAuth account id, which the site owner can see; the public sees only the image and the credit you typed. To have a shot removed, contact the owner through github.com/Spaceghost.