mcpField
Y
yee88

yee88

github.com/yee94生産性539 回インストール16 週間前に更新
リポジトリ

yee88 について

yee88は、スケジュールタスク、プロジェクト設定、Telegramトピック、ファイル送信を管理し、対応エンジンを起動するコマンドラインスキルです。リマインダー、セッションの引き継ぎ、日常的なプロジェクト作業のコマンドを案内します。

主な機能

  1. 01スケジュールタスクの作成と管理
  2. 02プロジェクトとエンジン設定の管理
  3. 03プロジェクトとTelegramトピックの紐付け
  4. 04Telegramへのセッション引き継ぎ
  5. 05Telegramへのファイル・画像送信
  6. 06設定とプラグインの確認

活用シーン

  1. 01一度限りまたは定期的なリマインダーの設定
  2. 02プロジェクト別名を使ったタスクの予約
  3. 03Telegramトピックでのセッション継続
  4. 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>

注意事項

  1. プロジェクトエイリアスの要件:

    • 定期タスクの --project にはプロジェクトエイリアス(takopi、work など)を指定します
    • yee88 config list | grep projects で登録済みのプロジェクトを確認します
    • yee88 init <alias> で新しいプロジェクトを登録します
  2. 設定のホットリロード:

    • watch_config = true を設定すると、設定がホットリロードされます
    • 定期タスクの設定を変更した後は、yee88 を再起動する必要があります
  3. スケジュールの精度:

    • 定期タスクは毎分チェックされます
    • 実行時に最大 1 分の遅延が発生する場合があります
  4. 権限の問題:

    • yee88 コマンドが PATH に含まれていることを確認してください
    • 定期タスクの実行中は yee88 を起動したままにしてください
  5. 単発タスク:

    • -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 など

コマンド一覧

コマンド説明
yee88yee88 を起動します
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-idChat ID を取得します
yee88 claudeClaude エンジンを使用します
yee88 codexCodex エンジンを使用します
yee88 opencodeOpenCode エンジンを使用します
yee88 piPi エンジンを使用します
yee88 send-file <path>ファイル/画像を Telegram に送信します

コメント