iPhone/Mac ショートカット app で ChatGPT で音声入出力

まずは、sh で書いてAPIのリクエストとレスポンス内容を確認。



👉 API Reference - OpenAI API hatena-bookmark

それを、ios/macOS で共有できる ショートカット app に書き換える。

ついでに、iPhone/Mac で使える音声入出力処理を追加。

意外とシンプル。

iPhone/Mac ショートカット app で ChatGPT で音声入出力



ショートカットでも JSON を簡単にやり取りできるのが驚き。

Mac でも音声入出力は稼働できる。

あと、iPhone の入力音声をスクリーンレコードで同時に録音したいです。

 

■ 公開しました!

OPENAI_API_KEY があれば無料でつかえます。


👉 OpenAI Chat Completion hatena-bookmark

ダウンロードしたら、あなたの OPENAI_API_KEY を入力すればOK。

OPENAI_API_KEY の取得の方法は以下から。


【Mac】メモ.app のテキストを等幅フォントにワンクリックでするショートカット📝

メモ.app ってデフォルトフォントを設定できません。

いちいち毎回、手作業で等幅フォントに変更しています。

キーボードショートカットでいうところの


⌘ (command) + A

    ↓

⇧ (shift) + ⌘ (command) + M

というだけなのですが、

忘れやすいキーボードショートカットの連打をショートカットにしてみました。



 

📝 AppleScript

AppleScript を埋め込むパターンです。

 

📝 スクリプトの説明

以下は、ChatGPT による説明です。

このコードは、AppleScriptを使用して、Macの「Notes」というアプリケーションを制御するものです。

1. tell application "System Events":「System Events」というアプリケーションを制御するために、AppleScriptで使用するために指定します。

2. tell process "Notes":「Notes」というアプリケーションのプロセスを制御するために、AppleScriptで使用するために指定します。

3. activate:「Notes」アプリケーションをアクティブにし、フォーカスを設定します。

4. set frontmost to true:「Notes」アプリケーションを最前面に表示するように指示します。

5. keystroke "a" using command down:commandキーを押しながらaキーをタイプし、すべてを選択します。

6. keystroke "m" using {shift down, command down}:shiftキーとcommandキーを押しながらmキーをタイプし、等幅フォントを適用します。

7. key code 123:Left Arrowキーを押して、選択を解除します。

このコードは、「Notes」アプリケーションの操作を自動化するために使用される可能性があります。また、同様のコードを使用して、他のアプリケーションを制御することもできます。

 

📝 まとめ

公開できるようなのでしておきました。

【Mac】メモ.app のテキストを等幅フォントにワンクリックでするショートカット
👉 Change Font Mono hatena-bookmark

意外と面倒な気もするショートカットアプリ。

ネーミングも「キーボードショートカット」とかぶってるし。

👉 Mac メニューバーからショートカットを使ってスクリプトを実行する方法 hatena-bookmark


Google Authenticator から secret を抽出する方法

まず、エクスポートから QRコードを表示。

Google Authenticator から secret を抽出する

テキスト化します。



otpauth-migration://offline?data=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

※ 登録数が多ければ、XXX.. は、すごく長いです。

それをさらに以下のツールでデコードします。

👉 dim13/otpauth: Google Authenticator migration decoder hatena-bookmark

go を入れるのがだるいので対応するバイナリをダウンロードします。

dim13/otpauth: Google Authenticator migration decoder
👉 Release v0.5.1 · dim13/otpauth hatena-bookmark

どれなのか、良くわからないので、インストール先を調べます。


❯ uname -a
Darwin iMac.local 22.3.0 Darwin Kernel Version 22.3.0: Mon Jan 30 20:42:11 PST 2023; root:xnu-8792.81.3~2/RELEASE_X86_64 x86_64

❯ uname -m
x86_64

otpauth-v0.5.1-darwin-amd64.tgz をダウンロードして展開します。M1+なら「arm64」

先に取得したテキストを渡して実行します。


❯ ./otpauth -link "otpauth-migration://offline?data=XXXXX..."

otpauth://totp/Example%20Company:[email protected]?algorithm=SHA1&digits=6&issuer=Example+Company&period=30&secret=QUU6EA2GHORGMD22SN2YKU6VKISCKYAG
otpauth://totp/Henrik%20Schacks%20blog?algorithm=SHA1&digits=6&period=30&secret=5YGQ4IAR32CYA6PY
otpauth://totp/[email protected]?algorithm=SHA1&digits=6&issuer=MyCompanyName.AbpZeroTemplate&period=30&secret=MFRDCZDFMQ3DAMDC
otpauth://totp/WordPress:ThinkingTeapot?algorithm=SHA1&digits=6&issuer=WordPress&period=30&secret=S55IFILZLA6DESAO
otpauth://totp/Google:[email protected]?algorithm=SHA1&digits=6&issuer=Google&period=30&secret=QJV3EN5JJJHGQ4PK3M6E576YMWUC5D4X
...

これの secret パラメータがそれ。base32 でエンコードされた文字列です。

👉 RFC 6238: TOTP: Time-Based One-Time Password Algorithm hatena-bookmark

他のTOTPジェネレータにも登録しておくと安心できます。

👉 「GitHub」で2要素認証の義務化、3月13日から - ケータイ Watch hatena-bookmark