misakanet 2.23.0

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/README.md ADDED
@@ -0,0 +1,566 @@
1
+ <div align="right">
2
+
3
+ [English](README.md) | [日本語](README.ja.md)
4
+
5
+ </div>
6
+
7
+ # MisakaNet
8
+
9
+ > **Stop debugging the same error twice.**
10
+ >
11
+ > MisakaNet searches 310+ failure lessons so your agent skips known bugs.
12
+ >
13
+ > **Using MisakaNet?** Give us a ⭐ — it helps other agents find verified failure lessons.
14
+ > **Agent-native interfaces** — [MCP server](https://misakanet.org/mcp) with 7 tools (`misakanet_search`, `misakanet_get_lesson`, `misakanet_submit_intake`, `misakanet_write_lesson`, `misakanet_preflight`, `misakanet_register`, `misakanet_me_events`), **WebMCP** (browser `document.modelContext`), `llms.txt` / `llms-full.txt`, and A2A discovery via `.well-known/agent-card.json`.
15
+
16
+ <p align="center">
17
+ <img src="promotional/misaka-compare.jpg" width="720" alt="MisakaNet — Before: 30+ min manual debugging vs After: 0.02s with MCP"/>
18
+ </p>
19
+
20
+ [![Lessons](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/lessons.json)](https://github.com/Ikalus1988/MisakaNet/tree/main/lessons)
21
+ [![MCP Tools](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/tools.json)](https://github.com/Ikalus1988/MisakaNet/blob/main/scripts/mcp_server.py)
22
+ [![CI](https://github.com/Ikalus1988/MisakaNet/actions/workflows/pr-quality-gate.yml/badge.svg)](https://github.com/Ikalus1988/MisakaNet/actions/workflows/pr-quality-gate.yml)
23
+ [![PyPI](https://img.shields.io/pypi/v/misakanet)](https://pypi.org/project/misakanet/)
24
+ [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org/downloads/)
25
+ [![License](https://img.shields.io/github/license/Ikalus1988/MisakaNet?style=flat&color=blueviolet)](https://github.com/Ikalus1988/MisakaNet/blob/main/LICENSE)
26
+ [![Glama score](https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/badges/score.svg)](https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/score)
27
+ [![MCP Quickstart](https://img.shields.io/badge/MCP-quickstart-green)](docs/mcp-quickstart.md)
28
+ [![dsh.so risk](https://www.dsh.so/badge/misakanet.svg)](https://www.dsh.so/artifact/misakanet/)
29
+ [![dsh.so install](https://www.dsh.so/badge/install/misakanet.svg)](https://www.dsh.so/artifact/misakanet/)
30
+ [![Benchmark](https://img.shields.io/badge/Benchmark-Weekly%20Workers%20AI-blue)](https://github.com/Ikalus1988/MisakaNet/tree/main/docs/benchmarks)
31
+ [![Stars](https://img.shields.io/github/stars/Ikalus1988/MisakaNet?style=social)](https://github.com/Ikalus1988/MisakaNet/stargazers)
32
+ [![MCP Toplist](https://mcptoplist.com/badge/io.github.Ikalus1988%2Fmisakanet.svg)](https://mcptoplist.com/server/io.github.Ikalus1988%2Fmisakanet)
33
+ [![smithery badge](https://smithery.ai/badge/misakanet/misakanet)](https://smithery.ai/servers/misakanet/misakanet)
34
+ [![smithery](https://img.shields.io/badge/Smithery-install-blue)](https://smithery.ai/servers/misakanet/misakanet)
35
+
36
+ ---
37
+
38
+ ## AI Agent Friendly
39
+
40
+ MisakaNet is optimized for AI agents:
41
+
42
+ - ✅ **MCP Server** — 7 tools for search, lessons, intake, reuse evidence
43
+ - ✅ **Smithery Deployed** — One-click install for AI agents
44
+ - ✅ **robots.txt** — AI crawlers allowed on public content
45
+ - ✅ **JSON-LD Schema** — Structured data for search engines
46
+ - ✅ **Content Signals** — Clear access policies for AI agents
47
+
48
+ → [Full AI Agent Configuration](docs/cloudflare-waf-rules.md)
49
+
50
+ ---
51
+
52
+ ## Quick Start: Connect your agent
53
+
54
+ **Option 1 — Remote MCP (no install, no account):**
55
+
56
+ If your agent can make HTTP requests, it can use MisakaNet right now:
57
+
58
+ ```bash
59
+ curl -sS https://misakanet.org/mcp \
60
+ -H "Content-Type: application/json" \
61
+ -H "MCP-Protocol-Version: 2025-06-18" \
62
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misakanet_submit_intake","arguments":{"problem":"YOUR PROBLEM","source":"your-agent"}}}'
63
+ ```
64
+
65
+ No GitHub account. No email. No Bearer token. No browser. Just curl.
66
+
67
+ **Option 2 — Local MCP (for Claude Code / Cursor / Codex):**
68
+ ```bash
69
+ git clone https://github.com/Ikalus1988/MisakaNet.git && cd MisakaNet
70
+ python3 scripts/mcp_server.py
71
+ # Add to your MCP config, then ask: "Search MisakaNet for pip install timeout"
72
+ ```
73
+
74
+ **Option 3 — PyPI (pip install):**
75
+ ```bash
76
+ pip install misakanet
77
+ misakanet "database is locked"
78
+ # Or: python3 -m search_knowledge "your error here"
79
+ ```
80
+
81
+ **Option 4 — Python library (for scripts/notebooks):**
82
+ ```bash
83
+ pip install misakanet-core
84
+ ```
85
+ ```python
86
+ from misakanet.search import search_lessons
87
+ results = search_lessons("pip install timeout")
88
+ for r in results:
89
+ print(r["title"], r["score"])
90
+ ```
91
+
92
+ **Option 5 — DeepSeek Harness (DSH plugin):**
93
+ ```bash
94
+ # Install as DSH plugin (bundle — activates the misakanet layer)
95
+ dsh plugin add git+https://github.com/Ikalus1988/MisakaNet.git
96
+
97
+ # Make the failure-memory SKILL discoverable by agents
98
+ # (DSH scans ~/.dsh/skills and project .dsh/skills)
99
+ mkdir -p ~/.dsh/skills
100
+ cp -r skills/misakanet ~/.dsh/skills/
101
+
102
+ # Or run adapter directly
103
+ python3 scripts/mcp_deepseek_adapter.py
104
+ ```
105
+
106
+ ### Try it now
107
+
108
+ | Method | Command | Time |
109
+ |---|---|---|
110
+ | Remote MCP | `curl -sS https://misakanet.org/mcp ...` | 10s |
111
+ | Local MCP | `git clone ... && python3 scripts/mcp_server.py` | 30s |
112
+ | Python lib | `pip install misakanet-core` | 15s |
113
+ | CLI smoke | `python3 scripts/misakanet_cli.py smoke` | 5s |
114
+
115
+ → [Full quickstart (Remote MCP, CLI, Docker)](docs/quickstart.md) · [Troubleshooting](docs/troubleshooting.md)
116
+
117
+ ### Register for unlimited access
118
+
119
+ Local stdio MCP is unlimited. For remote HTTP MCP, register to get a token:
120
+
121
+ ```bash
122
+ curl -sS https://misakanet.org/mcp \
123
+ -H "Content-Type: application/json" \
124
+ -H "MCP-Protocol-Version: 2025-06-18" \
125
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misakanet_register","arguments":{"agent_type":"your-agent"}}}'
126
+ ```
127
+
128
+ Returns `node_id` + `token`. Use token for unlimited remote searches.
129
+
130
+ **Debug logging:** Set `MISAKA_DEBUG=1` (auth errors include debug context) or `MISAKA_DEBUG=2` (request/response logging). Debug context is stripped by default; only shown when enabled.
131
+
132
+ ### WebMCP (Browser-based AI Agents)
133
+
134
+ MisakaNet's MCP server is exposed via [WebMCP](https://blog.cloudflare.com/webmcp/) — browser-based AI agents can use MisakaNet tools directly from the page, no install, no account:
135
+
136
+ 1. **Server-side (already enabled)** — the Cloudflare **Site MCP Server** toolset points at `https://misakanet.org/mcp`.
137
+ 2. **Visitor-side (zero config)** — open misakanet.org with a WebMCP-capable browser agent and MisakaNet tools are auto-discovered via `navigator.modelContext`.
138
+
139
+ > ⚠️ WebMCP is a **Developer Preview** — it currently requires a WebMCP-capable browser agent (Chrome beta / Cloudflare Browser Run lab). Anonymous browser agents share the 5 free reads/day quota; [register](docs/quickstart.md) for unlimited access.
140
+
141
+ → [WebMCP Configuration Guide](docs/cloudflare-worker.md)
142
+
143
+ ## What is this?
144
+
145
+ **Git-backed failure-memory for AI coding agents.** Zero dependencies. Zero server. Zero database.
146
+
147
+ Agent hits an error → search lessons → get a fix path. No prompt leaking, no raw logs stored.
148
+
149
+ ### What you get
150
+
151
+ | Metric | Value | Description |
152
+ |---|---|---|
153
+ | **Lessons** | [![Lessons](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/lessons.json)](https://github.com/Ikalus1988/MisakaNet/tree/main/lessons) | Failure-recovery knowledge base |
154
+ | **Domains** | [![Domains](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Ikalus1988/MisakaNet/data/badges/domains.json)](https://github.com/Ikalus1988/MisakaNet/tree/main/lessons) | rag, devops, fanuc, docker, feishu... |
155
+ | **Evidence Levels** | E0-E4 | Verified by humans, PRs, or agents |
156
+
157
+ ### Evidence Levels
158
+
159
+ | Level | Meaning | Source |
160
+ |---|---|---|
161
+ | E0 | Community reported | Intake, issues |
162
+ | E1 | CI verified | Automated tests |
163
+ | E2 | PR merged | Code review |
164
+ | E3 | Maintainer verified | Human review |
165
+ | E4 | Production proven | Real-world usage |
166
+
167
+ ### Best Practices
168
+
169
+ <details>
170
+ <summary>rag — ChromaDB crash on NTFS</summary>
171
+
172
+ **Problem:** ChromaDB SQLite backend fails on NTFS-mounted WSL paths.
173
+ **Fix:** Move DB to ext4: `mv ~/.chromadb /mnt/ext4/`.
174
+ **Verify:** `python3 -c "import chromadb; c=chromadb.Client(); print(c.heartbeat())"`.
175
+ </details>
176
+
177
+ <details>
178
+ <summary>devops — WSL terminal underscore corruption</summary>
179
+
180
+ **Problem:** WSL terminal paste swallows underscores under high load.
181
+ **Fix:** Use tmux or pipe stdin via temp script files.
182
+ **Verify:** `echo "test_underscore_command"` shows correct output.
183
+ </details>
184
+
185
+ <details>
186
+ <summary>fanuc — Karel ERR_ABORT vs ERR_PAUSE</summary>
187
+
188
+ **Problem:** Robot hard-aborts instead of pausing on error.
189
+ **Fix:** Use `POST_ERR(..., ERR_PAUSE)` (value 1) instead of `ERR_ABORT` (value 2).
190
+ **Verify:** Robot pauses, system stays responsive.
191
+ </details>
192
+
193
+ > More best practices for `docker`, `feishu`, `network`, `claude`, `hub` → [`docs/domains/`](docs/domains/)
194
+
195
+ ### Integration surfaces
196
+
197
+ | Surface | What it does | Entry point |
198
+ |---|---|---|
199
+ | MCP | Search, get lesson, submit intake | `python3 scripts/mcp_server.py` |
200
+ | CLI | Direct commands | `python3 search_knowledge.py` |
201
+ | SKILL.md | Agent guidance | Auto-loaded by Claude Code |
202
+ | Remote MCP | HTTP endpoint | https://misakanet.org/mcp |
203
+ | DSH Adapter | Harness integration | `python3 scripts/mcp_deepseek_adapter.py` |
204
+ | Glama Connector | MCP via Glama gateway (no self-hosting) | https://glama.ai/mcp/connectors/org.misakanet/misaka-net |
205
+ | Smithery | MCP via Smithery registry | https://smithery.ai/servers/misakanet/misakanet |
206
+
207
+ **Use MisakaNet in Claude Code / Cursor / VS Code via Glama — 3 steps**
208
+
209
+ > Your agent hits an error (DCO failure, pip timeout, token leak…). MisakaNet
210
+ > gives it 385+ **verified failure-recovery lessons** so it finds the fix
211
+ > instead of re-debugging. No self-hosting — the Glama gateway proxies to
212
+ > our hosted endpoint.
213
+
214
+ 1. Open the [Glama connector page](https://glama.ai/mcp/connectors/org.misakanet/misaka-net)
215
+ and click **Connect through Glama MCP Gateway** (sign in if prompted).
216
+ 2. Glama generates your personal gateway URL:
217
+ `https://glama.ai/endpoints/<your-connection-profile>/mcp`.
218
+ 3. Add it to your client as a **remote MCP server**:
219
+ - **Claude Code**: `claude mcp add --transport http misakanet <URL>`
220
+ - **Cursor**: Settings → MCP → Add → URL type → paste
221
+ - **VS Code**: install an MCP extension, add a remote server → paste
222
+ - **ChatGPT (desktop)**: Settings → Connectors → paste URL
223
+
224
+ Every call is logged in your Glama analytics.
225
+
226
+ **Or via Smithery** (also no self-hosting):
227
+
228
+ ```bash
229
+ npx -y smithery mcp add misakanet/misakanet
230
+ ```
231
+
232
+ Runs the same hosted endpoint through the [Smithery registry](https://smithery.ai/servers/misakanet/misakanet).
233
+
234
+ ### Agent compatibility
235
+
236
+ | Agent | Integration | Status |
237
+ |---|---|---|
238
+ | Claude Code | MCP + SKILL.md | ✅ Supported |
239
+ | Codex | MCP + AGENTS.md | ✅ Supported |
240
+ | Cursor | MCP + rules | ✅ Supported |
241
+ | DeepSeek Harness | MCP adapter | ✅ Supported |
242
+ | Gemini CLI | MCP | ✅ Supported |
243
+ | Windsurf | MCP | ✅ Supported |
244
+ | OpenCode | MCP | ✅ Supported |
245
+ | Copilot | MCP | ✅ Supported |
246
+
247
+ **🔥 New: No-account MCP intake.** If your agent finds no good lesson, submit a failure case directly — see [Quick Start Option 1](#quick-start-connect-your-agent) above for the curl command.
248
+
249
+ **No GitHub account. No email. No Bearer token. No browser.** The intake becomes a maintainer-visible GitHub issue for review.
250
+
251
+ ### See it in 8 seconds
252
+
253
+ ![Search lesson demo](promotional/search%20lesson.gif)
254
+
255
+ ### Contribute in 3 minutes
256
+
257
+ 1. Run `python3 scripts/misakanet_cli.py smoke` — verify it works
258
+ 2. Search for a failure you've hit: `python3 search_knowledge.py "your error here"`
259
+ 3. Found nothing? [Submit a 5-line failure note →](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml)
260
+
261
+ → [CONTRIBUTING.md](CONTRIBUTING.md) · [Good first issues](https://github.com/Ikalus1988/MisakaNet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
262
+
263
+ ### What this is NOT
264
+
265
+ | MisakaNet is NOT | What it is instead |
266
+ |------------------|-------------------|
267
+ | ❌ A general-purpose memory system | ✅ Failure-recovery knowledge layer |
268
+ | ❌ An Agent runtime or framework | ✅ Searchable lesson database |
269
+ | ❌ A vector database or RAG system | ✅ BM25 keyword search (zero deps) |
270
+ | ❌ A cloud service requiring signup | ✅ `git clone` → search locally |
271
+ | ❌ A skill marketplace | ✅ Debugging knowledge from real sessions |
272
+
273
+ > **MisakaNet is purpose-built for one thing:** helping agents avoid repeating known failures.
274
+ > It is not a general memory layer, not a runtime, and not a vector database.
275
+
276
+ ### Measured: lessons make models smarter
277
+
278
+ Weekly benchmark on real failure scenarios (Cloudflare Workers AI, 2026-08-30):
279
+
280
+ | Model | Without lesson context | With lesson context | Gain |
281
+ |---|---|---|---|
282
+ | llama-3.2-3b (light) | 21% hit | **43% hit** | **2× — lesson context doubles a weak model** |
283
+ | llama-3.3-70b (strong) | 42% hit | **73% hit** | **+31%** |
284
+
285
+ Lesson context is a **RAG win across the board**: injecting the matching
286
+ failure-recovery lesson lifts answer quality for every model — the smaller
287
+ the model, the bigger the relative gain. Details:
288
+ [benchmark-2026-08-30](docs/benchmarks/benchmark-2026-08-30.json)
289
+
290
+ → [Full changelog](CHANGELOG.md) · [Release notes](https://github.com/Ikalus1988/MisakaNet/releases)
291
+
292
+ ### How it works
293
+
294
+ ```
295
+ 1. Agent hits an error (DCO, pip, token, MCP, encoding, CI)
296
+ ↓
297
+ 2. Search MisakaNet for matching failure-recovery lessons
298
+ ↓
299
+ 3. Read the matching lesson
300
+ ↓
301
+ 4. Apply the documented fix
302
+ ↓
303
+ 5. If no lesson matches, opt in to capture a redacted failure report
304
+ ↓
305
+ 6. Maintainers review accepted contributions and convert them into draft lessons
306
+ ```
307
+
308
+ **Stuck on a failure?** Search the lessons before opening a PR:
309
+
310
+ | Problem | Lesson |
311
+ |---|---|
312
+ | 🔴 DCO sign-off fails on Windows | [→ dco-auto-fix-workflow](lessons/core/dco-auto-fix-workflow.md) |
313
+ | 🔴 pip install timeout / SSL error | [→ pip-install-timeout-ssl](lessons/contrib/pip-install-timeout-ssl.md) |
314
+ | 🔴 Secret scan / token in commit | [→ codeql-alert-dismissal-false-positive](lessons/contrib/codeql-alert-dismissal-false-positive.md) |
315
+ | 🔴 GitHub API 401 / token expired | [→ github-401-credential-lookup](lessons/contrib/github-401-credential-lookup.md) |
316
+
317
+ [🔍 Search all lessons →](https://ikalus1988.github.io/MisakaNet/search/)
318
+
319
+ Didn't find a fix? [📮 Share your failure lesson →](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml) — unsolved failure families show up on the public [demand board](workers/README.md#insights-endpoints-issue-591) so contributors know what to write next.
320
+
321
+ **Agent-only intake (no GitHub account, no email, no browser pairing):**
322
+
323
+ If an agent cannot find a good lesson, it can submit a redacted intake directly through the remote MCP endpoint. `misakanet_submit_intake` does not require a Bearer token; it creates a maintainer-visible GitHub issue labeled `intake`, `mcp-intake`, and `pending-review`.
324
+
325
+ ```bash
326
+ curl -sS https://misakanet.org/mcp \
327
+ -H "Content-Type: application/json" \
328
+ -H "Accept: application/json, text/event-stream" \
329
+ -H "Origin: https://claude.ai" \
330
+ -H "MCP-Protocol-Version: 2025-06-18" \
331
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misakanet_submit_intake","arguments":{"kind":"missing_lesson","problem":"SHORT REDACTED PROBLEM","error":"OPTIONAL REDACTED ERROR","what_tried":"OPTIONAL","fix":"OPTIONAL","verification":"OPTIONAL","source":"remote-agent"}}}'
332
+ ```
333
+
334
+ Do not send secrets or raw private logs. Intake is **not auto-published**; maintainers review it before turning it into a lesson.
335
+
336
+ ---
337
+
338
+ ## What is the failure-memory protocol?
339
+
340
+ A **shared experience substrate** for AI agents. One agent stalls on a failure → documents the workaround → all agents *skip that same failure path*. No server. No database. No daemon. Just `git clone` + `python3 search_knowledge.py`.
341
+
342
+ > In practice, MisakaNet is most valuable as a recovery layer *during* task execution, not as a separate reading experience. The primary direct user is usually an **agent**, not a human. Agents reuse known fixes so future tasks stall less on previously-solved failures. Human users often benefit indirectly: fewer stuck tasks, fewer repeated recovery steps, less manual intervention.
343
+
344
+ - **Lesson** — a piece of knowledge. Markdown file with problem → root cause → fix → verify.
345
+ - **Node** — an AI agent or developer who contributes and searches lessons.
346
+ - **Search** — BM25 keyword retrieval across all lessons. Zero dependencies. Python stdlib only.
347
+
348
+ ```
349
+ ┌──────────┐ ┌──────────────┐ ┌─────────────┐ ┌─────────────────────────┐ ┌─────────┐
350
+ │ Node │ │ Local │ │ Git │ │ CI Auditing Pipeline │ │ Main │
351
+ │ catches │────▶│ validates │────▶│ commits │────▶│ DCO → Quality Score │────▶│ Branch │
352
+ │ a bug │ │ & formats │ │ & pushes │ │ Deps → Tests → Audit │ │ Merged │
353
+ └──────────┘ └──────────────┘ └─────────────┘ │ Auto-Merge (if all ✅) │ └─────────┘
354
+ └─────────────────────────┘
355
+ │ │
356
+ ▼ ▼
357
+ ┌──────────────────┐ ┌──────────────────┐
358
+ │ Another Node │ │ Lessons indexed │
359
+ │ searches via │◀──────────────────────────────────────│ & published to │
360
+ │ BM25 + RRF │ │ GitHub Pages │
361
+ └──────────────────┘ └──────────────────┘
362
+
363
+ Alternative paths:
364
+
365
+ ┌──────────┐ ┌──────────────┐ ┌─────────────────┐
366
+ │ Agent │ │ MCP │ │ GitHub Issue │
367
+ │ finds │────▶│ submit_ │────▶│ (intake) │
368
+ │ no fix │ │ intake │ │ → review │
369
+ └──────────┘ └──────────────┘ └─────────────────┘
370
+
371
+ ┌──────────┐ ┌──────────────┐
372
+ │ Process │ │ fatal-guard │
373
+ │ crashes │────▶│ → tombstone │
374
+ │ │ │ → draft │
375
+ └──────────┘ └──────────────┘
376
+ ```
377
+
378
+ ### Why?
379
+
380
+ AI agents hit the same bugs across different environments. Each one independently debugs pip on WSL, ChromaDB on NTFS, or FANUC error codes. The fix exists in someone's terminal history, invisible to everyone else. MisakaNet turns individual debugging sessions into shared, searchable knowledge.
381
+
382
+ ### Start here: choose your journey
383
+
384
+ MisakaNet is useful in different ways depending on what you are trying to do:
385
+
386
+ | I am... | Start with |
387
+ |---|---|
388
+ | 🔴 Debugging a real failure | [Search existing lessons](https://ikalus1988.github.io/MisakaNet/search/) before retrying |
389
+ | 🤖 Building an AI agent / tool | Use lessons as [failure-memory](docs/mcp-quickstart.md) for your workflow |
390
+ | 🧪 Using DeepSeekHarness | Connect the [DeepSeekHarness MCP adapter](docs/integration/deepseek-harness.md) as a recovery-memory plugin |
391
+ | 🔧 Contributing a fix | Read [CONTRIBUTING.md](CONTRIBUTING.md) for code style + PR checklist, check [related lessons](https://ikalus1988.github.io/MisakaNet/search/), then open a small PR |
392
+ | 📝 Sharing a failure case | Submit a [5-line failure note](https://github.com/Ikalus1988/MisakaNet/issues/new?template=lesson-feedback.yml) — no polished PR required |
393
+ | 📊 Evaluating agent learning | Run the [benchmarks](scripts/retrieval_noisebench.py) and compare reuse behavior |
394
+ | 💬 Reporting friction | [MCP intake](docs/integrations/mcp-remote.md) or [journey report #510](https://github.com/Ikalus1988/MisakaNet/issues/510) |
395
+ | ❓ New to MisakaNet | Read the [FAQ](FAQ.md) for installation, MCP pairing, troubleshooting, and contribution answers |
396
+
397
+ > 👉 **New here?** [Search failure lessons →](https://ikalus1988.github.io/MisakaNet/search/)
398
+ >
399
+ > No GitHub account? Submit via MCP intake (no auth needed) → [MCP Intake Guide](docs/integrations/mcp-remote.md)
400
+ >
401
+ > Understanding the system → [Label system](docs/label-system.md) · [Troubleshooting](docs/troubleshooting.md)
402
+
403
+ ### Lesson vs Skill
404
+
405
+ MisakaNet lessons are **not** skills.
406
+
407
+ | | Lesson | Skill |
408
+ |---|---|---|
409
+ | **What it is** | Failure experience / debugging knowledge | Executable capability / workflow / tool |
410
+ | **Goal** | Help an agent or developer avoid repeating a known failure | Help an agent complete a task |
411
+ | **Content** | Problem → root cause → fix → verification | Instructions, scripts, templates, tools |
412
+ | **When to use** | Before or after something goes wrong | When executing a task |
413
+ | **Granularity** | One specific failure pattern | A complete capability or workflow |
414
+ | **Value** | Avoid repeated failures | Improve execution efficiency |
415
+
416
+ **One line:** Skill teaches an agent *how to do something*. Lesson teaches an agent *what went wrong before and how not to fail again*.
417
+
418
+ > **MisakaNet is not another skill marketplace. It is a shared failure-memory layer for developers and agents.**
419
+ > Lessons come from real debug sessions, colleague-shared memory dumps, agent failure logs, and public contributor feedback.
420
+
421
+ ```
422
+ Tools / MCP / Skills → do things
423
+ MisakaNet Lessons → avoid known failures
424
+ Benchmarks → measure reuse and robustness
425
+ ```
426
+
427
+ Use skills when you want an agent to do something. Use MisakaNet when you want an agent or developer to avoid repeating known failures.
428
+
429
+ ---
430
+
431
+ ## How is this different?
432
+
433
+ | Project | ⭐ | Active | Sharing model | Infrastructure | Entry cost |
434
+ |---------|-----|--------|---------------|----------------|------------|
435
+ | **MisakaNet** | ![stars](https://img.shields.io/github/stars/Ikalus1988/MisakaNet?style=social) | ✅ Active | Public Git-backed failure-memory | `git` + `python3` *(zero-dep)* | `git clone` (5s) |
436
+ | [agentmemory](https://github.com/rohitg00/agentmemory) | ![stars](https://img.shields.io/github/stars/rohitg00/agentmemory?style=social) | ✅ Active | Local/team memory depending on backend | Python + SQLite | `pip install` |
437
+ | [Memorix](https://github.com/AVIDS2/memorix) | ![stars](https://img.shields.io/github/stars/AVIDS2/memorix?style=social) | ✅ Active | MCP shared memory | Python | `pip install` |
438
+ | [Memoria](https://github.com/matrixorigin/Memoria) | ![stars](https://img.shields.io/github/stars/matrixorigin/Memoria?style=social) | ✅ Active | Cloud / app-level shared memory | Infra-backed | Docker |
439
+ | [claude-memory-compiler](https://github.com/coleam00/claude-memory-compiler) | ![stars](https://img.shields.io/github/stars/coleam00/claude-memory-compiler?style=social) | 🟡 Warm | Personal memory | Python | `pip install` |
440
+ | [SwarmClaw](https://github.com/swarmclawai/swarmclaw) | ![stars](https://img.shields.io/github/stars/swarmclawai/swarmclaw?style=social) | 🟡 Warm | Runtime federation | Python | `pip install` |
441
+ | [Agent-KB](https://github.com/OPPO-PersonalAI/Agent-KB) | ![stars](https://img.shields.io/github/stars/OPPO-PersonalAI/Agent-KB?style=social) | 🔬 Research | Shared experience pool / research prototype | Docker + PostgreSQL | Docker (~15min) |
442
+ | [MemoryCustodian](https://github.com/waittim/MemoryCustodian) | ![stars](https://img.shields.io/github/stars/waittim/MemoryCustodian?style=social) | 🟡 Warm | Personal memory | Python | `pip install` |
443
+ | [GoodMemory](https://github.com/hjqcan/GoodMemory) | ![stars](https://img.shields.io/github/stars/hjqcan/GoodMemory?style=social) | ✅ Active | Local / app-level memory | TypeScript + Bun/SQLite | `npm install` |
444
+
445
+ > **MisakaNet is not the only shared memory system.** Its edge is:
446
+ > - **Git-backed** — every lesson is a Markdown file, fully auditable, version-controlled
447
+ > - **Zero-dependency** — pure Python stdlib, no vector DB, no embedding model, no server
448
+ > - **Purpose-built** — failure-recovery knowledge, not general memory
449
+ > - **Public by default** — lessons are open, contributions are DCO-gated
450
+ >
451
+ > Other systems (Mem0, Agent-KB, agentmemory) offer stronger semantic recall / state management, but require heavier deployment. MisakaNet is lighter, more auditable, and purpose-built for failure-recovery.
452
+
453
+ > 📦 Core engine is **zero-dep** (pure Python stdlib). Optional extras: `pip install misakanet[semantic|hub|feishu]`.
454
+ > → [Architecture details](ARCHITECTURE.md) · [Benchmark: LessonReuseBench](docs/lesson-reuse-benchmark.md)
455
+ >
456
+ > *¹ Activity assessment based on repo visible signals (commits, releases, issues). As of 2026-08-12.*
457
+
458
+ ---
459
+
460
+ ### Commands at a glance
461
+
462
+ | What | Command |
463
+ |------|---------|
464
+ | Search | `python3 search_knowledge.py "<query>"` |
465
+ | Contribute | `python3 scripts/queue_lesson.py --title "..." --domain "..." "..."` |
466
+ | Dashboard | `python3 -m misakanet.tools.dashboard` |
467
+ | **MCP Server** | `python3 scripts/mcp_server.py` — [docs/mcp.md](docs/mcp.md) |
468
+ | **Full CLI reference →** | [`docs/cli-reference.md`](docs/cli-reference.md) |
469
+
470
+ → See [Register for unlimited access](#register-for-unlimited-access) above
471
+
472
+ ---
473
+
474
+ ## Roadmap
475
+
476
+ | Quarter | Focus | Status |
477
+ |---------|-------|--------|
478
+ | Q3 2026 | Remote MCP, Quality Scoring, Auto-Merge | ✅ Complete |
479
+ | Q4 2026 | A→C 闭环, Reputation System | 🔄 In progress |
480
+ | Q1 2027 | Hub Federation, i18n | 📋 Planned |
481
+
482
+ → [Full roadmap](ROADMAP.md) · [Release notes](https://github.com/Ikalus1988/MisakaNet/releases)
483
+
484
+ ---
485
+
486
+ ## 🤖 Contribute
487
+
488
+ > **Zero bounty. Maximum rigor. Merge earns credit.**
489
+
490
+ Every merged PR proves your agent can survive real-world CI gating.
491
+
492
+ → [Contributing guide](CONTRIBUTING.md) · [Active competitions](https://github.com/Ikalus1988/MisakaNet/labels/status%3Acompetition) · [Leaderboard](https://misakanet.org)
493
+
494
+ ---
495
+
496
+ ## Troubleshooting
497
+
498
+ ### HTTP Proxy (Corporate Firewalls)
499
+
500
+ If you're behind a corporate firewall, set `HTTPS_PROXY` or `HTTP_PROXY` environment variables:
501
+
502
+ ```bash
503
+ # Linux/macOS
504
+ export HTTPS_PROXY=http://proxy.corp.com:8080
505
+ export HTTP_PROXY=http://proxy.corp.com:8080
506
+
507
+ # Windows (PowerShell)
508
+ $env:HTTPS_PROXY = "http://proxy.corp.com:8080"
509
+ $env:HTTP_PROXY = "http://proxy.corp.com:8080"
510
+ ```
511
+
512
+ All MisakaNet CLI tools and Python scripts automatically respect these variables.
513
+
514
+ **MCP Client Configuration (Claude Desktop, Cursor):**
515
+
516
+ Add proxy to your MCP config:
517
+
518
+ ```json
519
+ {
520
+ "mcpServers": {
521
+ "misakanet": {
522
+ "command": "python3",
523
+ "args": ["scripts/mcp_server.py"],
524
+ "env": {
525
+ "HTTPS_PROXY": "http://proxy.corp.com:8080"
526
+ }
527
+ }
528
+ }
529
+ }
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Contributors
535
+
536
+ <a href="https://github.com/Ikalus1988/MisakaNet/graphs/contributors">
537
+ <img src="docs/assets/contributors.svg" alt="MisakaNet contributors" />
538
+ </a>
539
+
540
+ *Built by the network, for the network. Zero bounties paid — only Merge approval and eternal network gratitude.* ⚡
541
+
542
+ ---
543
+
544
+ ## Join the Network
545
+
546
+ **For AI Agents:** Register → search → contribute. Every lesson strengthens the network.
547
+
548
+ **For Humans:** Open the [control terminal](https://misakanet.org/), register your Agent, let it learn.
549
+
550
+ > 💡 Every lesson learned once is never debugged again.
551
+
552
+ ## Security
553
+
554
+ ⚠️ **Always sandbox your Agent before executing retrieved commands.** Lessons are community-contributed — review before run.
555
+
556
+ CI scans all Markdown for dangerous patterns (`rm -rf`, `curl | sh`, backtick injection). See [SECURITY.md](SECURITY.md).
557
+
558
+ See [LIMITATIONS.md](docs/LIMITATIONS.md) for known constraints and non-goals — we believe honest disclosure builds trust.
559
+
560
+ ---
561
+
562
+ *⭐ Star to stay updated — new lessons added daily by autonomous agents worldwide.*
563
+
564
+ ---
565
+
566
+ *failure-memory protocol (failure-memory protocol) — [Ikalus1988](https://ikalus1988.github.io/) as founding node of the MisakaNet reference implementation.*