roadbook について
`cyeam` CLI で旅行プランを作成、共有、一覧表示、取得するためのスキルです。コマンドの手順やログイン要件に加え、外部通信の用途も説明します。
主な機能
- 01CSV 入力から旅行プランを作成
- 02旅行プランを OneDrive に保存
- 03共有リンクを生成
- 04旅行プランの一覧表示と取得
- 05ログインと通信内容を説明
活用シーン
- 01旅行計画の共有リンクを作成
- 02OneDrive に保存した旅行プランを確認
- 03共有 ID で旅行プランの詳細を取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mnhkahn/ cyeam-cli --skill roadbookインストール後、Claude Code で/roadbookを入力して読み込まれたか確認します。
詳細
旅程プランの共有
ユーザーの意図 → 実行手順の早見表
| ユーザーの発言 | 手順 | ログインが必要か |
|---|---|---|
| "旅程プランのリンクを生成" / "ルートを計画して" / 旅行プランを共有 | → 旅程プラン生成フロー(ステップA)に進みます | cyeam login が必要です |
| "旅程プランの一覧を見る" | → 旅程プラン一覧表示フロー(ステップB)に進みます | cyeam login が必要です |
| "ログイン" / "旅程プランにログイン" | → ログインフロー(ステップC)に進みます | — |
| "特定の旅程プランの詳細を見る" | → 旅程プラン表示フロー(ステップD)に進みます | 不要です |
インストール
インストール前に、以下のコマンドを確認してください。例では v1.1.4 に固定しており、latest には追従しません。ダウンロードするのは実行可能プログラムのアーカイブです。 CLI のインストールが必要な場合にのみ実行してください。コマンドを呼び出すたびにインストールを繰り返さないでください。
macOS / Linux:検証後、ユーザーディレクトリにインストール
Bash または Zsh で実行してください。curl、tar、install に加え、shasum または sha256sum が必要です。
スクリプトは macOS / Linux の arm64 または x86_64 を自動選択し、それ以外のプラットフォームでは停止します。
(
set -eu
version='v1.1.4'
case "$(uname -s)/$(uname -m)" in
Darwin/arm64)
asset='cyeam_Darwin_arm64.tar.gz'
sha256='06b5af004ab4f0f05d5829ea6bd18b97c4449c262af7df14c67175f7d3cb29db' ;;
Darwin/x86_64)
asset='cyeam_Darwin_x86_64.tar.gz'
sha256='107342bb9d2fa444b96155c468e71b8cc63e0f5ad0acc784698afe221548efa6' ;;
Linux/aarch64|Linux/arm64)
asset='cyeam_Linux_arm64.tar.gz'
sha256='ed87697f3948bead67b585e9881c3bef20e8d2d903beb5b125587281a5091c5b' ;;
Linux/x86_64)
asset='cyeam_Linux_x86_64.tar.gz'
sha256='873d6805fab8ab56540bb034aaf2f57f12eb672fcabd322ebe401e8250a5966d' ;;
*) echo '不支持的平台,请查看固定版本的 Release。' >&2; exit 1 ;;
esac
workdir=$(mktemp -d)
trap 'rm -rf "$workdir"' EXIT
cd "$workdir"
curl --fail --show-error --silent --location --proto '=https' --proto-redir '=https' \
--output "$asset" "https://github.com/mnhkahn/cyeam-cli/releases/download/$version/$asset"
printf '%s %s\n' "$sha256" "$asset" > expected.sha256
if command -v sha256sum >/dev/null 2>&1; then
sha256sum -c expected.sha256
else
shasum -a 256 -c expected.sha256
fi
# set -e 确保下载或校验失败时,不会解压或安装。
tar -xzf "$asset" cyeam
mkdir -p "$HOME/.local/bin"
install -m 0755 cyeam "$HOME/.local/bin/cyeam"
CYEAM_CLI_NO_UPDATE_NOTIFIER=1 "$HOME/.local/bin/cyeam" --no-analytics version
)
一時ディレクトリと ~/.local/bin/cyeam のみを書き込みます(同名のプログラムが既にある場合は置き換えます)。管理者権限は不要で、
システムディレクトリ、サービス、シェル設定は変更しません。現在のシェルで使用するには、次のようにします。
export PATH="$HOME/.local/bin:$PATH"
永続的に有効にするには、上記の行をシェル設定に追加してください。 v1.1.4 リリースページ と checksums.txt でハッシュを確認できます。固定バージョンをアップグレードする際は、バージョン番号と対応する SHA-256 の両方を確認して置き換える必要があります。 ハッシュはリリースファイルの一貫性を確認するためのものであり、独立した署名やセキュリティ監査に相当するものではありません。
外部リクエストと権限の用途
- インストール時のダウンロード:GitHub の固定 Release から、選択したアーカイブのみをダウンロードします。GitHub はアセット CDN にリダイレクトする場合があります。
ダウンロード後、まずドキュメントに記載された固定の SHA-256 を検証してから、単一の
cyeamファイルを展開します。インストール時の確認では、利用状況の統計と更新通知は無効になります。 - Microsoft の認証:クラウド機能が必要な場合にのみ
cyeam loginを実行します。https://login.microsoftonline.com/consumersのデバイスコードフローでログインし、認証ページを開こうとします。Files.ReadWrite(OneDrive ファイルの読み書き)、User.Read(アカウント情報の読み取り)、offline_access(毎回ログインせずに済むようにする更新トークン)を要求します。ファイル権限は認証したアカウントの OneDrive ファイル全体に及び、このスキルのフォルダーに限定されません。トークンは優先的にシステムのキーチェーンに保存され、利用できない場合は~/.cyeam/token.jsonに保存されます。 - OneDrive の旅程プラン:
listはhttps://graph.microsoft.com/v1.0を通じて路书/フォルダーとファイルの内容を読み取り、タイトルを取得します。Microsoft のファイルダウンロードは、ストレージのドメインにリダイレクトされる場合があります。csvは stdin から旅程を読み取り、生成した JSON をそのフォルダーに書き込んでから、cyeam.com で共有します。 - 旅程プランの共有と読み取り:
shareはユーザーが指定したローカル JSON を読み取り、csvは生成した JSON を使用して、旅程をhttps://www.cyeam.com/api/roadbook/shareにアップロードし、リンクを生成します。getはhttps://www.cyeam.com/api/roadbook/get?id=<ID>にリクエストを送り、共有済みの内容を取得します。share/getに Microsoft のログインは不要です。生成されたリンクを知っている人は旅程を閲覧できます。アップロードを実行するのは、ユーザーが共有を求めた場合に限ります。 - 利用状況の統計:デフォルトでは、コマンド名、CLI バージョン、システム情報、ランダムなインストール ID を
https://us.i.posthog.comに送信します。サーバー側では送信元の IP アドレスから地域を特定する場合があります。コマンドの引数、画像の内容、ログイン認証情報は送信しません。 ランダム ID は~/.cyeam/analytics-idに保存されます。--no-analyticsまたはCYEAM_CLI_NO_ANALYTICS=1で無効にできます。 - 更新通知:デフォルトでは、GitHub で最新バージョンを最大 24 時間ごとに確認し、
~/.cyeam/update-state.jsonにキャッシュします。 通知によってプログラムが置き換えられることはありません。CYEAM_CLI_NO_UPDATE_NOTIFIER=1で無効にできます。cyeam updateは明示的なアップグレードコマンドです。最新の Release をダウンロードして検証し、現在のプログラムを置き換えます。成功後はnpx skills addによる skills の同期も試みます。固定バージョンを維持する必要がある場合は実行せず、上記の手順で選択したバージョンをインストールしてください。
CLI の利用状況の統計と更新通知を無効にするには(機能自体のネットワークリクエストには影響しません)、現在のシェルで次のように設定します。
export CYEAM_CLI_NO_ANALYTICS=1
export CYEAM_CLI_NO_UPDATE_NOTIFIER=1
コマンド
cyeam roadbook list 从 OneDrive 列出所有路书
cyeam roadbook share <file.json> 分享本地路书 JSON,返回 id 和可分享 URL
cyeam roadbook get <id> 查看已分享路书详情
cyeam roadbook csv 从 stdin 读取 CSV 文本生成路书(需要 cyeam login)
出力
list は次のように表形式で表示します。
标题 修改时间 链接
────────────── ──────────── ─────────
京都三日游 2026-03-15 链接
share と csv は JSON を返します:{"id":"xxx","url":"https://www.cyeam.com/tool/roadbook?id=xxx"}
⚠️ 実行フロー(モデルは以下の手順を厳守してください)
ステップ A:旅程プランのリンクを生成(ユーザーが「旅程プランを生成」/旅行プランを共有したいと言った場合に使用)
以下の手順に沿って実行します。
A1. ログイン状態を確認
cyeam whoami
出力に "Not logged in" が含まれている場合は、まずステップ C でログインしてから続行します。
A2. 旅程情報を整理 ユーザーが旅程全体(場所、日数、順序)を提示済みの場合は、直接 A3 の CSV 整理に進みます。情報が不足している場合は、不足している項目だけを尋ねます。余計な質問はしないでください。
A3. CSV を整理
1 行に 1 か所を記載し、5 列をカンマで区切ります:名称,住所,種類,日付,備考
- 種類:観光地/飲食店/宿泊施設/出発地点/その他
- 日付:Day1 / Day2... または 5.1 / 5.2...
A4. コマンドを実行
printf のパイプで cyeam roadbook csv に渡します。一時ファイルは作成しないでください。
printf "%s\n" \
"故宫博物院,北京市东城区景山前街4号,景点,Day1,上午" \
"国家博物馆,北京市东城区东长安街16号,景点,Day1,下午" \
| cyeam roadbook csv --title "北京行" --pretty
コマンドは次の 3 つの処理を順に実行します。
- 旅程プランの JSON を OneDrive の
路书フォルダーに保存します /api/roadbook/shareAPI を呼び出して、短縮共有リンクを生成します- JSON の結果を返します
A5. 結果を返す
出力に url フィールドが含まれている場合は、次のようにユーザーに直接返信します。
旅程プランが生成されました。リンクをクリックして、旅程の地図全体を確認してください:https://www.cyeam.com/tool/roadbook?id=xxx
A6. 出力を確認
- "Not logged in" エラーが表示された場合は、ステップ C でログインします
- その他のエラーが表示された場合は、エラーメッセージをユーザーに伝えます
ステップ B:旅程プラン一覧を表示(ユーザーが「旅程プランを一覧表示」/「自分の旅程プラン」と言った場合)
B1. ログイン状態を確認
cyeam whoami
出力に "Not logged in" が含まれている場合は、ステップ C に進み、まずユーザーにログインしてもらいます。
B2. 旅程プランを一覧表示
cyeam roadbook list --pretty
B3. ユーザーに結果を返す タイトルと更新日時を表形式で表示します。
ステップ C:ログイン(ユーザーが「ログイン」と言った場合、または B1 で未ログインが検出された場合)
C1. ログインを実行
cyeam login
コマンドは認証リンクと確認コードを表示します。デスクトップ環境ではブラウザーを自動的に開こうとします。リモートサーバー(SSH などデスクトップ環境のない環境)ではブラウザーを開く処理はエラーを出さずに失敗します。その場合は、表示されたリンクと確認コードを使って任意のブラウザーで認証を完了してください。CLI が自動的にトークンを取得します。
C2. ユーザーに案内 ユーザーに次のように伝えます。
ブラウザーで表示されたリンク(https://microsoft.com/devicelogin)にアクセスし、確認コードを入力してログインしてください。ログイン後、こちらに戻って続行してください。
C3. コマンドを実行して待機 コマンドを実行すると、CLI はユーザーがブラウザーで認証を完了するまで待機します。コマンドの出力結果を待ちます。
C4. ログインを確認
cyeam whoami
"logged in" 状態が表示されていることを確認します。
ステップ D:旅程プランの詳細を表示(ユーザーが「特定の旅程プランを見る」と言った場合)
そのまま実行します。
cyeam roadbook get <id> --pretty
旅程プランのデータが JSON 形式で返されます。内容をユーザーに表示します。
注意事項
csv、listにはcyeam loginが必要です(Microsoft OneDrive へのログイン)。get、shareにログインは不要です。cyeam.com API を通じて操作します。csvコマンドの流れ:ログイン → CSV を解析 → OneDrive の路书フォルダーに保存 → share API を呼び出し → 短縮リンクを返します。- 旅程プランのデータは OneDrive の
路书フォルダーと Redis の共有スナップショットに保存されます(有効期間は 30 日間)。