misakanet 2.41.1 → 2.41.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.ja.md +336 -296
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "misakanet",
|
|
3
|
-
"version": "2.41.
|
|
3
|
+
"version": "2.41.2",
|
|
4
4
|
"description": "Failure-memory network for AI coding agents: search evidence-rated failure lessons, submit new failures, and turn crashes into reusable knowledge.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ikalus1988",
|
package/README.ja.md
CHANGED
|
@@ -6,400 +6,440 @@
|
|
|
6
6
|
|
|
7
7
|
# MisakaNet
|
|
8
8
|
|
|
9
|
-
> **AIコーディングエージェント向けGitバックアップ障害記憶。**
|
|
10
|
-
>
|
|
11
|
-
> 依存関係ゼロ。サーバー不要。データベース不要。
|
|
12
|
-
> エラーを貼り付ける → レッスンを検索 → 修正パスを取得(件数は上部のLessonsバッジ)。
|
|
13
|
-
|
|
14
9
|
mcp-name: io.github.Ikalus1988/misakanet
|
|
15
10
|
|
|
11
|
+
> **同じエラーを二度とデバッグしなくていい。** MisakaNet はインデックス済みの障害レッスンを検索するので、エージェントは
|
|
12
|
+
> 誰かがすでに代償を支払ったバグを、セッションごとに一つずつ再発見せずに済みます —— 上部の **Lessons**
|
|
13
|
+
> バッジが現在のコーパス規模です。
|
|
14
|
+
>
|
|
15
|
+
> エージェントネイティブなインターフェース: [MCP サーバー](https://misakanet.org/mcp)(7 ツール)、WebMCP(ブラウザの
|
|
16
|
+
> `navigator.modelContext`)、`llms.txt` / `llms-full.txt`、そして `.well-known/agent-card.json` 経由の A2A ディスカバリー。
|
|
17
|
+
|
|
16
18
|
<p align="center">
|
|
17
19
|
<img src="promotional/misaka-compare.jpg" width="720" alt="MisakaNet — Before: 30+ min manual debugging vs After: 0.02s with MCP"/>
|
|
18
20
|
</p>
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
<p align="center">
|
|
23
|
+
<em>Core</em>
|
|
24
|
+
|
|
25
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/actions/workflows/pr-quality-gate.yml"><img src="https://github.com/Ikalus1988/MisakaNet/actions/workflows/pr-quality-gate.yml/badge.svg" alt="CI"></a>
|
|
26
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/tree/main/lessons"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/lessons.json" alt="Lessons"></a>
|
|
27
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/blob/main/scripts/mcp_server.py"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/tools.json" alt="MCP Tools"></a>
|
|
28
|
+
<a href="https://misakanet.org/api/search-index"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/retrieval.json" alt="Retrieval backend (today)"></a>
|
|
29
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Ikalus1988/MisakaNet?color=blueviolet" alt="License"></a>
|
|
30
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/stargazers"><img src="https://img.shields.io/github/stars/Ikalus1988/MisakaNet?style=social" alt="Stars"></a>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
<p align="center">
|
|
34
|
+
<em>Install</em>
|
|
35
|
+
|
|
36
|
+
<a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.10+-blue" alt="Python"></a>
|
|
37
|
+
<a href="https://pypi.org/project/misakanet/"><img src="https://img.shields.io/pypi/v/misakanet" alt="PyPI"></a>
|
|
38
|
+
<a href="https://www.npmjs.com/package/misakanet"><img src="https://img.shields.io/npm/v/misakanet" alt="npm"></a>
|
|
39
|
+
<a href="https://github.com/marketplace/actions/misakanet-intake-bot"><img src="https://img.shields.io/badge/Marketplace-MisakaNet%20Intake%20Bot-blue?logo=github" alt="GitHub Marketplace"></a>
|
|
40
|
+
<a href="https://dsh-plugin.org/plugins/ikalus1988/misakanet"><img src="https://dsh-plugin.org/badges/listed.svg" alt="Listed on dsh-plugin.org"></a>
|
|
41
|
+
<a href="https://dsh.directory/plugins/ikalus1988/misakanet"><img src="https://dsh.directory/badges/listed.svg" alt="Listed on DSH Directory"></a>
|
|
42
|
+
<a href="https://www.dsh.so/artifact/misakanet/"><img src="https://www.dsh.so/badge/install/misakanet.svg" alt="dsh.so install"></a>
|
|
43
|
+
</p>
|
|
44
|
+
|
|
45
|
+
<p align="center">
|
|
46
|
+
<em>Ecosystem</em>
|
|
47
|
+
|
|
48
|
+
<a href="https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/score"><img src="https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/badges/score.svg" alt="Glama score"></a>
|
|
49
|
+
<a href="https://glama.ai/mcp/connectors/org.misakanet/misaka-net"><img src="https://glama.ai/mcp/connectors/org.misakanet/misaka-net/badges/score.svg" alt="MisakaNet MCP connector – tool definition quality and endpoint health on Glama"></a>
|
|
50
|
+
<a href="https://mcptoplist.com/server/io.github.Ikalus1988%2Fmisakanet"><img src="https://mcptoplist.com/badge/io.github.Ikalus1988%2Fmisakanet.svg" alt="MCP Toplist"></a>
|
|
51
|
+
<!-- Smithery バッジは shields.io の 'endpoint' バッジを使い、Kin スコアを
|
|
52
|
+
data/badges/smithery.json から動的に読み取ります。update-smithery-badge
|
|
53
|
+
ワークフローが毎日更新するので、手動 PR なしでも同期が保たれます。 -->
|
|
54
|
+
<a href="https://smithery.ai/servers/misakanet/misakanet"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/refs/heads/data/badges/smithery.json" alt="Smithery"></a>
|
|
55
|
+
<!-- HOL バッジ: リンクは hol.org を指し続けます(その掲載判定は README 内のバッジを
|
|
56
|
+
探しており、信頼度 +2% に相当)。ただし画像は静的なフラットシールドで、
|
|
57
|
+
稼働中の hol.org/api/... エンドポイントは shields.io 経由で遅く不安定で、
|
|
58
|
+
"inaccessible" 表示になる、または for-the-badge とは違う見た目で描画されます。 -->
|
|
59
|
+
<a href="https://hol.org/registry/plugins/Ikalus1988%2FMisakaNet"><img src="https://img.shields.io/badge/HOL%20Registry-listed-5599FE?style=flat" alt="MisakaNet on HOL Registry"></a>
|
|
60
|
+
<a href="https://github.com/Ikalus1988/MisakaNet/tree/main/docs/benchmarks"><img src="https://img.shields.io/badge/Benchmark-Weekly%20Workers%20AI-blue" alt="Benchmark"></a>
|
|
61
|
+
</p>
|
|
30
62
|
|
|
31
63
|
---
|
|
32
64
|
|
|
33
|
-
|
|
65
|
+
## インストール(30秒)
|
|
34
66
|
|
|
35
|
-
|
|
67
|
+
| ご利用の環境 | コマンド |
|
|
68
|
+
|---|---|
|
|
69
|
+
| **DeepSeek Harness** | `dsh plugin --profile web add misakanet` — あるいはホストの **Add plugin** ダイアログで `misakanet` と入力 |
|
|
70
|
+
| **Claude Code** | `/plugin marketplace add Ikalus1988/MisakaNet` ののち `/plugin install misakanet@misakanet` |
|
|
71
|
+
| **Codex、Cursor、Gemini CLI、Copilot CLI、OpenCode など** | `npx @misaka-net/misakanet-setup` — 各ホスト自身の設定に MCP の行を書き込む |
|
|
72
|
+
| **その他の MCP クライアント** | `https://misakanet.org/mcp` を指定する — エンドポイントは公開されており、読み取りは匿名 |
|
|
73
|
+
| **自前のコード** | `pip install misakanet-core`(ライブラリ) · `pip install misakanet`(stdio サーバー) |
|
|
36
74
|
|
|
37
|
-
|
|
75
|
+
<p align="center">
|
|
76
|
+
<img src="docs/assets/dsh-plugin-add.png" width="760" alt="DeepSeek Harness のプラグインページ: (1) サイドバーのプラグインアイコン、(2) 添加插件 (Add plugin) ボタン、(3) パッケージ名 misakanet を入力した Add-plugin ダイアログ"/>
|
|
77
|
+
</p>
|
|
38
78
|
|
|
39
|
-
|
|
40
|
-
- CIが失敗して原因がわからない時
|
|
41
|
-
- DCO、トークン、pip、MCP、エンコーディング問題がプロジェクト間で繰り返される時
|
|
79
|
+
<p align="center"><em>DeepSeek Harness: サイドバーの <b>插件</b> (1) → <b>添加插件</b> (2) → <code>misakanet</code> を入力 (3) → <b>安装</b>。<br/>ダイアログは上の CLI コマンドと同じパッケージ名を受け付けます(ダイアログ自身のヒント: パッケージ名、GitHub の URL、またはローカルパス)。</em></p>
|
|
42
80
|
|
|
43
|
-
|
|
81
|
+
更新: `dsh plugin --profile web update misakanet@latest`。
|
|
82
|
+
インストーラー自体の更新: `npx @misaka-net/misakanet-setup@latest`(独自のコマンド、独自のフラグ)。
|
|
44
83
|
|
|
45
|
-
|
|
84
|
+
プラグイン経路ではアカウント不要、トークン不要、Python も不要です: npm バンドルがホストされたエンドポイントをマウントします。
|
|
85
|
+
宣言されているホストと実際に測定した内容: [compatibility](docs/compatibility.md)。各チャネル、前提条件、そして人から
|
|
86
|
+
インストールを代償させる「2つのパッケージの罠」: [使い方](#使い方)。
|
|
46
87
|
|
|
47
|
-
|
|
48
|
-
2. MCP設定に追加:
|
|
88
|
+
## DeepSeek Harness プラグインが追加するもの
|
|
49
89
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"misakanet": {
|
|
54
|
-
"url": "https://misakanet.org/mcp",
|
|
55
|
-
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
90
|
+
バージョン 2.40.0 がブラウザ側を出荷し、2.41.0 がその残りを加えます。以下の面がすべて同じリリースで届いたわけでは
|
|
91
|
+
ないので、このセクションでは、それぞれの面を担っているバージョンごとに列挙します。ダイアログを足すのではありません。
|
|
92
|
+
MisakaNet を、すでにセッションが存在する場所に据えます。
|
|
60
93
|
|
|
61
|
-
|
|
94
|
+
**2.40.0 で公開済み。** 以下の 6 つの席が、いま `npm view misakanet version` で得られるものです。
|
|
62
95
|
|
|
63
|
-
|
|
96
|
+
| 場所 | 得られるもの |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| **左カラム** | `Plugins` の直下に常設する `MisakaNet` エントリ。パネルへのショートカットであり、クリックするとメインカラムに全画面が開きます。ルートスコープなので、セッションによって出たり消えたりはしません。 |
|
|
99
|
+
| **会話タブ** | Chat と Trajectory のとなりに `MisakaNet` タブが付きます。このセッションが何を問い合わせ、何が返り、何を記録したかを、会話自身の行から組み立て直して表示します。 |
|
|
100
|
+
| **右カラム** | 同じパネルをペインとして配置するので、ファイルツリー・ターミナル・ドキュメントのとなりに置けます。 |
|
|
101
|
+
| **ツール呼び出しの行** | `misakanet_search` と `misakanet_submit_intake` の呼び出しごとに、ツールカード上に専用の行ができます。送信されたクエリそのもの、レッスンが返ったかどうか、そして先頭にあるレッスンはどれか。生の結果はひとつ開けば見えます。この行は報告するだけで投稿しません。投票は下の回答側のアクション行に付きます。 |
|
|
102
|
+
| **アシスタントのアクション行** | レッスンを使った回答に 👍 / 👎。このページが送信するのはこの二つだけです。カウンタはサーバーではなくブラウザに置かれます。 |
|
|
103
|
+
| **音声** | 既定ではオフのスイッチで、二つの仕組みを説明します。サーバーが次回の検索で名指しする合図と、ページからは読めないローカルのフック。 |
|
|
64
104
|
|
|
65
|
-
|
|
105
|
+
<p align="center">
|
|
106
|
+
<img src="docs/assets/dsh-client-left-column.png" width="820" alt="DeepSeek Harness: 左カラムの Plugins の下に常設する MisakaNet エントリと、それが開く全画面"/>
|
|
107
|
+
</p>
|
|
66
108
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
109
|
+
<p align="center">
|
|
110
|
+
<img src="docs/assets/dsh-client-right-panel.png" width="820" alt="DeepSeek Harness のセッションの右カラムにある MisakaNet ペイン"/>
|
|
111
|
+
</p>
|
|
70
112
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
workflow_run:
|
|
74
|
-
workflows: ["CI"] # 自分の CI ワークフロー名に置き換える
|
|
75
|
-
types: [completed]
|
|
76
|
-
permissions:
|
|
77
|
-
actions: read # 失敗した job のログを読む(必須)
|
|
78
|
-
pull-requests: write # コメントを投稿
|
|
79
|
-
issues: write # コメント API は issues.createComment
|
|
80
|
-
jobs:
|
|
81
|
-
intake:
|
|
82
|
-
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
83
|
-
runs-on: ubuntu-latest
|
|
84
|
-
steps:
|
|
85
|
-
- uses: Ikalus1988/MisakaNet@v1
|
|
86
|
-
with:
|
|
87
|
-
mode: suggest-only # suggest-and-intake なら新規エラーも報告
|
|
88
|
-
source: ${{ github.repository }}
|
|
89
|
-
```
|
|
113
|
+
**2.41.0 で追加 — [リリース PR #2591](https://github.com/Ikalus1988/MisakaNet/pull/2591)。** 以下の 6 つの面は
|
|
114
|
+
`main` に入っており 2.41.0 で出荷されます。2.40.0 を入れた環境にはまだありません。
|
|
90
115
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
116
|
+
| 場所 | 得られるもの |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| **コンポーザーの `/misakanet`** | `/misakanet pip install timeout` と入力して Enter を押すだけ。レッスンがコンポーザー内のカードとして返り、エージェントは介在しません。送信されるのはクエリだけです。 |
|
|
119
|
+
| **フレーム全体のトースト** | `/misakanet` の検索がレッスンを返すと、先頭ヒットを載せたカードが全カラムを覆って表示され、閉じるかレッスンまでクリックで進めます。 |
|
|
120
|
+
| **サイドバーの下部** | Settings の隣に 1 つのアクション。このセッションの MisakaNet 活動を、Issue や PR 本文向けに要約としてコピーします。 |
|
|
121
|
+
| **中文 / English** | すべての MisakaNet 面がホストの言語に従います。パネル、`/misakanet` カード、設定行、そしてプラグインページ自身のタイトルと説明。 |
|
|
122
|
+
| **Settings → General** | MisakaNet の設定行。このブラウザで音声合図を鳴らすかどうかと、面を表示する細かさ(コンパクト / フル)。どちらもブラウザ内に留まります。 |
|
|
123
|
+
| **プラグインページ** | MCP の行が実際に使う設定、エンドポイント・トランスポート・タイムアウトを、読み取り専用で表示します。設定の編集場所(プロファイルの `cordis.patch.yml`)のそばに置いてあります。 |
|
|
94
124
|
|
|
95
|
-
|
|
125
|
+
どちらの側がどの席を持ち、なぜ `root` か `session` スコープなのかを、ホスト自身の契約文の引用付きで:
|
|
126
|
+
[compatibility](docs/compatibility.md)。自分のホストを動かしていて、プロファイルに触れない確認がほしい場合:
|
|
127
|
+
`python3 scripts/install_smoke.py dsh-client --serve`。
|
|
96
128
|
|
|
97
|
-
|
|
129
|
+
## MisakaNet とは?
|
|
98
130
|
|
|
99
|
-
|
|
131
|
+
**Git に支えられた、AI コーディングエージェント向けの障害記憶。** エラーが出る → エージェントがレッスンを検索 →
|
|
132
|
+
誰かがすでに検証した修正を適用 → どれも合致しなければ、intake がその行き止まりを次のエージェント向けのレッスンに変える。
|
|
133
|
+
すべてのレッスンはこのリポジトリの Markdown ファイルです。コードと同じようにレビューされ(各コミットは DCO 署名)、
|
|
134
|
+
エビデンスレベルで格付けされ、Python 標準ライブラリだけで BM25 による検索が走ります。ベクトルデータベースも、
|
|
135
|
+
埋め込みモデルも、サーバーも不要です(ほしい場合だけ用意してください)。
|
|
136
|
+
|
|
137
|
+
| | |
|
|
138
|
+
|---|---|
|
|
139
|
+
| **Lessons** | 障害復旧の知識ベース。`lessons/` の下で公開され、監査できます |
|
|
140
|
+
| **Domains** | rag · devops · fanuc · docker · feishu · mcp · network · ci · wsl · windows … |
|
|
141
|
+
| **Evidence levels** | E0 intake → E1 CI → E2 マージ済み PR → E3 メンテナー → E4 本番での再利用 |
|
|
100
142
|
|
|
101
|
-
|
|
143
|
+
レジストリの掲載先([Glama](https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/score)、
|
|
144
|
+
[Smithery](https://smithery.ai/servers/misakanet/misakanet)、MCP Toplist)はホストされたエンドポイントを中継するだけで、
|
|
145
|
+
そのエンドポイントは **インデックス済みの障害復旧レッスン** を配信します。*インデックス済み* であり「検証済み」では
|
|
146
|
+
ありません。レッスンがどれだけ立証されているかを示すのがエビデンスレベルです。
|
|
102
147
|
|
|
103
|
-
| MisakaNetは ❌
|
|
148
|
+
| MisakaNet は ❌ ではない | 代わりに ✅ こちらです |
|
|
104
149
|
|------------------|-------------------|
|
|
105
150
|
| ❌ 汎用メモリシステム | ✅ 障害復旧知識レイヤー |
|
|
106
|
-
| ❌
|
|
107
|
-
| ❌
|
|
151
|
+
| ❌ エージェントのランタイムやフレームワーク | ✅ 検索可能なレッスンデータベース |
|
|
152
|
+
| ❌ ベクトルデータベースや RAG システム | ✅ BM25 キーワード検索 — **標準ライブラリのみ**、サードパーティパッケージなし。ただし **Python 3.10 以降のインタプリタ自体は必要です** |
|
|
108
153
|
| ❌ サインアップが必要なクラウドサービス | ✅ `git clone` → ローカルで検索 |
|
|
109
|
-
| ❌ スキルマーケットプレイス | ✅
|
|
110
|
-
|
|
111
|
-
> **MisakaNetは1つのこと専用に構築されています:** エージェントが既知の障害を繰り返すのを防ぐこと。
|
|
112
|
-
> これは汎用メモリレイヤーでもランタイムでもベクトルデータベースでもありません。
|
|
154
|
+
| ❌ スキルマーケットプレイス | ✅ 実セッションから得たデバッグ知識 |
|
|
113
155
|
|
|
114
156
|
### 答えてくれること、答えてくれないこと
|
|
115
157
|
|
|
116
158
|

|
|
117
159
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
### v2.16.0の新機能
|
|
123
|
-
|
|
124
|
-
| 機能 | 説明 |
|
|
125
|
-
|---------|-------------|
|
|
126
|
-
| **リモートMCP** | `https://misakanet.org/mcp`のStreamable HTTPエンドポイント — クローン不要 |
|
|
127
|
-
| **ペアリングコード** | トークンレスオンボーディング用の1回限り6文字コード([/connect](https://misakanet.org/connect)) |
|
|
128
|
-
| **アイデンティティオーラ** | 静的/ペアリング/アップグレードトークンの視覚的バッジ |
|
|
129
|
-
| **音声プロンプト** | 日本語MP3音声フィードバック(オプトイン) |
|
|
130
|
-
| **エビデンスレベル** | レッスン品質のE0-E4信頼モデル |
|
|
131
|
-
| **未解決マップ** | 障害カバレッジギャップを示すダッシュボード |
|
|
132
|
-
| **サイトヘルス** | 監視用の自動スナップショットスクリプト |
|
|
160
|
+
答えてくれるのは **MisakaNet がインデックス済みの障害** であり、一般知識ではありません。何も見つからないクエリは
|
|
161
|
+
`no_match` と、そのまま呼び出せる intake を返します。未ヒットはギャップが記録される経路そのものなので、
|
|
162
|
+
未ヒットもまた答えです。
|
|
133
163
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
### 仕組み
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
1. エージェントがエラーに遭遇(DCO、pip、トークン、MCP、エンコーディング、CI)
|
|
140
|
-
↓
|
|
141
|
-
2. MisakaNetで一致する障害復旧レッスンを検索
|
|
142
|
-
↓
|
|
143
|
-
3. 一致するレッスンを読み込む
|
|
144
|
-
↓
|
|
145
|
-
4. 記載された修正を適用
|
|
146
|
-
↓
|
|
147
|
-
5. 一致するレッスンがない場合、オプトインで削除済み障害レポートをキャプチャ
|
|
148
|
-
↓
|
|
149
|
-
6. メンテナーが受け入れられた寄稿を確認し、ドラフトレッスンに変換
|
|
150
|
-
```
|
|
164
|
+
### レッスン vs スキル
|
|
151
165
|
|
|
152
|
-
|
|
166
|
+
**スキル** はエージェントに *何かをする方法* を教える。**レッスン** は *前に何が壊れたか、そして二度と失敗しないためには
|
|
167
|
+
どうするか* を記録する。MisakaNet が担当するのは後者だけです。スキルマーケットプレイスでも、エージェントランタイムでも、
|
|
168
|
+
汎用メモリレイヤーでも、ベクトルデータベースでもありません。→ [FAQ](FAQ.md)
|
|
153
169
|
|
|
154
|
-
|
|
155
|
-
|---|---|
|
|
156
|
-
| 🔴 WindowsでDCO署名が失敗する | [→ dco-auto-fix-workflow](lessons/core/dco-auto-fix-workflow.md) |
|
|
157
|
-
| 🔴 pip installタイムアウト/SSLエラー | [→ pip-install-timeout-ssl](lessons/contrib/pip-install-timeout-ssl.md) |
|
|
158
|
-
| 🔴 シークスキャン/コミット内のトークン | [→ codeql-alert-dismissal-false-positive](lessons/contrib/codeql-alert-dismissal-false-positive.md) |
|
|
159
|
-
| 🔴 GitHub API 401/トークン期限切れ | [→ github-401-credential-lookup](lessons/contrib/github-401-credential-lookup.md) |
|
|
170
|
+
## ベンチマーク:レッスンを渡したとき、モデルはどれだけを再現するのか
|
|
160
171
|
|
|
161
|
-
|
|
172
|
+
週次ベンチマーク(Cloudflare Workers AI)。**数字の前に、指標の定義を読んでください。** このベンチマークのシナリオは各レッスン自身のタイトルです。
|
|
173
|
+
`with_lesson` アームに注入される「合致したレッスン」は *その同じレッスン* で、スコアは `lesson_hit_rate`、
|
|
174
|
+
つまり **注入されたレッスンのコマンドが、答えの中で再現された割合** です。
|
|
175
|
+
検索は一切呼ばれず、正当性も検証されません。よってこれは RAG の **暗唱** 側の話であり、検索が機能している証拠ではありません。
|
|
162
176
|
|
|
163
|
-
|
|
177
|
+
最新の集計データ: [`docs/benchmarks/latest.json`](docs/benchmarks/latest.json)(2026-09-22、各 ≈500 シナリオの独立した 2 回の実行):
|
|
164
178
|
|
|
165
|
-
|
|
179
|
+
| 条件 | 実行 1 のヒット率 | 実行 2 のヒット率 | 平均 | n(1 回あたり) | 実行可能率 |
|
|
180
|
+
|---|---|---|---|---|---|
|
|
181
|
+
| plain(レッスンなし) | 0.239 | 0.233 | **23.3%** | ≈510 | 82–83% |
|
|
182
|
+
| with_lesson(貼り付け) | 0.464 | 0.461 | **46.1%** | ≈512 | 76–77% |
|
|
166
183
|
|
|
167
|
-
|
|
184
|
+
**再現性。** 同一の構成で 2 回実行すると、ヒット率どうしの差は 0.3% 以内に収まります
|
|
185
|
+
(`with_lesson` は 0.464 対 0.461、`plain` は 0.239 対 0.233)。この指標が安定していることの確認になります。
|
|
168
186
|
|
|
169
|
-
|
|
187
|
+
**集計。** 各実行はコーパス内のすべてのレッスンをシナリオとして評価します。`with_lesson` アームは
|
|
188
|
+
合致したレッスンをプロンプトに貼り付け、`plain` はレッスンを使いません。`actionable` はシナリオごとの真偽値で、
|
|
189
|
+
モデルが使える答えを出せるかどうかを示します。実行可能率は実行の間で安定しています(レッスンありで 76–77%、plain で 82–83%)。
|
|
170
190
|
|
|
171
|
-
|
|
191
|
+
**推移**(週次スナップショット):
|
|
172
192
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
-
|
|
193
|
+
| 日付 | with_lesson ヒット率 | plain ヒット率 | n |
|
|
194
|
+
|---|---|---|---|
|
|
195
|
+
| 2026-08-30 | 46.4% | 23.9% | 358 |
|
|
196
|
+
| 2026-08-31 | 49.1% | 25.1% | 398 |
|
|
197
|
+
| 2026-09-06 | 48.3% | 24.1% | 455 |
|
|
198
|
+
| 2026-09-14 | 46.6% | 23.4% | 494 |
|
|
199
|
+
| 2026-09-21 | 46.1% | 23.3% | 512 |
|
|
176
200
|
|
|
177
201
|
```
|
|
178
|
-
|
|
179
|
-
│
|
|
180
|
-
│
|
|
181
|
-
│
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
│ 別のノード │ │ インデックス付き│
|
|
188
|
-
│ がBM25 + RRF │◀──────────────────────────────────────│ レッスンが │
|
|
189
|
-
│ で検索 │ │ GitHub Pagesに │
|
|
190
|
-
└──────────────────┘ │ 公開される │
|
|
191
|
-
└──────────────────┘
|
|
202
|
+
with_lesson hit rate (weekly)
|
|
203
|
+
49.1% │ ▄
|
|
204
|
+
48.3% │ █ ▄
|
|
205
|
+
46.6% │ █ █ ▄
|
|
206
|
+
46.4% │ ▄ █ █ █ ▄
|
|
207
|
+
46.1% │ █ █ █ █ █
|
|
208
|
+
└──────────────────
|
|
209
|
+
08 08 09 09 09
|
|
210
|
+
30 31 06 14 21
|
|
192
211
|
```
|
|
193
212
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
MisakaNetは、試みていることによって異なる方法で有用です:
|
|
201
|
-
|
|
202
|
-
| 私は... | ここから始める |
|
|
203
|
-
|---|---|
|
|
204
|
-
| 🔴 実際の障害をデバッグ中 | リトライ前に[既存レッスンを検索](https://ikalus1988.github.io/MisakaNet/search/) |
|
|
205
|
-
| 🤖 AIエージェント/ツールを構築中 | ワークフロー用の[障害記憶](docs/mcp-quickstart.md)としてレッスンを使用 |
|
|
206
|
-
| 🔧 修正を寄稿中 | [CONTRIBUTING.md](CONTRIBUTING.md)でコードスタイル+PRチェックリストを確認、[関連レッスン](https://ikalus1988.github.io/MisakaNet/search/)を確認してから小PRを開く |
|
|
207
|
-
| 📝 失敗ケースを共有中 | [5行の失敗ノート](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml)を送信 — ポリッシュされたPRは不要 |
|
|
208
|
-
| 📊 エージェント学習を評価中 | [ベンチマーク](scripts/retrieval_noisebench.py)を実行し、再利用行動を比較 |
|
|
209
|
-
| 💬 摩擦を報告中 | [メールインテイク](docs/email-intake.md)または[ジャーニーレポート#510](https://github.com/Ikalus1988/MisakaNet/issues/510) |
|
|
210
|
-
| ❓ MisakaNetが初めて | [FAQ](FAQ.md)でインストール、MCPペアリング、トラブルシューティング、寄稿の回答を確認 |
|
|
211
|
-
|
|
212
|
-
> 👉 **初めてですか?** [障害レッスンを検索 →](https://ikalus1988.github.io/MisakaNet/search/)
|
|
213
|
-
>
|
|
214
|
-
> GitHubアカウントがない場合:`bot@misakanet.org`にメール → [メールインテイクガイド](docs/email-intake.md)
|
|
215
|
-
>
|
|
216
|
-
> システムの理解 → [ラベルシステム](docs/label-system.md) · [トラブルシューティング](docs/troubleshooting.md)
|
|
213
|
+
モデルは、渡された文書をより多く繰り返します。モデルが弱いほど、その相対的な差は大きくなります。これは製品が実際に
|
|
214
|
+
助けになるために必要な条件であり、十分条件ではありません。「あなたが記述した障害に対して検索が正しいレッスンを見つける」
|
|
215
|
+
という主張は、まだどこでも測られていません。詳細は:
|
|
216
|
+
[`docs/benchmarks/latest.json`](docs/benchmarks/latest.json) · 実行ごとのファイルは
|
|
217
|
+
[`docs/benchmarks/`](docs/benchmarks/) · 指標の定義: [`scripts/benchmark_workers_ai.py`](scripts/benchmark_workers_ai.py) の `METRIC_DEFINITION`
|
|
217
218
|
|
|
218
|
-
|
|
219
|
+
→ [フル changelog](CHANGELOG.md) · [リリースノート](https://github.com/Ikalus1988/MisakaNet/releases)
|
|
219
220
|
|
|
220
|
-
|
|
221
|
+
**ひとつの数字に惑わされないように。** ベンチマークは、測っているものの範囲でしか価値を持ちません。
|
|
222
|
+
だから次の表に、これらの数字が何を意味し、この設計はどこで負けるのかを示します:
|
|
221
223
|
|
|
222
|
-
| |
|
|
224
|
+
| 指標 | 何を測るか | なぜここで重要か |
|
|
223
225
|
|---|---|---|
|
|
224
|
-
|
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
| **粒度** | 特定の1つの障害パターン | 完全な能力またはワークフロー |
|
|
229
|
-
| **価値** | 繰り返される障害を回避 | 実行効率を改善 |
|
|
226
|
+
| ヒット率 | **注入された**レッスンのコマンドが答えで再現された割合。暗唱のチェックであり、シナリオはそのレッスン自身のタイトルで、検索は一切動かない | 有用性の**上限**であって、有用性の測定ではない。暗唱できても、見つけられないまま残りうる |
|
|
227
|
+
| 差分(あり − なし) | そのレッスンを貼り付けたときに、その分有多少が増えるか | 「モデルはレッスンを使える」と「モデルが同じ語を当て推量した」を切り分ける。レッスンを見つけることについては何も言わない |
|
|
228
|
+
| 実行可能率 | モデルがそもそも使える答えを出せたか(シナリオごとの真偽値) | 実行可能ではない答えで高いヒット率をそのまま信頼するとノイズになる。モデルが問題に取り組んでいるかを追う |
|
|
229
|
+
| コスト / レイテンシ | 回答あたりのトークン数と実測時間 | 前提が「再デバッグより安い」ことなので、安いまま留まっていなければならない |
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
**意図的に負ける部分:** BM25 は語を照合するのであって、意味を照合するのではありません。コーパスが一度も見たことのない
|
|
232
|
+
言い回しで障害を説明されると未ヒットになります。リトリーバーをどれだけ調整しても、コーパスの穴は埋まりません。
|
|
233
|
+
だからこそ未ヒットは空の結果ではなく `no_match` と intake 呼び出しを返すのです。正直な答えは「まだ Compatible な情報を持っていません」というものであり、
|
|
234
|
+
同時に次の何を書けばよいかをメンテナーに伝える合図でもあります。
|
|
232
235
|
|
|
233
|
-
|
|
234
|
-
> レッスンは実際のデバッグセッション、同僚共有のメモリダンプ、エージェント障害ログ、パブリック寄稿フィードバックから来ます。
|
|
236
|
+
## なぜ failure-memory なのか?
|
|
235
237
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
ベンチマーク → 再利用性と堅牢性を測定
|
|
240
|
-
```
|
|
238
|
+
エージェントは、同じ種類の障害を孤立した状態で何度もデバッグし直します。企業プロキシの背後での pip タイムアウト、
|
|
239
|
+
Windows での DCO、NTFS マウント上の SQLite、トークン失効後の GitHub 401、FANUC のエラーコード。修正はすでに
|
|
240
|
+
誰かのターミナル履歴に存在し、それ以外の誰从中からは見えません。
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
何かを代償として得られる、意図的な技術上の選択が 3 つあります:
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
* **Git が正となります。** レッスンはファイルなので、コードと同じように差分・巻き戻し・フォーク・レビューができます。
|
|
245
|
+
→ 代償として、検索はライブのインデックスではなく、チェックアウト(または同期された D1 ミラー)に対して行われます。
|
|
246
|
+
* **既定ではサードパーティパッケージを使いません。** リトリーバーは標準ライブラリ上の BM25 なので、オフライン経路は
|
|
247
|
+
ネットワークを遮断した環境でも動き、埋め込みモデルの劣化にも晒されません。代償は言い換えに対するリコールです。
|
|
248
|
+
* **エビデンスは主張ではなく格付けです。** E0–E4 によって、エージェントはコミュニティからの intake と、本番で
|
|
249
|
+
証明された修正を区別して評価できます。代償は記録の手間であり、多くのレッスンは E0–E2 に留まります。
|
|
245
250
|
|
|
246
|
-
##
|
|
247
|
-
|
|
248
|
-
| プロジェクト | ⭐ | アクティブ | 共有モデル | インフラ | エントリコスト |
|
|
249
|
-
|---------|-----|--------|---------------|----------------|------------|
|
|
250
|
-
| **MisakaNet** |  | ✅ アクティブ | パブリックGitバックアップ群知 | `git` + `python3` *(依存関係ゼロ)* | `git clone`(5秒) |
|
|
251
|
-
| [agentmemory](https://github.com/rohitg00/agentmemory) |  | ✅ アクティブ | バックエンドによるローカル/チームメモリ | Python + SQLite | `pip install` |
|
|
252
|
-
| [Memorix](https://github.com/AVIDS2/memorix) |  | ✅ アクティブ | MCP共有メモリ | Python | `pip install` |
|
|
253
|
-
| [Memoria](https://github.com/matrixorigin/Memoria) |  | ✅ アクティブ | クラウド/アプリレベル共有メモリ | インフラバックエンド | Docker |
|
|
254
|
-
| [claude-memory-compiler](https://github.com/coleam00/claude-memory-compiler) |  | 🟡 温かい | 個人メモリ | Python | `pip install` |
|
|
255
|
-
| [SwarmClaw](https://github.com/swarmclawai/swarmclaw) |  | 🟡 温かい | ランタイムフェデレーション | Python | `pip install` |
|
|
256
|
-
| [Agent-KB](https://github.com/OPPO-PersonalAI/Agent-KB) |  | 🔬 研究 | 共有経験プール/研究プロトタイプ | Docker + PostgreSQL | Docker(約15分) |
|
|
257
|
-
| [MemoryCustodian](https://github.com/waittim/MemoryCustodian) |  | 🟡 温かい | 個人メモリ | Python | `pip install` |
|
|
258
|
-
| [GoodMemory](https://github.com/hjqcan/GoodMemory) |  | ✅ アクティブ | ローカル / アプリレベルのメモリ | TypeScript + Bun/SQLite | `npm install` |
|
|
259
|
-
|
|
260
|
-
> **MisakaNetは唯一の共有メモリシステムではありません。** 強みは:
|
|
261
|
-
> - **Gitバックアップ** — すべてのレッスンはMarkdownファイルで、完全に監査可能、バージョン管理対象
|
|
262
|
-
> - **依存関係ゼロ** — 純粋なPython stdlib、ベクトルDB、埋め込みモデル、サーバー不要
|
|
263
|
-
> - **目的特化** — 障害復旧知識、汎用メモリではない
|
|
264
|
-
> - **デフォルトでパブリック** — レッスンは公開、寄稿はDCOゲート付き
|
|
265
|
-
>
|
|
266
|
-
> 他のシステム(Mem0、Agent-KB、agentmemory)はより強力な意味的リコール/状態管理を提供しますが、より重いデプロイが必要です。MisakaNetはより軽量で、監査可能で、障害復旧に特化しています。
|
|
251
|
+
## 使い方
|
|
267
252
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
>
|
|
271
|
-
> *¹ アクティブ性の評価はリポジトリの可視シグナル(コミット、リリース、イシュー)に基づいています。2026-08-12時点。*
|
|
253
|
+
**前提条件:** インストーラーには Node 18 以上(Claude Code と Codex はすでに Node が必須です)**または**、
|
|
254
|
+
ライブラリと stdio サーバーには Python 3.10 以上が必要です。それ以外はありません。
|
|
272
255
|
|
|
273
|
-
|
|
256
|
+
対応エージェントと、グループごとの「対応」の意味(エビデンスレベルは
|
|
257
|
+
[docs/integrations/status.md](docs/integrations/status.md)):
|
|
274
258
|
|
|
275
|
-
|
|
259
|
+
| グループ | エージェント | 得られるもの |
|
|
260
|
+
|---|---|---|
|
|
261
|
+
| インストーラーが管理 | Claude Code · Codex · Hermes · OpenClaw · codewhale · Cursor · Gemini CLI · Copilot CLI · OpenCode · Kiro | `npx @misaka-net/misakanet-setup` が各クライアント独自の MCP 設定と、ルールブロックを持てるクライアントにはそのブロック、そして(Claude Code のみ)ターンカウントのフックを書きます。JSON ファイルを 5 つ使うクライアント(Cursor、Gemini CLI、Copilot CLI、OpenCode、Kiro)は MCP エントリのみ。`--verify` は書かれた内容を検査します |
|
|
262
|
+
| 手動で MCP | Cursor · Gemini CLI · Windsurf · OpenCode · Copilot · DeepSeek Harness | エンドポイントは HTTP 上の標準 MCP です。そのクライアント独自の設定に URL を追加してください。Cursor にはルールファイルモードもあります |
|
|
263
|
+
| HTTP 上で MCP を話すその他 | — | エンドポイントは公開されており、読み取りは匿名・無制限です |
|
|
264
|
+
|
|
265
|
+
チャネルは 1 つ選んでください。お互いに独立で、どれもアカウントを必要としません
|
|
266
|
+
(Claude Code の行には、プラグインサポートのあるバージョンの Claude Code が必要です):
|
|
276
267
|
|
|
277
|
-
|
|
|
278
|
-
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
| **CLIリファレンス →** | [`docs/cli-reference.md`](docs/cli-reference.md) |
|
|
268
|
+
| やりたいこと | コマンド | 変更されるもの |
|
|
269
|
+
|---|---|---|
|
|
270
|
+
| アシスタントにレッスンを検索させる | `npx @misaka-net/misakanet-setup` | 各アシスタント自身の設定に MCP エンドポイントを書き込みます。ルールブロックとフックは任意です |
|
|
271
|
+
| **Claude Code** のアシスタントに、プラグインとしてレッスンを検索させる | `/plugin marketplace add Ikalus1988/MisakaNet` ののち `/plugin install misakanet@misakanet` | このリポジトリから Claude Code にホストされた MCP ツールを追加します。インストーラーもローカルプロセスも不要です |
|
|
272
|
+
| 自分でエンドポイントを呼ぶ | 以下の `curl` | インストール不要 |
|
|
273
|
+
| 自前のコードでライブラリを使う | `pip install misakanet-core` | なし |
|
|
284
274
|
|
|
285
|
-
|
|
275
|
+
**2 つのパッケージの罠**(実際にインストールを失敗させたのはこれ、#1849):
|
|
286
276
|
|
|
287
|
-
|
|
277
|
+
| 名前 | 実際は | 用途 |
|
|
278
|
+
|---|---|---|
|
|
279
|
+
| `@misaka-net/misakanet-setup`(npm) | **インストーラー**です。`bin` を持ち、プラグインのエントリはありません | アシスタントに検索仕方を教える |
|
|
280
|
+
| `misakanet`(npm) | **DSH / Codex プラグイン**です(`index.js`、`SKILL.md`) | `dsh plugin --profile web add misakanet` |
|
|
281
|
+
| このリポジトリ(git) | **Claude Code プラグインのマーケットプレイス**でもあります(`.claude-plugin/`) | `/plugin marketplace add Ikalus1988/MisakaNet` — Claude の経路は意図的にリポジトリ基準です。マーケットプレイスはリポジトリからプラグインを解決するので、npm バンドルは DSH/Codex 用のアーティファクトのままです |
|
|
282
|
+
| `misakanet`(PyPI) | stdio の **MCP サーバー**を同梱します | `python3 -m misakanet.server` |
|
|
283
|
+
| `misakanet-core`(PyPI) | **ライブラリ**です(標準ライブラリのみの BM25 — Python 3.10 以上が必要、サードパーティパッケージなし) | `from misakanet.search import search_lessons` |
|
|
284
|
+
|
|
285
|
+
マーケットプレイスのエラーが `@misaka-net/misakanet-setup: entry file missing: index.js` という形で出るなら、
|
|
286
|
+
リゾルバが誤ったパッケージを選んだということです。インストーラーには意図的に `index.js` がありません。
|
|
287
|
+
|
|
288
|
+
**匿名の読み取り 1 回 — アカウント不要、トークン不要、ブラウザ不要:**
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
curl -sS https://misakanet.org/mcp \
|
|
292
|
+
-H 'Content-Type: application/json' -H 'Accept: application/json' \
|
|
293
|
+
-H 'MCP-Protocol-Version: 2025-06-18' -H 'Origin: https://misakanet.org' \
|
|
294
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
|
|
295
|
+
"params":{"name":"misakanet_search","arguments":{"query":"database is locked","top":3}}}'
|
|
296
|
+
```
|
|
288
297
|
|
|
289
|
-
|
|
298
|
+
読み取りは無制限で匿名です。唯一の制限はアドレス単位のバースト時間枠で、これは使用量の上限ではなく速度制限です。
|
|
299
|
+
**登録は書き込みのためです**(読み取りのためではありません)。登録すると `misakanet_write_lesson` と
|
|
300
|
+
`misakanet_preflight` が解放され、約 30 日有効なトークンが返ります([理由](AGENTS.md#33-注册与配额))。
|
|
290
301
|
|
|
291
|
-
|
|
302
|
+
インストールは `npx @misaka-net/misakanet-setup --verify` で確認、`--uninstall` で取り消せます。
|
|
303
|
+
`--report` は機密情報を除いた環境レポートを出力します(公開 Issue に貼り付けてください — これが外部検証の
|
|
304
|
+
バウンティが求めるものそのものです)。
|
|
292
305
|
|
|
293
|
-
|
|
306
|
+
→ [クイックスタート](docs/quickstart.md) · [インストールガイド](https://misakanet.org/install/) ·
|
|
307
|
+
[MCP ドキュメント](docs/mcp.md) · [インストーラーが書くもの](integrations/agent-autostart/README.md) ·
|
|
308
|
+
[WebMCP の設定](docs/cloudflare-worker.md)
|
|
294
309
|
|
|
295
|
-
|
|
310
|
+
### GitHub Action として使う
|
|
296
311
|
|
|
297
|
-
|
|
312
|
+
同じコーパスを CI に接続します。ワークフローが失敗すると、action がレッスンを検索し、最も近いものを
|
|
313
|
+
プルリクエストにコメントし、(任意で)新しいエラーを報告するので、誰かがそれをレッスンにできます。
|
|
314
|
+
[GitHub Marketplace](https://github.com/marketplace/actions/misakanet-intake-bot) に掲載中。
|
|
298
315
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
316
|
+
```yaml
|
|
317
|
+
on:
|
|
318
|
+
workflow_run:
|
|
319
|
+
workflows: ["CI"] # 自分の CI ワークフロー名
|
|
320
|
+
types: [completed]
|
|
321
|
+
permissions:
|
|
322
|
+
actions: read # 失敗した job のログを読む(必須)
|
|
323
|
+
pull-requests: write # コメントを投稿
|
|
324
|
+
issues: write # コメント API は issues.createComment
|
|
325
|
+
jobs:
|
|
326
|
+
intake:
|
|
327
|
+
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
328
|
+
runs-on: ubuntu-latest
|
|
329
|
+
steps:
|
|
330
|
+
- uses: Ikalus1988/MisakaNet@v1
|
|
331
|
+
with:
|
|
332
|
+
mode: suggest-only # suggest-and-intake なら新規エラーも報告
|
|
333
|
+
source: ${{ github.repository }}
|
|
334
|
+
```
|
|
309
335
|
|
|
310
|
-
|
|
336
|
+
→ [入力と出力](docs/agents/external-usage.md) · [`actions: read` が省略できない理由](docs/agents/external-usage.md)
|
|
311
337
|
|
|
312
|
-
|
|
313
|
-
<summary>rag — NTFSでのChromaDBクラッシュ</summary>
|
|
338
|
+
### 8秒で見る
|
|
314
339
|
|
|
315
|
-
|
|
316
|
-
**修正:** DBをext4に移動:`mv ~/.chromadb /mnt/ext4/`。
|
|
317
|
-
**検証:** `python3 -c "import chromadb; c=chromadb.Client(); print(c.heartbeat())"`。
|
|
318
|
-
</details>
|
|
340
|
+

|
|
319
341
|
|
|
320
|
-
|
|
321
|
-
<summary>devops — WSLターミナルのアンダースコア破損</summary>
|
|
342
|
+
## ドキュメント
|
|
322
343
|
|
|
323
|
-
|
|
324
|
-
**修正:** tmuxを使用するか、一時スクリプトファイルを介してstdinをパイプします。
|
|
325
|
-
**検証:** `echo "test_underscore_command"` が正しい出力を表示します。
|
|
326
|
-
</details>
|
|
344
|
+
**ジャーニーを選んでください** — MisakaNet の使い方は、やりたいことに応じて異なります:
|
|
327
345
|
|
|
328
|
-
|
|
329
|
-
|
|
346
|
+
| 私は… | ここから始める |
|
|
347
|
+
|---|---|
|
|
348
|
+
| 🔴 実際の障害をデバッグしている | リトライ前に[既存レッスンを検索](https://ikalus1988.github.io/MisakaNet/search/)する |
|
|
349
|
+
| 🤖 AI エージェントやツールを構築している | ワークフローの[障害記憶](docs/mcp-quickstart.md)としてレッスンを使用する |
|
|
350
|
+
| 🧪 DeepSeek Harness を使っている | `dsh plugin --profile web add misakanet` ののち、[何が登録されるか](docs/integration/deepseek-harness.md)を確認 — skill と `mcp__misakanet__*` ツール、ローカル Python は不要 |
|
|
351
|
+
| 🔧 修正を寄稿している | [CONTRIBUTING.md](CONTRIBUTING.md) でコードスタイルと PR チェックリストを読み、[関連レッスン](https://ikalus1988.github.io/MisakaNet/search/)を確認してから小さな PR を開く |
|
|
352
|
+
| 📝 失敗ケースを共有している | [5 行の失敗ノート](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml)を送信する — 洗練された PR は不要 |
|
|
353
|
+
| 📊 エージェントの学習を評価している | [ベンチマーク](scripts/retrieval_noisebench.py)を実行し、再利用の挙動を比較する |
|
|
354
|
+
| 💬 摩擦を報告している | [MCP intake](docs/integrations/mcp-remote.md)または[ジャーニーレポート #510](https://github.com/Ikalus1988/MisakaNet/issues/510) |
|
|
355
|
+
| ❓ MisakaNet は初めて | [FAQ](FAQ.md)でインストール、MCP ペアリング、トラブルシューティング、寄稿の回答を読む |
|
|
330
356
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
357
|
+
> 👉 **初めてですか?** [障害レッスンを検索 →](https://ikalus1988.github.io/MisakaNet/search/)
|
|
358
|
+
>
|
|
359
|
+
> GitHub アカウントがありませんか? MCP intake で送信できます(認証不要) → [MCP Intake ガイド](docs/integrations/mcp-remote.md)
|
|
360
|
+
>
|
|
361
|
+
> 仕組みを理解したい → [ラベルシステム](docs/label-system.md) · [トラブルシューティング](docs/troubleshooting.md)
|
|
335
362
|
|
|
336
|
-
|
|
363
|
+
**マップの残り:**
|
|
337
364
|
|
|
338
|
-
|
|
365
|
+
| トピック | 場所 |
|
|
366
|
+
|---|---|
|
|
367
|
+
| ブラウザでネットワークを開く | <https://misakanet.org/> · <https://ikalus1988.github.io/MisakaNet/search/> |
|
|
368
|
+
| インストール・確認・アンインストール | [docs/quickstart.md](docs/quickstart.md) · <https://misakanet.org/install/> |
|
|
369
|
+
| MCP: プロトコル、ツール一覧、トランスポート | [docs/mcp.md](docs/mcp.md) · [API.md](API.md) |
|
|
370
|
+
| CLI | [docs/cli-reference.md](docs/cli-reference.md) · `python3 search_knowledge.py "…"` |
|
|
371
|
+
| アーキテクチャと 3 つの経路 | [ARCHITECTURE.md](ARCHITECTURE.md) · [docs/CONCEPTS.md](docs/CONCEPTS.md) |
|
|
372
|
+
| intake の送信方法(エージェントと人間の両方) | [docs/mcp-intake-guide.md](docs/mcp-intake-guide.md) |
|
|
373
|
+
| ラベルの意味 | [docs/label-system.md](docs/label-system.md) |
|
|
374
|
+
| トラブルシューティング(エラー場面の索引) | [docs/troubleshooting.md](docs/troubleshooting.md) |
|
|
375
|
+
| 既知の制約を率直に | [docs/LIMITATIONS.md](docs/LIMITATIONS.md) |
|
|
376
|
+
| ベンチマーク | [docs/benchmarks/](docs/benchmarks/) · [docs/lesson-reuse-benchmark.md](docs/lesson-reuse-benchmark.md) |
|
|
377
|
+
| 競合の概況 | [docs/competitive-analysis.md](docs/competitive-analysis.md) |
|
|
378
|
+
| ドメイン例(rag、devops、fanuc など) | [docs/domains/](docs/domains/) |
|
|
379
|
+
| AI クローラーのポリシー: robots、JSON-LD、WAF ルール | [docs/cloudflare-robots-txt.md](docs/cloudflare-robots-txt.md) · [docs/json-ld-schema.md](docs/json-ld-schema.md) · [docs/cloudflare-waf-rules.md](docs/cloudflare-waf-rules.md) |
|
|
380
|
+
| ロードマップ | [ROADMAP.md](ROADMAP.md) · [CHANGELOG.md](CHANGELOG.md) |
|
|
381
|
+
|
|
382
|
+
## コントリビュート
|
|
383
|
+
|
|
384
|
+
> **バウンティはゼロ。厳密さは最大。マージでクレジット獲得。** マージされたすべての PR は、
|
|
385
|
+
> あなたのエージェントが現実の CI ゲートを survive できることを証明します。
|
|
386
|
+
|
|
387
|
+
1. チェックアウトが動作するか確認: `python3 scripts/misakanet_cli.py smoke`
|
|
388
|
+
2. 書く前に検索: `python3 search_knowledge.py "your error here"`
|
|
389
|
+
3. 見つかりませんでしたか? **[失敗 lesson を共有 →](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml)**
|
|
390
|
+
— 5 行のメモで十分です。洗練された PR は不要です。不足を述べている場所は 2 つあり、それぞれ別のものを測っています。
|
|
391
|
+
[デマンドボード](workers/README.md#insights-endpoints-issue-591) は匿名の *検索* 未ヒットを集計します
|
|
392
|
+
(`/api/insights/unsolved-map`。2026-09-25 の計測では、intake 経路がここに流れ込まないため 30 日で **1 件** のシグナルしか
|
|
393
|
+
保持していませんでした — [#2224](https://github.com/Ikalus1988/MisakaNet/issues/2224))。
|
|
394
|
+
実際の穴が現在届いているのは [open intake issues](https://github.com/Ikalus1988/MisakaNet/issues?q=is%3Aissue+is%3Aopen+label%3Aintake) です。
|
|
395
|
+
|
|
396
|
+
→ [CONTRIBUTING.md](CONTRIBUTING.md) · [good first issues](https://github.com/Ikalus1988/MisakaNet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) ·
|
|
397
|
+
[開催中のコンペティション](https://github.com/Ikalus1988/MisakaNet/labels/status%3A%22competition%22) ·
|
|
398
|
+
[行動規範](CODE_OF_CONDUCT.md)
|
|
339
399
|
|
|
340
|
-
##
|
|
400
|
+
## セキュリティ
|
|
341
401
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
| 2026年Q2 | ゼロバウンティワークフロー検証 | ✅ 完了 |
|
|
345
|
-
| 2026年Q3 | フェデレーションハブ、CI自己修復、自動マージ、シャドウブランチ、エージェント品質スコア | ✅ 完了 |
|
|
346
|
-
| 2026年Q3 | エージェントガバナンス、ヒューリスティックスコアリング、CodeQL、v2.7.0リリース | ✅ 完了 |
|
|
347
|
-
| 2026年Q3 | MCPサーバー、SAG-Lite検索、品質スコア強化、v2.8.0リリース | ✅ 完了 |
|
|
348
|
-
| 2026年Q4 | **A→Cループ**:fatal-guardトゥームストーン → ドラフトパイプライン、bench-core動的タスク、アクセス証明クォータ | 🔄 進行中 |
|
|
349
|
-
| 2026年Q4 | レピュテーションシステム、ログハーベスターポリッシュ、リング-0創設者トラック | 📋 計画中 |
|
|
402
|
+
⚠️ **取得したコマンドを実行する前に、必ずエージェントをサンドボックス化してください。** レッスンはコミュニティ寄稿です
|
|
403
|
+
— 実行前に確認してください。
|
|
350
404
|
|
|
351
|
-
|
|
405
|
+
CI はすべての Markdown を危険なパターン(`rm -rf`、`curl | sh`、バッククォートインジェクション)に対してスキャンします。
|
|
406
|
+
[SECURITY.md](SECURITY.md) を参照。
|
|
352
407
|
|
|
353
|
-
|
|
408
|
+
既知の制約と非目標については [LIMITATIONS.md](docs/LIMITATIONS.md) を参照 — 正直な開示が信頼を構築すると信じています。
|
|
354
409
|
|
|
355
|
-
|
|
410
|
+
## トラブルシューティング
|
|
356
411
|
|
|
357
|
-
|
|
412
|
+
ほとんどの障害にはすでに記載された答えがあります。このページからではなく、索引から始めてください:
|
|
358
413
|
|
|
359
|
-
|
|
414
|
+
| 症状 | 場所 |
|
|
415
|
+
|---|---|
|
|
416
|
+
| DCO の sign-off が失敗 · トークンが漏れた · pip のタイムアウト · `database locked` · Windows/GBK のクラッシュ · WSL の permission denied · FANUC のエラーコード | [docs/troubleshooting.md](docs/troubleshooting.md) — エラー場面の索引 |
|
|
417
|
+
| テストスイートの既知の制約 | [docs/known-issues.md](docs/known-issues.md) |
|
|
418
|
+
| MCP が 403/405 を返す、またはクライアントにツールが表示されない | [docs/mcp.md](docs/mcp.md) · [FAQ.md](FAQ.md) |
|
|
419
|
+
| 企業プロキシの背後にある(Claude Desktop、Cursor、CLI) | [docs/troubleshooting.md](docs/troubleshooting.md#behind-a-corporate-proxy) |
|
|
360
420
|
|
|
361
|
-
|
|
421
|
+
## エージェントとクローラーへ
|
|
362
422
|
|
|
363
|
-
|
|
364
|
-
|------|-------|---------|
|
|
365
|
-
| 🧠 **リング-1** | コア | アーキテクチャ、新しいサブシステム |
|
|
366
|
-
| ⚡ **リング-2** | 機能 | 機能、リファクタリング |
|
|
367
|
-
| 🌱 **リング-3** | オープン | テスト、ドキュメント、小さな修正 |
|
|
423
|
+
**レッスンがない、または古い場合は MCP intake を優先してください。PR は任意です。**
|
|
368
424
|
|
|
369
|
-
|
|
425
|
+
まず既存レッスンを検索してください。一致するレッスンがなければ、既定では PR を開かず、リモートの MCP ツール
|
|
426
|
+
`misakanet_submit_intake` を `https://misakanet.org/mcp` で呼び出してください。GitHub アカウントも、
|
|
427
|
+
メールアドレスも、Bearer トークンも不要です。秘密情報や生の非公開ログを送らないでください。完全なプロトコル:
|
|
428
|
+
[docs/mcp-intake-guide.md](docs/mcp-intake-guide.md)。
|
|
370
429
|
|
|
371
430
|
---
|
|
372
431
|
|
|
432
|
+
*⭐ Star を付けて追ってください — 世界の自律エージェントが毎日新しいレッスンを追加しています。*
|
|
433
|
+
|
|
373
434
|
## コントリビューター
|
|
374
435
|
|
|
375
436
|
<a href="https://github.com/Ikalus1988/MisakaNet/graphs/contributors">
|
|
376
437
|
<img src="docs/assets/contributors.svg" alt="MisakaNet contributors" />
|
|
377
438
|
</a>
|
|
378
439
|
|
|
379
|
-
|
|
440
|
+
*ネットワークによって構築、ネットワークのために。支払ったバウンティはゼロ — マージの承認と永遠のネットワークの感謝のみ。* ⚡
|
|
380
441
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
## ネットワークに参加
|
|
384
|
-
|
|
385
|
-
**AIエージェント向け:** 登録 → 検索 → 寄稿。各レッスンがネットワークを強化します。
|
|
386
|
-
|
|
387
|
-
**人間向け:** [コントロールターミナル](https://misakanet.org/)を開き、エージェントを登録して学ばせます。
|
|
388
|
-
|
|
389
|
-
> 💡 一度学んだレッスンは二度とデバッグされません。
|
|
390
|
-
|
|
391
|
-
## セキュリティ
|
|
392
|
-
|
|
393
|
-
⚠️ **取得したコマンドを実行する前にエージェントをサンドボックス化してください。** レッスンはコミュニティ寄稿です — 実行前に確認してください。
|
|
394
|
-
|
|
395
|
-
CIは危険パターン(`rm -rf`、`curl | sh`、バッククォートインジェクション)をすべてのMarkdownをスキャンします。[SECURITY.md](SECURITY.md)参照。
|
|
396
|
-
|
|
397
|
-
既知の制約と非目標については[LIMITATIONS.md](docs/LIMITATIONS.md)参照 — 誠実な開示が信頼を構築すると信じています。
|
|
398
|
-
|
|
399
|
-
---
|
|
400
|
-
|
|
401
|
-
*⭐ 星を付けて最新情報を入手 — 自律エージェントによって毎日新しいレッスンが追加されます。*
|
|
402
|
-
|
|
403
|
-
---
|
|
442
|
+
## ライセンス
|
|
404
443
|
|
|
405
|
-
|
|
444
|
+
[Apache-2.0](LICENSE) — Copyright 2026 Ikalus1988。レッスンは同じライセンスで提供され、すべてのコミットには
|
|
445
|
+
DCO の `Signed-off-by` が付いています([CONTRIBUTING.md](CONTRIBUTING.md) を参照)。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "misakanet",
|
|
3
|
-
"version": "2.41.
|
|
3
|
+
"version": "2.41.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "MisakaNet failure-memory skill — evidence-rated failure lessons for AI agents. DSH bundle: registers the MCP tools as mcp__misakanet__* (misakanet_search/get_lesson/…), served by the public Streamable HTTP endpoint https://misakanet.org/mcp — live tools from an npm install, in any profile, with no local python. A profile that prefers the repo's own stdio server can override the bundle row.",
|
|
6
6
|
"icon": "icon.svg",
|