Model or dataset
yarin-zhang/AI-Gist avatar
yarin-zhang/AI-Gist

AI Gist: a local-first prompt manager with Jinja templates and AI tuning

✨ AI Gist 是一款隐私优先的 AI 提示词管理工具,致力于让个人收藏的 AI 提示词能够发挥最大价值。支持变量替换、Jinja 模板、AI 生成与调优、历史版本记录、云端备份等核心功能。

877 stars83 forksTypeScriptAGPL-3.0

At a glance

What is it?
AI Gist is an AGPL-3.0 desktop and mobile app for storing AI prompts locally, filling them with {{variables}}, and rewriting them with local or online models. The README is detailed on features and thin on data format and rollback.
Who is it for?
Adopt AI Gist if you keep a personal library of prompts and want it on your own disk, with variable filling and optional local models such as Ollama or LM Studio. Skip it if you need a hosted, multi-user prompt registry with an API, or if you require a documented export schema before you commit.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem AI Gist targets: prompts scattered across notes and chats

Most people who use language models daily end up with prompts in the wrong places. A good one lives in a chat window that scrolls away. Another sits in a notes app with no variables, so every reuse means manual editing. A third was tuned last month and nobody remembers what changed. AI Gist is built for that individual situation: one person, many prompts, repeated reuse, and a preference for keeping the text on their own machine.

The README describes it as a privacy-first prompt management tool whose goal is to let a personal collection of prompts deliver more value. The stated feature set is concrete: variable filling, Jinja templates, AI generation and tuning, version history, and cloud backup. It is not a team prompt registry and it does not present itself as one. The target user is a single operator who wants a searchable, categorized library that can be copied into any chat client.

The repository topics list ai, claude, electron, gemini, gpt, llm, localfirst, prompt-toolkit and prompts. That mix tells you the intended shape: an Electron desktop app with mobile builds through Capacitor, model-agnostic, and local-first by default.

How AI Gist stores and renders a prompt

The core mechanism is a template with named slots. You write a prompt and insert `{{variable}}` markers; the README says AI Gist reads those variables automatically. When you use the template, you select it, fill in the values, and the app substitutes them. The same README states that Jinja templates are supported, which matters because Jinja is not just string substitution: it supports loops and conditionals, so a prompt can branch on a variable instead of being duplicated.

Data flow is local. The README says all data is stored locally and that, by default, no network connection is needed. AI features are the exception: they call whichever model you configured, whether that is a local Ollama or LM Studio instance or an online provider. Cloud backup is a separate, opt-in path through WebDAV or iCloud for moving data between devices.

The repository layout supports the local-first claim. There is no server directory holding application state; instead there is `src/`, an Electron entry through `./main/main.js`, `android/` and `ios/` directories for the Capacitor builds, and `docker/` plus `docker-compose.web.yml` for the browser deployment path. The project also ships a `bin/ai-gist.js` entry, so it can be launched as a package binary rather than only as a packaged app.

Installing AI Gist and creating your first variable prompt

AI Gist ships as prebuilt installers rather than a single package-manager command. The README lists a Windows `.exe`, macOS `.dmg` builds for Apple Silicon and Intel, a Linux `.AppImage`, an Android `.apk`, and an iOS App Store listing. Windows and macOS also have store listings (Microsoft Store and the App Store). There are mirror downloads on Baidu Netdisk and SourceForge for users who find GitHub slow.

On Linux, the README gives an explicit permission step before the AppImage will run:

bash
chmod +x ai-gist-linux.AppImage

On macOS, the README notes that signed and notarized builds launch directly, while older unsigned builds need a quarantine attribute cleared from the terminal:

bash
xattr -cr /Applications/AI\ Gist.app

Once the app is open, the README's usage section is short. Click the new-prompt button, type your template, and insert variables with `{{variable_name}}`; the app detects them. To use it, pick the template, enter values, and click the copy-content button, which also records the use in history.

If you want AI generation or tuning, add a model first. The README lists local options (Ollama, LM Studio) and online options such as OpenAI and DeepSeek. Only after a model is configured do the AI generate and AI polish buttons do anything. There is a dedicated AI action for extracting variables, which saves you from manually marking every slot in a long prompt.

Building AI Gist from source with Yarn

The README documents a source workflow for people who want to run the development build. Dependencies install with Yarn, and the development server starts the Electron app with hot reload:

bash
yarn install
yarn dev

The README adds two variants. If the project lives in WSL but you want the Windows client previewed, `yarn dev:win` caches a Windows Electron runtime on first run. If you only want the web renderer in a browser, `yarn dev:web` runs Vite with `config/vite.config.web.js`. Renderer edits hot-reload through Vite; changes to the Electron main process and preload are recompiled and the client restarts.

Mobile development is a separate path. You build the renderer, sync it to Capacitor, then open the native project:

bash
yarn build:mobile
yarn cap:ios
yarn cap:android

The README notes that `yarn cap:ios` needs macOS and Xcode, and `yarn cap:android` needs Android Studio. Packaging commands are split per platform: `yarn build:win`, `yarn build:mac`, `yarn build:linux`, with the default `yarn build` writing to a `dist` directory. The package.json also shows store-specific targets (`build:store:win`, `build:store:mac`, `build:store:linux`) and CI variants prefixed `build:ci:`.

Where AI Gist falls short, and when it is the wrong tool

The README is strong on features and weak on specification. It does not document the on-disk data format, so you cannot inspect or migrate the database without reading the source. It does not describe rollback or downgrade behaviour, which matters because the release history shows three versions in roughly a month (v2.0.3 in late July, v2.1.0 and v2.1.1 in August). It does not state what happens to your library if a WebDAV sync conflicts with local edits.

The privacy claim has a boundary worth stating plainly. Local-first means your prompt library stays on disk by default, but the AI generation and tuning features send prompt text to whichever model endpoint you configure. If you point them at OpenAI or DeepSeek, that text leaves your machine. The README presents local models such as Ollama and LM Studio as options, which is the way to keep the AI features local too, but that is a configuration choice, not a default.

AI Gist is also the wrong tool for a team. There is no mention of shared workspaces, role-based access, an HTTP API for programmatic prompt retrieval, or audit logs. If your need is a service your application calls at runtime, a prompt registry with an API is a better fit. AI Gist is for a person copying text into a chat window.

Alternatives: PromptLayer and other prompt managers

PromptLayer appears in the related searches for this project, and the contrast is useful even though the two tools barely overlap in shape. PromptLayer is a hosted platform aimed at teams instrumenting prompt calls in application code: the prompt lives in a service, requests are logged, and the value comes from observability across many invocations. AI Gist does the opposite. It keeps prompts in a local desktop or mobile app for human use, with no runtime integration into your codebase.

The practical difference shows up in three places. Deployment: AI Gist is an installed application, while a hosted registry is reachable over the network. Data ownership: AI Gist's README states that all data is local and exportable to CSV, while a hosted service holds your prompts on its infrastructure. Workflow: AI Gist's unit is a template a person fills in, while an instrumentation platform's unit is a call your program makes.

If you want a local prompt library with Jinja rendering and optional local models, AI Gist fits. If you want to trace which prompt version produced which production response, it does not, and no amount of variable filling will close that gap.

Licence, maintenance and the cost of upgrading

AI Gist is licensed under AGPL-3.0. That is a copyleft licence with a network clause: if you modify the software and let users interact with it over a network, the AGPL's source-disclosure obligation can attach to your modified version. Running the official builds as a personal prompt manager does not trigger that. Forking it and hosting the web build for others is where you should read the licence text carefully; this is a description of the licence, not legal advice.

The repository is not archived, and the last push was on 2026-08-27. Three releases landed in the two months before that: v2.0.3 on 2026-07-27, v2.1.0 on 2026-08-20, and v2.1.1 on 2026-08-22. That cadence means upgrades arrive often enough that you should treat your library as data you can restore, not data you assume is safe.

The upgrade cost is mostly your own testing time. Because the README does not document a schema version or a migration path, the reliable safety net is the export and backup features it does describe: full import and export, CSV export, and WebDAV or iCloud backup. Export before you install a new release. If a release changes the local store in a way you dislike, the README does not tell you how to go back, so keeping a pre-upgrade export is the only documented recovery route.

Editorial conclusion

Adopt AI Gist if you keep a personal library of prompts and want it on your own disk, with variable filling and optional local models such as Ollama or LM Studio. Skip it if you need a hosted, multi-user prompt registry with an API, or if you require a documented export schema before you commit. Before rolling it out, verify three things yourself: that a CSV export round-trips into a fresh install, that your WebDAV or iCloud backup restores, and that a prompt containing Jinja control blocks renders as you expect. The repository's last push was on 2026-08-27, so the project is current, but the README does not document rollback behaviour, and that is the gap to test first.

Frequently asked questions

What does the word gist mean in the name AI Gist?

The project name pairs AI with gist, the sense of the essential point of a piece of text. The README frames the tool around letting a personal collection of AI prompts deliver more value, so the name reads as a store of the prompts you reuse.

Is AI Gist a technology standard or a specific application?

It is a specific application, not a standard. The repository describes it as a privacy-first AI prompt management tool built with TypeScript and Electron, distributed as installers for Windows, macOS, Linux, Android and iOS.

What is a Git Gist, and is that what AI Gist is?

A Git Gist is a snippet hosted on GitHub, which is a different thing from this project. AI Gist is a standalone prompt management application distributed through GitHub Releases, the Microsoft Store, the Mac App Store, the Snap Store and the iOS App Store.

Official sources

  1. License: AGPL-3.0
  2. Project website
  3. README
  4. Releases
  5. yarin-zhang/AI-Gist on GitHub
Community notes

Community notes