Yen
Go AI agent
A Go version of my Theoses agent design that keeps one conversation and its memory as you move between terminal, Telegram and a browser.
Drag sideways to turn it.
Try it
A small working version of the workflow, running in your browser with fictional data.
One conversation, three channels
Sample dataSwitch channel and keep talking. The conversation stays the same. Architecture demo, not a running agent.
One conversation and one memory, whichever channel you use
- TerminalRemind me to check the gauze order on Friday.
- YenNoted for Friday.
The problem
An assistant should retain a conversation’s identity when its owner moves between a terminal, Telegram and a browser.
What I built
I built Yen as a Go agent with a canonical conversation model, shared memory and channel adapters. Its implementation is developed against documented TypeScript behavior rather than treating a similar-looking interface as compatibility.
How it works
- Enter through a channel
- Resolve the canonical conversation
- Run the agent and its tools
- Persist the conversation and memory
Under the hood
The Go runtime separates channel adapters, conversation identity, model providers, tools and memory. Repository contracts and parity reports record implemented behavior and remaining differences.
What this page does not claim
Yen is a separate Go implementation, not a claim that it has replaced Theoses or achieved complete feature parity. This page shows an architecture outline, not a running agent or an invented chat.
What should your software do?
Tell me what your team does today, what gets repeated, and what a better workflow would look like.