まんまタイトル通りの内容です。
1. ChatGPT との日常
ふと「不便だな」って思ったことを、ある程度要件を決めて、ChatGPT に会話したことがこのプロダクトの始まりでした。
それが、2025年12月3日 12時52分10秒(JST)。このトピックが作成されたと思われるブラウザーの履歴の時間はこうなっていました。
Initial commit までは 2025年12月4日 0時19分59秒(JST)。わずか、1.5 日。
正直なところ、このスピード感は今までにないプログラミングという感じがします。私は要件を伝えるだけです。何ならまだ公開していないプロジェクトであるのにも関わらず、互換性を意識したコードを Codex は書き出します。
削除もれした互換性機能を削除したコミット例
Python みたいなレイヤーでコードを書くのは本当に作業のためのツールという印象が自分は強くて、あまり書くのは好きではないのです。 なので、プロトタイプとしてスクリプト言語のコードを起こすことはあっても、ちゃんと形にしていくなら Rust とかに置き換えていくわけですが……。
面白い時代なものです。
2. 画拓について
Mastodon でブックマークした画像をダウンロードするツールです。cron とかで走らせておくと蒐集できます。著作権違反はダメですよ、めっ。
HashDB があるので、不要になってもコマンドで削除するとデータベースを維持できます。データベースは何らかの Web アプリケーションにそのまま流用できると考えていますので、気が向いたらそちらも作ろうと思います。
unbookmark も実装したのですが、私個人は使っていません←おい。
misskey の API に対応して同じようなこともできるかと思いますが、私個人が misskey を使っておらず動作検証できないため、もし使いたい方は Pull Request してください。実装自体は BookmarksAPI に則した MisskeyAPI を作るだけで大丈夫です。が、Mastodon とデータ構造が違うので、それを吸収する抽象化レイヤーの設計が必要だと思われます。このあたりは私の方でも対応するので、もし対応したいという方がいましたら、Mastodon まで連絡していただければ、抽象化レイヤーの設計は行います。PR の際のブランチ名は feat-misskey で。
BookmarksAPI の protocol
3. gataku の使い方
何度も言いますが、著作権違反はダメですよ。本当に。
では、雑な使い方。
- Mastodon にアクセス
- 「プロフィールを編集」をクリック
- 開発 › 新規アプリ
新規アプリの画面でアプリの名前に gataku (例) と入力し、アクセス権を以下に設定(誤操作回避のためにも必ず bookmarks 権限に絞ってください)。
- [-] read
- [-] write
- [+] read:bookmarks
- [+] write:bookmarks
再確認したら、送信ボタンを押してください。
- config.sample.yaml をコピーして config.yaml にリネームし、この項目の一番下にあるように instances に設定を加えてください (mstdn.jp の例です)。
- あとはプログラムを実行するだけです。
instances: - name: mastodon-jp # 自由に名前を付けられるフィールド base_url: https://mstdn.jp # API の呼び出しに使うので重要です access_token: "(先ほどの画面で得られたアクセストークン)" account_handle: "example@mstdn.jp" # 自分の投稿を識別するために必要です
4. 最後に
普通にこのようなプログラムって公開するんじゃなくて、自前ツールとして非公開で使うというのが一般的だったと思うのです。 しかし、AI の登場によってドキュメント整備にかかる労力がめちゃくちゃ減ったおかげで、簡単に公開できるようになった印象があります。
正直、Codex を経験したことがない人は一度した方がいいと思います。 ChatGPT はロールバックがひどいので使い物になりにくいですが、Codex は目立ったロールバックはありません。 ただし、手動で編集した場合、Codex くんは「俺はこういう意図で編集してるんだ、(゚Д゚)ゴルァ!!」という修正はすることはあります。 そういった挙動をする場合、「○○○を廃止してください」といった文言でオーダーしてください。 あなたは、チームゲーにおける IGL (In-game Leader) です。あなたがチーム全体を見て管理する管理職です。
はい、管理職と書くとやりたくない人がいるかもしれません(笑)。 でも、Codex とはたぶんそういう付き合い方すればうまくいきます、ハイ。
いい時代ですね。