mirror of
https://github.com/yichuan-w/LEANN.git
synced 2026-03-26 14:38:14 +00:00
* feat: OpenClaw ClawHub skill and MCP structured output Add a ClawHub-compatible skill (skills/leann-memory/) that enables OpenClaw agents to use LEANN for 97% storage-compressed memory search with free local embeddings. No PR to the OpenClaw repo required — users install via `clawhub install` or copy the skill directory. Skill files: - claw.json: ClawHub manifest with permissions, tags, model compat - instructions.md: Agent-facing instructions for search workflow - README.md: Human-facing setup and comparison table MCP server: - Add --json flag to leann_search tool for structured output (enables machine-readable results for both MCP and skill paths) Docs: - openclaw-setup.md: Quick start guide with MCP and skill options - openclaw-integration-plan.md: Full competitive analysis, storage growth calculations, and marketing strategy Made-with: Cursor * feat: OpenClaw integration tests, clean JSON output, and type fixes - Add tests/openclaw/ suite: skill manifest, MCP protocol, build/search E2E, and subprocess-based MCP E2E tests - Fix SearchResult.score to emit native float (not numpy.float32) - Add --json quiet mode to suppress informational prints to stderr - Redirect C++ diagnostic printf to stderr in faiss submodule - Add stdout fd-level redirection with libc.fflush for clean JSON output - Fix ty type checker errors (assert shutil.which not None, pytest.skip) Made-with: Cursor * feat: real OpenClaw E2E integration test - Add test_openclaw_e2e.py: 11 tests against a live OpenClaw Docker instance with real memory formation via qwen3:8b + native Ollama API - Fix docker-compose.yml: use --bind lan and native ollama API for proper tool calling (openai-completions silently breaks it) - Add tests/openclaw/.gitignore for docker-data/ Made-with: Cursor * chore: remove internal strategy docs from public repo Made-with: Cursor * docs: restore openclaw-setup.md (user-facing guide) Made-with: Cursor * chore: upgrade pytest to 9.0 and remove skip workarounds pytest 9 fixes the type annotation for pytest.skip(), so ty passes without the `raise pytest.skip.Exception(...)` workaround. Reverted all skip calls back to the clean `pytest.skip(...)` form. Made-with: Cursor * fix: ruff 0.12.7 format and ty type narrowing for CI - Reformat assert statements to match ruff 0.12.7 style - Use assert narrowing instead of explicit type annotation for leann_mcp_bin after pytest.skip Made-with: Cursor
2.0 KiB
Executable File
2.0 KiB
Executable File