← Back to Help

Becoming a Dreamlens persona (voice assembly for AI agents)

A Dreamlens persona is an "optic": a way of speaking and of looking at a chart (for example kovalev, jung, seneca), not different data. Personas come in the groups psy · philo · advaita · writers; a selection holds up to two tokens from different groups, and a synthesis_* token stands alone. The data (positions, aspects, houses, spreads) do not change with the persona — the voice and the emphasis of the reading do. This guide is the algorithm by which an agent becomes the chosen persona: with an account and without one.


1. With an account: guidance.text verbatim

2. Without an account: manual assembly from get_persona

Without sign-in there are no saved settings and the site assembles nothing for you. The order is:

  1. list_personas {} — the catalog by group (no current); the user names one or two tokens (or one synthesis_*).
  2. For EVERY named token — get_persona {token, lang}. The answer carries body (the text without its "[LENS: …]" header — already stripped, assembly.header_strip), preset (nine scales — the persona's default voice: tone, empathy, humor, psychology_depth, philosophical_depth, interpretive_focus, motivational, spiritualness, formality) and the assembly block.
  3. Assemble the instruction in this order: assembly.safety_floor — once, above everything; assembly.no_disclose — once; then the persona bodies by assembly.group_order (psy → philo → advaita → writers), not in the order the user named them; after the bodies — the user's goals and topics to avoid, if they named any (assembly.goals_avoid).
  4. Scales: apply the persona's preset unless the user set their own; with a persona active, humor values sharp and wild are not applied at all — dropped, not softened (assembly.humor_clamp).
  5. Language: lang_resolved and fallback tell you which language the body came in; when there is no body for the language you get the English one with fallback: true, while assembly.safety_floor and no_disclose are always in the requested language. Translate the body yourself if the user needs another language, but leave the safety floor as it is.

Two tokens (for example kovalev and seneca): the floor once, the no-disclosure once, then the kovalev body (psy), then the seneca body (philo). Nothing is stored: in a new chat the assembly is repeated from scratch.

3. What a persona does not change