[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-open-io--oio-sds":3,"tool-open-io--oio-sds":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":118,"forks":119,"last_commit_at":120,"license":121,"difficulty_score":122,"env_os":123,"env_gpu":124,"env_ram":124,"env_deps":125,"category_tags":128,"github_topics":131,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":144,"updated_at":145,"faqs":146,"releases":187},9599,"open-io\u002Foio-sds","oio-sds","High Performance Software-Defined Object Storage for Big Data and AI, that supports Amazon S3 and Openstack Swift","oio-sds 是一款专为大数据和人工智能场景打造的高性能软件定义对象存储系统。它完美兼容亚马逊 S3 和 OpenStack Swift 接口，旨在帮助用户高效管理海量非结构化数据。面对传统存储在数据规模急剧扩张时遇到的性能瓶颈与扩展难题，oio-sds 通过灵活的软件架构提供了可扩展的解决方案，让数据存储不再受限于硬件边界。\n\n这款工具特别适合需要构建私有云存储基础设施的开发者、运维工程师以及处理大规模数据集的研究人员。无论是希望从零开始探索存储原理的技术爱好者，还是寻求企业级存储方案的专业团队，都能从中受益。oio-sds 的一大亮点在于其极简的部署体验：用户无需 root 权限，仅需运行一个简单的脚本即可快速搭建并测试属于自己的存储实例。此外，项目提供了详尽的编译与配置指南，支持从源码构建或直接在主流 Linux 发行版上安装，兼顾了灵活性与易用性，是学习和实践大规模对象存储技术的理想选择。","# OpenIO Software Defined Storage\n\nOpenIO SDS is a software solution for object storage, targeting very large-scale unstructured data volumes.\n\n## Install\n\nEither you go from scratch (the source) or you download the packages for your Linux distribution, install, and run!\n\n## Getting Started\n\nThere is one simple script to execute:\n\n  .\u002Ftools\u002Foio-reset.sh\n\nAnd if it succeeds you will have the joy to experiment your own little SDS instance. No root privileges are required!\n\n## Build\n\nPlease refer to [BUILD.md](.\u002FBUILD.md) for detailed information about how to compile and configure the solution.\n","# OpenIO 软件定义存储\n\nOpenIO SDS 是一款面向超大规模非结构化数据集的对象存储软件解决方案。\n\n## 安装\n\n您可以从源代码开始构建，也可以直接下载适用于您 Linux 发行版的软件包，安装并运行！\n\n## 快速入门\n\n只需执行一个简单的脚本：\n\n  .\u002Ftools\u002Foio-reset.sh\n\n如果执行成功，您就可以体验属于自己的小型 SDS 实例了。无需 root 权限！\n\n## 构建\n\n有关如何编译和配置该解决方案的详细信息，请参阅 [BUILD.md](.\u002FBUILD.md)。","# OpenIO SDS 快速上手指南\n\nOpenIO SDS 是一款面向超大规模非结构化数据的软件定义存储（对象存储）解决方案。本指南将帮助中国开发者快速在本地搭建并体验该工具。\n\n## 环境准备\n\n*   **操作系统**：支持主流 Linux 发行版（如 Ubuntu, Debian, CentOS 等）。\n*   **权限要求**：无需 root 权限，普通用户即可运行。\n*   **前置依赖**：\n    *   确保系统已安装基础构建工具和运行时环境。\n    *   若从源码编译，请参考项目根目录下的 `BUILD.md` 获取详细依赖列表。\n    *   *提示：国内用户若遇到依赖下载缓慢，建议配置对应发行版的国内镜像源（如阿里云、清华大学镜像站）加速安装。*\n\n## 安装步骤\n\n您可以选择直接下载对应 Linux 发行版的预编译包进行安装，或者从源码构建。\n\n**方式一：使用预编译包（推荐）**\n根据您的 Linux 发行版下载对应的软件包，使用包管理器安装即可。\n\n**方式二：从源码构建**\n1. 克隆仓库或下载源码。\n2. 参照 `BUILD.md` 文档执行编译和配置命令。\n\n## 基本使用\n\n安装完成后，只需执行一个简单的脚本即可初始化并启动一个本地的 SDS 实例。\n\n1. 进入项目目录。\n2. 运行重置\u002F初始化脚本：\n\n```bash\n.\u002Ftools\u002Foio-reset.sh\n```\n\n3. 如果脚本执行成功，您将拥有一个可立即用于实验的个人 SDS 实例。无需额外配置即可开始测试对象存储功能。","某大型自动驾驶研发团队每天需处理 PB 级路测视频与传感器日志，急需构建一个能支撑高并发读取且成本可控的海量数据存储底座。\n\n### 没有 oio-sds 时\n- 依赖昂贵的高端商用存储阵列，硬件扩容周期长且预算经常超支，难以应对数据量的指数级增长。\n- 现有存储系统在面对数千个 AI 训练节点同时读取小文件时延迟飙升，导致 GPU 集群频繁空闲等待数据。\n- 数据接口标准不统一，团队需花费大量精力编写适配脚本才能在 Hadoop、Spark 和自定义 AI 框架间切换数据源。\n- 缺乏灵活的软件定义能力，一旦某个存储节点故障，整个集群的恢复过程复杂且耗时，严重影响研发迭代效率。\n\n### 使用 oio-sds 后\n- 基于普通服务器快速部署 oio-sds，利用其软件定义架构实现线性横向扩展，存储成本降低 60% 且随时可按需扩容。\n- 借助 oio-sds 针对大数据优化的元数据管理机制，高并发读取性能提升 3 倍，彻底消除了 AI 训练过程中的 I\u002FO 瓶颈。\n- 原生支持 Amazon S3 和 OpenStack Swift 标准协议，现有数据管道无需修改代码即可无缝迁移，实现了多框架间的透明访问。\n- 内置的高可用与自愈机制确保单点故障自动修复，运维团队不再需要手动干预，保障了 7x24 小时不间断的数据服务。\n\noio-sds 通过高性能的软件定义架构，将海量非结构化数据的存储从昂贵的硬件负担转变为灵活、高效且标准化的 AI 基础设施。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-io_oio-sds_f1d908a3.png","open-io","OpenIO ","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fopen-io_9ba87703.png","Build hyper-scalable and high-perf Object Storage infrastructures that support S3",null,"info@openio.io","https:\u002F\u002Fwww.openio.io\u002F","https:\u002F\u002Fgithub.com\u002Fopen-io",[82,86,90,94,98,102,106,108,112,115],{"name":83,"color":84,"percentage":85},"Python","#3572A5",60,{"name":87,"color":88,"percentage":89},"C","#555555",36.1,{"name":91,"color":92,"percentage":93},"Go","#00ADD8",2.1,{"name":95,"color":96,"percentage":97},"Shell","#89e051",1.1,{"name":99,"color":100,"percentage":101},"CMake","#DA3434",0.6,{"name":103,"color":104,"percentage":105},"Yacc","#4B6C4B",0.1,{"name":107,"color":77,"percentage":105},"NASL",{"name":109,"color":110,"percentage":111},"Ragel","#9d5200",0,{"name":113,"color":114,"percentage":111},"Lex","#DBCA00",{"name":116,"color":117,"percentage":111},"jq","#c7254e",751,100,"2026-04-17T13:54:10","NOASSERTION",4,"Linux","未说明",{"notes":126,"python":124,"dependencies":127},"支持从源码构建或下载对应 Linux 发行版的安装包；运行初始化脚本（oio-reset.sh）无需 root 权限；详细编译和配置信息需参考 BUILD.md 文件。",[],[129,14,13,45,130,16,15,35],"音频","其他",[132,133,134,135,136,137,138,139,140,141,142,143],"storage","object-storage","c","python","software-defined-storage","lightweight","golang","open-source","flexible","objectstorage","s3-storage","openstack-swift","2026-03-27T02:49:30.150509","2026-04-20T04:05:14.306396",[147,152,157,162,167,172,177,182],{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},43075,"创建容器时遇到 \"Backend error: META0 partially missing (HTTP 500)\" 错误怎么办？","这通常是因为目录引导（bootstrap）未完成或服务未正确重启。请执行以下步骤：\n1. 运行引导命令：`openio --oio-ns=OPENIO directory bootstrap --replicas 3`\n2. 确保引导成功后，在所有节点上重启 meta0 和 meta1 服务，命令为：`gridinit_cmd restart @meta0 @meta1`\n必须确保所有相关节点的服务都已重启，否则仍会报错。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F1349",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},43076,"在低配置服务器（如 Raspberry Pi）上进行目录引导失败并出现 HTTP 500 超时错误，如何解决？","在低性能设备上，默认的元数据分片数量（meta1_digits）可能导致计算超时或均衡失败。日志中若出现 \"No equilibration possible when meta1_digits is set to 0\"，说明需要调整配置。建议在引导命令中显式指定适合低配环境的参数，或增加操作超时时间。对于树莓派等设备，可能需要减少副本数或调整 meta1_digits 配置以避免资源耗尽导致的超时。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F903",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},43077,"meta0 初始化不完全或部分节点未正确初始化，如何修复？","如果 meta0 在初始化过程中未能正确注册或初始化（特别是在 AWS EC2 等环境中），唯一的解决方法是：\n1. 先确保 Zookeeper 已完成引导（bootstrapped）。\n2. 重启 meta0 服务。\n3. 在 Zookeeper 就绪后，再次安全地初始化 meta0。\n注意：如果在 Zookeeper 未就绪时启动 meta0，日志中会出现 \"zk base node ... doesn't exist\" 的警告，此时必须重启服务才能恢复正常。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F193",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},43078,"account-server 的访问日志和错误日志内容颠倒了，如何修正日志格式？","该问题与使用的 gunicorn 版本有关。升级到 `python-gunicorn 19.4.5` 或更高版本可以显著改善访问日志的格式。升级后，访问日志将正确记录请求详情（如 IP、方法、状态码等）。如果仍有缺失，可能需要在配置中补充以下字段：Pid（进程 ID）、thread_id（线程 ID）、Local server ip:port（本地服务器地址端口）和 Dist server port（远程服务器端口）。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F349",{"id":168,"question_zh":169,"answer_zh":170,"source_url":171},43079,"Conscience Agent 进程无法被杀死或停止，如何处理？","这是一个已知缺陷，在某些情况下 Conscience Agent 会因连接拒绝错误（ECONNREFUSED）而陷入无法终止的状态。该问题已在分支 4.1.x（标签 4.1.5）、4.x（标签 4.2.0）及 master 分支中修复。建议尽快升级到包含修复的版本，或者等待维护者将补丁回溯（backport）到您当前使用的稳定版本。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F1223",{"id":173,"question_zh":174,"answer_zh":175,"source_url":176},43080,"尝试创建对象时返回 500 错误而不是预期的 204，可能是什么原因？","此问题通常由内部服务通信超时或元数据服务（meta1\u002Fmeta2）响应无效引起。日志中若出现 \"invalid at ...\" 或超时相关信息，表明代理层无法从后端获取有效响应。检查网络连接是否正常，确认 meta1 和 meta2 服务是否正常运行且负载不高。该问题在早期的单节点测试环境中较为常见，通常通过修复内部超时逻辑（参考 PR #316）来解决。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F314",{"id":178,"question_zh":179,"answer_zh":180,"source_url":181},43081,"为什么有些容器显示已存在但实际未初始化，导致操作结果异常？","当引用（reference）首次链接到服务时，系统会自动创建一个“幽灵”容器，但该容器并未完全初始化。这会导致后续的 put\u002Fget\u002Fdelete 操作产生意外结果。该问题已在特定提交（e61c18ff...）中修复，修复策略是确保自动创建的容器也会立即初始化，或者限制仅在 put 方法中才允许创建容器。如果您遇到此问题，请升级到包含该修复的版本。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F80",{"id":183,"question_zh":184,"answer_zh":185,"source_url":186},43082,"使用 Swift 代理存储 URL 编码的文件名时出现问题，如何解决？","早期版本在处理 UTF-8 支持和 URL 编码文件名（特别是配合 Pydio 使用时）存在缺陷。虽然部分改进已通过相关 PR 引入，但仍未完全解决。系统仍需完善对 meta2 和 meta1 发送事件中 UTF-8 别名名称的管理。建议升级到最新版本以获得更好的 UTF-8 支持，如果问题依旧，可能需要检查 oioproxy 组件的配置或等待后续针对事件处理的修复。","https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fissues\u002F194",[188,193,198,203,208,213,218,223,228,233,238,243,248,253,258,263,268,273,278,283],{"id":189,"version":190,"summary_zh":191,"released_at":192},342792,"7.3.0","# 改进\n- 如果存在冲突，尝试使用另一个目标重新构建（757c5b84）\n- CLI：添加参数以显示性能数据列（9fcb4bc9）\n- 包含来自 [5.11.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.11.0)、[5.12.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.12.0)、[5.12.1](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.12.1) 和 [5.13.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.13.0) 的所有改进\n\n# 错误修复\n- 拼写错误：predictible -> predictable（8eea5076）\n- 包含来自 [5.11.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.11.0)、[5.12.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.12.0)、[5.12.1](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.12.1) 和 [5.13.0](https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Freleases\u002Ftag\u002F5.13.0) 的所有修复\n","2022-08-24T08:32:28",{"id":194,"version":195,"summary_zh":196,"released_at":197},342793,"5.13.0","# 改进：\n- rawx：在响应 HEAD 或 GET 请求之前检查分块文件大小（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fe94cc0525d88bbc5cddb83041fbcfcc47a478e75）\n- oio-blob-rebuilder：检测并忽略损坏的源分块（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fde7d00ad3500b8e9ce7355574fc50cb924d05b50）\n- 测试：为每个测试启动一个日志记录器实例（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fe56091cb0e9e8fe45fb476e4f735e63776c70b68）\n- 测试：测试带有 2 个损坏分块的 EC 对象的重建（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fae90093b0bb035fbc93f2aceaa8fb4f6fb92a7d6）\n\n# 错误修复：\n- meta2：在容器更新事件中放入完整的 URL（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fa078e1a848d67e12c10085741dfe8a7146948ef6）\n- CLI：修复对象操作的日志记录器（https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fcommit\u002Fb2711f8825be0c842a19f9b10041b3831aa910e6）","2022-08-10T12:34:34",{"id":199,"version":200,"summary_zh":201,"released_at":202},342794,"5.12.1","# 错误修复\n- 账户：修复批量刷新时提前退出的问题 (2a0868f67)","2022-05-03T12:40:53",{"id":204,"version":205,"summary_zh":206,"released_at":207},342795,"5.12.0","# 改进\n- CI：修复版权检查脚本（用于 pre-commit 钩子）(5418d5937)\n- CLI：使“bucket refresh”命令在容器中递归执行 (3655b9e74)","2022-04-13T07:32:03",{"id":209,"version":210,"summary_zh":211,"released_at":212},342796,"5.11.0","# 改进\n- meta2：当数据库较小时，执行同步重同步的真空操作（6e2e5817）\n- Python API：从 rawx 读取完整的 EC 片段（e76f977f）\n- CLI：将 GreenletProfiler 替换为 yappi（0a7e51b3）\n- Python API：增加读取缓冲区大小（32364958）\n- account：列出桶时避免列出分片（18525d48）\n- CI：改进版权检查脚本（b11a2622、cba8fe4c）\n- meta2：在“container.new”和“container.state”事件中添加请求 ID（eedb9b49）\n- meta1：在“account.services”事件中添加请求 ID（bdb83ff6）\n- rawx：在链接分块时发送“chunk.new”事件（670e3506）\n- rawx：更新 Go Modules（a3b80e2b）\n- CI：使部分测试运行得更快（efae32b5）\n- sqliterepo：使选举调试信息更清晰（89be9782）\n- sqliterepo：发生损坏时，显示基础名称（67f6bad5）\n\n# 错误修复\n- sqliterepo：提取 User-Agent 并将其传递到 meta2 事件中（23d93060）\n- server、sqliterepo：修复请求最大尺寸问题（867dfc5d）\n- server：保护 ASN.1 服务器免受 HTTP 请求攻击（f64272ed）\n- rawx（Go）：修复计算哈希路径的问题（29726a77）\n- sqliterepo：检测 Zookeeper >= 3.6.0（b2e92bf5）\n- account：修复刷新桶的 Lua 脚本（288533f）\n\n# 警告\n如果在已安装的配置中定义了变量 `sqliterepo.dump.max_size`，则绝对需要添加变量 `server.request.max_size`，并注意其选择的值（参见 https:\u002F\u002Fgithub.com\u002Fopen-io\u002Foio-sds\u002Fblob\u002F5.x\u002FVariables.md#sqliterepodumpmax_size）。","2022-03-18T08:47:07",{"id":214,"version":215,"summary_zh":216,"released_at":217},342797,"7.2.0","# 新特性\n- conscience-agent：检查服务端点冲突 712276d6\n- 生成可预测的分块 ID 5ac57dd7 4bfc5ab7 1e5b70ff f14700eb 2c40515f 34f08c09 1a7f97ca 17a33491 f17deaae 5f99b9da 4fac9867\n- 包含 5.7.0、5.8.0、5.9.0 和 5.10.0 版本的所有特性\n\n# 改进\n- 包含 5.7.0、5.8.0、5.9.0 和 5.10.0 版本的所有改进\n\n# 错误修复\n- oio：修复 Python 3 下的刷新问题 8c22dfd4\n- account：在删除桶后进行清理 6c67cb6e\n- 包含 5.7.0、5.8.0、5.9.0 和 5.10.0 版本的所有修复","2021-06-08T07:39:38",{"id":219,"version":220,"summary_zh":221,"released_at":222},342798,"5.10.0","# 新特性\n- CLI：实现“events tubes”子命令 5712ace\n\n# 改进\n- proxy、meta2：改进容器快照功能 e9b8c37\n- Python API：在重建元块时忽略大小错误的块 af9ca8e\n- Python API：在重建块时检查大小 b1d1a94\n- Python API：在 ContentFactory 及相关类之间共享连接池 30cd774\n- CI：导入 CDS 的配置文件 35ce5bc\n- conf：将 core.lb.weighted_random_attempts 默认值设置为 8 63355fb\n- rawx：创建 Go 模块 d582498\n- CI：创建 oio-zk-cluster.sh dc38c2e\n- CI：更新 APT 软件源 0d9ec3c\n\n# Bug 修复\n- sqliterepo：修复快照功能 b0fe13c\n- CI：运行脏缓存测试时，在获取新对象之前等待所有删除操作完成 a909cb6\n- xcute：在 beanstalkd 连接不再使用时将其关闭 a732b3b\n- lifecycle：修复提供 XML 命名空间时的解析问题 23bcdd6\n- oio-crawler-integrity：避免误读标准输入 79e66b8\n- account：修复前缀与标记完全相同的容器列表显示问题 87324eb\n- account：捕获“对已关闭文件执行 I\u002FO 操作”异常 7d2991b\n- xcute：允许在锁已被占用时将其置于挂起状态 bca9a50\n- meta2-mover：不因 rdir 错误而失败 ddf56d1\n- CLI：允许在 oioproxy 中仅刷新高或低缓存 e889db0\n- conscience：拒绝来自其他命名空间的服务 452c97c","2021-06-04T14:48:29",{"id":224,"version":225,"summary_zh":226,"released_at":227},342799,"5.9.0","# 新特性\n- 允许在同步数据库之前选择检查类型 ea0867f95 67467deaf\n\n# 改进\n- conscience-agent：忽略空配置文件 98d9e21\n- 移除已废弃的 meta2 代码\n- xcute：在所有 meta2 服务上同时只允许运行一个任务 82fc11737ef\n- 检查 Go 源代码并报告可疑结构 e1d356bf0\n\n# 错误修复\n- Python API：重建分块时返回实际重建大小 #2114\n- CLI：当进程接收到 SIGINT\u002FSIGTERM 信号时正常退出 bf5dda9\n- proxy：当所有 meta1 对等节点都不可用时，解除缓存引用 d582e962a\n- Python API：当对象无法恢复时，真正清除缓存 037eeee23\n- CLI：如果指定了 --count 参数，则不要假设所有服务都已启动 679a6ce7c\n- proxy：如果向主节点发送请求时出现超时错误，则不再重试 d8ab0a669\n- proxy：修复段错误，改进错误信息 a12a8dd66\n- meta2：仅关闭数据库一次 ba5585c74 3a87e07e4\n- proxy：自动创建容器时无需提供属性 3e46cb974","2021-03-29T15:54:05",{"id":229,"version":230,"summary_zh":231,"released_at":232},342800,"5.8.0","# 新功能\n- xcute：允许更新作业配置 #2103\n- xcute：优化作业列表展示 #2104\n\n# 改进\n- 各种修复和增强 #2102\n- 移动数据块时考虑分数因素 #2107\n- xcute：根据处理速度动态调整作业执行速率 #2109\n\n# 问题修复\n- conscience：重启时保留服务锁 #2093\n- rawx：使用探测器检查 I\u002FO 问题 #2094\n- meta2：修复已删除别名的清理逻辑 #2096\n- proxy：将更多底层错误映射为服务不可用（503）#2098\n- xcute：在任务被处理前保存已发送的任务集 #2101\n- 更新“最后一个有效 Unicode 字符” hack #2105\n- meta2：不再忽略数据库错误 #2106\n- rawx：不打印缺失压缩属性的错误 #2108\n- 数据生成器已产生字节时，不再重复迭代 #2110","2021-01-08T15:56:39",{"id":234,"version":235,"summary_zh":236,"released_at":237},342801,"5.7.0","# 新功能\n- 将新的 rdir 重新分配给服务 #2091\n\n# 改进\n- rawx：当卷的 XATTR 设置错误时，改进错误信息 #2092","2020-11-16T16:20:32",{"id":239,"version":240,"summary_zh":241,"released_at":242},342802,"7.1.0","# New features\r\n- Store the global list of buckets under the \"buckets:\" key #2072\r\n- tools: implement a basic benchmark for the account service #2076\r\n\r\n# Improvements\r\n- Enrich info on meta2 with SQLITE version #2067\r\n- Improve versioning management #2078\r\n\r\n# Bug fixes\r\n- account: do not try to decode `None` as UTF-8 #2074\r\n- proxy: set service type when extracting from cached JSON #2090","2020-11-02T09:39:02",{"id":244,"version":245,"summary_zh":246,"released_at":247},342803,"5.6.1","# Improvements\r\n- Enhance ECD and refresh reqid for each use of C API #2084\r\n- account: rework bucket refresh #2085\r\n\r\n # Bug fixes\r\n- rawx: Don't actually use address as service ID #2082\r\n- Fix 'openio-admin rawx check' command #2086","2020-10-13T13:11:29",{"id":249,"version":250,"summary_zh":251,"released_at":252},342804,"5.6.0","# New features\r\n- CLI: allow to set a bucket name on an already created container #2073\r\n- account: allow to call the master service for reads #2075\r\n\r\n# Improvements\r\n- Python API: Add time in console logs #2081\r\n\r\n# Bug fixes\r\n- account: Refresh account without impacting the bucket counters #2070\r\n- Meta0: compare the requested namespace to the locally configured one #2071\r\n- Python API: fix the conversion of negative size values #2077\r\n- proxy: refresh the global list of down services #2079","2020-09-23T13:11:31",{"id":254,"version":255,"summary_zh":256,"released_at":257},342805,"5.5.5","# Bug fixes\r\n- Python API: pass the request ID when linking #2068\r\n- Python API: properly pass the connection and write timeout when linking #2069","2020-08-03T14:32:46",{"id":259,"version":260,"summary_zh":261,"released_at":262},342806,"5.5.4","# Improvements\r\n- sqliterepo: display election access time and last status #2065\r\n- Enhance bucket listing with versioning status #2062\r\n- multi-conscience: Add more logs #2061\r\n\r\n# Bug fixes\r\n- Replace mallinfo by getrusage #2066\r\n\r\n","2020-07-20T15:46:00",{"id":264,"version":265,"summary_zh":266,"released_at":267},342807,"7.0.1","# Improvements\r\n- allow multiple glob patterns in conscienceagent's include_dir conf #2060\r\n- Admin CLI: Enhance meta0 check #2053 \r\n- All improvements from 5.5.3\r\n\r\n# Bug fixes\r\n- cli: cleanup make_client #2034\r\n- xcute: fix job listing in python3 #2055\r\n- All fixes from 5.5.3","2020-07-06T08:57:03",{"id":269,"version":270,"summary_zh":271,"released_at":272},342808,"5.5.3","# Improvements\r\n- conscience-agent: set a timeout for the http stats collector #2031\r\n- Fix one flaky test #2040\r\n- Check size of all uploaded chunks #2051\r\n- Pass proc_name setting to gunicorn applications #2056\r\n- Sort chunks with a weighted random algorithm #2058\r\n\r\n# Bug fixes\r\n- proxy: Limit the size of object lists when there is no max #2046\r\n- Allow to run \"election debug\" on broken meta0 services #2054\r\n- Python API: Refresh the cached rawx scores #2057","2020-06-29T14:49:46",{"id":274,"version":275,"summary_zh":276,"released_at":277},342809,"7.0.0","# New features\r\n- Implement compression in rawx services #1946\r\n- HTTPS support #1948 #1977 #2004 #2048 #2049\r\n- oio-proxy: Get the score of a single service registered in ConsciousGrid #2007\r\n- CLI: expose performance data as a dedicated entry #2033\r\n\r\n# Improvements\r\n- Define oio-sds merge strategy #1983\r\n- Include request ID in rawx error messages #1989\r\n- rawx: ignore a few xattr errors #2010\r\n- Improve Python3 compatibility #2012\r\n- Speedup the RAWX #2017\r\n- conscience-agent: set a timeout for the HTTP stats collector #2031\r\n- rawx: add more logs when replying errors #2045\r\n- proxy: Limit the size of object lists when there is no explicit max #2046 (from 5.x branch)\r\n- Python API: protect against read-after-close operations #2048\r\n- rawx: tell if a request was HTTP or HTTPS in the logs #2049\r\n\r\n# Bug fixes\r\n- rawx: fix behavior when chunk size attr is missing #1978 #1979\r\n- Python API: Avoid prefixing http path if \u002F is already set #1992\r\n- rawx: log req.host instead of rawx.url #2032\r\n- rawx: remove what is left of the old rawx #2035\r\n- Fix one flaky test #2040 (from 5.x branch)\r\n- Fix warnings raised by the documentation extractor #2050","2020-06-05T09:38:16",{"id":279,"version":280,"summary_zh":281,"released_at":282},342810,"5.5.2","# Improvements\r\n- Improve performance data collection #2043\r\n\r\n# Bug fixes\r\n- Check the count of known targets to avoid segfault #2044","2020-05-28T09:46:42",{"id":284,"version":285,"summary_zh":286,"released_at":287},342811,"5.5.1","# Improvements\r\n- Python API: retry fetch when clues of dirty cache #2041\r\n- CI: Limit the maximum number of databases open simultaneously #2038\r\n- Remove useless code #2039 \r\n\r\n# Bugfixes\r\n- rawx: Fix unescaped special characters in JSON events, Events config, beanstalkd concurrency\r\nbug #2042\r\n- Fix tests #2037\r\n","2020-05-19T12:25:12"]