MCPcopy Index your code
hub / github.com/derisk-ai/OpenDerisk

github.com/derisk-ai/OpenDerisk @v0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.0 ↗ · + Follow
36,897 symbols 151,484 edges 2,510 files 14,970 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenDeRisk

OpenDeRisk は AI ネイティブリスクインテリジェンスシステムです。アプリケーションシステムのリスクインテリジェントマネージャーとして、24 時間 365 日の包括的で徹底的な保護を提供します。

<a href="https://github.com/derisk-ai/OpenDerisk">
    <img alt="stars" src="https://img.shields.io/github/stars/derisk-ai/OpenDerisk?style=social" />
</a>
<a href="https://github.com/derisk-ai/OpenDerisk">
    <img alt="forks" src="https://img.shields.io/github/forks/derisk-ai/OpenDerisk?style=social" />
</a>
<a href="https://opensource.org/licenses/MIT">
  <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
</a>
 <a href="https://github.com/derisk-ai/OpenDerisk/releases">
  <img alt="Release Notes" src="https://img.shields.io/github/release/derisk-ai/OpenDerisk" />
</a>
<a href="https://github.com/derisk-ai/OpenDerisk/issues">
  <img alt="Open Issues" src="https://img.shields.io/github/issues-raw/derisk-ai/OpenDerisk" />
</a>
<a href="https://codespaces.new/derisk-ai/OpenDerisk">
  <img alt="Open in GitHub Codespaces" src="https://github.com/codespaces/badge.svg" />
</a>

English | 简体中文 | 日本語 | 動画チュートリアル

ニュース

機能特徴

  1. DeepResearch RCA: ログ、トレース、コードの詳細な分析により、問題の根本原因を迅速に特定します。
  2. 可視化された証拠チェーン: 診断プロセスと証拠チェーンを完全に可視化し、診断を明確にして精度を迅速に判断できます。
  3. マルチエージェント協調: SRE-Agent、Code-Agent、ReportAgent、Vis-Agent、Data-Agent の協調作業。
  4. オープンソースアーキテクチャ: OpenDeRisk は完全にオープンソースのアーキテクチャで構築されており、関連フレームワークとコードをオープンソースプロジェクトですぐに使用できます。

アーキテクチャ

紹介文書

このシステムはマルチエージェントアーキテクチャを採用しています。現在、コードは主にハイライトされた部分を実装しています。アラート認識は Microsoft のオープンソース OpenRCA データセット に基づいています。データセットのサイズは解压後約 26GB です。このデータセット上で、マルチエージェントの協調により根本原因分析と診断を実現し、Code-Agent が最終分析のために動的にコードを作成します。

技術実装

データ層: GitHub から大規模な OpenRCA データセット (20GB) を取得し、ローカルで解压して分析用に処理します。

ロジック層: マルチエージェントアーキテクチャで、SRE-Agent、Code-Agent、ReportAgent、Vis-Agent、Data-Agent が協調して詳細な DeepResearch RCA(根本原因分析)を実行します。

可視化層: Vis プロトコルを使用して、全体の処理フローと証拠チェーン、およびマルチロールの協調とスイッチングプロセスを動的にレンダリングします。

OpenDeRisk のデジタル従業員(エージェント)

インストール(推奨)

curl でのインストール

# 最新バージョンのダウンロードとインストール
curl -fsSL https://raw.githubusercontent.com/derisk-ai/OpenDerisk/main/install.sh | bash

設定ファイル

インストール後、デフォルトの設定ファイルは自動的に以下のパスに初期化されます: ~/.openderisk/configs/derisk-proxy-aliyun.toml

このファイルを編集し、API キーを設定してください:

vi ~/.openderisk/configs/derisk-proxy-aliyun.toml

起動

openderisk-server

ソースからのインストール(開発用)

uv のインストール(必須)

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

クローンと依存関係のインストール

git clone https://github.com/derisk-ai/OpenDerisk.git

cd OpenDerisk

# uv で依存関係をインストール
uv sync --all-packages --frozen \
    --extra "base" \
    --extra "proxy_openai" \
    --extra "rag" \
    --extra "storage_chromadb" \
    --extra "derisks" \
    --extra "storage_oss2" \
    --extra "client" \
    --extra "ext_base" \
    --extra "channel_dingtalk"

注意:channel_dingtalk はオプションです。DingTalk チャネルのサポートが不要な場合は削除してください。

サーバーの起動

derisk-proxy-aliyun.toml で API_KEY を設定し、実行:

注意:デフォルトでは、OpenRCA データセットの Telecom データセットを使用します。リンクまたは以下のコマンドでダウンロードできます: gdown https://drive.google.com/uc?id=1cyOKpqyAP4fy-QiJ6a_cKuwR7D46zyVe

ダウンロード後、データセットを pilot/datasets/ パスに移動します。

起動コマンドを実行:

uv run python packages/derisk-app/src/derisk_app/derisk_server.py --config configs/derisk-proxy-aliyun.toml

ウェブサイトへのアクセス

ブラウザを開いて http://localhost:7777 にアクセス

使用方法

  • AI-SRE (OpenRCA)
  • 注意: OpenRCA データセットの Bank データセット を使用しています
  • ダウンロード: gdown https://drive.google.com/uc?id=1enBrdPT3wLG94ITGbSOwUFg9fkLR-16R
  • データセットを ${derisk}/pilot/datasets パスに配置します
  • フレームグラフアシスタント
  • ローカルアプリケーションサービスプロセスのフレームグラフ (Java/Python) をアシスタントにアップロードして分析を行います
  • DataExpert
  • メトリクス、ログ、トレース、または様々な Excel データシートをアップロードして対話型分析を行います

高速開発

  • エージェント開発
  • derisk-ext.agent.agents 配下の実装ロジックを参照してください
  • ツール開発
  • ローカルツール
  • MCP (Model Context Protocol)
  • DeRisk-Skills 開発
  • derisk-skills

実行結果

下图に示すように、複数のエージェントが協調して複雑な運用診断タスクを処理するシナリオを示しています。

引用

このリポジトリのコードについては、以下の論文で詳細な紹介をしています。もし、あなたの研究に役立ったと思われる場合は、ぜひ引用してください。

@misc{di2025openderiskindustrialframeworkaidriven,
      title={OpenDerisk: An Industrial Framework for AI-Driven SRE, with Design, Implementation, and Case Studies}, 
      author={Peng Di and Faqiang Chen and Xiao Bai and Hongjun Yang and Qingfeng Li and Ganglin Wei and Jian Mou and Feng Shi and Keting Chen and Peng Tang and Zhitao Shen and Zheng Li and Wenhui Shi and Junwei Guo and Hang Yu},
      year={2025},
      eprint={2510.13561},
      archivePrefix={arXiv},
      primaryClass={cs.SE},
      url={https://arxiv.org/abs/2510.13561}, 
}

謝辞

OpenDeRisk-AI コミュニティは、AI ネイティブなリスクインテリジェンスシステムの構築に専念しています。🛡️ 私たちのコミュニティがより良いサービスを提供できることを願い、また皆様が私たちに参加してより良い未来を共に創造することを願っています。🤝

Star History Chart

コミュニティグループ

DingTalk グループに参加して、他の開発者と経験を共有しましょう!

<img src="https://github.com/derisk-ai/OpenDerisk/raw/v0.3.0/assets/derisk-ai.jpg" alt="OpenDeRisk-AI 交流群" width="200" />

Extension points exported contracts — how you extend this code

UnifiedMessageRendererProps (Interface)
* 消息渲染器属性
web/src/components/chat/unified-message-renderer.tsx
VirtualScrollerProps (Interface)
(no doc)
packages/derisk-core/src/derisk/vis/frontend/VirtualScroller.tsx
FilePreviewListProps (Interface)
* FilePreviewList Component * * Displays a list of file previews with horizontal scrolling
web/src/components/chat/input/file-preview.tsx
PartRendererProps (Interface)
(no doc)
packages/derisk-core/src/derisk/vis/frontend/PartRenderer.tsx
FormatFileSizeOptions (Interface)
* 格式化文件大小 * @param bytes 文件大小(字节) * @param options 配置选项 * @returns 格式化后的字符串
web/src/utils/fileUtils.ts
VisContainerProps (Interface)
(no doc)
packages/derisk-core/src/derisk/vis/frontend/VisContainer.tsx
AppDetailResponse (Interface)
* 应用详情响应
web/src/services/unified/unified-app-service.ts
VisPart (Interface)
(no doc)
packages/derisk-core/src/derisk/vis/frontend/types.ts

Core symbols most depended-on inside this repo

concat
called by 11334
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/9657-9ff8a8a2d5719f45.js
Field
called by 3153
web/src/components/icons/field.tsx
createElement
called by 3089
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/bc98253f.80077ab85aa9bd0f.js
push
called by 2905
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/6766-cb386faa7378d52e.js
assign
called by 2724
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/3054-14d39e934877243d.js
n
called by 1920
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/184-a615065af61c9a87.js
call
called by 1726
packages/derisk-core/src/derisk/agent/core_v2/llm_utils.py
join
called by 1614
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/537-7e9715142453657e.js

Shape

Method 19,448
Function 11,018
Class 5,333
Route 640
Interface 452
Enum 6

Languages

Python61%
TypeScript39%

Modules by API surface

packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/05f6971a-37fe2a1a50eb9be0.js2,776 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/537-7e9715142453657e.js958 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/363642f4-9b840659bef06edc.js846 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/3054-14d39e934877243d.js526 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/bc98253f.80077ab85aa9bd0f.js489 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/4bd1b696-cc729d47eba2cee4.js442 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/c36f3faa-ad06f8e39d3f01eb.js423 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/9657-9ff8a8a2d5719f45.js404 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/framework-36e851ed4a9099a0.js334 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/d3ac728e-c3a6f01f0b83d969.js306 symbols
packages/derisk-serve/src/derisk_serve/rag/service/service.py268 symbols
packages/derisk-app/src/derisk_app/static/web/_next/static/chunks/e37a0b60-89795b4f1a25ba51.js240 symbols

Datastores touched

(mysql)Database · 1 repos
agent_dbDatabase · 1 repos
(mongodb)Database · 1 repos
dbDatabase · 1 repos
test_dbDatabase · 1 repos

For agents

$ claude mcp add OpenDerisk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact