[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-keploy--keploy":3,"tool-keploy--keploy":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":67,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":96,"forks":97,"last_commit_at":98,"license":99,"difficulty_score":10,"env_os":100,"env_gpu":101,"env_ram":101,"env_deps":102,"category_tags":107,"github_topics":108,"view_count":123,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":157},2990,"keploy\u002Fkeploy","keploy","Open-source platform for creating safe, isolated production sandboxes for API, integration, and E2E testing.","Keploy 是一款专为开发者打造的开源测试平台，旨在通过真实用户流量自动生成 API、集成及端到端测试用例。它主要解决了传统单元测试编写耗时、覆盖率低以及测试环境依赖复杂等痛点，帮助团队在 AI 时代轻松实现高达 90% 的测试覆盖率。\n\n无论是后端工程师还是全栈开发者，只需运行 `keploy record` 命令，Keploy 就能自动记录应用运行时的 API 调用、数据库查询（如 Postgres、MongoDB）以及消息队列（如 Kafka）交互。随后，它将这些真实场景回放为可重复执行的测试用例和数据模拟（Mocks），无需修改任何代码或嵌入 SDK。\n\n其独特的技术亮点在于底层利用 eBPF 技术在网络层捕获流量，实现了真正的“无代码”和“语言无关”操作。更值得一提的是，Keploy 提供了超越普通 HTTP 模拟的“基础设施虚拟化”能力，能够完整复刻包括数据库和流式服务在内的复杂分布式架构，让开发者无需重新搭建繁琐的测试基础设施即可进行确定性测试。就像拥有一台轻量级的“时间机器”，Keploy 让测试变得像录制和回放视频一样简单高效，是提升软件质量与开发效率的得力助手。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fdocs.keploy.io\u002Fimg\u002Fkeploy-logo-dark.svg?s=200&v=4\" height=\"80\" alt=\"Keploy Logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F3262\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_4a68feb902da.png\" alt=\"keploy%2Fkeploy | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">\u003Cb>⚡️ API tests faster than unit tests, from user traffic ⚡️\u003C\u002Fb>\u003C\u002Fh3>\n\u003Cp align=\"center\">🌟 The must-have tool for developers in the AI-Gen era for 90% test coverage 🌟\u003C\u002Fp>\n\n\n---\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-4A154B?style=flat&logo=slack&logoColor=white\" alt=\"Slack\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fkeploy\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLinkedIn-%230077B5.svg?style=flat&logo=linkedin&logoColor=white\" alt=\"LinkedIn\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUC6OTg7F4o0WkmNtSoob34lg\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FYouTube-%23FF0000.svg?style=flat&logo=YouTube&logoColor=white\" alt=\"YouTube\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FKeployio\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-%231DA1F2.svg?style=flat&logo=X&logoColor=white\" alt=\"X\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Flandscape.cncf.io\u002F?item=app-definition-and-development--continuous-integration-delivery--keploy\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCNCF%20Landscape-5699C6?logo=cncf&style=social\" alt=\"Keploy CNCF Landscape\" \u002F>\n  \u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKeploy\u002FKeploy\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeploy\u002Fkeploy?color=%23EAC54F&logo=github\" alt=\"GitHub Stars\" \u002F>\u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKeploy\u002FKeploy\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeploy\u002Fkeploy?color=%23EAC54F&logo=github&label=Help%20us%20reach%2020K%20stars!%20Now%20at:\" alt=\"Help us reach 20k stars!\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n[Keploy](https:\u002F\u002Fkeploy.io) is a **developer‑centric API and integration testing tool** that auto‑generates **tests and data‑mocks** faster than unit tests.  \n\nIt records API calls, database queries, and streaming events — then replays them as tests. Under the hood, Keploy **uses eBPF to capture traffic at the network layer,** but for you it’s completely **code‑less** and **language‑agnostic**.\n\n\n\u003Cimg align=\"center\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_b0502adcb2c5.gif\" width=\"100%\" alt=\"Convert API calls to API tests test cases and Data Mocks using AI\"\u002F>\n\n> 🐰 **Fun fact:** Keploy uses itself for testing! Check out our swanky coverage badge: [![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Fkeploy\u002Fkeploy\u002Fbadge.svg?branch=main&kill_cache=1)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Fkeploy\u002Fkeploy?branch=main&kill_cache=1) &nbsp;\n\n---\n\n# Key Highlights\n\n## 🎯 No code changes\n\nJust run your app with `keploy record`. Real API + integration flows are automatically captured as tests and mocks. *(Keploy uses eBPF under the hood to capture traffic, so you **don’t need** to add any SDKs or modify code.)* \n\n## 📹 Record and Replay complex Flows\nKeploy can record and replay complex, distributed API flows as mocks and stubs.  It's like having a very light-weight time machine for your tests—saving you tons of time!\n\n👉 [Read the docs on record-replay](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fintroduction\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_c42a413ad784.gif\" width=\"60%\" alt=\"Convert API calls to test cases\"\u002F>\n\n## 🐇 Complete Infra‑Virtualization (beyond HTTP mocks)\n\nUnlike tools that only mock HTTP endpoints, Keploy records **databases** (Postgres, MySQL, MongoDB), **streaming\u002Fqueues** (Kafka, RabbitMQ), external APIs, and more. \n\nIt replays them deterministically so you can run tests without re‑provisioning infra.\n\n👉 [Read the docs on infra virtualisation](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fhow-keploy-works\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_aa2206f9a62d.png\" width=\"100%\" alt=\"Convert API calls to test cases\"\u002F>\n\n## 🧪 Combined Test Coverage\n\nIf you’re a **developer**, you probably care about *statement* and *branch* coverage — Keploy calculates that for you. \n\nIf you’re a **QA**, you focus more on *API schema* and *business use‑case coverage* — Keploy calculates that too. This way coverage isn’t subjective anymore. \n\n👉 [Read the docs on coverage](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fserver\u002Fsdk-installation\u002Fgo\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_bcd423ce376f.jpg\" width=\"100%\" alt=\"ai test gen for api statement schema and branch coverage\"\u002F>\n\n## 🤖 Expand API Coverage using AI\n\nKeploy uses existing recordings, Swagger\u002FOpenAPI Schema to find: boundary values, missing\u002Fextra fields, wrong types, out‑of‑order sequences, retries\u002Ftimeouts. \n\nThis helps expand API Schema, Statement, and Branch Coverage. \n\n👉 [Read the docs on coverage](https:\u002F\u002Fapp.keploy.io\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_34f7f4f8d67e.png\" width=\"100%\" alt=\"ai test gen for api statement schema and branch coverage\"\u002F>\n\n\n### Other Capabilities\n\n- 🌐 **CI\u002FCD Integration:** Run tests with mocks anywhere you like—locally on the CLI, in your CI pipeline (Jenkins, Github Actions..) , or even across a Kubernetes cluster. [Read more](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Frunning-keploy\u002Fapi-testing-cicd\u002F)\n\n- 🎭 **Multi-Purpose Mocks**: You can also use Keploy-generated Mocks, as server Tests!\n\n- 📊 **Reporting:** Unified reports for API, integration, unit, and e2e coverage with insights directly in your CI or PRs.\n- 🖥️ **Console:** A developer-friendly console to view, manage, and debug recorded tests and mocks.\n- ⏱️ **Time Freezing:** Deterministically replay tests by freezing system time during execution. [Read more](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-cloud\u002Ftime-freezing\u002F)\n- 📚 **Mock Registry:** Centralized registry to manage, reuse, and version mocks across teams and environments. [Read more](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-cloud\u002Fmock-registry\u002F)\n\n---\n\n## Quick Start\n\n### 1. Install Keploy Agent\n\n```bash\ncurl --silent -O -L https:\u002F\u002Fkeploy.io\u002Finstall.sh && source install.sh\n```\n\n### 2. Record Test Cases\n\nStart your app under Keploy to convert real API calls into tests and mocks.\n\n```bash\nkeploy record -c \"CMD_TO_RUN_APP\"\n```\n\nExample for Python:\n\n```bash\nkeploy record -c \"python main.py\"\n```\n\n### 3. Run Tests\n\nRun tests offline without external dependencies.\n\n```bash\nkeploy test -c \"CMD_TO_RUN_APP\" --delay 10\n```\n\n## Resources\n### - 📘 [Installation](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fserver\u002Finstallation\u002F)\n### - 🏁 [QuickStarts](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fquickstart\u002Fquickstart-filter\u002F)\n\n\n---\n\n\n## Languages &amp; Frameworks (Any stack)\n\nBecause Keploy intercepts at the **network layer (eBPF)**, it works with **any language, framework, or runtime**—no SDK required. \n> Note: Some of the dependencies are not open-source by nature because their protocols and parsings are not open-sourced. It's not supported in Keploy enterprise. \n\n\u003Cp align=\"center\">\n\n\u003C!-- Languages -->\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo-00ADD8?logo=go&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJava-ED8B00?logo=openjdk&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-43853D?logo=node.js&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3776AB?logo=python&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRust-000000?logo=rust&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FC%23-239120?logo=csharp&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FC\u002FC++-00599C?logo=cplusplus&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?logo=typescript&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FScala-DC322F?logo=scala&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKotlin-7F52FF?logo=kotlin&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-FA7343?logo=swift&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDart-0175C2?logo=dart&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPHP-777BB4?logo=php&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRuby-CC342D?logo=ruby&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElixir-4B275F?logo=elixir&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F.NET-512BD4?logo=dotnet&amp;logoColor=white\" \u002F>\n\n\u003C!-- Protocols &amp; infra commonly virtualized -->\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FgRPC-5E35B1?logo=grpc&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGraphQL-E10098?logo=graphql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHTTP%2FREST-0A84FF?logo=httpie&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKafka-231F20?logo=apachekafka&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRabbitMQ-FF6600?logo=rabbitmq&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-4169E1?logo=postgresql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMySQL-4479A1?logo=mysql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMongoDB-47A248?logo=mongodb&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRedis-DC382D?logo=redis&amp;logoColor=white\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## Questions? \n\n### Book a Live Demo \u002F Enterprise Support\n\nWant a guided walkthrough, dedicated support, or help planning enterprise rollout?\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fcalendar.app.google\u002F4ZKd1nz9A5wLuP4W7\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRequest%20a%20Demo-Email-2ea44f?logo=gmail\" \u002F>\n  \u003C\u002Fa>\n  &nbsp;\n  \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChat%20with%20Us-Slack-4A154B?logo=slack&amp;logoColor=white\" \u002F>\n  \u003C\u002Fa>\n  \u003C!-- Optional: replace with your scheduling link (Cal.com\u002FCalendly) -->\n  \u003C!-- \u003Ca href=\"https:\u002F\u002Fcal.com\u002Fkeploy\u002Fdemo\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBook%20via%20Calendar-Cal.com-111111\" \u002F>\u003C\u002Fa> -->\n\u003C\u002Fp>\n\nPrefer a calendar invite? Mention your availability in the email—we’ll send a **calendar invite** right away.\n\n---\n\n## Documentation & Community\n\n- 📘 [Documentation](https:\u002F\u002Fkeploy.io\u002Fdocs\u002F) — Explore the full docs\n- 💬 [Slack Community](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg) — Join the conversation\n- 📜 [Contribution Guidelines](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fcontribution-guide\u002F)\n- ❤️ [Code of Conduct](https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md)\n- 📢 [Blog](https:\u002F\u002Fkeploy.io\u002Fblog\u002F) — Read articles and updates\n\n---\n\n## Contribute & Collaborate\n\nWhether you're new or experienced, your input matters. Help us improve Keploy by contributing code, reporting issues, or sharing feedback.\n\nTogether, let's build better testing tools for modern applications.\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fdocs.keploy.io\u002Fimg\u002Fkeploy-logo-dark.svg?s=200&v=4\" height=\"80\" alt=\"Keploy Logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F3262\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_4a68feb902da.png\" alt=\"keploy%2Fkeploy | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">\u003Cb>⚡️ API测试速度超越单元测试，源自真实用户流量 ⚡️\u003C\u002Fb>\u003C\u002Fh3>\n\u003Cp align=\"center\">🌟 AI时代开发者必备工具，助你实现90%测试覆盖率 🌟\u003C\u002Fp>\n\n\n---\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-4A154B?style=flat&logo=slack&logoColor=white\" alt=\"Slack\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fkeploy\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLinkedIn-%230077B5.svg?style=flat&logo=linkedin&logoColor=white\" alt=\"LinkedIn\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUC6OTg7F4o0WkmNtSoob34lg\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FYouTube-%23FF0000.svg?style=flat&logo=YouTube&logoColor=white\" alt=\"YouTube\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FKeployio\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-%231DA1F2.svg?style=flat&logo=X&logoColor=white\" alt=\"X\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Flandscape.cncf.io\u002F?item=app-definition-and-development--continuous-integration-delivery--keploy\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCNCF%20Landscape-5699C6?logo=cncf&style=social\" alt=\"Keploy CNCF Landscape\" \u002F>\n  \u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKeploy\u002FKeploy\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeploy\u002Fkeploy?color=%23EAC54F&logo=github\" alt=\"GitHub Stars\" \u002F>\u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKeploy\u002FKeploy\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeploy\u002Fkeploy?color=%23EAC54F&logo=github&label=Help%20us%20reach%2020K%20stars!%20Now%20at:\" alt=\"帮助我们达成2万颗星！\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n[Keploy](https:\u002F\u002Fkeploy.io) 是一款以开发者为中心的 API 和集成测试工具，能够比单元测试更快地自动生成测试用例和数据模拟。它会记录 API 调用、数据库查询以及流式事件，然后将这些记录回放为测试。在底层，Keploy 使用 eBPF 在网络层捕获流量，但对您来说，它完全无需编写代码且与语言无关。\n\n\n\u003Cimg align=\"center\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_b0502adcb2c5.gif\" width=\"100%\" alt=\"利用AI将API调用转换为API测试用例和数据模拟\"\u002F>\n\n> 🐰 **小知识：** Keploy 自己也用自身进行测试！来看看我们炫酷的覆盖率徽章：[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Fkeploy\u002Fkeploy\u002Fbadge.svg?branch=main&kill_cache=1)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Fkeploy\u002Fkeploy?branch=main&kill_cache=1) &nbsp;\n\n---\n\n# 核心亮点\n\n## 🎯 无需修改代码\n\n只需运行 `keploy record` 即可。真实的 API 和集成流程会自动被捕捉为测试用例和模拟数据。*(Keploy 底层使用 eBPF 捕获流量，因此您无需添加任何 SDK 或修改代码。)* \n\n## 📹 记录并回放复杂流程\nKeploy 可以记录并回放复杂的分布式 API 流程作为模拟和桩件。这就像是为您的测试配备了一台轻量级的时间机器——为您节省大量时间！\n\n👉 [阅读关于录制与回放的文档](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fintroduction\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_c42a413ad784.gif\" width=\"60%\" alt=\"将API调用转换为测试用例\"\u002F>\n\n## 🐇 完整的基础设施虚拟化（超越HTTP模拟）\n与其他仅模拟 HTTP 端点的工具不同，Keploy 还会记录数据库（Postgres、MySQL、MongoDB）、消息队列（Kafka、RabbitMQ）以及外部 API 等。它可以确定性地回放这些内容，让您无需重新部署基础设施即可运行测试。\n\n👉 [阅读关于基础设施虚拟化的文档](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fhow-keploy-works\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_aa2206f9a62d.png\" width=\"100%\" alt=\"将API调用转换为测试用例\"\u002F>\n\n## 🧪 综合测试覆盖率\n如果您是开发者，可能更关心语句覆盖和分支覆盖；而如果是 QA，则更关注 API Schema 和业务用例覆盖。Keploy 都能为您计算出来，让覆盖率不再主观。 \n\n👉 [阅读关于覆盖率的文档](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fserver\u002Fsdk-installation\u002Fgo\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_bcd423ce376f.jpg\" width=\"100%\" alt=\"AI生成的API语句、Schema和分支覆盖测试用例\"\u002F>\n\n## 🤖 利用AI扩展API覆盖率\nKeploy 会基于现有录制内容和 Swagger\u002FOpenAPI Schema，找出边界值、缺失或多余的字段、错误类型、顺序错乱以及重试\u002F超时等问题。这有助于提升 API Schema、语句和分支覆盖率。 \n\n👉 [阅读关于覆盖率的文档](https:\u002F\u002Fapp.keploy.io\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_readme_34f7f4f8d67e.png\" width=\"100%\" alt=\"AI生成的API语句、Schema和分支覆盖测试用例\"\u002F>\n\n\n### 其他功能\n- 🌐 **CI\u002FCD集成：** 您可以在任何地方运行带模拟数据的测试——本地 CLI、CI 流水线（Jenkins、Github Actions等），甚至跨 Kubernetes 集群。[了解更多](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Frunning-keploy\u002Fapi-testing-cicd\u002F)\n- 🎭 **多用途模拟：** 您还可以将 Keploy 生成的模拟数据用作服务器端测试！\n- 📊 **报告：** 统一的 API、集成、单元和端到端覆盖率报告，并在 CI 或 PR 中提供洞察。\n- 🖥️ **控制台：** 开发者友好的控制台，用于查看、管理和调试已录制的测试用例和模拟数据。\n- ⏱️ **时间冻结：** 在执行过程中冻结系统时间，实现确定性的测试回放。[了解更多](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-cloud\u002Ftime-freezing\u002F)\n- 📚 **模拟注册表：** 集中式的注册表，用于管理、复用和版本化团队及环境间的模拟数据。[了解更多](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-cloud\u002Fmock-registry\u002F)\n\n---\n\n## 快速入门\n\n### 1. 安装 Keploy Agent\n\n```bash\ncurl --silent -O -L https:\u002F\u002Fkeploy.io\u002Finstall.sh && source install.sh\n```\n\n### 2. 录制测试用例\n\n在 Keploy 下启动您的应用，将真实的 API 调用转换成测试用例和模拟数据。\n\n```bash\nkeploy record -c \"CMD_TO_RUN_APP\"\n```\n\nPython 示例：\n\n```bash\nkeploy record -c \"python main.py\"\n```\n\n### 3. 运行测试\n\n无需外部依赖，即可离线运行测试。\n\n```bash\nkeploy test -c \"CMD_TO_RUN_APP\" --delay 10\n```\n\n## 资源\n### - 📘 [安装指南](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fserver\u002Finstallation\u002F)\n### - 🏁 [快速入门](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fquickstart\u002Fquickstart-filter\u002F)\n\n\n---\n\n## 语言与框架（任意技术栈）\n\n由于 Keploy 在 **网络层（eBPF）** 进行拦截，因此它适用于 **任何语言、框架或运行时**——无需 SDK。\n> 注意：部分依赖本身并非开源，因为其协议和解析方式并未公开。Keploy 企业版不支持这些内容。\n\n\u003Cp align=\"center\">\n\n\u003C!-- 语言 -->\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo-00ADD8?logo=go&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJava-ED8B00?logo=openjdk&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-43853D?logo=node.js&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3776AB?logo=python&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRust-000000?logo=rust&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FC%23-239120?logo=csharp&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FC\u002FC++-00599C?logo=cplusplus&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?logo=typescript&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FScala-DC322F?logo=scala&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKotlin-7F52FF?logo=kotlin&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-FA7343?logo=swift&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDart-0175C2?logo=dart&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPHP-777BB4?logo=php&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRuby-CC342D?logo=ruby&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElixir-4B275F?logo=elixir&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F.NET-512BD4?logo=dotnet&amp;logoColor=white\" \u002F>\n\n\u003C!-- 协议及常见虚拟化基础设施 -->\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FgRPC-5E35B1?logo=grpc&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGraphQL-E10098?logo=graphql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHTTP%2FREST-0A84FF?logo=httpie&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKafka-231F20?logo=apachekafka&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRabbitMQ-FF6600?logo=rabbitmq&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-4169E1?logo=postgresql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMySQL-4479A1?logo=mysql&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMongoDB-47A248?logo=mongodb&amp;logoColor=white\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRedis-DC382D?logo=redis&amp;logoColor=white\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## 有任何问题吗？\n\n### 预约现场演示 \u002F 企业级支持\n\n想要获得指导性演示、专属支持，或是协助规划企业级部署方案吗？\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fcalendar.app.google\u002F4ZKd1nz9A5wLuP4W7\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F请求演示-邮件-2ea44f?logo=gmail\" \u002F>\n  \u003C\u002Fa>\n  &nbsp;\n  \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F与我们聊天-Slack-4A154B?logo=slack&amp;logoColor=white\" \u002F>\n  \u003C\u002Fa>\n  \u003C!-- 可选：替换为您自己的预约链接（Cal.com\u002FCalendly） -->\n  \u003C!-- \u003Ca href=\"https:\u002F\u002Fcal.com\u002Fkeploy\u002Fdemo\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F通过日历预约-Cal.com-111111\" \u002F>\u003C\u002Fa> -->\n\u003C\u002Fp>\n\n如果您更喜欢日历邀请，请在邮件中注明您的空闲时间，我们会立即发送一封 **日历邀请**。\n\n---\n\n## 文档与社区\n\n- 📘 [文档](https:\u002F\u002Fkeploy.io\u002Fdocs\u002F) — 浏览完整文档\n- 💬 [Slack 社区](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fkeploy\u002Fshared_invite\u002Fzt-357qqm9b5-PbZRVu3Yt2rJIa6ofrwWNg) — 加入讨论\n- 📜 [贡献指南](https:\u002F\u002Fkeploy.io\u002Fdocs\u002Fkeploy-explained\u002Fcontribution-guide\u002F)\n- ❤️ [行为准则](https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md)\n- 📢 [博客](https:\u002F\u002Fkeploy.io\u002Fblog\u002F) — 阅读文章和最新动态\n\n---\n\n## 贡献与协作\n\n无论您是新手还是资深开发者，您的意见都至关重要。请通过提交代码、报告问题或分享反馈来帮助我们改进 Keploy。\n\n让我们携手共建更优秀的现代应用测试工具。","# Keploy 快速上手指南\n\nKeploy 是一款以开发者为中心的 API 和集成测试工具。它利用 eBPF 技术在网络层自动捕获真实的 API 调用、数据库查询和流事件，并将其转化为可重放的测试用例和数据 Mock。**无需修改代码、无需嵌入 SDK、语言无关**，即可实现比单元测试更快的测试覆盖。\n\n## 环境准备\n\n### 系统要求\n由于 Keploy 底层依赖 **eBPF** 技术进行流量拦截，请确保您的运行环境满足以下条件：\n- **操作系统**：Linux (推荐 Ubuntu 20.04+, Debian, Fedora, CentOS 7+) 或 macOS (需安装 Docker Desktop 并启用 Linux 虚拟机)。\n  - *注意：Windows 用户建议通过 WSL2 (Windows Subsystem for Linux) 运行。*\n- **内核版本**：Linux Kernel 4.19 或更高版本（推荐 5.x+ 以获得最佳 eBPF 支持）。\n- **权限**：需要 `sudo` 权限以加载 eBPF 程序。\n\n### 前置依赖\n- **Docker** (可选但推荐)：用于在隔离环境中运行应用，避免污染本地环境。\n- **curl**：用于下载安装脚本。\n- **目标应用**：任何语言的后端服务（Go, Java, Python, Node.js, Rust 等），只要它能通过 HTTP\u002FgRPC 等协议通信。\n\n## 安装步骤\n\nKeploy 提供了一键安装脚本，会自动检测系统架构并下载对应的二进制文件。\n\n在终端执行以下命令：\n\n```bash\ncurl --silent -O -L https:\u002F\u002Fkeploy.io\u002Finstall.sh && source install.sh\n```\n\n安装完成后，验证是否安装成功：\n\n```bash\nkeploy version\n```\n\n> **提示**：如果下载速度较慢，可尝试配置国内代理或使用支持断点续传的下载工具获取 `install.sh` 脚本后本地执行。\n\n## 基本使用\n\nKeploy 的核心工作流分为两步：**录制 (Record)** 和 **回放 (Test)**。\n\n### 1. 录制测试用例 (Record)\n\n启动您的应用程序，Keploy 会自动拦截并记录所有的进出流量（API 请求、数据库调用等），生成测试文件和 Mock 数据。\n\n将 `\"CMD_TO_RUN_APP\"` 替换为您实际启动应用的命令。\n\n**通用命令：**\n```bash\nkeploy record -c \"CMD_TO_RUN_APP\"\n```\n\n**示例（以 Python Flask 应用为例）：**\n```bash\nkeploy record -c \"python main.py\"\n```\n\n**操作指引：**\n1. 运行上述命令后，保持终端不要关闭。\n2. 使用 Postman、curl 或前端页面对您的 API 发起几次真实请求。\n3. 按下 `Ctrl + C` 停止录制。\n4. 当前目录下会生成 `keploy` 文件夹，包含录制好的测试用例 (`tests`) 和 Mock 数据 (`mocks`)。\n\n### 2. 回放测试 (Test)\n\n在离线状态下运行测试。Keploy 会重放录制的流量，并使用生成的 Mock 数据模拟外部依赖（如数据库、第三方 API），无需真实连接基础设施。\n\n**通用命令：**\n```bash\nkeploy test -c \"CMD_TO_RUN_APP\" --delay 10\n```\n\n**示例（继续以上述 Python 应用为例）：**\n```bash\nkeploy test -c \"python main.py\" --delay 10\n```\n\n**参数说明：**\n- `-c`: 启动应用的命令。\n- `--delay 10`: 给应用启动预留 10 秒缓冲时间（根据应用实际启动速度调整）。\n\n运行结束后，终端将直接输出测试对比报告，显示预期响应与实际响应是否一致。\n\n---\n\n**下一步建议：**\n- 将 `keploy test` 命令集成到您的 CI\u002FCD 流水线（GitHub Actions, Jenkins 等）中。\n- 访问 [Keploy 官方文档](https:\u002F\u002Fkeploy.io\u002Fdocs\u002F) 了解如何配置过滤规则、自定义 Mock 策略及结合 AI 扩展测试覆盖率。","某电商团队在重构订单微服务时，急需验证新代码与数据库、支付网关及消息队列的复杂交互，但缺乏真实的测试数据。\n\n### 没有 keploy 时\n- **手动构造数据极慢**：测试人员需编写大量 SQL 和 Mock 脚本来模拟订单状态、库存扣减和支付回调，耗时数天且难以覆盖边缘情况。\n- **环境依赖沉重**：运行集成测试必须启动完整的本地依赖栈（Postgres, Kafka, Redis），配置繁琐且容易因版本不一致导致测试失败。\n- **测试覆盖率低**：由于构造复杂链路（如下单后触发异步通知）的成本过高，团队往往只测主流程，遗漏了并发冲突或网络超时等关键场景。\n- **维护成本高昂**：一旦接口字段变更，所有手写的单元测试和 Mock 数据都需要人工同步修改，极易出现测试代码滞后于生产代码的情况。\n\n### 使用 keploy 后\n- **零代码自动生成用例**：只需在预发环境运行 `keploy record`，工具自动捕获真实用户流量，瞬间将 API 调用、数据库查询和 Kafka 消息转化为可重放的测试用例和数据桩。\n- **基础设施虚拟化**：keploy 自动录制并模拟下游依赖（如数据库和消息队列），测试时无需启动任何外部服务，直接在隔离的沙箱中 deterministic（确定性）地回放流量。\n- **全覆盖复杂场景**：真实流量天然包含了各种异常路径和并发场景，keploy 直接将其转化为回归测试，轻松实现 90% 以上的集成测试覆盖率。\n- **自适应维护**：当接口变更时，keploy 能智能识别差异并更新测试桩，大幅减少了人工维护测试脚本的工作量，让测试始终与生产行为保持一致。\n\nkeploy 通过将真实生产流量转化为自动化集成测试，让团队在无代码侵入的前提下，实现了比单元测试更高效、更全面的質量保障。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkeploy_keploy_c42a413a.gif","Keploy Inc","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkeploy_5b7fccdd.png","Simple e2e testing for developers. Toolkit that creates test-cases and data mocks from API calls, DB queries, etc.",null,"hello@keploy.io","keployio","https:\u002F\u002Fkeploy.io","https:\u002F\u002Fgithub.com\u002Fkeploy",[84,88,92],{"name":85,"color":86,"percentage":87},"Go","#00ADD8",98.9,{"name":89,"color":90,"percentage":91},"Shell","#89e051",1,{"name":93,"color":94,"percentage":95},"Dockerfile","#384d54",0.1,17082,2206,"2026-04-03T21:11:07","Apache-2.0","Linux","未说明",{"notes":103,"python":104,"dependencies":105},"该工具基于 eBPF 技术在网络层捕获流量，因此主要依赖 Linux 内核支持 eBPF（通常要求 Linux Kernel 4.x+ 或 5.x+）。它无需修改代码或安装特定语言的 SDK，支持 Go, Java, Node.js, Python, Rust 等多种语言。安装脚本通过 curl 运行，未明确提及 macOS 或 Windows 的原生支持（eBPF 主要在 Linux 上原生支持）。","未说明 (支持多种语言，包括 Python)",[106],"eBPF (内核功能)",[13,53,15,51],[109,110,111,112,113,114,115,116,117,118,119,120,121,122],"testing","test-automation","api-testing","testing-tools","test-automation-framework","test-generation","testing-library","mock","mock-data-generator","mock-framework","agentic-ai","ai-testing-tool","testing-tool","code-quality",7,"2026-03-27T02:49:30.150509","2026-04-06T05:15:13.611392",[127,132,137,142,147,152],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},13792,"为什么在记录 HTTP\u002FgRPC 请求时，超过 750KB 的读写系统调用无法被记录？","这是一个已知的限制，当读取系统调用超过 750KB 时，Keploy 无法记录传入的调用。该问题已通过 eBPF 相关的 PR 修复。请确保您使用的是合并了该 eBPF 修复的最新版本 Keploy。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F2683",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},13793,"启动 Keploy UI 时遇到 MongoDB TLS 握手错误怎么办？","该问题已过时。建议使用最新版本的 Keploy CLI 体验，不再强制依赖单独启动 MongoDB 来使用 UI 功能。请升级至最新发行版并使用 CLI 方式运行。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F357",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},13794,"在内核版本低于 5.15 的系统上运行 Keploy 时出现 'tcp_v4_connect' tracefs 错误如何解决？","此错误通常是由于权限不足或 Docker 缓存问题导致。解决方法包括：1. 更改相关目录（如 \u002Fsys\u002Fkernel\u002Fdebug\u002Ftracing\u002F）的权限；2. 如果问题仍然存在，尝试重置 Docker Desktop 以清除缓存。执行后通常可正常运行。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F984",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},13795,"Keploy 是否支持 Python SDK（如 Django, Flask）？","Keploy v2 及更高版本不再需要特定语言的 SDK。它通过网络层捕获调用，实现了语言无关的测试录制与回放。因此，无需专门安装 Python SDK，直接运行应用即可被 Keploy 拦截和记录。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F58",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},13796,"如何贡献代码修复 Keploy 官网上的 Twitter 图标过时问题？","该问题涉及文档仓库而非主代码库。贡献者需在 keploy\u002Fdocs 仓库中提交 PR 来更新图标。注意：官方主站 (keploy.io) 的图标可能不开放源码修改，但文档站的图标可以通过 PR 更新。参考已合并的 PR #306 获取具体修改示例。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F977",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},13797,"Keploy 网站导航栏重构的功能请求还在进行中吗？","是的，该功能请求已转移到新的 Issue #2210 继续跟进。原有的导航栏重构工作正在由社区贡献者分模块（如 Platform, Blogs, About）进行开发和审查，请关注新 Issue 获取最新进展。","https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fissues\u002F2068",[158,163,168,173,178,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252],{"id":159,"version":160,"summary_zh":161,"released_at":162},72742,"v3.3.63","## 更改日志\n* 437b8936 功能：仅支持模拟 (#3990)\n* 08e2b4a4 CI：整合 Docker CI 脚本并修复 Windows QEMU 模拟问题 (#3992)\n* 4fcf3b4a 修复（回放）：改进启动失败报告和应用日志捕获 (#3969)\n* b75dcc95 功能：在回放过程中自动通过附加的 HTTP 响应模式变更 (#3987)\n* 7e501b42 修复：应用启动失败后的回放流程 (#3964)\n* 26d4ba66 撤销“修复：在 Windows 上的 Docker 中使用命名的 debugfs 卷和非致命的 rlimit…” (#3991)\n* 57dd918a 修复：在 Windows 上的 Docker 中使用命名的 debugfs 卷和非致命的 rlimit… (#3989)\n\n","2026-04-01T11:59:37",{"id":164,"version":165,"summary_zh":166,"released_at":167},72743,"v3.3.62","## 更改日志\n* c6e5ecf9 修复：在 mock 不匹配时忽略 DNS (#3976)\n* aa018437 杂项：添加性能测试流水线 (#3858)\n* d9687da1 杂项：优化 DNS mock 的基于 Map 查找的重放功能 (#3937)\n\n","2026-03-28T16:00:59",{"id":169,"version":170,"summary_zh":171,"released_at":172},72744,"v3.3.61","## 更改日志\n* 4b5ae261 功能：添加最后更新元数据，并修复 normalize 命令中的验证 (#3936)\n* ee8dd278 功能：在代理层而非解析器层实现 TLS 处理 (#3938)\n\n","2026-03-23T14:44:27",{"id":174,"version":175,"summary_zh":176,"released_at":177},72745,"v2.12.8","## 变更内容\n* 功能：由 @Sarthak160 在 https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fpull\u002F3938 中实现，在代理层面而非解析器层面处理 TLS。\n* 功能：由 @officialasishkumar 在 https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fpull\u002F3936 中添加最后更新元数据，并修复 normalize 命令中的验证逻辑。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fkeploy\u002Fkeploy\u002Fcompare\u002Fv3.3.59...v2.12.8","2026-03-23T13:07:13",{"id":179,"version":180,"summary_zh":171,"released_at":181},72746,"v3.3.60","2026-03-23T13:06:41",{"id":183,"version":184,"summary_zh":185,"released_at":186},72747,"v3.3.59","## 更改日志\n* 62b74130 特性(报告): 添加 JUnit XML 输出格式 (#3955)\n\n","2026-03-22T18:07:18",{"id":188,"version":189,"summary_zh":190,"released_at":191},72748,"v3.3.58","## 更改日志\n* 342cc5cf 修复：在发布流水线中，将硬编码的 GitHub SSH 主机密钥替换为动态获取方式 (#3960)\n\n","2026-03-22T16:29:21",{"id":193,"version":194,"summary_zh":195,"released_at":196},72749,"v3.3.57","## 更改日志\n* 414b4a4d 特性（重放）：在重放器中引入 BeforeTestSetReplay 钩子 (#3956)\n* d9170963 修复：在 macOS 的 Docker 构建和运行中添加 --platform linux\u002Farm64 选项 (#3959)\n\n","2026-03-22T15:43:13",{"id":198,"version":199,"summary_zh":200,"released_at":201},72750,"v3.3.56","## 更改日志\n* ea65c618 修复：缩小 pkill 匹配模式，以避免杀死 Docker Desktop (#3957)\n\n","2026-03-22T12:25:55",{"id":203,"version":204,"summary_zh":205,"released_at":206},72751,"v3.3.55","## 更改记录\n* 78298300 修复：修复发布流水线、清理自托管运行器，并添加 CI 门控 (#3954)","2026-03-22T10:42:23",{"id":208,"version":209,"summary_zh":210,"released_at":211},72752,"v3.3.54","## Changelog\n* c437b4c3 feat: expose GetMockMismatchFailures and GetTestRunID on Replayer\n* ad4db6f2 fix: add GOPRIVATE and query release prerelease state before marking latest\n* 51e68895 fix: avoid mutating tracked Dockerfile during release build\n* a3c71bf4 fix: address Copilot review comments\n* 765c71a0 fix: declare missing ARG and fix known_hosts encoding on Windows\n* 48682b17 fix: address Copilot review comments on release workflow\n* 2f0b3f69 fix: add SSH known_hosts setup before checkout in pull-docker-image job\n* 5b1682a6 fix: ensure latest release resolves only after binaries and Docker image are ready\n\n","2026-03-21T17:42:28",{"id":213,"version":214,"summary_zh":215,"released_at":216},72753,"v3.3.53","## Changelog\n* 2cc6e4c6 feat: deprecate FallBackOnMiss and add mock mismatch diff reporting (#3951)\n* ff3c0530 ci: add E2E tests for DNS dedup and MySQL dual-conn handshake (#3950)\n\n","2026-03-21T14:21:58",{"id":218,"version":219,"summary_zh":220,"released_at":221},72754,"v3.3.52","## Changelog\n* 476fc668 fix: improve HTTP mock matching and deduplicate DNS mocks (#3949)\n* 86096588 fix(utils): use-after-close in isGoBinary function (#3927)\n* 114ef909 refactor: use min\u002Fmax instead of if\u002F (#3894)\n\n","2026-03-20T14:44:24",{"id":223,"version":224,"summary_zh":225,"released_at":226},72755,"v3.3.51","## Changelog\n* 191b4b38 fix: use destination address for MySQL initial handshake mock selection (#3947)\n* 402c930a fix(agent): close response bodies in MockOutgoing and UpdateMockParams (#3932)\n\n","2026-03-20T09:57:06",{"id":228,"version":229,"summary_zh":230,"released_at":231},72756,"v3.3.50","## Changelog\n* 6543711f feat(mock): persist request and response timestamps in mappings (#3944)\n\n","2026-03-20T09:06:48",{"id":233,"version":234,"summary_zh":235,"released_at":236},72757,"v3.3.49","## Changelog\n* dd0631e7 fix: ignoring mock deletion for mapped mocks which are not running in the test set (#3941)\n\n","2026-03-19T13:35:04",{"id":238,"version":239,"summary_zh":240,"released_at":241},72758,"v3.3.48","## Changelog\n* 0ead40b7 feat: add hook to get the noisy test case names (#3943)\n\n","2026-03-19T13:24:51",{"id":243,"version":244,"summary_zh":245,"released_at":246},72759,"v3.3.47","## Changelog\n* 55e12427 feat: add mutex for recording and replaying on the same mock file (#3942)\n* 210e3a5e update: ebpf binary obfuscation (#3903)\n\n","2026-03-19T12:27:25",{"id":248,"version":249,"summary_zh":250,"released_at":251},72760,"v3.3.45-rc9","## Changelog\n* b3146cfa fix(http): preserve comma-separated header values during replay\n\n","2026-03-19T11:38:50",{"id":253,"version":254,"summary_zh":255,"released_at":256},72761,"v3.3.46","## Changelog\n* d5c54677 chore: refine macOS sudo re-exec handling and command extraction (#3939)\n* 6ac43aac  feat: skip rcode !=0 DNS mocks from recording (#3935)\n* ddfdb39a ci: speed up release workflows and Docker builds (#3933)\n\n","2026-03-19T10:32:42"]