AI に頼って, らくらく人生を目指す✨

主に AI や, プログラミング, ゲーム開発, 音楽について, 書いていこう思っております 🌱

【 Codex × ModRetro Chromatic・・・💎✨】

本日は, ゲームボーイのようなゲームを, つくったお話をしたいと思います (o'(ェ)')_🍵

 

OpenAI と ModRetro が, 携帯ゲーム機 「Chromatic」 向けのゲームづくりで, 協業しています。そして, Codex でつくった, ゲームボーイのようなゲームを 13 本, 公開しています 🎮

 

 

developers.openai.com

 

 

これを見て, ぼくも, 試しに1 本つくってみようと思いました ✨

 

そこで, Codex と ModRetro Chromatic のプラグインを使って, オリジナルのゲーム Gem Quest を, つくってみました 💎

 

開発用の UI

 

ちなみに, Chromatic の実機は, 持っていません・・・それでも, ブラウザで遊べる形で, 公開まで, できました ✨

 

 

以下は, その完成した Gem Quest の見ためです ✨

 

プレイ画面 (UI)

 

 

 

ブラウザで, そのまま遊べますので, もし, ご興味ありましたら, 覗いてみてください (ブラウザによっては, 多少, UI が崩れます・・・) 💧

 

操作は, Z キーが 「 A ボタン:決定」 です。矢印キーで, 移動できます。3つの宝石をゲットして, トビラに向かうと, クリアです (詳細は以下に, 書いて在ります) ✨

 

 

【 ゲーム 】https://tokoinx.github.io/gem-quest/

 

【 GitHub 】https://github.com/tokoinx/gem-quest

 

 

 

1. Gem Quest とは 💎✨

3 つの宝石をすべて集めて, 扉からクリアを目指す, ゲームボーイのような小さな冒険ゲームです ✨

 

項目 内容
対象 ゲームボーイ/ゲームボーイカラー互換
目的 3 つの宝石をすべて集める
進行 宝石を集める → 扉が開く → 扉へ進む → クリア画面
グラフィック 宝石と扉は, オリジナルのドット絵
画面の大きさ 160 × 144 ピクセル
テスト PyBoy (エミュレーター) と, ブラウザで確認
実機テスト まだ (実機を持っていないため)

 

 

 

2. 遊び方 🎮

ボタン キーボード
移動 (上下左右) 矢印キー, または W / A / S / D
A ボタン (決定・調べる・メッセージ送り) Z キー (J キー, Alt キーでも可)
B ボタン X キー (K キー, Control キーでも可)
START Enter キー
SELECT Shift キー

 

遊び方の流れは, こんな感じです。

 

① ゲーム画面を, 1 回クリックする

 

② 最初のメッセージを, Z キーで閉じる

 

③ 宝石の近くで Z キーを押して, 集める

 

④ 3 つ集めたら, 扉へ向かって, クリア 💎

 

ちなみに, スマートフォンやタブレットで開くと, 画面にタッチ操作のボタンが付きます (GB Studio の Web 版の機能です) ✨

 

 

 

3. つくり方の流れ ✨

今回の流れは, こんな感じです。

 

① どんなゲームにするかを, 言葉で決める

 

② Codex と ModRetro Chromatic のプラグインで, GB Studio のプロジェクトをつくる

 

③ GB Studio CLI と GBDK で, ROM (ゲーム本体のファイル) をビルドする

 

④ PyBoy で, 自動のプレイテストをする

 

⑤ ブラウザ用の Web 版を書き出す

 

⑥ GitHub に置いて, GitHub Pages で公開する

 

使ったツールは, 次のとおりです 🔎

 

ツール 役割 バージョン
Codex 言葉の指示から, コードの編集やコマンドの実行をするコーディングエージェント -
GB Studio CLI GB Studio のビルドを, コマンドで行う 4.3.2
GBDK ゲームボーイ向けのコンパイルに使うツール群 4.5.0
PyBoy Python から使える, ゲームボーイ系のエミュレーター 2.7.0

 

ちなみに, GB Studio のエディター (画面で編集するアプリ) は, 今回は入れていません。コマンドだけで, ビルドとテストまで, できました ✨

 

また, テストでは 「宝石 3 つ → 扉 → クリア」 の通しプレイが, 成功しています 💎

 

 

 

4. ROM と Web 版は, 別のもの 🔎

つくってみて分かったのですが, ゲームのファイルには, 2 つの形があります。

 

形 中身 遊び方
ROM gem-quest.gbc の 1 ファイル エミュレーターや, 対応するゲーム機で遊ぶ
Web 版 index.html と, CSS・JavaScript のファイル一式 ブラウザで遊ぶ

 

GB Studio の公式ドキュメントでは, Web 版は, フォルダごと Web サーバーに置いて, index.html を開くもの, と説明されています。

 

実は, 最初, パソコンの中の index.html をクリックしても, ゲームが始まりませんでした・・・💧

 

パソコンの中の保存先は, 公開された Web の URL ではないんですね。公開前は, Codex のプレビューか, 手元の Web サーバーで開きます。公開後は, GitHub Pages の https の URL で開きます ✨

 

 

 

5. GitHub Pages で公開する 🛠️✨

GitHub Pages は, GitHub のリポジトリにあるファイルを, そのまま Web サイトとして公開できる仕組みです。

 

今回は, 書き出した Web 版のファイル一式を, リポジトリのいちばん上に置きました。そのうえで, 次の手順で公開しています。

 

① GitHub で, リポジトリ (gem-quest) を開く

 

② 「Settings」 を押す

 

③ 左のメニューの 「Pages」 を押す

 

④ 「Build and deployment」 の 「Source」 を 「Deploy from a branch」 にする

 

⑤ ブランチを 「main」, フォルダを 「/ (root)」 にする

 

⑥ 「Save」 を押す

 

ちなみに, 公開する作業は, Codex にお願いすることもできます。今回, 渡した指示文は, こんな感じです 📚

 

完成済みのオリジナルゲーム「Gem Quest」を GitHub Pages で一般公開してください。

【公開先】
GitHub アカウント:tokoinx
リポジトリ名:gem-quest
公開 URL:https://tokoinx.github.io/gem-quest/
公開方式:GitHub Pages
リポジトリ:Public

【作業内容】
・既存ゲームの元データを破壊しない。
・Web 版が正しくビルドされているか確認する。
・GitHub の認証状態を確認する。
・リポジトリが存在しなければ作成する。
・build/web/ 内の公開に必要なファイルをすべて公開対象のルートへ配置する。
・README.md を整備する。
・Git にコミットし, GitHub へ push する。
・GitHub Pages を main ブランチの /(root) から公開する。
・公開 URL を開いて動作確認する。
・確認した内容と未検証の内容を区別して報告する。

【検証項目】
・公開ページからブラウザで直接遊べる。
・矢印キーと Z キーで操作できる。
・宝石3個の回収からクリアまで確認する。
・秘密情報や不要なローカルファイルを公開しない。

 

 

 

6. ゲームを更新するとき ✨

ゲームを直したときは, ROM と Web 版をつくり直してテストし, 公開用のファイルを差し替えて, GitHub に送ります。

 

git status
git add .
git commit -m "Update Gem Quest"
git push origin main

 

git add . の前に, かならず git status で, 公開してはいけないファイルが混ざっていないかを, 確認します ⚠️❗️ ← ここ重要✨

 

 

 

7. 注意点❗️

① 実機での動作は, まだ確認していません (Chromatic の実機を持っていないため)

 

② GitHub の公式ドキュメントによると, GitHub Pages のサイトは, インターネットに公開されます。無料プランでは, 公開 (Public) のリポジトリでしか使えません

 

③ 公開リポジトリの中身は, 誰でも見られます。パスワードなどの秘密の情報や, 公開しなくてよいファイルは, 入れないようにします

 

④ 画像や音楽などを使うときは, 公開してよいものかを, 確認しておきます

 

 

 

8. まとめ ✨

言葉でゲームを決めて, ビルドして, テストして, Web 版にして, 公開する・・・この流れを, 実機なしで, ひととおり体験できました 💎✨

 

今後は, タイトル画面や効果音, ステージの追加も, してみたいと思います。

 

レトロゲームが好きな方は, ぜひ, 気軽に遊んでみてください ✨

 

 

【 ゲーム 】https://tokoinx.github.io/gem-quest/

 

 

 

参考にしたページ 📚

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました (o'(ェ)')_🍙 ✨

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

【無料:温度管理アプリつくりました 🌡️✨】

本日は, メニューバーアプリを, つくったお話をしたいと思います (o'(ェ)')_🍵

 

最近, 複数の AI エージェントと作業していると, MacBook Pro が, じんわり熱くなってきて・・・「めちゃ熱っ❗️」 な感じに・・・💻🔥

 

「いま何度なの? 何が原因なの? どうすれば冷えるの?・・・と, ちょっと気になり・・・ひと目で 「Mac の温度が, 分かるアプリ」 が, 欲しくなりました 🌡

 

そこで, ThermalPilot という名の 「温度管理アプリ」 を, つくってみました ✨

 

 

以下は, その ThermalPilot アプリの見ためです ✨

 

ThermalPilot のメニューバーパネル

 

 

GitHub のリポジトリも公開しておりますので, もし, ご興味ありましたら, 覗いてみてください (もちろん, 無料です) ✨

 

【 GitHub 】https://github.com/tokoinx/ThermalPilot

 

 

1. ThermalPilot とは 🌡️✨

メニューバーに常駐して, Mac の温度を 「快適 / ほんのり / アツい / 危険」 の 4 段階で表示する, 無料・オープンソース (MIT) のアプリです ✨

 

Apple Silicon (M1〜M5) と Intel の両方に対応しており, macOS 14 Sonoma 以降で動きます✨

 

いちばんのこだわりは, ただ温度を見せるだけではなく 「熱の犯人候補」 と 「冷却アクション」 まで出すところです 🔎✨

 

 

2. できること 📋✨

機能 内容 管理者権限
温度の表示 CPU / GPU / SSD / バッテリーのセンサーを, カテゴリごとに一覧表示 不要
温度の推移 直近 10 分ほどのグラフをパネル右上に表示 不要
ファンの回転数 現在の rpm と, 自動 / 手動のモード 不要
熱の犯人候補 CPU 使用率の高いアプリを上から 5 つ表示。その場で終了もできます 不要
通知 「アツい」 以上になったら通知。しきい値の付近でバタつかない工夫入り 不要
低電力モード ボタン 1 つで ON / OFF。「危険」 になったら自動で ON にする設定も 必要
ファン制御 付属の CLI thermalctl で 「全開」 や 「温度追従」 が可能 (オプトイン) 必要

ちなみに, 上のスクリーンショットでは, 犯人候補の筆頭が RobloxStudio (38%) でした・・・ 何もしていなくても, これだけ使うんですね 🙈

 

 

3. Mac を冷やすために 「本当に効く」 3 つのこと ✨

作ってみて分かったのですが, Mac の温度は, macOS 自身 (thermalmonitord という常駐プログラム) が, ほぼ完璧に自動管理しています 💻

 

なので, アプリ側でできることは, 実は 3 つしかありません💻

 

① 熱源を止める・・・ 暴走しているアプリを見つけて, 閉じる。これがいちばん効きます

 

② 電力を絞る・・・ 低電力モードを ON にする。数分で 5〜10 ℃ 下がることが多いです

 

③ ファンを先回りで回す・・・ 静音優先の macOS より早めに回して, ピークを抑える

 

ThermalPilot は, 1 と 2 を標準機能にして, 3 は 「やりたい人だけ」 のオプトインにしました。

 

というのも, Apple Silicon では, ファンを手動で回しても macOS が数秒〜数十秒で制御を取り返してしまい, 設定を間違えるとハードウェアを傷める可能性もあるためです ⚠️❗️ ← ここ重要

 

 

4. 作り方✨

今回の流れは, こんな感じです。

 

① まず, Mac の温度管理に関する GitHub のリポジトリから Skills 等をリサーチする

 

② 先行プロジェクト (macmon, FanBar, smctl, agoodkind/macos-smc-fan など) と, Apple 開発用の Claude Skills (rshankras/claude-code-apple-skills) を調査する

 

③ 調査結果をもとに, Swift Package として実装。ユニットテストも 15 件

 

Mac で swift build と swift test を通して, 実機のセンサー名を見ながら表示を調整する

 

④ 完成後に GitHub に公開する

 

また, 調査で分かった, ちょっと面白いポイントです 🔎✨

 

① Apple Silicon の温度は SMC ではなく, IOHID のセンサーハブ という非公開 API から読む (macmon や Stats と同じ方式)

 

② 2025〜2026 年に, Swift 製のファン制御アプリが 10 本以上 立ち上がっていて, 「ファンを回す」 だけでは差がつかない

 

③ Apple Silicon でファンを手動制御するには, M4 などでは Ftst という診断フラグでロックを外す必要がある (M1 と M5 は不要。agoodkind さんの研究)

 

調査レポートはリポジトリの docs/RESEARCH.md に, Claude Code 用の Skill は .claude/skills/ に入れてあります 📚

 

 

5. 導入手順 (3 ステップ) 🛠️✨

Xcode 16 以降が入っていれば, ターミナルで 3 つ実行するだけです

手順 1:クローン

git clone https://github.com/tokoinx/ThermalPilot.git && cd ThermalPilot

 

手順 2:ビルド (dist/ にアプリを作ります)

bash scripts/build-app.sh

 

手順 3:起動

open dist/ThermalPilot.app

 

 

メニューバーに, 温度計のアイコンが出れば成功です ✨

 

 

常用する場合は /Applications にコピーしてください✨

 

 

ちなみに, ファン制御を使いたい方は, CLI の thermalctl も入れます。入れると, パネルに 「ファン全開」 「自動に戻す」 のボタンが現れます

sudo ./scripts/install-cli.sh

 

 

6. つまずきやすいところ 

症状 対処
「開発元を確認できないため開けません」 自分でビルドした ad-hoc 署名のアプリのため。右クリック → 「開く」, または システム設定 → プライバシーとセキュリティ → 「このまま開く」 で通ります
アイコンが見当たらない ノッチ付きの MacBook では, メニューバーが混んでいると隠れます。他の常駐アプリを減らすか, Finder を前面にして確認
zip で入手して killed と出る 隔離属性が原因です。xattr -dr com.apple.quarantine ThermalPilot を 1 度実行。bash scripts/build-app.sh のように bash 経由で起動すれば, 自動で外れます

 

 

7. 注意点❗️

① 温度の読み取りに 非公開 API を使っているため, Mac App Store では配布できません (自分でビルドして使う形です)

 

② ファン制御 (sudo thermalctl) は 自己責任 でお願いします。ハードウェアが報告する範囲内に収める安全策は入れていますが, 無理に回すのはおすすめしません

 

③ Apple Silicon のファン制御は, M2 / M3 では, まだ検証できていません

 

④ MacBook Air などのファンレス機では, ファン欄は出ません (温度と犯人候補は使えます)

 

 

8. まとめ ✨

「熱い」 と感じたら, まず犯人を見つけて閉じる。それでもダメなら低電力モード。ファンは最後の手段・・・この順番が分かっただけでも, 作った価値がありました 🍙✨

 

長時間の作業をされる方は, ぜひ, 気軽にお試しください ✨

 

参考にしたページ 📚

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました (o'(ェ)')_🍙 ✨

 

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

 

 

 

 

【 Herald OS・・・ 🖥️✨】

本日は, Herald OS (ヘラルド OS) について, お話したいと思います (o'(ェ)')_🍵

 

 

今回は, 次の3つを前提に, 公式の情報をもとに, まとめてみました 🖥

  • AI は, 自分のパソコンで動かす 「ローカル LLM」 を使います。
  • Mac 上で, Linux 版を 「仮想マシン」 として動かします。
  • 「プロンプトインジェクション」 と 「Computer Use」 のリスクも, 公式ドキュメントをもとに, 補足します 🔒

 

1. Herald OS とは 🤖✨

Herald OS は, 公式の説明によると 「Hermes Agent を窓口にした, エージェント・ネイティブな OS」 らしいです。

 

中で動いているのは, Nous Research の 「Hermes Agent」 です。ちなみに, Herald OS は, Hermes を改造せず, そのまま使っています。

 

また, Herald OS は, Luke The Dev さんによる個人のプロジェクトで, Nous Research とは, 関係がないようです。

 

ライセンスは MIT で, 無料で使えます。ただし, 現在はバージョン 0.1 の 「アルファ版」 です。

 

2. できること ✨

リポジトリの説明 (README) に書かれている機能は, 次のとおりです。

機能 できること
パソコンの操作 ファイル探し, アプリを開く, ファイルの作成・移動・名前の変更・ゴミ箱へ
システムの確認 システム情報を調べて答える
クラッシュの解説 アプリが落ちたとき, クラッシュレポートを読んで, わかりやすく説明する
Pick up where you left off 最近のファイルや会話, 今日の予定から, 前回の続きを提案する (最初はオフ)
Studio 「美容室のホームページを作って」 と頼むと, ファイル・コード・コマンド・プレビューを, 1つの画面で見ながら作れる
音声 「hey Hermes」 や, 音声キーで, 話しかけて操作する
自動化 ログイン時, 休憩から戻ったとき, バッテリーが少ないとき, アプリがクラッシュしたときに, 自動で実行する

 

3. 今回の構成 ✨

それでは, 今回の構成を, 図にしてみます。

Herald OS は VM の中, ローカル LLM は Mac 側で動かします Mac (macOS Sonoma) Linux の VM (Herald OS) Hermes Agent ファイル・アプリ・コマンドを操作する 操作は4段階の確認つき AI の作業は, この VM の中で行う 10.0.2.2:11434 で呼び出す Ollama (ローカル LLM) Mac 版アプリで動かす 会話のデータはマシンの外に出ない

 

ポイントは, 2つあります。

 

ポイント1:Herald OS は, 仮想マシンの中で動かします 🖥️

Herald OS には Mac 版アプリ (Apple シリコン, macOS 13 以降) もあります。

 

しかし, 今回は, Linux 版を仮想マシン (VM) の中で動かします。

 

Hermes の公式ドキュメントには, 危険なコマンドを止める仕組みは 「正直だけど間違えるエージェント」 のためのガードレールで, 悪意のある動きを閉じ込めるものではない, と書かれています。そして, 閉じ込めるには, 隔離された環境を使うように, とされています。

 

VM は, Mac から切り離された, もう1台のパソコンのような環境です。ですので, AI の作業を, VM の中に閉じ込めておく形になります 🔒✨

 

ポイント2:ローカル LLM (Ollama) は, Mac 側で動かします 🖥️ 

LLM は, Mac 版の Ollama で動かして, VM の中の Hermes から, 呼び出す形にします。

 

ちなみに, Ollama の公式 FAQ には 「Ollama はローカルで動き, 会話のデータは, あなたのマシンの外に出ない」 と書かれています 🌱

 

また, VM アプリ UTM の公式ドキュメントでは, VM の GPU 機能は, 画面の表示 (OpenGL や Vulkan) 向けとして説明されています。AI の計算に使えるかどうかは, 書かれていません。

 

4. メモリの目安 📝

ここが, いちばんの壁です。Hermes の公式ガイドでは, 次の2つが必要とされています。

  • 道具の呼び出し (ツールコール) に, 対応したモデル
  • 64,000 トークン以上の 「文脈の長さ」 (コンテキスト)。これより短いと, 起動時に断られます。

 

公式ガイドに載っている, モデルの目安は, 次のとおりです。

モデル 必要なメモリ 道具の呼び出し
gemma4:31b 24GB 以上 対応
gemma2:27b 20GB 以上 非対応
gemma2:9b 8GB 以上 非対応
llama3.2:3b 4GB 以上 非対応

 

公式ガイドでは, 道具の呼び出しに対応していないモデルは 「おしゃべりしかできない」 とされています。つまり, ファイルの編集やコマンドの実行をしてもらうには, この表の中では, gemma4:31b が必要です。

 

また, 公式ガイドでは, 27B 以上のモデルには, 32GB 以上のメモリが推奨されています。ですので, 例えば, メモリ 16GB 以下の Mac では, かなり厳しそうです・・・🖥💧

 

5. 導入手順 🚀✨

手順1:Mac に Ollama を入れます 🐏

ollama.com から Mac 版をインストールして, ターミナルで, モデルをダウンロードします。

 

ollama pull gemma4:31b

 

次に, 文脈の長さを 64,000 に広げた版を, 作ります。Ollama の標準は 2,048 トークンなので, このままでは, 短すぎます。

 

「Modelfile」 という名前のファイルに, 次の2行を書きます。

 

FROM gemma4:31b
PARAMETER num_ctx 64000

 

そして, 同じフォルダで, 次のコマンドを実行します。

 

ollama create gemma4-64k -f Modelfile

 

手順2:Herald OS を VM で起動します 🖥️

Homebrew で QEMU を入れて, リポジトリの試用スクリプトを動かします。ダウンロードは, 約 2.7GB です。

 

brew install qemu zstd
git clone https://github.com/iamlukethedev/Herald-OS.git
cd Herald-OS
bash linux/vm/try.sh

 

ちなみに, 配布されている VM のディスクを, VM アプリ 「UTM」 に読み込んで, 使うこともできます。

 

手順3:Hermes を, Mac の Ollama につなぎます 🔌

VM の中のターミナルで hermes setup を実行し 「Custom Endpoint」 を選んで, 次のように入力します。

 

設定ファイル (~/.hermes/config.yaml) に, 直接書く場合は, 次のとおりです。

model:
  default: "gemma4-64k"
  provider: "custom"
  base_url: "http://10.0.2.2:11434/v1"

 

ちなみに 「10.0.2.2」 は, QEMU の公式ドキュメントで, user モードのネットワークを使うときに, VM から見た 「Mac 側の窓口」 の住所として, 説明されているものです。

 

一方, Ollama は, 標準では 「127.0.0.1」 (その Mac 自身) からの接続だけを受け付けます。VM からつながらない場合は, OLLAMA_HOST という設定で, 受け付ける住所を変更します。

 

Mac 版アプリの場合は, 次のように設定して, Ollama を再起動します 🐏

 

launchctl setenv OLLAMA_HOST "0.0.0.0"

 

ただし, 公式 FAQ には, 外から接続できるようにしたときの, 認証についての説明は, ありません。変更するときは, ご注意ください・・・🐏

 

また, ローカル LLM は, 返事に時間がかかることがあります。公式ガイドでは, CPU だけで 31B のモデルを動かすと, 1 秒あたり 2〜5 トークンほどとされています。待ち時間が長すぎて止まってしまうときは, ~/.hermes/.env に, 次の1行を書くと, 待ってくれる時間を延ばせます。

 

HERMES_API_TIMEOUT=1800

 

6. 公式の安全機能 🔒✨

Herald OS では, AI の操作が, 危険度に応じて, 4段階に分かれています。

段階 例 動き
read (読む) システム情報, ファイル探し すぐに実行 (記録される)
act (動かす) アプリを開く すぐに実行 (記録される)
mutate (変える) 作成・移動・名前の変更 事前に確認。「このセッションだけ」 か 「常に」 許可できる
destructive (壊す) プロセスの停止, ゴミ箱へ移動 毎回確認

 

さらに, 次のような仕組みも, あります。

  • SSH の鍵 (~/.ssh), キーチェーン, Hermes 自身の認証情報には, 常にアクセスを拒否します。
  • 操作の記録が, ~/.hermes/herald-os/audit.jsonl に残ります (Settings > Privacy で見られます)。
  • Pick up の機能が読むのは, ファイル名や日付, ブランチ名やコミットメッセージ, 会話のタイトル, 今日の予定のタイトル, 開いているアプリです。ファイルの中身, ウィンドウのタイトル, 画面は, 読みません。

 

ちなみに, Pick up の情報は 「Hermes のモデルの提供元」 に送られます。今回のようにローカル LLM なら, 送り先は, 自分の Mac の Ollama です 🐏

 

ただし, README には 「エージェントに触らせるものは, バックアップを取っておくように」 と書かれています。仕組みがあるから, 完全に安全・・・というわけでは, ありません。

 

7. 補足:プロンプトインジェクション 💉

ここからは, Hermes の公式ドキュメントをもとに, 補足します。

 

プロンプトインジェクションとは, AI が読む文章の中に 「隠れた命令」 を仕込んで, AI を操ろうとする攻撃のことです。

 

Hermes の公式ドキュメントでは, 次のようなものが, 怪しいものの例として挙げられています。

  • AI への命令を仕込んだ文章
  • 見えない HTML コメントや, 目に見えない Unicode の文字
  • 秘密の情報を読み出そうとする命令
  • curl などで, 情報を外に送り出そうとする命令

 

そして, Hermes には, 次のような対策が, 用意されています。

対策 内容
設定ファイルの検査 AGENTS.md や .cursorrules などを読む前に, 上のような怪しい中身がないか調べ, 見つかったら読み込まない
website_blocklist Web 検索や Web ページの取得で, 行かせたくないサイトを止める
内部アドレスの遮断 プライベートな住所や, クラウドの管理用の住所への接続を止める (allow_private_urls は, 標準で false)
MCP の信頼設定 信頼できない MCP サーバーを trust: untrusted にすると, 書き込みのできる道具は, 確認を求める
スキルの検査 hermes skills install でスキルを入れるときに, セキュリティの検査をする

 

しかし, 公式ドキュメント自身が, 設定ファイルの検査は 「意図を見抜くものではなく, 目安 (ヒューリスティック) です」 と書いています。

 

つまり, 検査をすり抜ける命令が, ないとは言えません。ですので, 次の章の 「コマンド実行の確認」 と, VM による閉じ込めを, 組み合わせておくことが, 大切です。

 

ちなみに, website_blocklist は, ~/.hermes/config.yaml に, 次のように書きます (example.com は, 例です)。

 

security:
  website_blocklist:
    enabled: true
    domains:
      - "example.com"

 

8. 補足:Computer Use のリスク 🖥

Computer Use とは, AI が, 人の代わりに, アプリを開いたり, ファイルを動かしたり, コマンドを実行したりして, パソコンを直接操作することです。Herald OS は, まさに, これが主役の OS です。

 

Hermes の公式ドキュメントには, 次のような注意点が, 書かれています。

  • 危険なコマンドを止める仕組みは, 間違えるエージェントへのガードレールで, 悪意のある動きを閉じ込めるものでは, ありません。
  • 標準の 「smart」 モードでは, 補助の AI が判断して, 低リスクなコマンドは, 自動で許可されます。
  • 「YOLO モード」 (確認をすべて飛ばすモード) は, 信頼できる環境でだけ使うように, とされています。
  • 書き込みを制限する HERMES_WRITE_SAFE_ROOT が効くのは, ファイル書き込みの道具だけです。ターミナルのコマンドは, あなたのユーザーの権限で動きます。

 

また, Herald OS の自動化は, ログイン時やクラッシュ時など, 人が見ていないときにも動きます。ちなみに, Hermes では, 人がいない場面の実行 (unattended_mode, cron_mode) は, 標準で 「拒否」 になっています 🌱

 

それでは, 対策の設定例です。Hermes の公式ガイドに載っている例で, ~/.hermes/config.yaml に追加します。

 

approvals:
  mode: manual
  timeout: 300
  deny:
    - "git push --force*"
    - "*curl*|*sh*"
    - "dd if=* of=/dev/*"
security:
  redact_secrets: true
checkpoints:
  enabled: true

 

それぞれ, 次のような意味があります。

  • mode: manual:危険なコマンドは, 毎回, あなたに確認します。
  • timeout: 300:5分間, 返事がなければ 「拒否」 になります。席を外しても, 勝手に許可されません。
  • deny:ここに書いたコマンドは, YOLO モードでも, 実行させません。
  • redact_secrets:秘密の情報を, 伏せ字にします。
  • checkpoints:変更を, あとから巻き戻せるようにします (/rollback で戻せます)。

 

ちなみに, 公式ガイドの例には, ターミナルを Docker の中で動かす設定 (terminal.backend: docker) も含まれています。今回は VM で閉じ込めているので, 上の例では, 省いています。

 

さらに, 公式の情報をもとにした習慣も, おすすめです。

  1. 作業の前に, VM のディスクを, 丸ごとコピーしておく (README の 「バックアップを取っておく」)。
  2. ときどき, 操作の記録 (audit.jsonl) を, 覗いてみる。
  3. YOLO モードは, 使わない。

 

9. そのほかの注意点 🌱

  • アルファ版なので, README にも 「粗い部分があると思ってください」 と書かれています。
  • 手順やコマンドは, 変わることがあるので, 最新の README を, 覗いてみてください。

10. まとめ 🍵✨

Herald OS は, Hermes Agent を窓口にして, AI にパソコンの操作を任せる, エージェント・ネイティブな OS ということです 🤖✨

 

そして, ローカル LLM と VM を組み合わせれば, 会話のデータを Mac の外に出さず, AI の作業を VM の中に閉じ込めて, 試すことができます。

 

ただし, メモリは, かなり必要です。そして, AI に操作を任せる以上, インジェクションと Computer Use のリスクも, 公式の注意点として, 押さえておく必要があります。最近では, PHP の 「穴」 が大きな問題と成っています 🖥

 

故に, まずは, 大事なデータのない VM の中で, 小さく試してみる・・・それが, いちばん安心な楽しみ方だと感じています 🖥✨

 

ご興味ありましたら, ぜひ, 気軽にお試しください ✨

 

参考にした公式ページ (英語) 📚

 

 

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました (o'(ェ)')_🍙 ✨

 

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

 

 

 

 

【無料:mov から mp4 へ変換するアプリつくりました 🎥✨】

本日は, 動画ファイルの圧縮 ( mov から mp4 へ変換) について, お話したいと思います (o'(ェ)')_🍵

 

 

先日, Luapy の新しい動画 「 Hanabi - Luapy.mov 」 を Youtube にアップしたんですが, ファイルサイズが 327 MB もあり・・・🎥

 

 

www.youtube.com

 

 

 

Youtube にアップすると 「時間と容量」 の関係から, 360p に 「画質を落とされる」 問題が発生しました・・・(また, 以下に 「勧誘の広告:スポンサー」 が, 表示されることがあります。お気を付けください) 🎥

 

 

 そこで, MP4 に変換して軽量化できないかな? と思い, 圧縮変換アプリを, つくってみました 🎥✨

 

 

UI ( User Interface:操作画面) は, こんな感じです 🎥✨

 

 

 

そして, 完成した Web アプリが, こちらです 🎥✨

 

 

【 LuminaConvert - MOV to MP4 Web アプリ】


https://mov-to-mp4-converter.vercel.app

 

 

 

GitHub のリポジトリも公開しておりますので, もし, ご興味ありましたら, 覗いてみてください ✨

 

github.com

 

 

 

それでは, この 「 動画変換 Web アプリ 」 について, いくつか, お話したいと思います 🎥✨

 

1. 完全にブラウザ内で処理! サーバーに動画を送信しません 🎥✨

通常の動画変換サイトですと, 動画を, 一度, サーバーへアップロードする必要があり 「 プライバシーやセキュリティが, ちょっと心配・・・ 」 と, なることがあります・・・🎥

 

しかし, このアプリは WebAssembly (FFmpeg.wasm) という技術を, 使用しておりまして, 自分の PC やスマホのブラウザ内部で, 直接, 処理を行います🎥✨

 

ですので, 動画が外部サーバーに送信されることは一切ありません ✨ ← ここ重要 🔒✨

 

完全に, ローカル (自分の PC 環境) で, 動作するので, 安心・安全です 🎥✨

 

 

 

2. ファイル・サイズが大幅に軽量化 🎥✨

実際に 「 Hanabi - Luapy.mov 」 を, 変換してみたところ・・・🐻

 

元のサイズ 327 MB だった動画が, 画質を綺麗なまま維持しつつ 84 MB まで圧縮されました 🎥✨

 

約 74% の容量削減 です 🎥✨

 

 

 

3. ほぼ全ての動画フォーマットに対応 🎥✨

最初は MOV 形式のために作っていたのですが 「 どうせなら, 全フォーマット対応にしたい 」 と思い, 機能拡張も行いました ✨

 

現在では MOV, WMV, AVI, MKV, FLV, WebM, TS, VOB, 3GP など, 世の中のほぼ全ての動画ファイルを 「ドラッグ&ドロップ」 するだけで, ワンクリックで MP4 に変換できます ✨🖥 or 📱✨

 

 

 

4. ご自由にお使いいただけます 🌏✨

Vercel というプラットフォームに公開しましたので, 以下の URL からブラウザを開くだけで, インストール不要・完全無料で, どなたでも, お使いいただけます (2度目) ✨

 

https://mov-to-mp4-converter.vercel.app

 

 

動画変換や圧縮でお困りの際は, ぜひ, 気軽にお試しください 🍵✨

 

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました (o'(ェ)')_🍙 ✨

 

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

【物語で英語学習をしましょう🌱✨】

本日は, sight-words の学習について, お話したいと思います (o'(ェ)')_🍵

 

海外のお子さまは, 英語学習において, 発音から始め, 次に, この 「 sight-words:見て, すぐにわかる単語」 を, 学ぶそうです。そして, 読み書きは, その後だそうです 🌱 

 

ぼくは 「ネイティブ・レベル:母国語が英語」 で, 英語を話せるようになりたいので 「どうしたら, この目標を実現できるか」 を, いろいろ, 考えてみました 🌱

 

ところで, みなさんは, この絵を 「見て」 どう思いますか?

 

 

 

 

おそらく 「日本語ネイティブ」 な, みなさんは 「りんご」 と言う 「言葉:単語」 が, 出てきたのでは, ないでしょうか 🍎

 

この感覚が 「 sight-words 」 です ✨

 

そして 「英語ネイティブ」 な方は 「りんご」 という sight-words ではなく  「 apple 」 という sight-words が, 出てくると思います 🍎

 

つまり, 🍎 を 「見て」 apple という 「言葉:単語」 が, 出てくれば 「日本語を介さずに, 理解できる」 ということです ✨

 

まとめますと, ぼくたち, 日本人は, こう覚えます 🇯🇵

 

🍎 = りんご

 

英語圏の人たちは, こう覚えます 🇺🇸

 

🍎 = apple

 

これだけの 「違い」 です 🌱

 

つまり 「英語学習において大事なことは, イメージ直で, 覚える」 ということです ✨

 

そこで, およそ, 300個ほどあると言われる 「 sight-words:見て, すぐにわかる単語」 を, イメージと共に, 学んでしまえば, われわれ日本人も, 英語ネイティブの人たちみたいに, なれるのではないか・・・🌱✨

 

と, 思い AI  を使用して 「 sight-words:見て, すぐにわかる単語」 を, 書き出してもらい, かつ, その sight-words を使用して 「イメージを物語に」 してみました ✨

 

まず 「日本語で, イメージを確認」 しておくと, 内容を理解しやすくなると思います 🇯🇵✨

 

また 「お受験英語」 ではなく 「英語ネイティブの感覚を得る」 ことを目的にしていますので, 直訳に近い感覚 (英語に近い感覚) で書いています 👨 ワタ-シ エイゴペラ ペーラ デース

 

 

【第1話:小さな川のほとりで 🌱】

 

ある日, ルアピィという, 小さな女の子が, 家の近くの小さな川のほとりにいました。

 

彼女は, 水面に映る太陽を見ることができました。それはとても明るくて, 小さな星が一列に並んでいるように見えました。

 

彼女は川へ走っていき「この場所が大好き。私はいつもここに来るの」と言いました。

 

川のそばには大きな木があり, 彼女はその木の下に座りました。彼女は手を水の中に入れて「冷たくて気持ちいい」と言いました。

 

やがて, 彼女は一匹の小さな魚を見つけました。魚は左へ行き, 次に右へ行き, それから止まりました。

 

彼女は魚を見つめ「あなたは私が見える? 私はあなたが見えるよ!」と言いました。

魚はまた動き出し, 彼女は笑いました。

 

やわらかな風が吹いてきました。木の葉が揺れ, 川は低い音をたてました。「まるで川が話しているみたい」と女の子は言いました。

 

彼女は立ち上がり, 太陽を見上げました。「また明日もここに来よう」と彼女は言いました。

 

それから彼女は, 光に包まれた幸せな気持ちで家へ走って帰りました。

 

 

youtu.be

 

 

使用した 「 sight-words:見て, すぐにわかる単語」 は, 以下になります 🤖

 

a, again, all, and, back, be, big, by, can, come, day, do, fish, go, hand, her, here, home, I, in, is, it, leaves, like, little, look, me, moves, my, near, of, on, puts, right, river, runs, says, see, she, so, soon, stands, stops, sun, talking, that, the, then, this, time, to, tomorrow, tree, under, up, water, wind, you

 

おそらく, ほとんどが 「見たことがある単語」 だと思います 🤖

 

しかし, これらの単語において, sight-words レベルくらいに慣れていないと, なかなか, わからなかったりもします・・・あと 「話すスピードが早い, 単語と単語が連結されて発音されている, なまる・・・」 などなどに 「慣れる」 までは, 聞き取るのは, たいへんです・・・🌱

 

ですので, ぼくは, この動画生成を継続して 「ネイティブ英語」 に 「慣れたい」 と思っています 🚀

 

また, お話の「続き」 も, Youtube にアップしたいと思っています (収益化や広告は付けていません) 💸

 

それから, この動画は, 以下の 「 AI プラットフォーム」 で, 生成しました。その生成の手順なども, 次回に, お話したいと思います 🤖✨

 

openart.ai

 

また 「 AI プラットフォーム」 については, 以下の記事で, ちょこっと解説しています ✨

 

tokoinx.hatenablog.com

 

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました ✨

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

 

 

 

 

【年収1億円を稼いだ方法を探る 🔎✨】

本日は, 年収1億円以上を稼いだ 「ヒカキン」 さまのお話をしたいと思います (o'(ェ)')_🍵

 

ぼくは, お金持ちになって, らくらくぬくぬく人生な毎日を, 目指しているんですが, なかなか, そうはいきません・・・💸

 

そこで, 日々, お金持ちになった人の特徴や, その 「原因・契機」 などを, 探っています 🔎✨

 

ここからは 「実体験」 のお話になります 🚗

 

ぼくの家族は, 親孝行の意味も含め, ちょっとした休暇 (年末年始とか) には, 家族旅行に出かけています 🚗

 

そして, 甥っ子ちゃんが, 生まれたころは, 旅行中の車の中で 「アンパンマン」 の DVD を, 見せていました 🍞

 

小学生の低学年のころになると 「アンパンマン」 の DVD は 「見飽きて」 見なくなりました 🍞

 

そのあとは 「ジブリ」 の DVD などに, 代わっていきましたが, また 「見飽きて」 見なくなりました 🏰

 

もう, 見るものがありません・・・🍵

 

 

 

 

そうなると, 元気満載なお子さまは 「車の移動中が, ヒマでヒマで, 仕方ありません」・・・騒ぎます・・・あばれます・・・大人に, ちょっかい出します・・・最後には 「怒られます」 → 泣きます・・・👶💦

 

そこで 「静かにさせる作戦」 を考えた結果 「アンパンマン」 や 「ジブリ」 に 「代わるもの」 として 「 Youtube 」 を, 見せるようになりました ✨

 

しかも, DVD と違って 「 Youtube 」 は 「無料」 です ✨✨✨

 

さらに, ものすごい数の動画が, アップされています, つまり 「見飽きることもない」 ・・・かもしれません 🍵

 

そこで, 甥っ子ちゃんが, 見つけたのが 「ヒカキン TV」 というチャンネルです 📺✨

 

www.youtube.com

 

 

 

まことに失礼ながら, ぼくたち 「大人」 は, 声を揃えて言いました。「ヒカキン TV って, どこが, おもしろいの❓ 」

 

しかし, お子さまには, めちゃおもしろいようです 📺✨

 

そして, 勘の良い 「企業が気づきます」 ❗️✨

 

日本中のお子さま達が見る対象が 「アンパンマン」 から 「ヒカキン TV」 へ移りはじめている❗️

 

と・・・

 

ここで 「おもちゃ関係の企業」 が, スポンサーとなり, ヒカキンに 「新商品のおもちゃ」 で, 遊ぶ内容を, 依頼します 💰✨

 

そうなると, お子さま達は, その 「おもちゃを見て, 欲しくて欲しくて, おねだりします」 👶💦

 

親は, こう言います 👩👨

 

車の中で 「良い子にしてたら, 考えてみる✨ 」

 

と・・・

 

この 「システム」 は, 親にとっても, 都合が良い・・・✨

 

しかも 「買ってあげる」 ではなく・・・「考えてみる」 という 「大人のワザ」 も・・・💰

 

そして, 気づくと, ヒカキンは, 現在, 推定年収 10億円以上だそうです・・・💰✨

 

すごいですよね・・・夢 (らくらくぬくぬく人生)・・・ありますよね・・・🌴✨

 

ちなみに, 甥っ子ちゃんは, 今では 「 Youtube にも, 少々, 飽きて」・・・旅行中の車の中では, Roblox (ロブロックス) という 「無料のゲーム:メタバース系❓」 で, 遊んでいます ✨

 

たぶん, その影響も 「ヒカキン TV 」 だと思いますが・・・🤖

 

www.youtube.com

 

再生回数も, 2週間くらいで, 50万回再生を超えています・・・🐟✨

 

たぶん, 見てるのは, 小学生が多いと思うんですけど 👶✨

 

ぼくは, この Roblox が・・・今後, くるんじゃないか・・・と考えています 💰✨

 

www.roblox.com

 

 

 

この Roblox の特徴は 「だれでもゲームを無料公開できる」 という, つまり, 一般の人が 「しょーもない, くだらないゲーム 💩 (良い意味で✨)」 を, つくり 「無料で公開」 し 「アイテムは有料」 とすることで, 副業にできます ( Roblox は, 世界第2位のメタバースと言われています 🌏) ✨

 

どちらかと言うと, 変なゲーム (相手に注射を勝手に打って変化させるゲームとか...) で, 遊んでるときの方が, げらげら笑いながら, 楽しそうです・・・👶✨

 

小学生の甥っ子ちゃんも, ゲームをつくろうと試みたりしていますが 「プログラミングの知識」 が, 少々, 必要なので, ちょっとむずかしいようです 🤖

 

そして, プログラミングに興味を持ち, 今では, プログラミングの塾に通っているそうです 🤖✨

 

ちなみに, Roblox は, Roblox Studio という 「無料のゲーム開発プラットフォーム」 で, ゲームを, つくる (開発する) ことが, できます, 使用する 「プログラミング言語」 は, Lua という言語です (この実体験から, Lua の人気が上がると思い, 入門書を書いてみました🌙)。

 

create.roblox.com

 

 

 

ぼくも, いろいろ遊んでみましたが, ぼくは, マクラーレンが提供するゲーム (もちろん, 無料) が, マリオ・カートみたいで, おもしろかったです 🚗✨

 

www.roblox.com

 

 

 

今は, この Roblox のゲーム開発を, いろいろ, あれこれ, 考えて, 日々を過ごしています 🤖

 

目指すは, らくらくぬくぬく人生・・・(o'(ェ)') 🌴✨

 

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました ✨

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書

 

 

 

 

 

 

 

【 Python:ミニ問題その1です 🐍✨】

本日は, Python のミニ問題を, アプリで, ご用意してみました (o'(ェ)')_🍵

 

ご興味ある方 「全5問」 に, 挑戦してみてください。また, 下の方に 「ちょこっと解説」 も, 書いてみました。

 

*以下は, 本件とは無関係のスポンサーさまの自動挿入(強制)です。

 

 

 

 

 

 

 

 

 

「ちょこっと解説」 をしますと, print() という機能 (function) は 「小文字, かつ, 半角英語」 で, 書きます 🐍

 

それから, 英語だと 「 function:ファンクション」 とだけ呼ぶのですが, 日本語の場合は, 機能 (function) と言ったり, 関数 (function) と言ったりします, どちらかと言うと, プログラミングにおいては, 関数 (function) と呼ぶことが, 一般的です 🐍

 

また 「文字」 を, 表示したいときは 「シングル・クォート」 または 「ダブル・クォート」 で, その 「表示したい文字」 を, 囲みます 🐍

 

 

それでは, 今回は, これでおしまいです✨ ありがとうございました ✨

 

 

 

また 「前提知識がなくても理解できる」 Python の入門書や, Lua の入門書を執筆しております。amazon の月額 ( Kindle unlimited など) に登録されている場合は, 追加料金なく読めますので, もし, これらに, ご興味ありましたら, 覗いてみてください ✨ 何卒, よろしくお願いいたします 🍵✨

 

 

 

 

 

 

【Amazon】はじめてのプログラミング Python 入門者になるための1歩 for Windows11

 

Python入門書

 

 

 

【Amazon】はじめてのプログラミング Lua - 教科書 ① for Windows11

 

Lua入門書