The chat

At thinkapenny.ai/chat. Ask a question, get an answer. The parts worth knowing are the model picker, web search, and standing instructions.

The basics

Enter sends, Shift+Enter starts a new line. Answers stream as they are written; Stop ends one early and keeps what arrived. New chat clears the conversation.

The conversation lives in the tab

Nothing is saved on the server. Closing the tab forgets the conversation — which is the privacy story, and also means you cannot come back to it later. Copy anything you want to keep.

Settings

The gear at the top right opens Settings and closes it again. A dot on it means something in there is in force — a standing instruction, or web search turned off — so a setting that changes every answer is visible from wherever you are. Sign out and Help live at the top of it; they used to sit in the header above every conversation, where they were pressed by nobody most days.

Setting up a conversation

A new conversation opens with a strip above the message area: the model, web search and reasoning. Set them however you like — they start from the defaults on Home but belong to this conversation.

When you send the first message the strip becomes a line of text stating what the conversation is using, and those settings are fixed for the rest of it. That is deliberate rather than a limitation: every turn resends the whole thread, so a model swapped in half way would be credited with answers it never gave, and turning search off part way would not remove what it had already found.

To ask the same thing a different way, open a New chat — conversations are independent, and you can keep both side by side to compare.

Settings holds the defaults

The settings there are the starting point for new conversations. Changing one there updates any conversation that has not started yet and that you have not already set by hand; it never touches a conversation already under way.

Conversations are kept

A conversation no longer disappears when you close the tab. It is saved as you go — in this browser always, and in your Drive folder as well when Home is set to save there — so the same conversation can be started on one machine and continued on another.

The chat still opens on a fresh, empty conversation. Open chat…, beside New chat, lists what is saved: most recent first, each with when it was last used, its model and how many turns it holds. Opening one continues it exactly where it was left, with its thread, its model and the instructions it was given. On a second machine, connect Drive and its conversations appear in that list.

Tabs are named after the first thing you asked, because “Chat (2)” tells you nothing on a machine that did not have it open. The last empty conversation carries no ×: closing it would only give you back an identical one and leave nowhere to type. Otherwise the × on a tab closes the tab — the conversation stays saved and can be reopened. To be rid of one for good, use Delete in the Open chat list; that removes it from this browser and from Drive.

Each conversation is its own file, chat-<id>.json. A turn therefore rewrites a few kilobytes rather than everything, and two machines working on different conversations never touch the same file. If the same conversation is changed on two machines, the more recent save wins — this is one person on several machines, not several people in one conversation.

The last sixty conversations are kept in the browser; older ones fall off there but remain in Drive. A conversation you are part-way through typing is never replaced by a sync.

This changes what the page remembers

Conversations used to exist only for as long as the tab was open. They are now written to this browser's storage, and to Drive if you choose it. Closing a tab no longer forgets anything — use Delete in the Open chat list for that, or choose Don't save chats in Settings to go back to the old behavior.

Save chats and settings

Three choices, above the instruction list in Settings:

ChoiceConversationsSettings and instructions
This browser onlysaved heresaved here
This browser and Google Drivesaved here and in Drive, so they follow you between machinessaved here and in Drive
Don't save chatsnot saved at all — kept in the page, gone when you close the tabsaved here only

Settings go wherever the conversations go. The one exception is this choice itself, which always stays with the browser: a machine reading “use Drive” out of Drive in order to decide whether to read Drive is an argument with itself, and switching one machine back should not switch the others.

Don't save chats is the setting this had before conversations were kept at all. It stops new ones being written; it does not reach back and delete what is already saved, because a setting that destroys data when you select it is a trap. If you want those gone too, Delete all chats beside the choices says how many there are and removes them from this browser and from Drive. It asks twice — one click arms it, a second does it — because there is no undo. Anything you have open stays on screen; deleting what is stored is not the same as closing what you are reading.

Permission is asked for once, when you sign in. The Google screen covers signing in and the Drive folder together, and either can be declined — saying no to Drive still signs you in, and the two saving choices that need it will say so. There is no second dialog afterwards and nothing to reconnect: this site holds the permission and gives the page an hour of access at a time, renewing it as needed.

The permission is drive.file, which covers files this site creates and nothing else. It makes a folder named thinkapenny-chat holding settings.json, with the conversations in thinkapenny-chat/chats. It cannot see anything else in your Drive, and you can withdraw it at any time from your Google account, at which point the page says so and falls back to this browser.

If you signed in before this changed, your account has no Drive permission yet: choose a Drive option and press Connect Drive once. It takes you to Google and back.

If you used Drive before the folders existed, whatever is already in your Drive is moved into place rather than left behind — same files, nothing duplicated.

If both this browser and Drive already hold an instruction list, you are asked which to keep rather than one quietly winning. They are not merged: order matters in a combined prompt, and two edits of the same piece cannot be reconciled. The other settings simply take Drive's copy — only the instructions can hold work worth losing.

Instructions

Settings keeps a list of instructions — pieces of system prompt, each marked with when it applies: search, reasoning, plain query. A conversation combines the ones matching its own settings, in list order, and sends them as one system prompt. Plain query means both toggles are off, so it is a case in its own right rather than a fallback that fires alongside the others.

Write {date} anywhere and it becomes today's date when the message is sent. That is worth using in anything about recency: it is the one thing a model cannot work out for itself.

Browse the library… holds eighteen ready-made instructions in six groups — answering style, honesty, sources, tables and numbers, code, and deciding — each with its full text and the boxes it suggests. Adding one copies it into your list, where you can edit and reorder it like anything else; nothing in the library affects a conversation until you add it. They are deliberately not all active: eighteen instructions firing at once would be a worse system prompt than none.

Three come as standard. The search one is the note this service used to add invisibly on every search — it is in the list now so it can be read and changed. Two rules in it are load-bearing rather than stylistic: every table row must have as many cells as the header, because extracted pages sometimes drop a delimiter and a short row silently shifts every later value; and search again when results are missing values, because otherwise a single incomplete search becomes the whole answer. Restore the three defaults puts back any you delete, without touching the ones you wrote.

A conversation that carries no search instruction of its own still gets the service's built-in note, so unticking a box degrades nothing silently.

On the Chat tab, Instructions… shows what this conversation will send, ticked to match its settings, with the full text of each so you can decide. Change them there and the choice is fixed when you send the first message — the header then says how many were sent, and editing the list in Settings afterwards does not rewrite a conversation that has already used them.

Web search

The Search button turns web access on and off, and turns green when it is on. With it on, the model looks things up before answering and the reply carries a small searched: … line showing the queries it ran.

Turn it on for anything recent, dated, or specific — news, prices, standings, releases. Leave it off for reasoning, writing and code, where it only adds delay.

What search is good and bad at

It reads pages and quotes them, so it is strong on facts that are plainly stated somewhere. It is weaker when a number has to be assembled from a big table — values can be misread, and figures that change minute to minute, like a share or coin price, come back approximate.

Check anything that matters at the source. The reply lists the pages it used.

Standing instructions

The Instructions button opens a box for rules that apply to every message, rather than being retyped each time. The button shows Instructions ✓ in green while something is set.

This is the right place for how you want answers to look:

Answer in British English. Be concise — no preamble.
Show tabular data as markdown tables, one table per group.
Every row must have the same number of cells as the header;
use — for values you do not have.

And the question itself stays just the question:

what are the current MLB National League standings?

The split matters because instructions typed into a single message apply to that message. Put them in the box and they apply to the follow-ups too, without you thinking about it.

Kept for the session, not forever

Instructions survive a page reload but not a new browser session. That is deliberate: an instruction you set last week silently shaping today's answers is worse than being asked to set it again.

Formatting in answers

Markdown is rendered: headings, bold, lists, tables, quotes and code blocks all display properly, and code blocks scroll rather than stretching the window.

While an answer is arriving, a running count sits beside the cursor, so a long wait has a number on it rather than only a blinking block. When the turn finishes it is replaced by took 12.4s at the top of the reply, under the list of what was searched.

If an answer stops mid-sentence you will see cut off at the length limit beneath it — the model ran out of room rather than finishing. Ask it to continue, or ask for a shorter answer.

Mathematics is converted to plain characters — \frac{x+1}{2} reads as (x+1)/2, \sigma as σ, \frac{1}{2} as ½ — rather than being typeset. The goal is a sentence you can read, not an equation you can publish.

Some of it genuinely has no plain-text form: Unicode has a subscript r but no subscript z, and a matrix has a shape a line of text does not. Those fragments are shown exactly as the model wrote them, in an amber box, so you can tell the difference between maths that was converted and maths that could not be. Hover the box and it tells you which of the three reasons applies: no such character exists, the command is unknown, or the shape does not fit on a line.

Copying an answer

Everything in the conversation can be copied. A small copy icon sits in the bottom-right corner of each message, yours and the model's alike; the Thought/Explanation box has one in its header, where copying does not also collapse the box. The icon turns into a tick when it has worked.

A reply copies as Markdown, so tables, code blocks and emphasis survive being pasted into another editor. Your messages and the explanations copy as plain text, which is how they are shown.

If you are a guest

An amber bar shows how many messages you have left — 10 an hour and 40 in total. The hourly allowance refills; the total does not. When you run out, the chat says so plainly. Ask an administrator to add you and both limits disappear.

When something looks wrong

What you seeWhat it means
“The inference server is starting up”The model you picked was not running. Wait two or three minutes and ask again.
Answer stops mid-sentenceLength limit. Ask it to continue.
Facts that are out of dateSearch was off. Turn it on and ask again.
Instructions being ignoredCheck the Instructions ✓ mark. A small model may also simply struggle with a complex format — try a larger one.
Signed out unexpectedlySessions last 30 days. Sign in again at the front page.