arizuko › products › Trip planner (May)
Trip planner (May)
State the brief once. May researches, synthesises, and delivers a day-by-day itinerary with logistics, visa, budget, and packing. Preferences persist across every future trip.
May is an agent for one user, with your travel profile and your past trips. The template is in ant/examples/trip/.
The persona tells May to ask before she researches
The persona tells May to cite sources in the text, for example "per the Japan visa gov page" or "per Lonely Planet §Kyoto". It tells her to ask about the dates, the budget and the travel style before the research, and to start the plan only when these are clear. It tells her not to invent visa rules, prices or opening hours, but to check them or say that she is not sure. The output is a day-by-day schedule, a logistics block, a budget estimate and a packing list.
Six parts make the planner
- Brief and questions
- The agent reads your brief and your travel profile in
facts/preferences.md. It asks for the missing facts, for example dates, budget range, pace and food limits, and then starts the research. - Preferences file
facts/preferences.mdis the traveller profile: the usual budget range, the type of accommodation, the pace, food limits and interests. The operator fills it before the first use. The agent updates it when you mention a preference.- Research with oracle
- For each destination, May searches the web for current conditions, visa rules, transport and accommodation. Then the
oracleskill combines the sources into one plan. Oracle accepts a host Codex login or aCODEX_API_KEYorOPENAI_API_KEY. - Structured output
- The itinerary is one document: the daily schedule, the logistics for flights and ground transport, the visa block, the budget estimate and the packing list. May saves it to
facts/trips/YYYY-<dest>.md. - Trip archive
- Every finished trip stays in
facts/trips/. A question such as "how did the Kyoto trip go?" reads from the archive. - Published itinerary, optional
- The agent can write an HTML version to
~/public_html/. You can then share a link with travel companions, and they need no chat access.
A sample exchange
telegram · DM
user 10 days in Japan, late October, food focus, mid-budget
may Got it — a few questions before I start:
1. Rough budget per day (not counting flights)?
2. Accommodation style: hostel, business hotel, ryokan, or mix?
3. Any dietary restrictions I should route around?
4. Flying into Tokyo or open to landing elsewhere?
user ~¥15k/day, mix of business hotel + one ryokan, no restrictions,
fine to fly into Tokyo
may Perfect. I'll research: Tokyo (3d), Hakone (1d), Kyoto (3d),
Osaka (2d), day-trip to Nara. Pulling current visa rules,
Oct rail passes, and food spots. Back in a few minutes.
[May runs web search + oracle synthesis]
may Here's the plan — 10 days, food-first, mid-budget. Sending
as a file.
[sends facts/trips/2026-japan.md]
Summary: Tokyo 3 nights (Shinjuku base, Tsukiji + Yanaka markets,
ramen crawl), Hakone overnight ryokan (Fuji view, kaiseki dinner),
Kyoto 3 nights (Nishiki market, Fushimi Inari at dawn, Gion dinner),
Osaka 2 nights (Dotonbori, Kuromon market, takoyaki circuit),
Nara half-day. Budget est. ~¥142k total (ex flights).
The planner is a single-user shape
The reality agent has the same single-user shape for life context instead of travel. The supermarket agent has a shared folder and no memory. The team shapes start at slack-team.
The product lists five skills
web- Live search for visa rules, transport and current prices.
oracle- Combines the sources into one plan using a Codex login or API key.
recall-memoriesandfind- Read the preferences and find past trips.
diary- Records each research session for later recall.
Telegram is the main channel
Telegram fits a personal planner for one user. WhatsApp works for users without Telegram. The asymmetric pattern of the reality agent also works here: route WhatsApp to #observe, and May brings the relevant messages into the Telegram chat. The reality agent case study shows the route table.
Files stay on your server and model calls go to Anthropic
- Your server
- The preferences, the trip archive and the diary are files under
/srv/data/arizuko_<name>/groups/. The conversation history is on the store server of the instance. - Outbound paths
- Telegram for the bot, Anthropic for model calls, and oracle through a Codex login or API key. Web research goes through egress, and you allow the domains that May can reach.
- One user
- The deployment is personal, so no per-user memory files exist. The traveller profile is the whole of
facts/preferences.md.
A package selection installs Telegram
arizuko create -i travel --product trip
$EDITOR /srv/data/arizuko_travel/.env # TELEGRAM_BOT_TOKEN, CODEX_API_KEY, a model key
$EDITOR /srv/data/arizuko_travel/groups/main/facts/preferences.md
Start the instance as a systemd service using getting started. Select the adapter package and restart the service:
arizuko package add -i travel catalog:teled
sudo systemctl restart arizuko_travel
arizuko route -i travel add 'platform=telegram' main
The operator setup guide has every step: the preferences file, the route and the check of the first research run.
Five pages give the details
- primitives
- The same pipeline in a single-user folder: the travel profile is the state, and the oracle skill runs in one turn.
- Reality agent
- The same single-user shape for life context, and how the folder grows over time.
- skills
- How skills such as oracle work.
- routing modes
- The
#observefragment for an input-only channel. - egress
- The egress allowlist of each folder.