WispOS

Make an agent from your documents

Give Wisper a folder of PDFs, Word files, slides or spreadsheets and ask for an agent. She builds the app, WispOS packs and checks it as a .wapp, and you install it or share it so other people can ask it questions.

Updated

You have a pile of documents: manuals, a handbook, policies, a price list. You want an agent that answers questions from them, and you want other people to be able to use it too. In WispOS you ask Wisper, and she makes it.

The short version

  1. Put the documents in one folder. A project’s folder is a good place.
  2. Ask Wisper in plain words: “Make the documents in my Plant project into an agent app that answers questions about our equipment.”
  3. When she’s done, press install on the button under her reply, then Install on the sheet.
  4. Ask a question the documents answer. The answer names the document and the page it came from.

The result is a .wapp file next to the folder. Install it on any WispOS, send it to someone, or submit it to the App Store.

What Wisper does

Wisper knows how WispOS apps are made, on every WispOS, so you don’t need to explain it. She:

  1. Makes the app’s folder next to your files, for example plant-docs-app/.
  2. Copies your documents into its agent/knowledge/ folder. She copies them and never moves them, so your originals stay where they are. App packages only take letters, numbers, ., _ and - in file names, so she renames the copies: Employee Handbook (2026).docx becomes Employee-Handbook-2026.docx.
  3. Writes the agent’s card: its name, who owns it, and the topics it knows. The topics decide which questions get sent to it, so she reads the documents first and uses the words people will actually type.
  4. Writes its instructions: answer only from the documents, name the document and the page, and say so plainly when the documents don’t cover something.
  5. Writes the listing: the manifest (name, version, build, publisher) and an icon.
  6. Asks WispOS to pack it. WispOS builds the .wapp itself, so there’s nothing to install first.
Plant/
├── plant-docs-app/
│   ├── manifest.json
│   ├── agent/
│   │   ├── card.json
│   │   ├── PROMPT.md
│   │   └── knowledge/
│   │       ├── manuals/fl300-service-manual.pdf
│   │       ├── manuals/safety-handbook.pdf
│   │       └── handover.docx
│   └── store/icon.svg
└── plant-docs-1.0.0.wapp      ← what you install or share

If Wisper hands the job to a project’s own agent, that agent gets the same steps in its brief. It stops when the folder is ready, and then Wisper packs it.

What WispOS checks before it gives you the file

WispOS runs the same checks as Install from a file, then a few more for agents:

  • Every document is read the way the installed agent will read it. Under her reply you’ll see each one with its length: fl300-service-manual.pdf (128 pages), handover.docx (1 page).
  • A document with no text is refused, and named. A scanned PDF is a picture of text, and the agent can’t read pictures. Use a copy with real text in it (most scanners and Preview can export one), then ask her to make it again.
  • File names, the manifest’s fields (a name of 30 characters at most, a one-line summary of 80 at most, a version like 1.0.0) and the card. Anything wrong is named under her reply, and she fixes it and packs again.
  • The build number. If that build is already installed on this computer, she’s told to raise it, because installing the same build again changes nothing.

Which documents work

Kind How the agent reads it What its answers cite
PDF The text on every page, up to thousands of pages the page
Word (.docx) The text, split where the document has page breaks the page
PowerPoint (.pptx) The words on every slide the slide
Excel (.xlsx) Every sheet’s cells the sheet
Markdown, plain text, CSV, JSON As written the file

WispOS makes a text copy of each PDF and Office document when the agent is installed, so the agent can search them. A scanned PDF without a text layer can’t be read: WispOS has no text recognition.

Try it

After you install it, ask Wisper something only the documents know: “How much oil does the FL-300’s hydraulic tank hold?” Wisper sends the question to your agent, and the answer comes back with where it’s from: “23.5 litres (fl300-service-manual.pdf, page 87).” If the documents don’t say, the agent says that instead of guessing.

A new version

Swap or add documents in the project folder and ask Wisper to update the agent. She copies the new files in, raises the build number (and the version), and packs it again. Installing the new file replaces the old one.

Let other people use it

  • Send the file. Anyone with WispOS can install the .wapp: More → App Store → Installed → Install from a file…
  • Submit it to a store. Ask Wisper to “submit it to the App Store”. See Submit an app.

People who install it ask it through their own Wisper. Shared agents need Wisper’s brain to be Claude Code (see Choosing Wisper’s brain), and each person’s questions run on their own AI plan.

Doing it by hand

You can make the same folder yourself. The card’s fields are listed in Build a shared team agent, the manifest is in Building apps, and for writing the instructions see Agent best practices. Then either ask Wisper to “pack the folder ~/Plant/plant-docs-app”, or pack it yourself with node wapp.mjs pack (how).

If it says no

The reason is written in brackets under Wisper’s reply. Usually she fixes it herself and packs again. The ones you’re most likely to see:

WispOS says What it means
Path rules: agent/knowledge/My File.pdf has a character outside [A-Za-z0-9._-] (call it agent/knowledge/My-File.pdf) A copied file kept its spaces. Rename the copy.
scan.pdf has no text to read A scanned document. Use a copy with real text in it.
agent/knowledge/ is empty No documents were copied in.
manifest.json: summary is 92 characters; 80 at most Shorten it.
Build 1 is already installed here Raise build in manifest.json and pack it again.