トップ 追記 RSS feed

HsbtDiary


2026/06/18 (木) [長年日記]

Claude Desktop を slack に繋いだ

引き続き Claude Desktop を便利に使いたいということで設定画面から Slack を繋いだ。以前に local proxy を立てて mcp を接続、とか公式の mcp サーバーを接続、というのは見かけたけど全然うまくいかなくて諦めていたけど、こっちは数回承認ボタンを押すだけで完全に動いて便利だった。

これで 「〜のチャンネルで nobu が話してるエラーについて調べて」とか「〜で出てる CI のエラー調べて」で具体的なコードの修正に入れるようになったのではかどりすぎる。また、ビルドエラーでビルドできんのだが、とか、このエラーどっかで見なかったっけ? というのも claude にサマリを作らせることができるようになったので、さらに捗る。

bugs.ruby-lang.org の CLI を作って利用

もうなんでも claude からデータを取れないと不便、という認知になってきたので、自分が開発で扱うデータはなんでも claude から安全にとれるようにすることにした。

hackerone については前に list, get を持っている雑な cli を作らせて claude から内容を読み込んで、自分が判断するというのをやっていたんだけど、redmine である bugs.ruby-lang.org についても似たような cli を作らせて、自分にアサインされている issue 持ってきて、とか、zlib の似たようなエラーなかったか調べて、って感じで使えるようになって便利すぎる。

https://github.com/hsbt/hsbt/blob/master/toolbox/exe/bugs

さらに便利なのが、先に書いた slack との連携で、「〜で nobu が話している話題に似た話が bugs にあったと思うから持ってきて」って感じで、自分がこれまで頭で考えてやってきたことをそのまま答えまで辿り着けるようになったのはでかい。


2026/06/17 (水) [長年日記]

Claude Desktop だけで暮らしている

これまでは Zed 経由で Claude Code を呼び出して使っていたけど、価格モデルが SDK 経由でも従量課金になるよという話があり、そこにお金は払えないので公式の Claude Desktop だけで暮らしてみるか、と ghostty から open で呼び出して Claude Desktop だけで暮らして2週間くらいになる。

秘匿しないといけない環境変数を渡すために open で呼び出すというのがショボいんだけど、Zed ですら1行ずつ文字を打つということはほとんどやってなかったので Desktop アプリだけでもほとんど事足りて暮らすことができるようになってきた。 worktree も terminal などでいじってた時は細かいところを把握しようと移動方法とかコマンド体系を理解しようとしていたけど、もうそういうのは全部やめて claude に命令して移動なり何なりをして十分になった。

あと、diff ビューがイマイチだったのだけど、いつの間にか、もしくは前からインラインで個別にコメントをしてまとめて対応させるということもできるので、今の開発スタイルは以下のようになった

  • リポジトリを選んで調査なら master のまま、開発なら worktree でプロンプト打ち込み
  • auto モードなのでコミットは適当な粒度で入れさせて開発
  • ひと段落ついたら /diff-review という自作のコマンドで他の LLM などにレビュー
  • 出てきた結果を眺めて必要なものは反映を指示
  • その後 diff ビューを使って自分のレビュー、コメントがあったらインラインで入れて対応させる
  • push と pull request を作成させる command を実行してステータスが変わるのを待つ
  • この間に github を眺めたりはするけど、最近は Claude Desktop のステータスラインだけで十分になってきた
  • CI 通ったらマージ

diff ビューは慣れたので、唯一の不満というとコミット列とそれぞれの変更がどうなっているか、というのが builtin のターミナルを呼び出して確認しないといけない、というのと指示の仕方によっては worktree 作らないでブランチを切って作業をしたりすることがあるので、これも状況を確認するのが terminal 開いて git 叩いた方が早い、というのがある。

この辺、人間がやった方が早いというのがほんとどうしようもないともうので、もっとアプリを作り込んで欲しい。copilot とか antigravity もさらっと触ってみたんだけど、github との統合なども含めて copilot アプリがいいんだけど、claude code のサブスクリプションが使えないってのがなー...。

Claude Desktop を DataDog と繋いだら便利

Claude Desktop の設定画面を眺めていたらいわゆる MCP 連携的な箇所に DataDog や Slack があったのでぽちぽち設定してみたら異様に便利だった。

具体的な進め方としては bugs が重くてどうしようもない、というときに DataDog でログが見えるはずだから見て、同じ時間帯のクエリや CPU の傾向眺めてと指示してから、具体的な Rails のコードで制限かけられるところを考えて、みたいな感じで一気に解決できてしまった。

今までは log を tmp において読み込ませる、とか chrome の権限を渡して画面を確認して、見たなことをやっていたので全部解決してしまった。何よりもいいのは、datadog の複雑怪奇なクエリビルダを使わなくても、使い方を全部能動的に調べてくれるので、やりたいことを伝えて、あとは判断するだけってなるところだった。heroku のダッシュボードも繋いで見えるようになれば完結するんだけど、現状だとむずいかなあ。


2026/06/16 (火) [長年日記]

この日記を h2o の fcgi.connect にした

セコンさんから誕生日にメールでメッセージをもらったついでに、この日記がよく Internal Server Error で落ちてます、という報告をもらい、自分は見えているのだけどなんで?と調べてみたら、時間帯によってはボットアクセスが結構な頻度で発生し、h2o の fcgi.spawn がさちってエラーとなる、という現象が発生していたっぽい。

で、どうしたもんかね、と Claude に聞いてみたら、fcgi.connect というのがあるから、これを spawn-fcgi で起動した tDiary に socket 通信してやれば、毎回 spawn するコストがなくなるからいいんじゃないか、と提案されたのでそんな感じの構成に変更した。

実際に必要な h2o.conf や systemd の設定は全部 claude に作らせてからサーバーにデプロイして、構成変更って感じでうまく動いた。あと、編集ページへのアクセスも結構あるっぽく、Basic認証で弾かれているとはいえこれはこれでリソースを食っているので、ssh トンネリングにして動かすようにして public に出していたエンドポイントは消してしまった。

当面はこれで動かしていこうと思う。

release-gem 1.4.0 をリリースした

configure-rubygems-credentials という release-gem が依存している rubygems.org の OIDC などを自動化する action があって、そこの issue に 6/16 に node20 は使えなくなるけど、なんかやってんの?みたいなコメントが土曜にあり、だるいなー...と思いつつも Fable 5(そのときはまだ使えた)にぶん投げればいいか、と「アップデートして」「もういらないから消していいよ」という感じでランタイムを node24 まであげたものをリリースしておいた。

で、リリースしてからさマリとして Fable 5 と壁打ちしていたら「これは node20 が使えなくなるわけではなく、指定されていたとしても強制的に node24 で動かす変更です。なお、このリポジトリの bundle は node24 でも問題なく動きます」とか言い出して脱力、先に言えよー...。

結果として、上みたいな話を学べたからいいっちゃいいんだけど、土曜にこういうのに本当に時間を使いたくなかったので時間を返して欲しい。