miyao

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 12 Imported by: 0

README

miyao

macOS の Keychain に APIキーを安全に保存・取得するための CLI ツールです。 名前は「秘钥 mìyào」(秘密鍵)に由来します。

特徴

  • ログインキーチェーンに保存(汎用パスワード項目、サービス名 dev.local.miyao
  • キーの値をコマンド引数に渡さない設計(ps やシェル履歴への平文残留を防止)
  • 値は対話入力(エコーなし)またはパイプで受け取る
  • iCloud キーチェーンには同期しない(SynchronizableNo

必要環境

  • macOS(go-keychain が darwin 専用のため)
  • Xcode Command Line Tools(cgo 経由で Security.framework を呼ぶため)
  • Go

インストール

go install github.com/hajime-kodaira/miyao@latest

またはソースからビルド:

git clone https://github.com/hajime-kodaira/miyao.git
cd miyao
go build -o miyao .

使い方

保存: miyao set <name>
# 対話入力(入力内容は表示されません)
miyao set openai

# パイプ入力(クリップボードから渡す例)
pbpaste | miyao set openai

同じ名前で再度 set すると上書きされます(登録しました / 更新しました で区別表示)。

注意: echo "sk-xxx" | miyao set openai はシェル履歴に平文が残るため避けてください。 対話入力を使うか、以下のように一時変数で渡す方法を推奨します:

read -s "KEY?API key: " && printf '%s' "$KEY" | miyao set openai; unset KEY
取得: miyao get [--copy|-c] <name>
miyao get openai      # 標準出力に表示(パイプで他コマンドに渡せます)
miyao get -c openai   # クリップボードへコピー(画面には表示しません)
一覧: miyao listls
miyao list
削除: miyao delete <name>rm
miyao delete openai
終了コード
コード 意味
0 成功
1 実行時エラー(キー未存在・Keychain エラー等)
2 コマンド引数の誤り(usage を表示)

トラブルシューティング

ビルドのたびに Keychain の許可ダイアログが出る

開発中はバイナリのアドホック署名がビルドごとに変わるため、 「miyao がキーチェーンにアクセスしようとしています」という確認が繰り返し出ることがあります。 対策はいずれかです:

  • ダイアログで「常に許可」を選ぶ
  • 固定の自己署名証明書で署名を安定させる: codesign -s <証明書名> ./miyao
キーチェーンアクセス.app で中身を確認したい

検索欄に dev.local.miyao と入力すると、miyao が保存した項目だけ絞り込めます。

ライセンス

LICENSE を参照してください。

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL