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/LICENSE +201 -0
- package/README.ja.md +364 -0
- package/README.md +566 -0
- package/README.zh-CN.md +295 -0
- package/SKILL.md +188 -0
- package/cordis.patch.yml +3 -0
- package/index.d.ts +11 -0
- package/index.js +27 -0
- package/package.json +38 -0
- package/skills/misakanet/SKILL.md +188 -0
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
|
+
[](https://github.com/Ikalus1988/MisakaNet/tree/main/lessons)
|
|
21
|
+
[](https://github.com/Ikalus1988/MisakaNet/blob/main/scripts/mcp_server.py)
|
|
22
|
+
[](https://github.com/Ikalus1988/MisakaNet/actions/workflows/pr-quality-gate.yml)
|
|
23
|
+
[](https://pypi.org/project/misakanet/)
|
|
24
|
+
[](https://www.python.org/downloads/)
|
|
25
|
+
[](https://github.com/Ikalus1988/MisakaNet/blob/main/LICENSE)
|
|
26
|
+
[](https://glama.ai/mcp/servers/Ikalus1988/MisakaNet/score)
|
|
27
|
+
[](docs/mcp-quickstart.md)
|
|
28
|
+
[](https://www.dsh.so/artifact/misakanet/)
|
|
29
|
+
[](https://www.dsh.so/artifact/misakanet/)
|
|
30
|
+
[](https://github.com/Ikalus1988/MisakaNet/tree/main/docs/benchmarks)
|
|
31
|
+
[](https://github.com/Ikalus1988/MisakaNet/stargazers)
|
|
32
|
+
[](https://mcptoplist.com/server/io.github.Ikalus1988%2Fmisakanet)
|
|
33
|
+
[](https://smithery.ai/servers/misakanet/misakanet)
|
|
34
|
+
[](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** | [](https://github.com/Ikalus1988/MisakaNet/tree/main/lessons) | Failure-recovery knowledge base |
|
|
154
|
+
| **Domains** | [](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
|
+

|
|
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** |  | ✅ Active | Public Git-backed failure-memory | `git` + `python3` *(zero-dep)* | `git clone` (5s) |
|
|
436
|
+
| [agentmemory](https://github.com/rohitg00/agentmemory) |  | ✅ Active | Local/team memory depending on backend | Python + SQLite | `pip install` |
|
|
437
|
+
| [Memorix](https://github.com/AVIDS2/memorix) |  | ✅ Active | MCP shared memory | Python | `pip install` |
|
|
438
|
+
| [Memoria](https://github.com/matrixorigin/Memoria) |  | ✅ Active | Cloud / app-level shared memory | Infra-backed | Docker |
|
|
439
|
+
| [claude-memory-compiler](https://github.com/coleam00/claude-memory-compiler) |  | 🟡 Warm | Personal memory | Python | `pip install` |
|
|
440
|
+
| [SwarmClaw](https://github.com/swarmclawai/swarmclaw) |  | 🟡 Warm | Runtime federation | Python | `pip install` |
|
|
441
|
+
| [Agent-KB](https://github.com/OPPO-PersonalAI/Agent-KB) |  | 🔬 Research | Shared experience pool / research prototype | Docker + PostgreSQL | Docker (~15min) |
|
|
442
|
+
| [MemoryCustodian](https://github.com/waittim/MemoryCustodian) |  | 🟡 Warm | Personal memory | Python | `pip install` |
|
|
443
|
+
| [GoodMemory](https://github.com/hjqcan/GoodMemory) |  | ✅ 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.*
|