AIによる開発とワークフローの自動化 - 蛇太郎
汎用蛇太郎は、利用者の自由な発想でカスタマイズできる、ちょっと便利で、ちょっとかっこいいを目指す、Windowsの手元のPC専用のアプリである。声と文字で依頼し、見た目もパネルもボタンも、利用者の発想で足せる。AIによる開発とワークフローの自動化 - 蛇太郎は、このページのテーマである。サイトの検証と更新は、蛇太郎の機能の一つである。このページは、その検証と更新の対象でもある。
ここに並んでいるのは、いま動いている機能である。サイトの検証と更新は、そのうちの一つにすぎない。この公開ページは、その機能が自由パスの下を測り、題と冒頭を直すときの対象でもある。
- 置き場所
- パスワードと鍵
- 画面
- 声
- 思考と調べもの
- 左の YOU
- パネル
- API(拡張の説明と決まり事)
- スキン
- YouTube
- 検索コンソール
- Gmail
- 株式と建玉
- サイトの検証と更新
- 追加したページ
- 記録
- 限界
置き場所
- Windows の手元の PC で動く。起動は
start_generic_jarvis.batである。このバッチは Python もライブラリも入れない。 - 画面は、その PC のブラウザで開く。一つのサイト専用のプログラムではない。
- 表示名と読みは、利用者が決める。読みが、声で呼ばれる名前である。両方空でも、画面は落ちない。
パスワードと鍵
- 最初に開いたとき、パスワードを2回入れる。4文字以上、200文字まで。そのあと起動するたびに、プロセスが終わるまで1回だけ聞く。
- 通るまではロック画面だけが出る。パスワードを忘れたときは、アプリを終了し、その PC の
jarvis-genericにあるロック用ファイルだけを消す。AI の鍵と設定は残る。画面からパスワードを消す入口はない。 - 思考、読み上げ、文字起こし、Google、Gmail、YouTube、GMO、サイト更新の鍵は、その Windows 利用者だけが開ける場所に暗号化して置く。プログラムのフォルダにも、このページにも書かない。
- 伏字のまま保存した鍵は、今入っている鍵を残す。空の秘密も同じである。
画面
- 左が YOU、中央がスキン、右と上がパネル、下が依頼欄である。依頼欄は文字を書いてエンターで渡す。
- 初期の中央は Heart Engine である。心臓、手、都市、放射線が出る。声が大きいと鼓動が大きくなり、読み上げ中は青白くなる。
- マイクの波形は、利用者のマイクだけである。スピーカーへ出ている音の帯域は、中央の演出に使う。依頼の文字起こしには使わない。
- スピーカーへ出した音がマイクに戻った分は、入力から引く。蛇太郎自身の声では、読み上げを止めない。
- YouTube を流すと、画面にはオーロラが出る。スキンを替えても、このオーロラは残る。
声
カスケード
- 声を文字にし、選んだ思考で考え、選んだ声で読む。名前を呼ぶと会話が始まる。
- 話し終わってから 45 秒、こちらが黙っていると手が閉じる。返事を待っているあいだは、その無音では切らない。返事があると 45 秒はやり直しになる。
- 読み上げの声は、OpenAI、Gemini、xAI から選ぶ。xAI の初期の声は carina である。
ストリーミング
- 左の「話す」を押すと手が開き、会話が続く。「停止」になるまでである。閉じた手は、こちらの声を受け付けない。
- 話し終えたかの区切りは、選んだ事業者のサーバ側が持つ。xAI、OpenAI、Gemini を選べる。OpenAI の声は marin、Gemini の声は Kore である。
- xAI は、「話す」から「停止」までの秒でクレジットを使う。OpenAI と Gemini は、送った音声と返ってきた音声の分を使う。
- ストリーミング中の指示に使う名前は、読みだけである。このあいだに聞いた言葉と返事は、下の記録へ残さない。
手と、止める言葉
- 手は、読み上げているあいだ開く。カスケードの会話中は、話し終わってから 45 秒開いている。「話す」のあいだは開いたままである。
- 「中止」「中断」「やめて」「黙って」「読まないで」「もういい」「報告中止」で、読み上げを止める。このとき、すでに開いている 45 秒の手は閉じない。止め言葉が、新しい 45 秒を始めることもない。
- 「止めて」も読み上げを止める。ただし YouTube、映像、画面の話なら、読み上げは止めず、映像の方を止める。
- 調べる直前には「うん、調べてみるね。」と読む。
- 声の方式の初期値はカスケードである。
思考と調べもの
- 思考、読み上げ、文字起こしは、別々に選ぶ。事業者は OpenAI、Anthropic、Gemini、xAI と、OpenAI 互換で自分の接続先を指定する方式である。音声の無い事業者は音声の一覧に出さない。文字起こしの無い事業者は、文字起こしの一覧に出さない。
- 初期の思考は xAI の grok-4.7、初期の文字起こしは OpenAI の gpt-4o-transcribe である。
- 画面の操作として解釈できる依頼は、先にその操作で返す。思考は呼ばない。
- 説明、意見、意味、真偽を尋ねる文は、そのあとで調べる。「どう思う」「教えて」「なぜ」「本当か」、文末の疑問符がこれに当たる。
- ウェブ検索を使うのは、思考に xAI を選んでいるときだけである。それ以外は検索しない。確かめられない答えは「調べてもわからなかったが」で始まる。
- ニュースの見出しをクリックしたときは、上とは別に、その記事を検索してから要約する。
左の YOU
- 最初からあるボタンは、分析情報、検索パフォーマンス、GMO報告、YouTube分析、サイト更新である。
- サイト更新は、声の依頼にはしない。中央の設定シートを開く。
- 声で「サイト更新」または「サイトの更新」と言うと、保存したサイトの名前、最後の記録、「許可待ちは0件です。」を読む。この声では、計測も書き換えも始めない。
- ボタンは名前を書いて足せる。検索する言葉と件数は、そのボタンの
button.jsに書く。見本は Google ニュースの見出しを、指定した件数だけ中央に出す。 - ボタンの名前は 24 文字まで。サンプル btn-1 は消せない。
- 中央のスキンは、ボタンのスクリプトから一時的に隠せる。シートを閉じると戻る。
- 拡張の書き方と短い見本は、別ページの API(拡張の説明と決まり事) にある。チャットAIへは、そのページを渡す。
パネル
- 上は Yahoo ニュースである。国内、国際、経済、エンタメ、スポーツ、IT、科学、ライフ、地域の見出しを出す。見出しを押すと、中央で調べて要約する。
- 右は、GOOGLE、株式市場、建玉、GMO ドル円、メモ、サンプル pnl-1 である。それぞれ表示を切れる。
- メモは右の書き込み欄である。2万文字まで、その PC に残る。
- パネル名と場所を書いて足すと、
panel.htmlとpanel.jsのフォルダができる。ずっと横に出しておきたい機能は、ここへ書く。 - パネルは枠の外へ出さない。入りきらないものは1行に畳み、見出しで開閉する。説明と、最初からあるパネルは消せない。足したパネルは、確認のあとフォルダごと消せる。
- 鍵や個人の情報は、パネルのファイルに書かない。
- 狭い枠向けの短い見本は、別ページの API(拡張の説明と決まり事) にある。
スキン
- 同時に有効なスキンは一つである。Heart Engine が初期で、消せない。サンプル skn-1 も消せない。
- 別のスキンを選ぶと、心臓、手、都市、放射線は隠れる。YouTube のオーロラは残る。
- 新しいスキンは
skin.jsから始まる。毎フレームdrawSkinが呼ばれ、声の大きさ、読み上げ中か、手の開閉、24 帯域を受け取れる。心臓と手を描く関数も渡る。
YouTube
分析
- ログインしている Google アカウントのチャンネルを読む。YouTube 側へは書き込まない。一覧から外しても、YouTube のチャンネル自体は消さない。外したものを一覧へ戻すこともできる。
- 読む内容は、登録者数、直近およそ48時間の視聴回数、その期間に視聴の多い動画、過去12か月の通常動画の総再生時間、過去90日のショート動画の視聴回数である。登録者数が非公開なら、その旨を読む。
- チャンネルが複数あるときは中央で選ぶ。名前を指して分析と言うと、そのチャンネルを読む。今のアカウントに無いチャンネルは読まない。
再生
- 曲名を言って流す。一時停止、再開、映像を消す、音量、ミュート、画面の拡大と縮小ができる。音量は最大、最小、半分、数字、上げ下げを聞く。
- 「YouTube止めて」は映像を止める。読み上げは止めない。
- 曲名が途中で切れていたら、考えさせずに続きを聞き返す。
- 音は、その PC のスピーカーへ出す。
検索コンソール
- ログインしている Google アカウントに見えているプロパティを、読み取りだけで使う。Search Console へは書き込まない。
- 分析情報は、直近28日とその前の28日を比べる。クリックの増減、表示回数の増減、伸びている検索語、減っている検索語、モバイル、パソコン、タブレットのクリックを読む。
- 検索パフォーマンスは、直近28日のクリック、表示回数、クリック率、平均掲載順位と、クリックの多い検索語を3つ、ページを3つ読む。
- 声では「分析情報」「検索パフォーマンス」「サーチコンソール」で頼める。左のボタンも同じ報告である。
- この読み上げはサイト全体のプロパティを見る。下の自動更新が自由パスだけを見るのとは、別の読み方である。
Gmail
- 同じ Google のログインで、新着を見る。中央に出すのは、支払いと個人の受信箱だけである。
- 迷惑メール、宣伝、ソーシャル、フォーラム、なりすましの印があるメールは出さない。
- メールの送信も削除もしない。見るのは、アプリを開いたあとの新着である。中央を閉じているあいだに来た分は、次の1通で中央を開き直す。
株式と建玉
株式
- 日本とアメリカを、別々に見る。1行に1銘柄。番号だけ、または「番号,覚え書き」と書く。覚え書きは右の表示名で、値段は番号で取る。
- 取得間隔は 1分、5分、10分、30分、60分から、市場ごとに選ぶ。初期は5分である。
GMO と T-MAX
- 右の建玉パネルは、T-MAX の状態ファイルか、GMO の建玉かを切り替える。見出しは T-MAX または GMO になる。
- GMO ドル円は、公開されている5分足のローソクを出す。この足を見るだけなら鍵は要らない。
- 残高と建玉を声で読むのは、「GMO報告」と「ジーエムオー報告」のときだけである。「じーえむおー報告」「ジーエムオーほうこく」も同じ依頼になる。間に空白があっても同じである。
- 「GMO」だけでは読まない。「GMOの報告」も読まない。鍵が無いときは、右の欄へ入れるよう読む。
- 注文は出さない。「注文して」「発注」「買って」「売って」「決済して」が GMO報告 と一緒でも、残高と建玉を読むだけで、注文は拒否する。
- 建玉が付いたときは「取引を開始します。」、消えたときは「取引を終了しました。」と、カスケードでもストリーミングでも、「話す」がオフでも読む。
サイトの検証と更新
これは蛇太郎の機能の一つである。このページは、その対象として公開している。自動更新の初期値はオフである。オフのあいだ、1時間ごとの確認は何もしない。
設定
- 左の「サイト更新」で、中央にシートが開く。タブは設定、許可待ち、記録である。各項目には説明がある。サイト、送り方、git、SSH、FTP、X で組が分かれる。
- サイトごとに、表示名、テーマ、公開URL、自由パス、手元フォルダ、再計測の日数、ページ数、Search Console のプロパティを保存する。日数は1から90で初期は1(1日1ページ)。ページ数は1から10で初期は3。
- テーマが空のあいだは、ページを作らないし直さない。手元フォルダが無いときも、計測の先へ進まない。
- 計測に使うページは、公開URLと自由パスをつないだアドレスで始まるものだけである。自由パスの外の検索語は取らない。プロパティは、ログイン中のアカウントに見えているものから選ぶ。読み取りだけである。
- 手元フォルダは、接続できるかを試せる。直しは、そのフォルダの HTML へ書く。
- SSH の秘密鍵は、欄へ貼ると暗号化して保存する。その鍵でサーバへ入れるときだけ、対になる公開鍵をサーバへ足す。すでに同じ公開鍵があれば足さない。パスフレーズ付きの鍵は扱えない。サーバへ入れない鍵は保存し、公開鍵は足さない。
1時間ごとの判定
- 自動更新がオンのときだけ、およそ1時間ごとに見る。前回の記録から、保存した日数が経つまでは判定しない。
- 自由パス以下の表示回数と平均掲載順位を、きのうまでの28日と、その前の28日で比べる。当日の数字は待たない。
- 両方の表示がゼロのときは、既存ページの題と冒頭は直さない。記録は「表示はまだありません。」である。その日も、まだ無ければ新しいHTMLを1ページ足す。
- 今回の表示があり、平均掲載順位の数字が前より小さい(順位が上がっている)ときは、既存ページの題と冒頭は直さない。記録は「テーマの順位は上がっています。」である。その日も、まだ無ければ新しいHTMLを1ページ足す。
- 今回の表示があり、順位が上がっていないときは、手元フォルダの HTML をページ数まで見たうち、
data-jatarou="opening"がある最初の1ページの題と冒頭だけを直す。この一覧のような、冒頭の外の本文は残る。あわせて、まだ無ければ新しいHTMLを1ページ足す。同じ日に2ページは足さない。 - 新しいページは、テーマと、手元のボタン・パネル・スキンなどの現状と、確認できた最近の動きから書く。ニュースは1件ごとに見出しを分けて要約し、記事の取得元URLも出典として残す。既存の追加ページと同じ話題は避ける。そのあと現状と比べて取り入れる機能のヒントと、利用者が選ぶチャットAIへ渡す完成プロンプトを枠付きで書く。プロンプトは別ページの API(拡張の説明と決まり事) を先に読ませ、ボタンかパネルかを用途から選ばせる。題と冒頭にテーマの文言が無いときは採用しない。直す前の写しは5回分残す。ニュース検索・ページ作成・題と冒頭の直しに渡す文は、設定で変えられる。
- 書いた HTML・CSS・JS・JSON だけを、保存した SSH 先のディレクトリへ送る。サービスは再起動しない。自由パスより上のファイルは送らない。
X
- 投稿の初期値はオフである。オンのときだけ、公開URLのページに新しい冒頭が出たあとに1件出す。手元を直しただけでは出さない。公開URLでまだ開けないときは「手元は直しました。公開URLではまだ開けないので、Xには出していません。」と記録する。
- 本文は、何を直したかという1文と、テーマに沿うハッシュタグが最大3つである。URLは入れない。280字まで。アカウントと、投稿用の4つの鍵が揃っている必要がある。
- 出した文は中央に残し、×で閉じる。あとから出たものは下へ積む。画面に同時に持つのは20件までである。この本文は、ディスクにも記録ファイルにも残さない。声では読まない。
- 失敗した回は記録し、その場ではやり直さない。次は、保存した日数が経ったあとの確認を待つ。
- ページを直していない日も、新しいページを足した回は出す。公開URLでそのページが開いてから出す。
記録
- 動作の記録は、新しい500行だけ残す。その PC の利用者だけが開ける形で保存する。
- ストリーミング中に聞いた言葉と、その返事は残さない。
限界
- 平均掲載順位が上がることは目標であり、保証ではない。表示が無い日は、既存ページの題と冒頭は直さない。その日も、まだ無ければ新しいページは1つ足す。
- Search Console の数字は数日遅れて届く。所有も閲覧権限も無いサイトは読めない。右の「アクセスが多い」は、取れたクリックを反映する。
- 自動更新が既存ページで直すのは、印の付いた冒頭と題である。自由パスの外は、この検証では読まない。
- 公開先へ送るのは、自由パスの HTML・CSS・JS・JSON だけである。保存した SSH 先のディレクトリへ置き、サービスは再起動しない。自由パスより上は、利用者がサイト全体のデプロイを指示したときだけ送る。git と FTP の欄は保存できるが、ファイル転送としては動かない。
- GMO への注文、Gmail の送信と削除、Search Console と YouTube への書き込みはしない。
- このページに書いてあるのは、いま動いていることだけである。