kageを作った理由:OpenClawのHEARTBEAT体験を、業務向けの常駐タスク実行に持ち込む

  • POSTS
最近、OpenClawが個人開発者の間でかなりバズっていて、僕も Raspberry Pi 5 に入れて遊んでいます。 (このへんは前に書いた記事: Raspberry Pi 5 × OpenClaw:最強の自律型AIエージェント拠点を構築する) 触っていて思ったのが、 「これ、業務の中でも常駐bot(cron)があれば、日常のルーチンタスクや退勤後タスクを回せるのでは?」 ということでした。 そこで作ったのが kage です。 特に OpenClaw で一番優れていると感じたのは HEARTBEAT.md。 30分おきに、メモした内容やチャットで「あとでやる」となったタスクを拾って実行してくれる体験は、単なる定期実行以上に価値がありました。 定型タスクはcronでも十分です。 でも「あとでやる系」を日本語だけで気軽に投げられる手軽さは、HEARTBEAT型の強みです。 kageはこの体験を、開発現場で扱いやすい形に寄せるために作っています。 なお、チーム開発向けという意味では、ちょうど7日前に出た GitHub Blog の Automate repository tasks with GitHub Agentic Workflows の方向性もかなり良いです。 使い分けとしては、 GitHub Agentic Workflows: チーム開発・リポジトリ運用の自動化 kage: 個人環境での常駐タスク実行(「あとでやる系」を含む) という整理がしっくりきています。 具体的な用途例 実際に回しやすいのは、次のようなタスクです。 マージ済みで不要になった worktree / branch の削除 就業時の「日報」「今日やったこと」「明日やること」の整理 夜間の技術調査(候補ライブラリの情報収集) 候補ライブラリを実際に動かして、出力品質や速度差を比較したレポート作成 例えば、夜中に比較レポートまで作らせておけば、始業時にその結果を見てすぐ実装判断に入れます。 この「寝てる間に調査と下準備を進める」だけでも、日中の開発効率はかなり上がります。 業務で使うなら、まずは「1つの地味タスク」をkageに移してみるのがおすすめです。 それだけでも、退勤後に終わっていてほしい作業が静かに前進します。🌿 インストール GitHub の README ベースで、導入方法は次の3パターンです。 1) かんたんインストーラ curl -sSL https://raw.githubusercontent.com/igtm/kage/main/install.sh | bash 2) PyPI からインストール pip install kage-ai 3) uv でインストール uv tool install git+https://github.

俺のリモート作業環境晒してみる(iMac5k,モニター3台,高級オフィスチェア,電動昇降デスクなど)

  • POSTS
みなさんはリモート作業環境、改善してますか? 自分はリモート勤務が始まって約5ヶ月程ですが、いろいろ試行錯誤してきたのでここらで一度まとめてみたいと思います。 デスクまわり一覧 デスク flexispot 電動式昇降デスク E3 セット(140×70cm) 48,800円 FlexiSpot オフィステーブル用、DIY用 天板140×70cm - maple 16,200円 FLEXISPOT 電動式スタンディングデスク脚 作業台 E1シリーズ(天板別売り) - ブラック 32,600円 (椅子の後ろにある書物用デスク) flexispot 電動式昇降デスクEN1(E1)セット(120×60cm) 43,000円 椅子 オカムラ コンテッサ セコンダ (新宿の大塚家具で購入、税込約18万) PC&ディスプレイ iMac Retina 5k, 27-inch, Late 2015 (Corei7,Radeon R9 M395 2GB,FusionDrive2TB,メモリ8G。後から32Gに自力増設) 約45万?忘れた LG 34-inch, ウルトラワイド (34WL500-B) 35,923円 I-O DATA 23.6-inch (DIOS-MF241XB) 14,800円 EIZO 23-inch (FS2333) 25,000円くらい? (椅子の後ろにあるデスク用のラップトップ) Macbook Pro 2017 13-inc, (Corei7,SSD512GB,メモリ16G) 約35万?忘れた モニターアーム LG用 HUANUO PC モニター アーム 液晶ディスプレイ アーム ガススプリング式 ガス圧式 15~27インチ対応 耐荷重2-6.

gqlgen+React+Typescript (hooksベース)でWebアプリ作ったときの技術選定と工夫

  • POSTS
はじめに この記事は GraphQL Advent Calendar 2019 の 23 日目の記事です。(空いていたのであとから埋めました) 今回はGo/React+Typescript(hooksベース)でGraphqlスタックの管理画面を作った時の技術選定と工夫した点などを書けたらと思います。 技術選定 基本「なるべく自動生成に頼る」方針で選定しました。 サーバー(Go) gqlgen: schema.graphqlからGraphQLサーバー生成くん dataloaden: Dataloaderコード生成くん フロント(CRA + Typescript) gql-generator: schema.graphql から 全オペレーション xxx.gql ファイル生成君 graphql-codegen: オペレーション ファイルから type生成君(typescript-react-apolloのwithHooks: true) 複数の schemaファイルから生成するにはこれしかなかった 開発サイクル schema.graphql 書く サーバ gqlgen でサーバー、 I/F, Model生成する(dataloaderが必要な場合は dataloadenも使う) resolver実装する フロント gql-generatorでGraphQLオペレーション(*.gql)生成する ↑のコードを手で修正(フロントの要件に応じてネストする深さなど調節) graphql-codegenでTypescript/Reat-Apolloコード生成する サーバー gqlgen schema.graphqlからGoサーバーに必要なコードを自動生成してくれるライブラリです。 まずは以下のような設定ファイルを書きます。 # gqlgen.yaml schema: - ../schema.graphql exec: filename: internal_gen.go model: filename: model/model_gen.go resolver: filename: resolver.go type: Resolver autobind: [] models: # 自分で定義したscalarのモデルを参照する Date: model: github.