Install
Requirements
Section titled “Requirements”macOS only. There is no Windows or Linux build and none is planned.
You also need an API key for at least one model provider. Yachiyo does not ship with a bundled model or a hosted account — see Providers and models.
Download
Section titled “Download”Grab the latest .dmg from the
Releases page, open it,
and drag Yachiyo into /Applications.
First launch
Section titled “First launch”On first launch Yachiyo creates its home directory at ~/.yachiyo and populates
it with:
config.toml— providers, tools, skills, memory, and web search settingschannels.toml— Telegram / QQ / Discord credentials, kept separate fromconfig.tomlso bot tokens never mix with the rest of your settingsyachiyo.sqlite— every thread and message, stored locallyskills/core/— the bundled core skills, extracted fresh on each app updatebin/yachiyo— the CLI wrapper
An onboarding overlay walks you through connecting a provider. If you would rather do it yourself, head to Quickstart.
The CLI
Section titled “The CLI”Every time the desktop app launches, it writes ~/.yachiyo/bin/yachiyo and then
tries to make it reachable:
- It symlinks
/usr/local/bin/yachiyoto the wrapper. If that succeeds, the command works in any new shell immediately. - If the symlink cannot be created —
/usr/local/binis missing, unwritable, or already occupied by a real file — it appends~/.yachiyo/binto your shell profile instead (zsh, bash, and fish are handled).
Either way you need a new terminal session before the command resolves.
Verify it:
yachiyo thread list --limit 3If you get command not found, see
the CLI overview for the fix.
Launch on login
Section titled “Launch on login”Yachiyo has to be running for scheduled tasks, channel bots, and yachiyo send
to work. So ask it to arrange that:
Make yourself start automatically when I log in.
It knows how — the bundled yachiyo-help skill carries the LaunchAgent recipe,
and it has shell access to write the file and load it. Ask it to check afterwards
and it will confirm the agent is registered.
This is the intended way to do almost anything mechanical here. You are not configuring a tool; you are asking an assistant that can already read its own documentation and act on your machine.
If you would rather do it by hand
Write the LaunchAgent:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>sh.ringo.yachiyo</string> <key>ProgramArguments</key> <array> <string>/usr/bin/open</string> <string>/Applications/Yachiyo.app</string> </array> <key>RunAtLoad</key> <true/></dict></plist>Then load and confirm it:
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/sh.ringo.yachiyo.plistlaunchctl list | grep sh.ringo.yachiyoUpdating
Section titled “Updating”Download the new .dmg and replace the app in /Applications. Your
~/.yachiyo directory is untouched by updates — settings, history, and custom
skills all survive. Bundled core skills under skills/core/ are re-extracted on
each launch, so local edits to those are not preserved; put your own work in
skills/custom/ instead.
Building from source
Section titled “Building from source”nvm usepnpm installpnpm devThe repo is a pnpm workspace: apps/desktop (Electron app), packages/runtime
(the assistant runtime), packages/cli, packages/shared, and
packages/core-skills.