yee88 について
yee88は、スケジュールタスク、プロジェクト設定、Telegramトピック、ファイル送信を管理し、対応エンジンを起動するコマンドラインスキルです。リマインダー、セッションの引き継ぎ、日常的なプロジェクト作業のコマンドを案内します。
主な機能
- 01スケジュールタスクの作成と管理
- 02プロジェクトとエンジン設定の管理
- 03プロジェクトとTelegramトピックの紐付け
- 04Telegramへのセッション引き継ぎ
- 05Telegramへのファイル・画像送信
- 06設定とプラグインの確認
活用シーン
- 01一度限りまたは定期的なリマインダーの設定
- 02プロジェクト別名を使ったタスクの予約
- 03Telegramトピックでのセッション継続
- 04レポートや画像のTelegram送信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yee94/ yee88 --skill yee88インストール後、Claude Code で/yee88を入力して読み込まれたか確認します。
詳細
yee88 CLI 工具
⚠️ 重要:必须执行真实命令
当用户请求以下功能时,必须使用 Bash 执行对应的 yee88 命令,不能只是口头回复!
💬 回复用户时保持简洁
不要透露内部实现细节! 用户不需要知道:
- "一次性任务"、"执行后自动清理"等技术细节
- 命令参数含义(如
-o、--project) - 内部调度机制
| 用户说 | 正确回复 ✅ | 错误回复 ❌ |
|---|---|---|
| "1分钟后提醒我喝水" | "好的,1分钟后提醒你喝水" | "已创建一次性定时任务,将在1分钟后触发,执行后自动清理..." |
| "每天9点提醒我站会" | "好的,每天早上9点提醒你站会" | "已添加 cron 任务,schedule 为 0 9 * * *,project 为..." |
| "取消那个提醒" | "已取消" | "已执行 yee88 cron remove xxx --force,任务已从列表中删除..." |
🚨 关键区分:设置提醒 vs 执行任务
设置提醒时,你只需要创建定时任务,不要执行任务本身!
| 场景 | 正确做法 | 错误做法 |
|---|---|---|
| "1分钟后提醒我查天气" | 只执行 yee88 cron add ... 创建提醒 | ❌ 立即查天气,把结果写进 message |
| "30分钟后提醒我开会" | 只执行 yee88 cron add ... 创建提醒 | ❌ 立即做任何与"开会"相关的操作 |
| "2小时后帮我发邮件" | 只执行 yee88 cron add ... 创建提醒 | ❌ 立即发邮件 |
message 参数应该是用户的原话或简短描述,不是执行结果!
⛔ 默认不传 --project!除非用户明确要求
🧠 COT:判断是否需要 --project
收到定时任务请求时,先在脑中过一遍这个决策流程:
1. 用户有没有提到具体项目名?
- "在 takopi 项目下..." → 需要 --project
- "帮我在 work 项目..." → 需要 --project
- "提醒我喝水" → 不需要 --project
- "每天9点提醒站会" → 不需要 --project
2. 用户有没有说"在某个项目下运行"?
- "在 xxx 下执行..." → 需要 --project
- "切到 xxx 项目..." → 需要 --project
- 没有提到项目上下文 → 不需要 --project
3. 这个任务是通用提醒还是项目相关?
- 喝水、休息、开会 → 通用,不需要 --project
- 代码审查、部署、PR → 可能需要,但除非用户说了项目名,否则不传
结论:99% 的情况不需要 --project。只有用户明确说了项目名才传。
决策表
| 用户说的话 | 需要 --project? | 命令 |
|---|---|---|
| "1分钟后提醒我喝水" | ❌ 不需要 | yee88 cron add reminder "+1m" "喝水" -o |
| "每天9点提醒我站会" | ❌ 不需要 | yee88 cron add standup "0 9 * * *" "站会时间" |
| "30分钟后提醒我休息" | ❌ 不需要 | yee88 cron add break "+30m" "休息一下" -o |
| "在 takopi 项目下每天9点跑测试" | ✅ 需要 | yee88 cron add test "0 9 * * *" "跑测试" --project takopi |
| "帮我在 work 项目设个提醒" | ✅ 需要 | yee88 cron add reminder "+1h" "..." --project work -o |
⚠️ --project 只接受项目别名,不是路径!
| 正确 ✅ | 错误 ❌ |
|---|---|
| 不传(默认) | --project /Users/yee.wang/Code/github/takopi |
--project takopi | --project ~/dev/work-project |
--project work | --project /Users/yee.wang/.yee88 |
--project . |
如何获取项目别名(仅当用户要求时):
yee88 config list | grep projects
🎯 快速触发表(立即执行)
| 用户说 | 必须执行的命令 |
|---|---|
| "5分钟后提醒我..." | yee88 cron add reminder "+5m" "提醒内容" -o |
| "30分钟后提醒我..." | yee88 cron add reminder "+30m" "提醒内容" -o |
| "2小时后提醒我..." | yee88 cron add reminder "+2h" "提醒内容" -o |
| "明天提醒我..." | yee88 cron add reminder "+1d" "提醒内容" -o |
| "每天早上9点提醒我..." | yee88 cron add daily "0 9 * * *" "提醒内容" |
| "每周一提醒我..." | yee88 cron add weekly "0 9 * * 1" "提醒内容" |
| "查看所有提醒" | yee88 cron list |
| "删除提醒 X" | yee88 cron remove X --force |
| "发送这个文件给我" | yee88 send-file /path/to/file |
| "把这张图发给我" | yee88 send-file /path/to/image.png |
一次性提醒命令格式
yee88 cron add <id> "<时间>" "<消息>" -o
参数说明:
<id>: 任务ID(如 reminder, meeting, break)<时间>: 相对时间格式+5m,+30m,+1h,+2h,+1d<消息>: 用户的原话或简短描述(不是执行结果!)--project <alias>: 可选,项目别名(如 takopi, myproject),不指定则在默认上下文执行-o: 一次性任务(执行后自动删除)
正确示例:
# 用户说:"5分钟后提醒我该健身了"
yee88 cron add reminder "+5m" "该健身了" -o
# 用户说:"30分钟后提醒我开会"
yee88 cron add meeting "+30m" "开会时间到" -o
# 用户说:"1分钟后提醒我查天气"
# ✅ 正确:只设置提醒,不查天气
yee88 cron add weather "+1m" "查天气" -o
# ❌ 错误:立即查天气并把结果写进 message
# yee88 cron add weather "+1m" "杭州今天晴,15度..." -o
完整能力参考
1. 定时任务 (Cron)
注册项目
yee88 init <alias>
在指定目录注册项目:
cd ~/dev/my-project
yee88 init myproject
查看项目配置
yee88 config list | grep projects
2. 配置管理
查看配置路径
yee88 config path
列出所有配置
yee88 config list
获取配置项
yee88 config get <key>
示例:
yee88 config get default_engine
yee88 config get projects.myproject.path
设置配置项
yee88 config set <key> <value>
示例:
# 设置默认引擎
yee88 config set default_engine "claude"
# 设置默认项目
yee88 config set default_project "myproject"
# 设置项目路径
yee88 config set projects.myproject.path "~/dev/my-project"
# 设置项目默认引擎
yee88 config set projects.myproject.default_engine "claude"
# Telegram 设置
yee88 config set transports.telegram.session_mode "chat"
yee88 config set transports.telegram.show_resume_line false
# 引擎特定配置
yee88 config set claude.model "claude-sonnet-4-5-20250929"
yee88 config set codex.profile "work"
删除配置项
yee88 config unset <key>
3. 定时任务 (Cron)
添加定时任务
yee88 cron add <id> <schedule> <message> [--project <alias>]
参数:
id: 任务唯一标识schedule: Cron 表达式(如 "0 9 * * 1-5")message: 推送消息内容--project: 可选,项目别名(如 takopi),不指定则在默认上下文执行
示例:
# 每日站会(工作日早上9点)
yee88 cron add standup "0 9 * * 1-5" "准备每日站会" --project work
# 周报(周五下午6点)
yee88 cron add weekly "0 18 * * 5" "生成本周工作报告" --project work
# 提醒(每30分钟)
yee88 cron add reminder "*/30 * * * *" "该休息眼睛了" --project personal
列出所有定时任务
yee88 cron list
显示所有(包括禁用的):
yee88 cron list --all
启用/禁用任务
yee88 cron enable <id>
yee88 cron disable <id>
删除任务
yee88 cron remove <id>
强制删除(不确认):
yee88 cron remove <id> --force
立即执行一次(测试)
yee88 cron run <id>
添加一次性定时任务
使用 --one-time 或 -o 参数创建只执行一次的任务,执行后自动删除。
支持两种时间格式:
- 相对时间:
+30m(30分钟后),+2h(2小时后),+1d(1天后) - ISO 8601:
2026-02-01T14:00:00(具体日期时间)
# 30分钟后提醒
yee88 cron add reminder "+30m" "该开会了" --project work -o
# 2小时后部署
yee88 cron add deploy "+2h" "部署到生产环境" --project myapp -o
# 指定具体时间
yee88 cron add meeting "2026-02-01T14:00:00" "项目评审会议" --project work -o
查看任务列表时,一次性任务会标记为 once 类型:
yee88 cron list
# 输出: ID TYPE SCHEDULE STATUS PROJECT
4. 话题管理
初始化话题
yee88 topic init [PROJECT] [--branch [NAME]]
在当前目录创建 Telegram 话题并绑定到项目。默认只绑定项目目录,不关联 git 分支,无需 git 仓库即可运行。
--branch 三种用法:
| 命令 | 效果 |
|---|---|
yee88 topic init | 绑定当前目录(项目名=目录名) |
yee88 topic init --branch | 自动取当前 git 分支,绑定 project@branch |
yee88 topic init --branch main | 绑定 project@main |
yee88 topic init --branch feat/x | 绑定 project@feat/x |
示例:
# 非 git 目录 / 不想绑定分支
yee88 topic init myproject
# 绑定当前 git 分支
yee88 topic init myproject --branch
# 绑定指定分支
yee88 topic init myproject --branch feat/new-feature
删除话题
yee88 topic delete [PROJECT] [--branch [NAME]]
在 Telegram 中管理话题
在话题内发送 /topic 命令:
/topic <project> [@branch] # 创建/绑定话题
/ctx set <project> [@branch] # 绑定上下文
/ctx show # 查看上下文
/new # 清除话题内的会话记录
5. 引擎运行
启动 yee88
yee88
指定引擎启动
yee88 claude
yee88 codex
yee88 opencode
yee88 pi
带选项启动
yee88 --debug
yee88 --onboard
yee88 --transport telegram
6. 诊断检查
実行設定の確認
yee88 doctor
以下を含め、設定が正しいか確認します:
- Telegram bot token
- Chat ID
- エンジンの利用可否
- プロジェクト設定
7. プラグイン管理
プラグインの一覧表示
yee88 plugins
プラグインの検証
yee88 plugins --validate
8. Chat ID の取得
yee88 chat-id
一時的な bot を起動して、Telegram の chat ID を取得します。
9. 初期化パスの確認
yee88 onboarding-paths
設定可能なすべてのパスを表示します。
設定リファレンス
設定ファイルの場所
- メイン設定:
~/.yee88/yee88.toml - 定期タスク:
~/.yee88/cron.toml - トピックの状態:
~/.yee88/telegram_topics_state.json
よく使う設定例
# ~/.yee88/yee88.toml
watch_config = true
default_engine = "claude"
default_project = "myproject"
transport = "telegram"
[transports.telegram]
bot_token = "YOUR_BOT_TOKEN"
chat_id = 123456789
session_mode = "chat"
show_resume_line = false
[projects.myproject]
path = "~/dev/my-project"
default_engine = "claude"
使用シナリオ
シナリオ 1:毎日のワークフローを自動化する
# 1. 注册项目
cd ~/dev/work-project
yee88 init work
# 2. 设置默认项目
yee88 config set default_project work
# 3. 添加定时任务(使用项目别名)
yee88 cron add morning "0 9 * * 1-5" "准备每日站会" --project work
yee88 cron add evening "0 18 * * 1-5" "总结今日工作" --project work
yee88 cron add weekly "0 17 * * 5" "生成本周报告" --project work
# 4. 启动 yee88
yee88
シナリオ 2:複数のプロジェクトを管理する
# 注册多个项目
cd ~/dev/project-a && yee88 init project-a
cd ~/dev/project-b && yee88 init project-b
# 设置不同默认引擎
yee88 config set projects.project-a.default_engine "claude"
yee88 config set projects.project-b.default_engine "codex"
# 为每个项目创建话题
cd ~/dev/project-a
yee88 topic init
cd ~/dev/project-b
yee88 topic init
シナリオ 3:チームで共同作業する
# 1. 配置群组 chat_id
yee88 config set transports.telegram.chat_id -1001234567890
# 2. 启用话题模式
yee88 config set transports.telegram.topics.enabled true
# 3. 创建团队话题
yee88 topic init team-project --branch main
# 4. 设置定时提醒(使用项目别名)
yee88 cron add daily-sync "0 10 * * 1-5" "团队同步时间" --project team-project
シナリオ 4:一時的なリマインダーと単発タスク
# 30分钟后提醒自己休息
yee88 cron add break "+30m" "该休息眼睛了,起来活动一下" --project personal -o
# 今天下午3点的会议提醒
yee88 cron add meeting "2026-02-01T15:00:00" "参加产品评审会议" --project work -o
# 明天早上执行代码审查
yee88 cron add review "+1d" "审查昨天的 PR" --project work -o
トラブルシューティング
設定の確認
yee88 doctor
ログの確認
# yee88 日志
tail -f /tmp/yee88.log
# 定时任务日志
tail -f /tmp/yee88-cron.log
cron 式の検証
python -c "from croniter import croniter; print(croniter('0 9 * * *').get_next(str))"
タスクのテスト
yee88 cron run <task-id>
注意事項
-
プロジェクトエイリアスの要件:
- 定期タスクの
--projectにはプロジェクトエイリアス(takopi、workなど)を指定します yee88 config list | grep projectsで登録済みのプロジェクトを確認しますyee88 init <alias>で新しいプロジェクトを登録します
- 定期タスクの
-
設定のホットリロード:
watch_config = trueを設定すると、設定がホットリロードされます- 定期タスクの設定を変更した後は、yee88 を再起動する必要があります
-
スケジュールの精度:
- 定期タスクは毎分チェックされます
- 実行時に最大 1 分の遅延が発生する場合があります
-
権限の問題:
- yee88 コマンドが PATH に含まれていることを確認してください
- 定期タスクの実行中は yee88 を起動したままにしてください
-
単発タスク:
-oまたは--one-timeパラメーターを使って作成します- 相対時間(
+30m、+2h、+1d)と ISO 8601 形式に対応しています - 実行後、リストから自動的に削除されます
- 単発タスクには enable/disable を使用できません(実行前に自動削除されます)
10. セッションの引き継ぎ(Handoff)
現在の OpenCode セッションのコンテキストを Telegram に送信して、スマートフォンで会話を続けられるようにします。
yee88 handoff
機能:
- 現在のプロジェクトの最近のセッションを、トピック名とともに自動で一覧表示します
- セッションを選択すると、新しい Telegram Topic を作成します
- セッションのコンテキストと最近のメッセージを Topic に送信します
- Telegram で直接会話を続けられます
オプション:
--session, -s:セッション ID を指定します(デフォルトは対話形式で選択)--limit, -n:含めるメッセージ数(デフォルトは 3)--project, -p:プロジェクト名
例:
yee88 handoff
yee88 handoff -s ses_abc123 -n 5
11. ファイル/画像の送信(send-file)
ファイルまたは画像を Telegram に送信します。ファイルの種類は自動的に判別されます。画像の場合は sendPhoto を使ってチャット内に直接表示し、それ以外の場合は sendDocument を使って添付ファイルとして送信します。
yee88 send-file <file_path> [--chat-id <id>] [--thread-id <id>] [--caption <text>]
パラメーター:
<file_path>:ファイルパス(必須)--chat-id, -c:Telegram chat ID(デフォルトでは設定または環境変数YEE88_CHAT_IDから読み取ります)--thread-id, -t:Telegram thread ID(デフォルトでは環境変数YEE88_THREAD_IDから読み取ります)--caption:任意のファイル説明
OpenCode セッション内で使用する場合、YEE88_CHAT_ID と YEE88_THREAD_ID の環境変数は自動的に注入されるため、手動で指定する必要はありません:
# OpenCode 会话中直接使用(环境变量自动注入)
yee88 send-file /path/to/screenshot.png
yee88 send-file /path/to/report.pdf --caption "今日报告"
# 手动指定 chat_id(CLI 独立使用时)
yee88 send-file /path/to/image.png --chat-id 123456789
yee88 send-file /path/to/doc.pdf -c 123456789 -t 456
対応する画像形式(チャット内に直接表示):png、jpg、jpeg、gif、webp、bmp
その他の形式(添付ファイルとして送信):pdf、zip、txt、csv、xlsx など
コマンド一覧
| コマンド | 説明 |
|---|---|
yee88 | yee88 を起動します |
yee88 init <alias> | プロジェクトを登録します |
yee88 handoff | セッションを Telegram に引き継ぎます |
yee88 config path | 設定パスを確認します |
yee88 config list | 設定を一覧表示します |
yee88 config get <key> | 設定項目を取得します |
yee88 config set <key> <value> | 設定項目を設定します |
yee88 config unset <key> | 設定項目を削除します |
yee88 cron add <id> <schedule> <msg> [--project <alias>] | 定期タスクを追加します |
yee88 cron add <id> <time> <msg> [-p <alias>] -o | 単発タスクを追加します(-o = --one-time) |
yee88 cron list | 定期タスクを一覧表示します |
yee88 cron enable <id> | タスクを有効にします |
yee88 cron disable <id> | タスクを無効にします |
yee88 cron remove <id> | タスクを削除します |
yee88 cron run <id> | タスクを直ちに実行します |
yee88 topic init [PROJECT] [--branch [NAME]] | トピックを初期化します |
yee88 topic delete [PROJECT] [--branch [NAME]] | トピックを削除します |
yee88 doctor | 診断チェックを実行します |
yee88 plugins | プラグインを一覧表示します |
yee88 chat-id | Chat ID を取得します |
yee88 claude | Claude エンジンを使用します |
yee88 codex | Codex エンジンを使用します |
yee88 opencode | OpenCode エンジンを使用します |
yee88 pi | Pi エンジンを使用します |
yee88 send-file <path> | ファイル/画像を Telegram に送信します |