gitextract_xaekqrq1/ ├── .devcontainer/ │ └── devcontainer.json ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── build-and-publish.yml │ ├── build-reusable.yml │ ├── link-check.yml │ └── release-manual.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── .python-version ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── CLAUDE.md ├── LICENSE ├── README.md ├── apps/ │ ├── __init__.py │ ├── base_rag_example.py │ ├── browser_rag.py │ ├── chatgpt_data/ │ │ ├── __init__.py │ │ └── chatgpt_reader.py │ ├── chatgpt_rag.py │ ├── chunking/ │ │ └── __init__.py │ ├── claude_data/ │ │ ├── __init__.py │ │ └── claude_reader.py │ ├── claude_rag.py │ ├── code_rag.py │ ├── colqwen_rag.py │ ├── document_rag.py │ ├── email_data/ │ │ ├── LEANN_email_reader.py │ │ └── email.py │ ├── email_rag.py │ ├── gemini_data/ │ │ ├── __init__.py │ │ └── gemini_reader.py │ ├── gemini_rag.py │ ├── history_data/ │ │ ├── __init__.py │ │ ├── history.py │ │ └── wechat_history.py │ ├── image_rag.py │ ├── imessage_data/ │ │ ├── __init__.py │ │ └── imessage_reader.py │ ├── imessage_rag.py │ ├── multimodal/ │ │ └── vision-based-pdf-multi-vector/ │ │ ├── README.md │ │ ├── colqwen_forward.py │ │ ├── leann_multi_vector.py │ │ ├── multi-vector-leann-paper-example.py │ │ ├── multi-vector-leann-similarity-map.py │ │ ├── vidore_v1_benchmark.py │ │ └── vidore_v2_benchmark.py │ ├── qwen_data/ │ │ ├── __init__.py │ │ └── qwen_reader.py │ ├── qwen_rag.py │ ├── semantic_file_search/ │ │ ├── leann-plus-temporal-search.py │ │ ├── leann_index_builder.py │ │ └── spotlight_index_dump.py │ ├── slack_data/ │ │ ├── __init__.py │ │ └── slack_mcp_reader.py │ ├── slack_rag.py │ ├── twitter_data/ │ │ ├── __init__.py │ │ └── twitter_mcp_reader.py │ ├── twitter_rag.py │ └── wechat_rag.py ├── benchmarks/ │ ├── README.md │ ├── __init__.py │ ├── benchmark_embeddings.py │ ├── benchmark_no_recompute.py │ ├── bm25_diskann_baselines/ │ │ ├── README.md │ │ ├── run_bm25.py │ │ └── run_diskann.py │ ├── compare_faiss_vs_leann.py │ ├── diskann_vs_hnsw_speed_comparison.py │ ├── enron_emails/ │ │ ├── README.md │ │ ├── data/ │ │ │ └── .gitignore │ │ ├── evaluate_enron_emails.py │ │ └── setup_enron_emails.py │ ├── faiss_only.py │ ├── financebench/ │ │ ├── README.md │ │ ├── evaluate_financebench.py │ │ ├── setup_financebench.py │ │ └── verify_recall.py │ ├── issue_159.py │ ├── laion/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── evaluate_laion.py │ │ └── setup_laion.py │ ├── llm_utils.py │ ├── micro_tpt.py │ ├── run_evaluation.py │ ├── simple_mac_tpt_test.py │ └── update/ │ ├── README.md │ ├── __init__.py │ ├── bench_hnsw_rng_recompute.py │ ├── bench_update_vs_offline_search.py │ └── plot_bench_results.py ├── data/ │ ├── PrideandPrejudice.txt │ └── huawei_pangu.md ├── demo.ipynb ├── docker/ │ ├── Dockerfile │ ├── Dockerfile.cpu │ ├── Dockerfile.dev │ └── README.md ├── docs/ │ ├── COLQWEN_GUIDE.md │ ├── CONTRIBUTING.md │ ├── RELEASE.md │ ├── THINKING_BUDGET_FEATURE.md │ ├── ast_chunking_guide.md │ ├── code/ │ │ └── embedding_model_compare.py │ ├── configuration-guide.md │ ├── faq.md │ ├── features.md │ ├── grep_search.md │ ├── metadata_filtering.md │ ├── normalized_embeddings.md │ ├── openclaw-setup.md │ ├── react_agent.md │ ├── roadmap.md │ ├── slack-setup-guide.md │ └── ultimate_goal.md ├── examples/ │ ├── __init__.py │ ├── basic_demo.py │ ├── dynamic_update_no_recompute.py │ ├── grep_search_example.py │ ├── mcp_integration_demo.py │ ├── mlx_demo.py │ └── spoiler_free_book_rag.py ├── llms.txt ├── packages/ │ ├── __init__.py │ ├── leann/ │ │ ├── README.md │ │ ├── __init__.py │ │ └── pyproject.toml │ ├── leann-backend-diskann/ │ │ ├── __init__.py │ │ ├── leann_backend_diskann/ │ │ │ ├── __init__.py │ │ │ ├── diskann_backend.py │ │ │ ├── diskann_embedding_server.py │ │ │ ├── embedding_pb2.py │ │ │ └── graph_partition.py │ │ ├── pyproject.toml │ │ └── third_party/ │ │ ├── embedding.pb.cc │ │ └── embedding.proto │ ├── leann-backend-hnsw/ │ │ ├── CMakeLists.txt │ │ ├── leann_backend_hnsw/ │ │ │ ├── __init__.py │ │ │ ├── convert_to_csr.py │ │ │ ├── hnsw_backend.py │ │ │ └── hnsw_embedding_server.py │ │ └── pyproject.toml │ ├── leann-backend-ivf/ │ │ ├── README.md │ │ ├── leann_backend_ivf/ │ │ │ ├── __init__.py │ │ │ └── ivf_backend.py │ │ └── pyproject.toml │ ├── leann-core/ │ │ ├── pyproject.toml │ │ └── src/ │ │ └── leann/ │ │ ├── __init__.py │ │ ├── api.py │ │ ├── chat.py │ │ ├── chunking_utils.py │ │ ├── cli.py │ │ ├── embedding_compute.py │ │ ├── embedding_server_manager.py │ │ ├── interactive_utils.py │ │ ├── interface.py │ │ ├── mcp.py │ │ ├── metadata_filter.py │ │ ├── react_agent.py │ │ ├── registry.py │ │ ├── searcher_base.py │ │ ├── server.py │ │ ├── settings.py │ │ └── sync.py │ ├── leann-mcp/ │ │ └── README.md │ └── wechat-exporter/ │ ├── __init__.py │ ├── main.py │ └── wechattweak-cli ├── pyproject.toml ├── scripts/ │ └── hf_upload.py ├── skills/ │ └── leann-memory/ │ ├── README.md │ ├── claw.json │ └── instructions.md ├── sky/ │ └── leann-build.yaml └── tests/ ├── README.md ├── openclaw/ │ ├── .gitignore │ ├── __init__.py │ ├── conftest.py │ ├── docker-compose.yml │ ├── fixtures/ │ │ ├── MEMORY.md │ │ └── memory/ │ │ ├── 2026-02-15.md │ │ ├── 2026-02-20.md │ │ └── 2026-02-25.md │ ├── run_docker_test.sh │ ├── test_build_and_search.py │ ├── test_mcp_e2e.py │ ├── test_mcp_protocol.py │ ├── test_openclaw_e2e.py │ └── test_skill_manifest.py ├── support/ │ └── fake_embedding_server_module.py ├── test_astchunk_integration.py ├── test_basic.py ├── test_ci_minimal.py ├── test_cli_ask.py ├── test_cli_daemon_workflow.py ├── test_cli_prompt_template.py ├── test_cli_verbosity.py ├── test_cpu_only_install.py ├── test_diskann_partition.py ├── test_document_rag.py ├── test_embedding_prompt_template.py ├── test_embedding_server_cli_flags.py ├── test_embedding_server_manager.py ├── test_embedding_server_manager_e2e.py ├── test_hybrid_search.py ├── test_incremental_build.py ├── test_lmstudio_bridge.py ├── test_mcp_integration.py ├── test_mcp_standalone.py ├── test_metadata_filtering.py ├── test_minimax_provider.py ├── test_prompt_template_e2e.py ├── test_prompt_template_persistence.py ├── test_readme_examples.py ├── test_sync.py └── test_token_truncation.py