跳转到内容

命令行总览

yachiyo 命令驱动的是桌面应用用的那同一个本地实例。它大部分直接读写 ~/.yachiyo,所以应用开没开都能用 —— 例外是 send,它需要一个活着的应用。

yachiyo <namespace> <subcommand> [args...] [flags...]

除非命令另有说明,输出都是 JSON。yachiyo <namespace> --help 会打印任意命名空间的详细帮助。

命名空间用途
soul管理演化中的人格特质
provider管理 AI 供应商和模型
agent子智能体运行模式与 ACP 档案
config读写配置项
thread搜索和查看对话历史
schedule管理定时任务和运行历史
channel列出频道用户和群组,设置状态与标签
send发送通知和频道消息
参数默认说明
--settings <path>~/.yachiyo/config.toml设置文件路径
--soul <path>~/.yachiyo/SOUL.md灵魂文档路径
--db <path>~/.yachiyo/yachiyo.sqlite数据库文件路径
--payload <json>——变更类命令的 JSON 请求体
--limit <n>5列表类命令的最大结果数
--json输出原始 JSON 而不是可读文本
--help——某个命令或命名空间的帮助

有些命令会覆盖 limit 的默认值 —— thread list 用 10,schedule runs 用 20。

路径参数的存在是为了让你把命令行指向一个隔离的环境。设置 YACHIYO_HOME 可以一次性把三个都挪过去,通常更省事。

每条命令在打印之前都会把 apiKey 的值替换成 ***yachiyo config get 也不例外。直接读 config.toml 是唯一能打印出供应商 key 的方式。

channels.toml 里的频道机器人 token 不在这个打码范围内。

--json 让所有东西都变成机器可读的:

Terminal window
# 最近更新的线程,JSON 格式
yachiyo thread list --limit 20 --json | jq '.[] | .title'
# 长时间构建结束时通知自己
make release && yachiyo send notification "Release build done" --title "CI"

先问八千代:

终端里找不到 yachiyo 命令,修一下。

它的 help 技能里有完整的排查路径,也有 shell 权限去执行,包括改你的 shell 配置文件。应用不在你的 PATH 里,并不妨碍这个应用去修你的 PATH。

自己排查

桌面应用每次启动都会写入 ~/.yachiyo/bin/yachiyo,然后尝试让它可被调用。这一步没成功的时候,按下面这个清单往下走。

1. 包装脚本存在吗?

Terminal window
ls -la ~/.yachiyo/bin/yachiyo

不存在说明应用还没生成它 —— 重启八千代。

2. 软链在吗?

Terminal window
ls -la /usr/local/bin/yachiyo

如果没有,检查这个目录是否存在且可写:

Terminal window
ls -ld /usr/local/bin

你可以手动建这个链接:

Terminal window
sudo mkdir -p /usr/local/bin
sudo ln -sf ~/.yachiyo/bin/yachiyo /usr/local/bin/yachiyo

3. ~/.yachiyo/bin 在你的 PATH 里吗?

Terminal window
echo $PATH | tr ':' '\n' | grep yachiyo

不在的话,应用启动时会把它加进你的 shell 配置文件 —— 检查 ~/.zshrc~/.bashrc / ~/.bash_profile,或者 ~/.config/fish/config.fish。自己加的话:

Terminal window
export PATH="$HOME/.yachiyo/bin:$PATH" # zsh / bash
Terminal window
fish_add_path ~/.yachiyo/bin # fish

无论哪种方式,都需要开一个新终端,或者 source 一下配置文件。