Optchat
Security Notice
This extension includes AI agent skills that can modify AI assistant behavior. Review the skill files before installing.
One chat that never ends — Victor Taelin's OptChat / UniiChat design as a
swamp model. Every message is logged word for word in an append-only chat
directory. A cheap model compresses the log into a binary tree of 512-byte
lines; each turn sees the view — lines covering the whole chat, fine when
recent and coarse when old, 64-128 KB — and zooms into a line when it needs
more. The view's merge order is Taelin's rollback push (a binary counter),
generalised by the due rule and batched so the prompt prefix stays cached.
Turns and compactions run through the local claude -p (Claude Code
subscription, no API key); zoom and date reach the agent over a bundled
stdio MCP server.
Methods:
turn— answer a user message with the view, log replies, tool calls and results, then compactcompact— build every ready tree node, up to 8 model calls at once (ruler, retries)append— log notes, subagent reports or user messages without a model callview— render the view the next turn will seezoom— open a line into its two halves, or a message wholestatus— chat size, tree progress, view bytes and lines per level
Ships the optchat skill.
2026.10.25.10
- Repo-wide republish; no functional change.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| chatDir | string | Directory holding the chat (main/, tree/, view.json). Created if missing. A leading ~/ means $HOME. |
| agentName? | string | The agent's name in the system prompt; its replies are logged with this name, lowercased, as their kind. |
| userInstructions? | string | Who the user is, how their files are organized, how they want work done. Appended to the system prompt. |
| turnModel? | string | Model for turns (a claude --model value). |
| turnEffort? | string | Effort for turns (low, medium, high, xhigh, max); empty leaves the CLI default. |
| compactModel? | string | Cheap model for compactions. |
| compactEffort? | string | Effort for compactions; empty leaves the CLI default. |
| turnTools? | array | Built-in Claude Code tools the agent may use for the user's tasks (zoom and date are always on). Add Bash, Write, Edit to let it change things. |
| workDir? | string | Working directory for turns; empty means chatDir. |
| concurrency? | number | Compactions run at once. |
| viewHighBytes? | number | A batch merge starts once the view passes this. |
| viewLowBytes? | number | A batch merges the view down to this. |
| compactHighBytes? | number | The compaction view is merged again once it passes this. |
| compactLowBytes? | number | The compaction view is merged down to this. |
| turnTimeoutSeconds? | number | |
| compactTimeoutSeconds? | number | |
| lockStaleMinutes? | number | A chat lock older than this is taken over. |
| claudeBin? | string | |
| denoBin? | string | Deno binary that runs the zoom/date MCP server during turns. |
| Argument | Type | Description |
|---|---|---|
| text | string | The text to log, whole. |
| kind? | enum |
| Argument | Type | Description |
|---|---|---|
| maxCalls? | number | Stop starting model calls after this many. |
| Argument | Type | Description |
|---|---|---|
| message | string | The user's new message. |
| compactAfter? | boolean | Compact the turn's own messages afterwards, so the next turn starts at once. |
| Argument | Type | Description |
|---|---|---|
| id | number | |
| n? | number |
Resources
2026.10.15.9
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.8
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.6
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.5
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.4
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.3
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.2
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.1
Changed
- Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.08.1
Added
- First release: Taelin's OptChat / UniiChat never-ending chat as a swamp model. Append-only chat directory, 512-byte summary tree, push-ordered view batched 128 KB → 64 KB, compaction view 16-32 KB, ruler + "Too long" retries in the same conversation, up to 8 compactions at once from work queues.
- Methods
turn,compact,append,view,zoom,status. - Turns and compactions through
claude -pstream-json;zoomanddateserved to the agent by a bundled stdio MCP server. - Ships the
optchatskill.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Docs keep secrets in a vault1/1earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned