オートギット は、Gitリポジトリを自動的に監視・管理し、LLMを使用してコミットメッセージやドキュメント/READMEを作成するクロスプラットフォームのElectronアプリです。
監視と自動コミット
– 任意のフォルダをGitリポジトリとして追加: オートギットは必要に応じて初期Gitセットアップを行います。
– リアルタイムファイル監視(Chokidar): ファイルが変更されると、変更がデバウンス間隔で検出され、自動的にGitにコミットされます。
– インテリジェントなコミットメッセージ: 定義された行数または時間の閾値に達すると、オートギットはすべての新しいコミットを集め、その差分からOllama-LLM(qwen2.5-Coder)用のプロンプト最適化された入力を作成し、標準のコミットメッセージを意味的に簡潔な要約に置き換えます。
README生成とリポジトリ説明
– ボタン一つでまたは初回追加時: オートギットは関連するコードファイル(サイズ、関連スコア、.gitignoreルールに基づく)を抽出し、それをLLMプロンプトに供給して自動的に完全で良く構造化されたREADME.mdを作成または更新します。
– LLM支援の短い説明(≤ 255文字): 各フォルダに対して、オートギットは同じOllamaバックエンドを使用して数秒で一行のプロジェクト説明テキストを生成できます。
堅牢なフォルダ管理
– 欠落または移動したフォルダは自動的に検出され(「移動が必要」)、サイドバーアイコンをクリックすることで新しいパスを割り当て、元のGit状態を復元できます(コミットハッシュによる確認)。
– 簡単なドラッグ&ドロップサポート: フォルダをドラッグしてアプリに直接引き込み、すぐにGitリポジトリを初期化し、監視を開始します。
– .gitignore管理: 一般的な一時的/IDE/ビルドファイルは自動的に検出され(Micromatch + 事前定義されたパターン)、必要に応じて.gitignoreに追加されます。
Gitea統合とプッシュワークフロー
– 設定で個人のGitea APIトークンを保存できます。
– 「Giteaにプッシュ」をクリックすると、オートギットはリモートリポジトリが既に存在するかどうかを確認します:
存在しない → リポジトリを作成(LLM生成の短い説明付き)。
存在する → 現在の説明をPATCHで更新します。
– その後、ローカルリモートオリジンが再構成され、現在のブランチとタグが自動的にプッシュされます。
デスクトップUIと操作性
– ElectronとTailwindCSS : サイドバー(監視されているすべてのフォルダのフィルタリングリスト)、中央コンテンツエリア(すべてのコミットをページネーション表示、差分ビュー、スナップショットエクスポート、「ここにジャンプ」チェックアウトを含む)を持つレスポンシブインターフェース。
– スカイモード : 自動的な時間依存の背景(昼は柔らかい青、夜は暗い青)。
– トレイメニューとトレイアイコン : アプリがトレイに最小化され、トレイアイコンを右クリックすると、フォルダごとの監視の開始/停止、フォルダの追加/削除、「終了」が迅速に行えます。
– 設定ダイアログ :
> スカイテーマのオン/オフ
> 「トレイに閉じる」: アプリを実際に終了するのではなく、閉じるとウィンドウを隠します
> 自動起動の動作
> インテリジェントなコミット閾値(行数と分数)
> 使用するOllamaモデルの選択(コミット対README)
> Gitea APIトークンを保存
– ゲーミフィケーションとライブ統計 : コミットのための日次カウンター、色分けされた視覚化(「今日のコミット」)、次の自動LLMコミットまでのライブカウントダウン。
テクノロジースタック
– フロントエンド : Electron + HTML/CSS + TailwindCSS + 自作のミニマルアニメーション「アニメキャット」(クライアントサイドのキャットストリーミングLLM応答時)。
– バックエンド/Node :
> chokidarによるファイル監視
> simple-gitによるすべてのGit操作(初期化、ステータス、コミット、差分、リベース、プッシュ、リモート設定)
> micromatchとignoreによるファイル/フォルダのフィルタリング
> electron-storeによるすべての設定の永続化(Giteaトークン、スカイモード、閾値、モデル選択を含む)
> 自作のLLM統合: Ollamaサーバーの開始/停止、fetch(…).getReader()による並行ストリーム処理。
> トレイ/メニュー統合: ネイティブElectronメニューとサイドバー/ツリービューのコンテキストメニュー。
すべての機能 – 継続的な自動コミットの作成からGiteaへの完全自動プッシュおよびリポジトリ設定まで – は、開発者の日常を楽にするために設計されています: コードに集中し続ける一方で、オートギットはバックグラウンドでコミット履歴、ドキュメント、リモートリポジトリを常に最新の状態に保ちます。
「仮想次元間霊テレポーテーション装置」は、日本の神話のキャラクターをブラウザ上に表示するインタラクティブな3Dウェブアプリケーションです。デジタル「メルカバ」を通じて、これらの存在が仮想世界にテレポートされ、観察され、クリックすることで情報ボックスオーバーレイで探求できます。 このポートフォリオプロジェクトの目的は、日本の神話についてドイツ語で学び、文化的な架け橋を築くことです。
フロントエンド: Three.js バックエンド: Node.js, Express, Websocket 3Dモデル: Hunyuan3D-2, Blenderでの編集 情報テキスト: ChatGPT
すべての3D環境、モデル、テクスチャを含む、1200px x 900pxの樹冠テクスチャとHDRI環境マップを含め、全コードは500キロバイト未満です。3Dモデルは動的にロードされ、クライアントはサーバーが「プッシュ」するまでそれらに関する情報を持ちません。サーバーとの通信とスポーン機能はスピナー(メルカバ)に統合されています。 モバイル表示はデスクトップ版よりも計算負荷が少なく、アダプティブ・フィデリティ・システムも導入されています。
ユネスコプロジェクト「無形文化遺産」(ICH)は、無形文化遺産の印象的なコレクションと、効果的な保護措置の登録を提供しています。 これらはユネスコのウェブサイトで英語、フランス語、スペイン語で見つけることができ、世界の国々の個々の文化的特性を美しく説明しています。
オンライン民族学の友人として、私はインタラクティブな世界地図(JavaScript、OpenStreetMap & GeoJSON)という形で新しいインターフェースを設定しました。 国をクリックすると、ユネスコが登録したその国の文化にアクセスできます(ユネスコオープンアクセスデータベース)。 ChatGPT APIとPythonを使用して、私はデータベース全体を世界で最も話されている10の言語に翻訳しました。また、Topaz AIを使用してデータベース内のすべての画像を改善/拡大しました。
サイコロをクリックすると、ランダムな投稿が表示されます。 世界を発見しよう!注意 : モバイルビューには適していません
出典 :
ユネスコオープンアクセスデータベース:メタデータ、説明、画像はこのプロジェクトに使用されました。
OpenStreetMap:地図表示はOpenStreetMapのタイルに基づいています。
GeoJSON世界地図:国境のベクターデータはオープンソースのGeoJSONプロジェクトから取得されました。
IPAPI (ipapi.co):自動位置情報はAPIサービスipapi.coを通じて行われます。
Topaz AI:ユネスコデータベースの画像はTopaz AIでアップスケールされました。
ChatGPT (OpenAI):ユネスコデータの10言語への翻訳はChatGPTを使用して作成されました。
このプロジェクトは実験的な非商業ポートフォリオプロジェクトであり、デモンストレーション目的のみに使用されます。すべてのコンテンツ(画像、テキスト、タイトル)はユネスコの所有物です。翻訳はAI(ChatGPT)を使用して作成されました。地図タイルはOpenStreetMapから取得されています。ユネスコ、OpenStreetMap、または他の組織との関連はありません。完全なユネスコメタデータは英語でダウンロード可能です。
ページ、投稿、カスタムタイプの投稿、そのタイトルおよびカスタムフィールドを自動的に翻訳するためのWordpressプラグインです。 翻訳は投稿のメタデータに保存されます。 選択された言語に応じて、フロントエンドは同じURL / 投稿IDで言語を表示します。 グーテンベルクエディタには、言語を切り替えて個別の変更を行うための小さなドロップダウンメニューがあります。また、バックエンドでは、たとえばPolylangのように内容の不明瞭な複製はありません。 翻訳はChatGPTによって行われ、文脈に応じた翻訳が可能です – トーンがどのようであるべきか(例:丁寧またはカジュアル)、焦点を当てるべき内容(例:プロジェクトプレゼンテーション、マーケティングなど)を指定することで、より良い翻訳が得られます。
gitリポジトリには、コンテンツを選択して処理するためのコードが用意されています。
意図的に引き起こされたデジタル画像のエラーによって生成される、色鮮やかで抽象的なテクスチャです。
2015年10月、Facebook の「Glitch Artist Collective 」グループに参加し、そのサブグループ「Glitch//Request 」で、主にセルフィーなどの人物写真がグリッチアートとして加工される様子を拝見しました。この活発な交流がきっかけとなり、私自身もグリッチ・アートに挑戦するようになりました。
以降、Processing を用いてフラグメントシェーダー やコントローラーをプログラミングし、画像のエラー(グリッチ)を人工的に生成する手法を開発しました。これにより、従来の画像編集とは一線を画した、全く新しい抽象的な画像が生み出されています。元画像はデータソースとして使用され、その過程で生まれる変化は、それぞれ独自のキャラクターを持っています。
私が自作したソフトウェアユニット「Manglr」は、2Dシェーダーのためのコンポジターとして機能します。(作業アーカイブへのリンク があります)
このツールでは、画像や動画ファイルをドラッグ&ドロップで投入し、どのシェーダーがどのパラメーターで画像を変化させるかを指定できます。選択は自動またはランダムに行うことも可能で、シェーダーのパラメーターは時間経過とともにゆっくりと変化し、シェーダー自体がアニメーションします。
自動操縦モードを観察するか、またはコントローラーを手動で操作してお気に召すコンポジションができたところで、画像を保存します。解像度は自由に設定でき、最大では長辺20,000ピクセル(300DPIで約1.70m相当)まで可能です。シェーダーによっては、より多くの計算時間が必要となる場合もございます。小さい画像(最大20センチメートル)であれば、リアルタイムでアニメーション生成が可能(秒間24枚以上)です。また、一部の作品ではピクセル美学が際立ち、低解像度の画像を大きく拡大しても魅力が損なわれません。
その後、保存した画像群を再度吟味し、優れた作品を選別するプロセスを経ています。
各プリントはサイン入りで、限定版(1~4エディション)として提供しております。
高品質な合成紙は、シュヴァーベン・ギュムントのPrade社製で、100%プラスチック製です。使用される素材とインクは耐久性にも優れております。
表示価格には7%の消費税およびDHLの送料が含まれております。
穏やかな印象を与える、外向きに輝く作品。まるでそっと撫でられたがっているかのような、温かな光を放ちます。
枠は、5mmの厚さを持つサテン仕上げのアクリルガラスで構成されています。その下には、暖色系のLEDストリップが配され、Arduinoにより制御されており、光が流動的に演出されるようプログラムされています。シーンごとに、厳選されたカラーパレットからランダムに色が選ばれるため、アニメーションは二度と同じものにならないのが特徴です。
中央部分は積層された木材を使用し、その中に配置されたアルミホイルが磁場の変化を感知。これにより、作品全体の明るさが微妙に変動し、見る者に新たな発見と安らぎをもたらします。
外陰部と花との美的共通点は、自然そのものに由来しています。 これら二つのモチーフの視覚的共通性を記述し、融合させるための着想は、複雑な数学的方程式から得られました。 Stable Diffusionなどの人工知能を用いた画像生成技術は、この種の融合において広く知られています。 私のツールが持つ論理性と鋭さ、そしてその可能性の両義性と、題材の美しさとの対比に、深い興味を抱きました。また、女性の性器の神秘化は、その親密さを守り、尊重されるべきものであると考えています。
ここに展示されている50点の画像は、一連の完結したシリーズを構成しており、2023年12月から2024年2月の間に制作されました。 各プリントはサイン入りの一品限りの限定版です。
シュヴァーベン・ギュムントに拠点を置くPrade社製の高品質な合成紙は、100%プラスチック製で、非常に耐久性に優れ、黄変することはありません。また、使用される素材とインクも極めて長持ちする仕様となっております。