---
title: "qi"
description: "Work on qi: a local-first text river running Granite 4.1, with research that verifies its own citations and a standalone Mac app. Covers setup, editing the codebase, the model cards, adapter conversion, the research proc"
canonical: https://agentpluginsdirectory.com/plugins/qi
last-updated: 2026-09-22
---

# qi
Work on qi: a local-first text river running Granite 4.1, with research that verifies its own citations and a standalone Mac app. Covers setup, editing the codebase, the model cards, adapter conversion, the research process, and shipping.
- Slug: qi
- Publisher: qubie-org
- Repository: https://github.com/qubie-org/qi
- Manifest: plugin.json
- Version: 0.1.0
- License: AGPL-3.0-or-later
- Category (editorial): agent-tooling
- Skills: 7 (qi-develop, qi-models, qi-research, qi-setup, qi-ship, qi-train, qi)
- MCP servers: 1 (qi)
- Stars: 1
- Repository created: 2026-08-06
- Repository last pushed: 2026-08-07
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/qi
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What qi does, in the publisher's words

A little AI, and everything it needs to be good company, living together in about 3 GB on your Mac.

qi is a fun experiment.

Take an AI small enough to live on a laptop, no cloud, no account, no key, and build a little world around it: a harness that keeps it honest, and a page that plays along.

- Node 20+, and llama-server on PATH (brew install llama.cpp).
- 8 GB of RAM for 3b, 16 GB for 8b.
- macOS on Apple silicon for the standalone app, where llama-server runs on Metal with full GPU offload.
- Every number here was measured against 3b. 8b installs and is hash-verified but has not been run.
- /dj takes about 40 seconds to write a set. Without the strudel pack it arranges one from presets instead, instantly.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/qubie-org/qi/HEAD/README.md

## Skills

- qi-develop: Edit the qi codebase correctly: house style, the docblock convention, the test suite, and the verify-against-the-real-app loop. Use when adding or changing a command, an app, a grounding source, a pack, a verb, a sigil, the inline renderer, the engine (colour, glyphs, key, sound), the agent loop,…
- qi-models: Every model qi can run, and everything recorded about it, the two offered Granite sizes with install size, RAM, hashes and which activated adapters exist; the ten packs in the catalogue; the five RAG intrinsics and the aLoRA distinction. Use when choosing or comparing a model size, adding or editi…
- qi-research: The research process in src/ground/research.ts: the eight stages, the six named failure exits, the guards that do not depend on a prompt, and the 22-question ten-domain evaluation that decides whether a change helped. Use when changing anything about how qi searches, reads, gates, extracts, verifi…
- qi-setup: Install, run and verify qi: either from npm via @qi-ui/cli or from source with bun, vite and llama-server. Use when setting up qi for the first time, choosing a model size, starting or stopping the model server, checking that generation, tool calling, grammars and the adapter shelf actually work,…
- qi-ship: Build, sign, notarise, package and release qi, the Swift app bundle, the dylib closure rewrite, Sparkle updates and the appcast, the weights release, and publishing @qi-ui/cli to npm. Use when asked to make a build, produce a DMG, sign or notarise the Mac app, cut a release, publish converted adap…
- qi-train: Convert, fine-tune or train weights for qi, chiefly converting IBM's activated LoRA safetensors to GGUF so the answerability gate costs milliseconds instead of seconds, and the pre-Granite research lane under train/. Use when asked to convert an adapter, produce activated adapters for a new model…
- qi: Entry point for working on the qi repository, a local-first text river running IBM Granite 4.1 via llama.cpp, with inline-only rendering, a citation-verifying research process, and a standalone macOS app. Load this first for any qi task, then follow it to the specific skill. Use when the user ment…

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.

## MCP servers

- qi: transport: stdio; command: node ${PLUGIN_ROOT}/tools/mcp-qi.mjs; env: QI_CONTROL_PORT

Read from the plugin's own mcp.json. Environment variable names only, never values.
