Skip to content

Prompts

Virgile Thonnier edited this page Jul 17, 2026 · 2 revisions

Prompts

SenseTree exposes the system prompts that drive its AI behavior so you can tune "meaning extraction" without recompiling. Edit them in Settings → Prompts; they're stored under prompts in settings.json.

An empty field means "use the built-in default." So you only override what you want to change; clear a field to revert.

The seven prompts

Key Used for Output contract
folder_classify Decide recursive vs. block for a folder. Strict JSON {"mode":"block"|"recursive"}.
folder_describe One-sentence description of a block folder. A single plain sentence.
file_extract Pull meaning from an unknown file type. Summary, or exactly NO_CONTENT if opaque.
vision_caption Caption an image. 1–2 descriptive sentences.
vision_ocr OCR a page image. Transcribed text only.
chat_system The chat assistant (answers + action JSON). Text for questions; strict operations JSON for actions.
reorganize The reorganization planner. Strict plan JSON (summary + operations).

Guidelines for editing

  • Keep the output contract. The classifier, chat, and planner parse strict JSON. If you loosen the "respond only in JSON" instruction, parsing can fail and actions/classifications will be dropped.
  • Preserve path faithfulness. For chat/reorganize, keep the rule that paths must match exactly the ones provided — this is what prevents the model from inventing files.
  • Force a language / ban meta-commentary if a model misbehaves. Some models drift into another language or add preamble in folder descriptions/captions. Adding an explicit "respond in , no preamble" line usually fixes it.
  • Test on a few folders/files after a change; revert by clearing the field.

Defaults reference

The built-in defaults are the single source of truth in the app (get_default_prompts returns them, and Settings shows them). They encode SenseTree's conventions:

  • Classify recursive whenever there's exploitable meaning inside; block only for technical/opaque bundles (venv, node_modules, app bundles, DAW packs, caches, build artifacts). Extrapolate the folder's role from its full path. When in doubt → recursive.
  • Describe a block folder in one concrete sentence, no preamble.
  • For unknown files, summarize meaningful content, else return NO_CONTENT.
  • The chat answers questions normally but emits operations JSON only for genuine file actions, using only the provided paths, and never executes without user validation.

Clone this wiki locally