mcpField
R
roadbook

roadbook

github.com/mnhkahn生産性0130 回インストール3 日前に更新
リポジトリ

roadbook について

`cyeam` CLI で旅行プランを作成、共有、一覧表示、取得するためのスキルです。コマンドの手順やログイン要件に加え、外部通信の用途も説明します。

主な機能

  1. 01CSV 入力から旅行プランを作成
  2. 02旅行プランを OneDrive に保存
  3. 03共有リンクを生成
  4. 04旅行プランの一覧表示と取得
  5. 05ログインと通信内容を説明

活用シーン

  1. 01旅行計画の共有リンクを作成
  2. 02OneDrive に保存した旅行プランを確認
  3. 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 つの処理を順に実行します。

  1. 旅程プランの JSON を OneDrive の 路书 フォルダーに保存します
  2. /api/roadbook/share API を呼び出して、短縮共有リンクを生成します
  3. 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 日間)。

コメント