Open-notebook — NotebookLM をセルフホストできる完全ローカル OSS

Google の NotebookLM に触発されたオープンソース実装 open-notebook が海外のテック界隈で注目を集めている。データを一切外部に送信しない完全ローカル動作を売りに、Docker で約2分で立ち上げられる手軽さも人気の理由だ。 open-notebook とは open-notebook は、NotebookLM の主要機能をすべて再実装した OSS プロジェクト。2024年10月に公開され、2026年4月時点で 22,000 スター超 を獲得している。 公式サイト: open-notebook.ai 主な機能 マルチソースの知識統合 PDF・動画・音声・ウェブページを横断で読み込ませ、AI とのチャット形式で対話できる。NotebookLM と同様の使い勝手を、完全ローカル環境で実現する。 多数の AI バックエンドに対応 OpenAI・Anthropic(Claude)・Google Gemini・Ollama・Mistral・Groq・xAI・Deepseek など主要なプロバイダーを幅広くサポートしている。 バックエンド 備考 Anthropic (Claude) クラウド OpenAI (GPT) クラウド Google Gemini クラウド Ollama ローカル・完全無料 Mistral / Groq / xAI / Deepseek など クラウド Ollama を選択すれば、外部サービスへの通信がゼロのオフライン環境でも完全無料で運用できる。 ポッドキャスト風音声の生成 複数の話者でポッドキャスト形式の音声を自動生成できる。NotebookLM が2人固定なのに対し、open-notebook は話者数をカスタマイズ可能な点が差別化ポイント。 REST API 完備 REST API が標準搭載されているため、企業内アプリへの組み込みや外部サービスとの連携が容易。n8n や LangChain などのワークフローツールからも呼び出せる。 日本語 UI 対応 インターフェースが日本語に対応しており、日本のユーザーでもすぐに使い始められる。 ...

2026年4月22日 · 1 分

Infisical — .env に別れを告げるオープンソース・シークレット管理プラットフォーム

.env よ、安らかに眠れ——。 AI 時代の開発現場では、シークレット(API キー・データベースパスワード・証明書など)の扱い方が大きな課題になっています。従来は .env ファイルに書いておけばなんとかなっていました。しかしチーム規模が拡大したり、AI エージェントが複数のサービスを横断して動くようになると、.env ベースの管理はほころびを見せてきます。 Infisical は、そんな .env の時代を終わらせるべく登場したオープンソースのシークレット管理プラットフォームです。 .env の何が問題なのか .env ファイルによるシークレット管理には以下のような問題があります。 ディスクに残る: 誤って git add .env してしまうリスクが常に存在する 同期が難しい: 複数人・複数環境での値の一元管理が困難 ローテーションが手動: シークレットを更新するたびに全メンバーへの周知が必要 監査ログがない: いつ誰がどの値を変更したか追跡できない AI エージェントとの相性が悪い: エージェントが環境変数ファイルを読み書きすると漏洩リスクが増大する Infisical とは Infisical は、シークレット・証明書・特権アクセスを一元管理するオープンソースプラットフォームです。2026年4月時点で GitHub 26,000 スター超を獲得しており、Vault の OSS 代替として注目されています。 最大の特徴は、シークレットをランタイム時に取得する設計にあります。.env ファイルのようにディスクに値を保存しないため、ファイルベースの漏洩リスクを根本から排除します。 主な機能 シークレット管理 プロジェクト・環境(dev / staging / prod)ごとのシークレット管理 シークレットのバージョン履歴と自動ローテーション 変更の監査ログ シークレット参照(他のシークレットの値を参照する変数展開) 証明書管理(PKI) プライベート CA の構築と証明書の発行 ACME プロトコル対応で Let’s Encrypt 互換のワークフロー 証明書の有効期限監視と自動更新 統合機能 CLI: あらゆる言語・フレームワークのコマンドをシークレット付きで実行 SDK: Node.js、Python、Go、Java など主要言語のネイティブ SDK インフラ統合: Kubernetes、GitHub Actions、AWS、GCP、Azure など 基本的な使い方 インストール 1 2 3 4 5 # macOS (Homebrew) brew install infisical/get-cli/infisical # npm npm install -g @infisical/cli ログインとプロジェクト初期化 1 2 3 4 5 # Infisical にログイン infisical login # プロジェクトに紐付け infisical init シークレットを注入してコマンドを実行 1 2 3 4 5 # .env の代わりに Infisical からシークレットを取得してアプリを起動 infisical run -- node app.js # 環境を指定 infisical run --env=staging -- python manage.py runserver SDK から直接取得(Node.js の例) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import { InfisicalSDK } from "@infisical/sdk"; const client = new InfisicalSDK(); await client.auth().universalAuth.login({ clientId: process.env.INFISICAL_CLIENT_ID, clientSecret: process.env.INFISICAL_CLIENT_SECRET, }); const secret = await client.secrets().getSecret({ secretName: "DATABASE_URL", projectId: "my-project-id", environment: "production", }); AI 時代のシークレット管理 AI エージェントや MCP サーバーが普及した今、シークレット管理の重要性はさらに高まっています。 ...

2026年4月21日 · 2 分

Onyx(旧 Danswer)

概要 旧称 Danswer から改名されたオープンソースの企業向け AI アシスタント&検索プラットフォーム。Slack・GitHub・Confluence・Google Drive など 50 以上のコネクタで社内ナレッジを統合し、自然言語で検索・質問できる。GitHub スター数 22,000 超。 ライセンス: Community Edition (CE) は MIT ライセンスで無料 GitHub: onyx-dot-app/onyx 主な機能 機能 内容 ハイブリッド検索 ベクトル検索 + キーワード検索の組み合わせ Agentic RAG エージェントが自律的に多段階検索 Deep Research 複数ステップのリサーチでレポート生成 カスタムエージェント 独自の指示・知識・アクションを持つエージェント 50 以上のコネクタ Slack・GitHub・Notion・Jira・Linear など MCP 対応 MCP 経由のカスタムコネクタも可 セルフホスト手順 Docker と Docker Compose があれば数分でデプロイ可能: 1 2 3 curl -fsSL https://raw.githubusercontent.com/onyx-dot-app/onyx/main/deployment/docker_compose/install.sh > install.sh chmod +x install.sh ./install.sh 対応 LLM クラウド LLM(OpenAI・Anthropic・Gemini)とローカル LLM(Ollama・vLLM・LiteLLM)の両方に対応。完全オンプレミス構成で外部 API なしの運用も可能。 ...

2026年4月16日 · 1 分

Onyx(旧 Danswer)完全ガイド — 無料で使えるオープンソース AI プラットフォーム

Onyx(旧 Danswer)は、社内のドキュメント・アプリ・人材をまとめて繋ぎ、どんな LLM とも連携できるオープンソースの AI プラットフォームです。Community Edition(CE)は MIT ライセンスで完全無料。セルフホストできるため、データを外部に出さずに AI チャットや RAG、エージェント機能を利用できます。 Onyx とは Onyx は企業向け AI アシスタント&検索プラットフォームです。Slack、GitHub、Confluence、Google Drive など 50 以上のコネクタで社内ナレッジを統合し、自然言語で質問するだけで必要な情報を引き出せます。 GitHub リポジトリ(onyx-dot-app/onyx)のスター数は 22,000 超で、活発に開発が続いています。 主な機能 チャット&RAG ハイブリッド検索: ベクトル検索とキーワード検索を組み合わせた高精度な情報検索 Agentic RAG: AI エージェントが検索クエリの生成・評価・再検索を自律的に繰り返し、複数ステップで情報を収集 Deep Research: 多段階のリサーチフローで詳細なレポートを生成 エージェント&ツール カスタムエージェント: 固有の指示・知識・アクションを持つ AI エージェントを構築可能 Web 検索: リアルタイムの Web 情報を取得 コード実行: サンドボックス内でコードを実行し、データ分析やグラフ描画が可能 画像生成: プロンプトに基づいた画像生成 音声モード: テキスト読み上げ&音声入力に対応 コネクタ(50 以上) Slack、GitHub、Confluence、Notion、Google Drive、Jira、Linear など主要サービスと連携。MCP(Model Context Protocol)経由のカスタムコネクタにも対応しています。 エディション比較 項目 Community Edition (CE) Enterprise Edition (EE) ライセンス MIT(無料) 商用ライセンス チャット・RAG・エージェント ✅ ✅ SSO(OIDC / SAML) — ✅ エアギャップ環境 — ✅ サポート コミュニティ 専用サポート Cloud 版も提供されており、セルフホストなしで試用できます。ビジネスプランは 1 ユーザーあたり月額 $16〜。 ...

2026年4月3日 · 2 分

Pay2Key の Linux ランサムウェアが x64/ARM64 サーバーを標的に — 防御機構を無効化する高度な手口

Linux を標的とするランサムウェアが新たな段階に入った。イラン系とされる攻撃グループ Pay2Key が Linux 向けに進化し、「Pay2Key.I2P」と呼ばれる新たな亜種を展開している。Morphisec の技術分析をもとに、攻撃の手口、防御機構の無効化手法、そして具体的な対策を整理する。 Pay2Key とは Pay2Key はイラン系の攻撃グループに帰属するランサムウェアで、Fox Kitten APT グループとの関連が指摘されている。従来は Windows を主な標的としていたが、企業のサーバー基盤を直撃する Linux 版が登場し、防御の前提が揺らぎ始めている。 2026年2月には、米国の医療機関で Pay2Key による侵害事例が Beazley Security Incident Response によって対応されている。 Pay2Key.I2P の技術的特徴 設定駆動型の設計 Pay2Key.I2P は単なる Windows 版の移植ではない。JSON 設定ファイルによって動作を制御する設定駆動型の攻撃ツールとして設計されている。ターゲットとするファイルシステムの範囲や暗号化の挙動を柔軟に変更できる。 デュアルアーキテクチャ対応 x64 と ARM64 の両方に対応し、従来の x86 サーバーだけでなく、ARM ベースのクラウドインスタンス(AWS Graviton など)や仮想化ホストも一括で狙うことができる。 root 権限の必須化 侵入後は root 権限を必須とし、取得できない場合は即終了する設計となっている。これはノイズを最小限に抑え、検知を回避するための戦略と考えられる。 防御機構の無効化 Pay2Key.I2P の最も危険な特徴は、Linux の防御機構を体系的に無効化する点にある。 SELinux / AppArmor の無効化 実行時に SELinux や AppArmor を無効化し、強制アクセス制御(MAC)による保護を解除する。これにより、通常であれば制限されるファイルアクセスやプロセス操作が可能になる。 systemd サービスの停止 データベースやバックアップなどの重要なサービスを停止し、ファイルロックを解除して暗号化対象のファイルにアクセスできる状態を作り出す。 cron による永続化 cron エントリを登録してリブート後も自動的に再実行されるようにし、単純な再起動では排除できない永続性を確保する。 暗号化の手法 ChaCha20 による高速暗号化 暗号化アルゴリズムには ChaCha20 を採用している。AES と比較してソフトウェア実装での処理速度に優れる。AES-NI などの専用ハードウェアを持たない環境でも高速に動作する。 ...

2026年3月30日 · 2 分

# OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録

OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録 TL;DR: OpenHands(旧OpenDevin)をMac Studio M3 Ultra(96GB)+ Ollama + Qwen3-Coder 30B で動かそうとした。Docker-in-Docker のビルド問題、Playwright依存、ランタイムイメージ手動構築を経てUI起動まで到達したが、30Bモデルのtool calling精度不足で実用には至らなかった。 1. OpenHands とは OpenHands(旧 OpenDevin)は、オープンソースのAIコーディングエージェントプラットフォーム。75以上のLLMプロバイダーに対応し、SWE-bench で Qwen3-Coder 使用時に 69.6% のスコアを記録している。 公式リポジトリ: https://github.com/All-Hands-AI/OpenHands 特徴: Web UI でブラウザから操作 Docker サンドボックスで安全にコード実行 CodeActAgent による自律的なタスク遂行 Playwright 統合によるブラウザ操作 2. 動機 — なぜ OpenHands を試したか 前回の実験で Qwen Code(CLI エージェント)を Ollama + Qwen3-Coder 30B で動かしたが、複雑な multi-step タスク(GitHub PR レビューなど)で tool calling が破綻する問題に直面した。 OpenHands は SWE-bench で高スコアを出しており、エージェントスキャフォールディングの力で同じ 30B モデルでも改善されるのでは?という仮説を検証するために試した。 ...

2026年3月6日 · 3 分

# Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用

Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用 関連ポスト: hiragram リポジトリ: hiragram/claude-docker はじめに Claude Code を使っていると、ファイル編集やコマンド実行のたびに「これを実行してもいいですか?」と確認を求められる。安全設計として正しいが、反復的な作業では毎回の承認が煩わしくなる。 そこで登場するのが --dangerously-skip-permissions フラグ。通称「YOLO モード」。YOLO とは “You Only Live Once”(人生は一度きり) の略で、「結果を気にせず、とにかくやってしまえ」というネットスラング。安全確認を一切スキップして全操作をぶっ通しで実行させる様子が、まさに「後先考えずに突っ走る」YOLOの精神そのものであることから、コミュニティでこう呼ばれるようになった。 便利だが、名前の通り危険も伴う。このフラグの本質と、安全に使うための Docker 活用について整理する。 --dangerously-skip-permissions とは Claude Code の全てのパーミッションチェック(権限確認プロンプト)をバイパスし、完全に自律動作させるフラグ。 1 claude --dangerously-skip-permissions 3つの動作モードの比較 モード 挙動 ユーザー介入 通常モード ファイル変更・コマンド実行のたびに承認を要求 毎回必要 Auto-Accept (Shift+Tab) UI上で承認を自動化 介入可能 dangerously-skip-permissions 全ての安全ガードレールを除去 一切不要 なぜ「dangerously」と名付けられているのか Anthropic が意図的に「危険」という語を含めている。実際にリスクは深刻で、以下のような報告がある。 Wolak 事件(2025年10月): Ubuntu/WSL2 上で Claude Code が rm -rf / を実行し、/bin、/boot、/etc などシステムディレクトリを破壊 eesel AI の調査によると、このフラグ使用者の 32% が意図しないファイル変更を経験、9% が実際のデータ損失を報告 主なリスク リスク 具体例 破壊的コマンドの無確認実行 rm -rf、git reset --hard、設定ファイル上書き スコープクリープ 指定範囲外のファイルを「親切心」で変更・削除 資格情報の漏洩 ホストの全資格情報にアクセス可能な状態 連鎖的被害 1つの誤った解釈が次々と問題を引き起こす それでも YOLO モードが必要な理由 危険だが、以下のユースケースでは事実上不可欠。 ...

2026年2月27日 · 2 分

CloudWatch Logs のエラーを自動で GitHub Issues に課題化する

CloudWatch Logs のエラーを自動で GitHub Issues に課題化する ECS で稼働するWebアプリケーションのエラーログを自動的に GitHub Issues に報告する仕組みを構築しました。手動でログを監視する必要がなくなり、エラー発生時に即座にチームが認識・対応できるようになります。 背景 マルチテナントの業務システムを ECS Fargate 上で運用しています。アプリケーションは2つあり、それぞれ異なるフレームワークで構築されています。 アプリ フレームワーク 用途 web Laravel (PHP) 業務管理システム api Django (Python) API サーバー これまで CloudWatch Logs にログは収集していたものの、エラーの検知は手動確認に頼っていました。500エラーや例外発生を見逃すリスクがあり、自動検知の仕組みが必要でした。 アーキテクチャ Subscription Filter + Lambda + GitHub Issues API の構成を採用しました。 CloudWatch Logs (/ecs/{prefix}-ecs-{app}) └── Subscription Filter (エラーパターンマッチ) └── Lambda Function (Docker/arm64, Python 3.12) ├── エラー解析 (HTTP 5xx, 例外, スタックトレース) ├── ±5秒のログコンテキスト取得 ├── 既存 Open Issue 検索 └── 新規 Issue 作成 or 既存 Issue にコメント追加 この構成を選んだ理由 方式 リアルタイム性 柔軟性 コスト Subscription Filter + Lambda (採用) 高 高 中 Metric Filter + Alarm + SNS 中 (1分以上遅延) 低 低 CloudWatch Logs Insights (定期実行) 低 高 低 Subscription Filter はログ出力時にほぼリアルタイムで Lambda を起動するため、エラー発生から数秒で Issue が作成されます。 ...

2026年2月24日 · 4 分

PGVector

PGVector ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural networkPGVector (Postgres) Rails/PostgreSQL/pgvector を組み合わせてベクトル検索をする。 https://github.com/yassun/sample-pgvector https://hub.docker.com/r/pgvector/pgvector https://github.com/pgvector/pgvector-python LangChain と pgvector(Postgres)を用いて関連性の高いドキュメントを手軽に検索する 生成 AI でテキスト分類やってみた SentenceTransformer Python の SentenceTransformer を用いた文章類似度比較 sentence transformers で日本語を扱えるモデルのまとめ transformers 多言語モデル中の日本語語彙調査 知識蒸留 ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural network 知識蒸留で効果的な教師の条件とは? 教師データとは?学習データとの違いや作り方をわかりやすく紹介 ディープラーニングを軽量化する「モデル圧縮」3手法 MUSE Muse: Text-To-Image Generation via Masked Generative Transformers を読んだメモ

2024年7月31日 · 1 分

サイトセキュリティチェック

サイトセキュリティチェック Mozilla: https://observatory.mozilla.org/ トレンドマイクロ: https://global.sitesafety.trendmicro.com/?cc=jp Google: https://www.virustotal.com/gui/home/upload OWASP Zap Docker 版 OWASP ZAP を M1 Mac で動かす。 問題: : Cookie No HttpOnly Flag [10010] : Re-examine Cache-control Directives [10015] : Cross-Domain JavaScript Source File Inclusion [10017] : Missing Anti-clickjacking Header [10020] : X-Content-Type-Options Header Missing [10021] : [Information Disclosure - Suspicious Comments]https://www.zaproxy.org/docs/alerts/10027/ : [Cookie Poisoning]https://www.zaproxy.org/docs/alerts/10029/ : User Controllable HTML Element Attribute (Potential XSS) [10031] : Strict-Transport-Security Header Not Set [10035] : Content Security Policy (CSP) Header Not Set [10038] : Secure Pages Include Mixed Content [10040] : Storable and Cacheable Content [10049] : Cookie without SameSite Attribute [10054] : Permissions Policy Header Not Set [10063] : Timestamp Disclosure - Unix [10096] : Modern Web Application [10109] (対応しなくてもよい) : Dangerous JS Functions [10110] : Session Management Response Identified [10112] : Absence of Anti-CSRF Tokens [10202] : Sub Resource Integrity Attribute Missing [90003] : Charset Mismatch [90011] VIRUSTOTAL https://www.virustotal.com/gui/home/upload SUURI https://sitecheck.sucuri.net/

2024年7月22日 · 1 分