Show HN: ユーザーセッションを追跡し、重要なバグを検出して自動修復するツール

2026/08/28 0:45

Show HN: ユーザーセッションを追跡し、重要なバグを検出して自動修復するツール

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Opslane は、管理ダッシュボードに依存せずにプルリクエストを通じて重要なユーザー向けバグを直接解決することで、自動化されたソフトウェアメンテナンスにおける画期的な成果をもたらします。「エージェント優先」の原則に基づき、コードエージェントをターミナルベースの MCP サーバーを介して接続し、無応答なボタンや放棄されたフォームなどの問題を調査・修正します。システムは高インパクトのエラーに優先順位を付け、4 つの部分からなるアーキテクチャによって問題を実行環境マッピングで検出し、グループ化し、隔離されたサンドボックスで解決策を検証し、最後に検証済みの修正または解決が不可能な場合は詳細な説明をデリバリーします。最小限の設定でセルフホスティング可能なよう設計されており、Opslane は完全にローカルスタック上で動作し、PostgreSQL、MinIO(S3 互換)、および Docker を利用しながら、分析には Anthropic、安全なコード実行には E2B などのツールを統合しています。現在 AGPL-3.0 ライセンス(MIT SDK も含む)の下で 1.0 未満のバージョンですが、開発チームが修正・検証・デプロイの全体循環を自動化することを可能にし、機密データに対する完全な制御を維持しつつ、アプリケーションの安定性とエンドユーザー体験の向上を図ります。

本文

Opslane セルフホスト導入ガイド:バグ修正の自動化と自律的デバッグ

概要

Opslane は、ユーザーが遭遇するバグを自動的に発見し、調査して修正する自律的なシステムです。エージェントがコードを検証した上でプルリクエスト(PR)を作成するか、開発者の介入を要請します。

基本理念

  • エージェントファースト: エラーダッシュボードを開くことなく、MCP サーバーを通じてコーディングエージェントに調査と修正を任せることが可能です。
  • 製品学習: コード構造と実際のユーザー動作(セッション記録)を分析し、文脈に基づいた精度の高いバグ診断を実現します。
  • シンプルな構成: PostgresMinIO の 2 つのコンポーネントのみで動作する単一の Docker Compose ファイルです。

システムアーキテクチャ

Opslane は以下の 4 つのコンポーネントで構成されます。

コンポーネント役割
ブラウザ SDKブラウザ内でエラーとセッションを記録します。入力マスキングはデフォルトで有効
取り込みサービスSDK データを受け取り、エラーをグループ化・優先順位付けします。
ワーカーリポジトリ調査、サンドボックス内での修正検証、PR 作成を行います。
ダッシュボード問題の確認、セッション再生、プロジェクト設定変更を行う Web アプリです。

エラー処理フロー

エラーから修正された PR までのプロセスは以下の通りです:

  1. キャプチャー: SDK がエラーとセッション記録を収集し、取り込みサービスへ送信します(2 行のコードのみでインストール)。
  2. グループ化: スタックトレースをソースマップでマッピングし、同一バグを統合します。
  3. 評価: 遭遇ユーザー数とリポジトリ分析により、真に製品のバグか判断します。
  4. 調査: ワーカーがコードを読み込み、根本原因を探ります。
  5. 検証: サンドボックス内でビルド・テストを実行し、すべての既存チェックも再通過させます。
  6. 配信:
    • 修正可能 → プルリクエスト作成
    • 調査不可能 → 開発者へ理由とアクションを提示
flowchart LR
    A[アプリ] -->|エラー + 記録| B[キャプチャー & グループ化]
    B --> Q{修正の価値あり?}
    Q -->|ユーザー数不足| W[監視は行うが調査は行わない]
    Q -->|本物な問題| D[あなたのリポジトリ内で調査]
    D --> V{修正検証完了?}
    V -->|はい| PR[プルリクエスト]
    V -->|いいえ| HR[あなた宛てに理由文書化]

外部サービスと独自スタック

  • 利用する外部 API: Anthropic(調査用)、E2B(サンドボックス実行用)、GitHub(クローン・PR 作成用)。
  • 独自管理スタック: Postgres(状態管理・ジョブキュー)、S3 互換ストレージ(MinIO 使用)。
  • 対応言語: JavaScript アプリへのフルサポート。

ローカルでの実行

前提条件: Docker Compose v2 搭載環境が必要。初回実行には認証キーは不要です。

1. スタックの起動

git clone https://github.com/opslane/opslane.git
cd opslane
docker compose up -d --wait
curl http://localhost:8082/health
  • 起動コンポーネント: Postgres、MinIO、ダッシュボード API、ワーカー。
  • 自動実行: データベースマイグレーション。

2. テストデータの送信と検証

テストプロジェクトでエラーを発生させ、動作を確認します。

# データセード
docker compose exec -T postgres psql -U opslane -d opslane < scripts/seed-e2e.sql

# エラーシミュレーション (公開のテストキーを使用)
curl -X POST http://localhost:8082/api/v1/events \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: opslane_pk_mzxw6ytboi3damrrgi3tknzxgq_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq' \
  -d '{"timestamp":"2026-01-01T00:00:00Z","error":{"type":"ReferenceError","message":"demo is not defined","stack":"ReferenceError: demo is not defined\n  at app.js:1:1"},"breadcrumbs":[],"context":{"url":"https://example.com","user_agent":"smoke test"},"sdk_version":"0.0.1"}'

3. ワーカーの状態確認

ワーカー処理結果を確認します。結果が表示されない場合は再実行してください。

docker compose exec -T postgres psql -U opslane -d opslane \
  -c "SELECT status, reason_code, reason_message FROM error_groups ORDER BY created_at DESC LIMIT 1;"

出力例:

status | reason_code | reason_message
--------+-------------+----------------
 new    |             | 

注意: 上記の「new」状態は単発のエラーであり、調査対象外です。フルなフローを確認するには、以下の認証情報が必要です。

必須認証情報

セルフホスト快速スタートドキュメントで正確なパーミッションと環境変数の設定を確認してください。

  • ダッシュボードログイン: GitHub App または WorkOS
  • 調査機能:
    ANTHROPIC_API_KEY
  • サンドボックス検証:
    E2B_API_KEY
  • PR 作成: 対象リポジトリへのアクセス権限を持つ GitHub トークン

ドキュメントとリソース

詳細な情報は以下のドキュメントをご覧ください。

  • セルフホスト快速スタート: ローカル実行手順と全プロセス解説。
  • インストールガイド: アプリに SDK を追加する方法。
  • ガイド: 対応フレームワーク(React, Vue, Vanilla JS)、ソースマップ、GitHub App、Slack 通知設定など。
  • Opslane の仕組み: エラー検知から検証済み PR までのアーキテクチャ解説。
  • 信頼性とデータフロー: サービス間のデータ受け渡しの概要。
  • リファレンス: SDK オプション、HTTP ルート、環境変数、理由コード。

コミュニティと貢献

  • Discord: 本番環境のデモ投稿や最新情報について交流可能です。
  • Issue Tracker: バグ報告や機能要望を歓迎します。

ライセンスと開発状況

  • ライセンス:
    • Opslane プラットフォーム:AGPL-3.0
    • ブラウザ SDK / Python SDK / 型定義:MIT(自アプリ内での配布可能)
  • バージョンステータス:
    • 現時点では 1.0 リリース前
    • POST /api/v1/events
      のワイヤー契約は安定しており後方互換性がありますが、他のインターフェースは変更される可能性があります。

開発者向け: 環境設定、コード慣習、検証基準については

AGENTS.md
を参照してください。

同じ日のほかのニュース

一覧に戻る →

2026/08/28 2:17

1.1.1.1 の DNS キャッシュ最適化でメモリ使用量を 100TB 削減

## Japanese Translation: Big Pineapple は、5 つの主要なストレージ最適化によりパーエントリーフッタープリントを 50% 以上削減したことで、DNS インフラストラクチャを大幅に革新することに成功しました。`Vec` と `String` フィールドをボックスポインタに置換し、レコードセクションを単一のリストへ統合し、不要なオーナーフィールドを除去し、大きな列挙型バリアントをボックス化してパディングを削減し、レコードを連続的なワイヤフォーマットバッファに格納することで、膨大な量の無駄なヒープ容量を排除しました。これらの改善は、特に 1 クライアントネットワークにつき複数の照会バージョンをキャッシュする必要がある ECS クライアントサブネット(ECS)照会を処理する場所にとって極めて重要です。2026 年 5 月 18 日から 7 月 6 日までのプロダクションロールアウト後、システムは劇的な効率向上を達成しました:平均居住メモリは 9.3 GB から 5.3 GB に低下し(p99 使用量の 43% 削減)、実質的に Gen 13 サーバー 130 機以上の RAM を解放しました。また、挿通スループットが 43% 増加し、照会遅延は 19% 減少することで、高負荷下でも船団がより信頼性高く動作すると同時に、大きなコスト削減を実現しました。

2026/08/28 0:56

小型モデルがやってきました

## Japanese Translation: 本質的なメッセージは、人工知能の最近の進歩により、運用コストが劇的に削減されたため、Luna などのコスト効率の高いモデルが消費者向けサブスクリプションにおいて実現可能になったという点です。以前は、高トークンコスト(旧モデルでタスクを実行する際に約$1 かかっていたのに対し、新しいモデルでは約$0.10 で済むというシナリオが例)が障壁となり、消費者にとって月次 AI プランは数学的に不可能でした。新しい技術により、企業は破格な予算なしに強力な AI にアクセスできるようになり、その結果として消費者向けグレードのサブスクリプションが登場しました。 企業の大部分の仕事は「トークン・スパイラー(大量生成型)」のカテゴリーに属しており、画期的な新しさを優先するよりも速度と応答性を重視しています。日常業務の約 95% は深い発見ではなく実行上のロジスティクスを占めています。Fable などの最先端モデルは稀な研究ブレイクスルー(「IQ 180」)には不可欠ですが、将来の市場はこの高コストのイノベーション用ツールと、標準的な対話向けの低価格で効率的なオプションの間で分かれることになります。現在の成功には、企業環境において安全性を確保し、ロール管理を行い、プロンプトインジェクション攻撃を防ぐための新しい「ハーネス(枠組み)」を構築することにかかっています。この変化により、企業は標準的なタスクのために高価な人間による「革新的思考者」を、応答性の高い AI エージェントで置換できるようになりました。結局のところ、この進化は AI を排他的な贅沢品から、日常業務用の実用的かつ手頃な価格のユーティリティへと変革させ、ついに大衆にとって消費者向けグレードのサブスクリプションが現実的となりました。

2026/08/27 23:08

メカニカル・ムーブメント No.507

## Japanese Translation: 本プロジェクトでは、507 の異なるアニメーションの完全なコレクションを編成することを目的としていますが、アーカイブからいくつかのエントリが現在欠落しています。利用者がこの拡大するライブラリをナビゲートできるよう、色分けされたサムネイルで完成作品と未完成のものを視覚的に区別し、右上に配置されている「prev」と「next」リンクにより、サムネイルページの間の簡単な閲覧が可能になっています。デジタル倉庫は、ヘンリー・T・ブラウンによる元のイラストをクラシックな技術書の参考資料と並べて収録することで歴史的意義を備えています。将来の発展には、507 の完全なセットが達成されるまで新しいアニメーションを順次リリースするものがあります。チームはタイムラインについて定期的に Facebook や Twitter などのソーシャルメディアプラットフォームで情報を共有することで透明性を維持しています。最終的には、ユーザーは現代的なデジタル作品と本物の歴史的アートワークの両方にアクセスできる利点を享受でき、プロジェクト自体に関する情報も「About」ページで入手可能です。