y-cli
A Tiny Terminal Chat App for AI Models with MCP Client Support Python-based implementation.
Documentation
y-agent
A personal AI agent system built on top of coding agents.
> Renamed from y-cli. y-cli wrapped model APIs; y-agent wraps coding agents.
Demo

A real trace: https://yovy.app/t/6fc5c4
Web chat renders inline artifacts from assistant messages: Mermaid diagrams, Vega-Lite charts, and sanitized `artifact-svg` blocks.
Coding agents like Claude Code / Codex are great for code, but code is only part of my daily life. I also have ledgers, calendars, todos, notes, emails. I want the agent to handle those too.
Three things came up while extending a coding agent into a personal agent system:
1. How to give the agent context
2. How to keep the agent always-on
3. How to orchestrate multiple agents
Context
Same data for me and for the agent. Files go through `read` / `write` / `edit`. Anything I'd reach for a GUI to do, the agent reaches for a CLI — it's already happy in Bash. Rule: whatever I can do in the GUI, the agent can do via CLI. The underlying file or DB row is the same.
Always-on
I don't want to carry a laptop or open a terminal to use it. Coding agents run on a remote VM (EC2) inside `tmux`; a tail process parses their output into the database, so the web UI can chat with them directly. A Telegram bot covers mobile input. EC2 auto-hibernates when idle, so cost is near zero when nothing is running.
Orchestration
One session usually can't handle the whole thing — requests have to be routed to the right session. Claude Code ships sub-agents, but I wanted that layer outside, so sub-agent chats stay in my own DB and I can steer them mid-run.
user ┌──────────────────┐
input ────► │ skill: manager │ dispatch only,
│ └────────┬──────────┘ no execution
│ │ y chat --skill dev -m "..."
│ ▼
│ ┌──────────────────┐
├───► │ skill: dev │ coordinator,
│ │ │ runs lower-level skill sessions
│ └──┬──────┬──────┬─┘
│ │ │ │ y chat --skill {plan,impl,review}
│ ▼ ▼ ▼
│ ┌──────┐ ┌──────┐ ┌────────┐
└───► │ plan │ │ impl │ │ review │ anonymous, ephemeral;
└──────┘ └──────┘ └────────┘ skill loaded per dispatchA `trace_id` (= `todo_id` when the task is tracked) threads the whole tree, so TraceView renders the chain as a waterfall.
Docs
Two paths, split by whether you run the server or just use one. Each page opens with a `client` or `server` tag so you always know which side you're on.
Client — use a hosted instance (`y login` against `yovy.app` and go; no infra needed):
- docs/getting-started.md — the web GUI after sign-in, built around the four showcased capabilities (chat, todo & trace, note, link).
- docs/cli.md — install the CLI, sign in, every command group.
- docs/capabilities.md — client + server reference: what a running deployment ships.
Server — self-host (you run the API + worker yourself):
- docs/self-host.md — prerequisites, install, run, deploy, config keys.
- docs/provider-status.md — manually configure the Anthropic Statuspage webhook without storing credentials or failure-notification email in source.
Hot-loadable modules
A module is a user-owned, versioned domain at the fixed `code/y-module//`
(standalone repo `/Users/roy/luohy15/code/y-module`). It can hold local CLI, a
lazy-loaded API half, a published React UI half, and module-owned data/migrations.
`y module publish` ships API+UI atomically; `y module rollback` repoints code only;
`y module schema-sql` prints DDL and never runs it. UI claims `panel` / `detail` /
`shell` slots. Publish and backend dispatch require
`Y_AGENT_MODULE_MAINTAINER_USER_ID` (fail-closed); a version may opt into
`authenticated` dispatch.
Blog Post
Longer write-up, design rationale, and comparisons: full blog post.
CHANGELOG tracks weekly updates.
Frequently asked questions
What is y-cli?
y-cli is A Tiny Terminal Chat App for AI Models with MCP Client Support Python-based implementation.
How do I install y-cli?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is y-cli open source?
Yes, it is hosted on GitHub at https://github.com/luohy15/y-cli and has 189 stars.
Related MCP tools
🙌 OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
🚀 The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
🔥 MaxKB is an open-source platform for building enterprise-grade agents. MaxKB 是强大易用的开源企业级智能体平台。 for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP