<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>オープンソースプロジェクト on KnightLiブログ</title>
        <link>https://www.knightli.com/ja/tags/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/</link>
        <description>Recent content in オープンソースプロジェクト on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Fri, 15 May 2026 14:52:31 +0800</lastBuildDate><atom:link href="https://www.knightli.com/ja/tags/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>OpenHuman 速読：オープンソース個人 AI Agent のデスクトップ路線</title>
        <link>https://www.knightli.com/ja/2026/05/15/openhuman-open-source-personal-ai-agent/</link>
        <pubDate>Fri, 15 May 2026 14:52:31 +0800</pubDate>
        
        <guid>https://www.knightli.com/ja/2026/05/15/openhuman-open-source-personal-ai-agent/</guid>
        <description>&lt;p&gt;OpenHuman は tinyhumansai が公開しているオープンソースの個人向け AI Agent プロジェクトだ。目的は単なるチャットウィンドウをもう一つ作ることではない。デスクトップアプリ、個人の記憶、サードパーティ連携、音声、コーディングツール、ローカルナレッジベースを同じ agent harness に入れ、AI が日常の作業コンテキストをより速く理解できるようにすることにある。&lt;/p&gt;
&lt;p&gt;プロジェクト README では “Personal AI super intelligence” と位置づけられ、公式サイトでも private、simple、extremely powerful が強調されている。この表現はかなり野心的だが、分解して見る方がわかりやすい。OpenHuman で本当に注目すべきなのは、「個人のコンテキスト」を製品の中心に置こうとしている点であり、モデル呼び出し、プラグイン設定、ドキュメント検索をユーザー自身の組み合わせ作業に任せないところだ。&lt;/p&gt;
&lt;p&gt;この記事を確認した時点で、GitHub リポジトリは約 7.8k stars、629 forks だった。最新 release は &lt;code&gt;OpenHuman v0.53.43&lt;/code&gt; で、日付は 2026 年 5 月 13 日。プロジェクトはまだ Early Beta で、README でも活発に開発中だと明記されているため、粗い部分がある前提で見るべきだ。&lt;/p&gt;
&lt;h2 id=&#34;何を解決しようとしているのか&#34;&gt;何を解決しようとしているのか
&lt;/h2&gt;&lt;p&gt;多くの AI アシスタントの問題は、モデルが弱いことではなく、コンテキストが冷たいことにある。毎回、プロジェクト背景、最近のメール、予定、コードリポジトリ、文書、タスク、好みを説明し直さなければならない。Gmail、Notion、GitHub、Slack、Calendar、Drive、Linear、Jira などをまたぐと、情報はさらに別々のツールへ散らばってしまう。&lt;/p&gt;
&lt;p&gt;OpenHuman の考え方は、まずこれらのデータを接続し、その後で自動取得、圧縮、要約、ローカルナレッジベースを通じて、継続的に更新できる個人記憶レイヤーを作ることだ。これにより agent は現在の会話だけを覚えるのではなく、ユーザーのワークフローを中心に長期コンテキストを形成できる。&lt;/p&gt;
&lt;p&gt;これが通常のチャットボットとの最大の違いでもある。チャットボットは多くの場合 prompt を中心に動く。OpenHuman はむしろ、デスクトップ上の個人向け OS 入口に近く、コネクター、記憶、ツール、モデルルーティングをあらかじめまとめて提供しようとしている。&lt;/p&gt;
&lt;h2 id=&#34;主な機能&#34;&gt;主な機能
&lt;/h2&gt;&lt;p&gt;OpenHuman README に挙げられている中核機能は次の通り。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デスクトップ優先の UI と短いオンボーディング経路。ユーザーが最初からターミナル設定を始める必要はない。&lt;/li&gt;
&lt;li&gt;「顔」を持つデスクトップ mascot。話したり、環境に反応したり、Google Meet に参加したりできる。&lt;/li&gt;
&lt;li&gt;Gmail、Notion、GitHub、Slack、Stripe、Calendar、Drive、Linear、Jira などを含む 118+ のサードパーティ連携。&lt;/li&gt;
&lt;li&gt;自動取得機構。プロジェクト説明では、20 分ごとにアクティブな接続を巡回し、新しいデータを memory tree に取り込むとされている。&lt;/li&gt;
&lt;li&gt;Memory Tree：接続データと活動情報を Markdown ブロックへ圧縮し、ローカル SQLite に保存する。&lt;/li&gt;
&lt;li&gt;Obsidian-compatible vault：知識ブロックを &lt;code&gt;.md&lt;/code&gt; ファイルとして書き出し、ユーザーが Obsidian で開いて閲覧、編集できる。&lt;/li&gt;
&lt;li&gt;内蔵検索、Web 取得、コーディングツール、ファイルシステム、git、lint、test、grep、音声入出力などの機能。&lt;/li&gt;
&lt;li&gt;Model routing：タスクに応じてリクエストを異なるモデルタイプへルーティングする。&lt;/li&gt;
&lt;li&gt;TokenJuice：ツール結果、Web 取得、メール本文、検索結果が LLM に入る前に token 圧縮を行う。&lt;/li&gt;
&lt;li&gt;ローカル AI ワークロード向けの Ollama を任意で利用できる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;機能は多く見えるが、実際の焦点は二つにまとめられる。一つは設定やプラグインの組み合わせ作業を減らすこと。もう一つは、個人データを agent が検索でき、圧縮でき、継続的に更新できる記憶へ変えることだ。&lt;/p&gt;
&lt;h2 id=&#34;インストール方法&#34;&gt;インストール方法
&lt;/h2&gt;&lt;p&gt;プロジェクトは Web サイト上のダウンロード入口に加え、ターミナル用のインストールコマンドも提供している。&lt;/p&gt;
&lt;p&gt;macOS または Linux x64：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;raw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;githubusercontent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tinyhumansai&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openhuman&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;日常的に使うメインマシンなら、まず公式サイトからインストーラーをダウンロードするか、少なくともインストールスクリプトを開いて内容を確認してから、リモートスクリプトを直接実行するか決めたい。OpenHuman はメール、文書、コードリポジトリ、カレンダー、ローカルファイル権限に関わるため、インストールと認可は普通の小さなツールより慎重に扱うべきだ。&lt;/p&gt;
&lt;h2 id=&#34;オープンソースと技術スタック&#34;&gt;オープンソースと技術スタック
&lt;/h2&gt;&lt;p&gt;OpenHuman リポジトリは GPL-3.0 license を採用している。言語構成では Rust が中心で、次に TypeScript が多く、JavaScript、Shell、CSS、PowerShell も含まれる。README のコントリビューション説明では、Node.js 24+、pnpm 10.10.0、Rust 1.93.0、CMake、さらに各プラットフォームのデスクトップビルド依存関係が求められている。&lt;/p&gt;
&lt;p&gt;ローカル開発のおおまかな流れは次の通り。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git submodule update --init --recursive
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm --filter openhuman-app dev:app
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;提出前には focused checks の実行が推奨されている。例えば次のようなものだ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm typecheck
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm format:check
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo check -p openhuman --lib
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ディレクトリ構造を見る限り、これは軽量なスクリプトプロジェクトではない。デスクトップアプリ、フロントエンド、Rust バックエンド、ドキュメント、テスト、サンプル、ビルドスクリプトを含む、製品型のリポジトリだ。&lt;/p&gt;
&lt;h2 id=&#34;memory-tree-と-obsidian-vault-が重要な理由&#34;&gt;Memory Tree と Obsidian vault が重要な理由
&lt;/h2&gt;&lt;p&gt;OpenHuman で単独で見る価値が高い概念は Memory Tree だ。README によると、接続されたデータは約 3k token 以下の Markdown chunks に標準化され、スコアリングされた後、階層的な要約ツリーへ折り込まれ、ローカル SQLite に保存される。同じ内容は Obsidian 互換 vault にも入る。&lt;/p&gt;
&lt;p&gt;この路線にはいくつか利点がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ユーザーは agent の知識ベースを直接見られ、ブラックボックスな記憶を信じるだけで済まない。&lt;/li&gt;
&lt;li&gt;Markdown ファイルは検索、バックアップ、バージョン管理、手動修正がしやすい。&lt;/li&gt;
&lt;li&gt;SQLite はローカルインデックスと高速検索に向いている。&lt;/li&gt;
&lt;li&gt;階層的な要約は、平坦な文書の山より長期コンテキスト圧縮に向いている。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし現実的な課題もある。データ同期が安定するか、要約が重要な細部を落とさないか、権限境界が十分明確か、削除と取り消しが完全か、異なるコネクターの意味を一貫して扱えるか。これらは README の “remembers everything” という一文だけで解決できるものではなく、長期利用と監査が必要になる。&lt;/p&gt;
&lt;h2 id=&#34;tokenjuiceコストとレイテンシの中間層&#34;&gt;TokenJuice：コストとレイテンシの中間層
&lt;/h2&gt;&lt;p&gt;OpenHuman は TokenJuice も強調している。役割は、Web ページ、メール、検索結果、ツール呼び出し結果がモデルへ入る前に圧縮することだ。例えば HTML を Markdown に変換する、長い URL を短縮する、一部の不要な文字を取り除く、といった処理が含まれる。README では、これによりコストとレイテンシを減らし、最大 80% の token 使用量削減が可能だと説明されている。&lt;/p&gt;
&lt;p&gt;この方向性は妥当だ。Agent システムで本当に費用がかかる部分は、一回のチャットではなく、バックグラウンド取得、ツール呼び出し、検索、Web 解析、長いコンテキスト注入であることが多い。データを先に整理してからモデルへ渡す方が、元データをそのまま詰め込むより安定しやすい。&lt;/p&gt;
&lt;p&gt;ただし圧縮層は新しい問題も生む。どの情報を残し、どの情報を捨てるかを決めるからだ。契約書、請求書、医療記録、コンプライアンス資料、本番障害ログを扱うなら、token 節約だけを見るわけにはいかない。追跡可能性、原文確認、圧縮誤差も見る必要がある。&lt;/p&gt;
&lt;h2 id=&#34;プライバシー売りでもあり監査ポイントでもある&#34;&gt;プライバシー：売りでもあり監査ポイントでもある
&lt;/h2&gt;&lt;p&gt;OpenHuman の売りの一つは private であることだ。公式サイトではローカル AI モデルが低レベルのタスクを処理できると説明され、README でも workflow data stays on device、encrypted locally、treated as yours が強調されている。&lt;/p&gt;
&lt;p&gt;この設計方向は魅力的だ。個人 AI Agent が Gmail、Drive、Calendar、Slack、GitHub に接続した瞬間、もっとも機密性の高い仕事データに触れることになる。完全なクラウド型アシスタントと比べると、ローカル優先の記憶レイヤーと見える Markdown vault は、少なくともユーザーにより強い制御感を与える。&lt;/p&gt;
&lt;p&gt;ただし全体像も見る必要がある。OpenHuman は同時に one subscription、30+ providers、model routing、ElevenLabs TTS、OAuth integrations などの機能にも触れている。つまり、純粋なオフラインツールではない。プライバシーを本当に評価するには、各コネクター、各種モデル呼び出し、音声や検索機能がそれぞれ何のデータをどこへ送るのかを確認しなければならない。&lt;/p&gt;
&lt;h2 id=&#34;誰が注目すべきか&#34;&gt;誰が注目すべきか
&lt;/h2&gt;&lt;p&gt;現時点の OpenHuman は、次の三種類の人に向いている。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;単機能のチャットボットではなく、個人 AI の操作台がほしいユーザー。&lt;/li&gt;
&lt;li&gt;Early Beta を試す意欲があり、機能変化や粗い部分を受け入れられる開発者。&lt;/li&gt;
&lt;li&gt;ローカル記憶、Obsidian ワークフロー、agent connector、コンテキスト圧縮に関心がある人。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;安定して軽量で、プライバシー境界が非常に単純なオフラインアシスタントだけを探しているなら、現時点では重すぎるかもしれない。次世代の個人 AI Agent がデスクトップ、コネクター、記憶、ツールをどう統合するかを研究したいなら、OpenHuman は追いかける価値のあるオープンソースサンプルだ。&lt;/p&gt;
&lt;p&gt;私の提案は、まずこれを「製品型オープンソース実験」として観察することだ。release のリズム、issue の品質、コネクター権限、データエクスポート機能、削除機構、ローカル vault の可読性を見る。個人 AI の鍵は、質問に答えられるかだけではない。長期的に、透明で、制御可能な形で自分のコンテキストを背負えるかどうかだ。&lt;/p&gt;
&lt;h2 id=&#34;参考リンク&#34;&gt;参考リンク
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tinyhumansai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tinyhumansai/openhuman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tinyhumans.ai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenHuman 公式サイト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tinyhumans.gitbook.io/openhuman-docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenHuman Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
