[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-DT42--BerryNet":3,"tool-DT42--BerryNet":61},[4,18,26,36,44,53],{"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 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"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",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":77,"owner_url":78,"languages":79,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":104,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":118,"github_topics":119,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":131,"updated_at":132,"faqs":133,"releases":163},8472,"DT42\u002FBerryNet","BerryNet","Deep learning gateway on Raspberry Pi and other edge devices","BerryNet 是一款专为树莓派及其他边缘设备设计的深度学习网关，旨在将智能分析能力直接部署在本地硬件上。它无需依赖互联网连接，即可在设备端独立完成图像与视频流的实时分析，有效解决了传统云端 AI 方案中数据传输成本高、存储压力大以及网络延迟导致响应慢等痛点。\n\n该项目非常适合物联网开发者、嵌入式工程师以及希望构建私有化智能监控系统的技术爱好者。通过 BerryNet，用户可以轻松将普通的摄像头升级为能识别特定物体（如行人、车辆或宠物）的智能终端，并支持多设备组网形成分布式的 AIoT 网络。\n\n其核心技术亮点在于灵活的架构设计：利用 Node.js 或 Python 结合 MQTT 协议，无缝集成多种主流深度学习模型，包括用于图像分类的 Inception v3，以及用于目标检测的 TinyYOLO 和 MobileNet SSD。这种设计不仅降低了硬件门槛，还赋予了用户极高的自定义自由度，可根据实际需求灵活切换算法或扩展硬件支持，让边缘人工智能的开发与应用变得更加简单高效。","\u003Cp align=\"center\">\u003Ca href=\"http:\u002F\u002Fberrynet.org\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg width=\"50%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_3545e323c71e.png\" alt=\"BerryNet Logo\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2  align=\"center\">Deep Learning Gateway on Raspberry Pi And Other Edge Devices\u003C\u002Fh2>\n\n![Docker Image CI](https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fworkflows\u002FDocker%20Image%20CI\u002Fbadge.svg)\n\n[Supporting BerryNet](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Fcommunity\u002Fdonation\u002F)\n\n* [One-time donation via PayPal](https:\u002F\u002Fpaypal.me\u002Fberrynet).\n* [One-time donation via crypto-currencies](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Fcommunity\u002Fdonation\u002F).\n* [Become a backer or sponsor on Open Collective](https:\u002F\u002Fopencollective.com\u002Fberrynet).\n\n## Introduction\n\nThis project turns edge devices such as Raspberry Pi into an intelligent gateway with deep learning running on it. No internet connection is required, everything is done locally on the edge device itself. Further, multiple edge devices can create a distributed AIoT network.\n\nAt DT42, we believe that bringing deep learning to edge devices is the trend towards the future. It not only saves costs of data transmission and storage but also makes devices able to respond according to the events shown in the images or videos without connecting to the cloud.\n\n![Figure 1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_9b1626633425.png)\n\n\u003Cp align=\"center\">Figure 1: BerryNet architecture\u003C\u002Fp>\n\nFigure 1 shows the software architecture of the project, we use Node.js\u002FPython, MQTT and an AI engine to analyze images or video frames with deep learning. So far, there are two default types of AI engines, the classification engine (with Inception v3 [[1]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1512.00567.pdf) model) and the object detection engine (with TinyYOLO [[2]](https:\u002F\u002Fpjreddie.com\u002Fmedia\u002Ffiles\u002Fpapers\u002FYOLO9000.pdf) model or MobileNet SSD [[3]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1704.04861.pdf) model). Figure 2 shows the differences between classification and object detection.\n\n![Figure 2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_6ad135102b90.jpg)\n\n\u003Cp align=\"center\">Figure 2: Classification vs detection\u003C\u002Fp>\n\nOne of the application of this intelligent gateway is to use the camera to monitor the place you care about. For example, Figure 3 shows the analyzed results from the camera hosted in the DT42 office. The frames were captured by the IP camera and they were submitted into the AI engine. The output from the AI engine will be shown in the dashboard. We are working on the Email and IM notification so you can get a notification when there is a dog coming into the meeting area with the next release.\n\n![Figure 3](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_5cbf101be858.gif)\n\n\u003Cp align=\"center\">Figure 3: Object detection result example\u003C\u002Fp>\n\nTo bring easy and flexible edge AI experience to user, we keep expending support of the AI engines and the reference HWs.\n\n![Figure 4](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_ded471697ef1.png)\n\n\u003Cp align=\"center\">Figure 4: Reference hardwares\u003C\u002Fp>\n\n\n## Installation\n\nYou can install BerryNet by using pre-built image or from source. Please refer to the [installation guide](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Ftutorials\u002Finstallation\u002F) for the details. \n\nWe are pushing BerryNet into Debian repository, so you will be able to install by only typing one command in the future.\n\nHere is the quick steps to install from source:\n\n```\n$ git clone https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet.git\n$ cd BerryNet\n$ .\u002Fconfigure\n```\n\n\n## Start and Stop BerryNet\n\nBerryNet performs an AIoT application by connecting independent components together. Component types include but not limited to AI engine, I\u002FO processor, data processor (algorithm), or data collector.\n\nWe recommend to manage BerryNet componetns by [supervisor](http:\u002F\u002Fsupervisord.org\u002F), but you can also run BerryNet components manually. You can manage BerryNet via `supervisorctl`:\n\n    ```\n    # Check status of BerryNet components\n    $ sudo supervisorctl status all\n\n    # Stop Camera client\n    $ sudo supervisorctl stop camera\n\n    # Restart all components\n    $ sudo supervisorctl restart all\n\n    # Show last stderr logs of camera client\n    $ sudo supervisorctl tail camera stderr\n    ```\n\nFor more possibilities of supervisorctl, please refer to the [official tutorial](http:\u002F\u002Fsupervisord.org\u002Frunning.html#running-supervisorctl).\n\nThe default application has three components:\n\n* Camera client to provide input images\n* Object detection engine to find type and position of the detected objects in an image\n* Dashboard to display the detection results\n\nYou will learn how to configure or change the components in the [Configuration](#configuration) section.\n\n\n## Dashboard: Freeboard\n\n### Open Freeboard on RPi (with touch screen)\n\nFreeboard is a web-based dashboard. Here are the steps to show the detection result image and text on Freeboard:\n\n* 1: Enter `http:\u002F\u002F127.0.0.1:8080` in browser's URL bar, and press enter\n* 2: [Download](https:\u002F\u002Fraw.githubusercontent.com\u002FDT42\u002FBerryNet\u002Fmaster\u002Fconfig\u002Fdashboard-tflitedetector.json) the Freeboard configuration for default application, `dashboard-tflitedetector.json`\n* 2: Click `LOAD FREEBOARD`, and select the newly downloaded `dashboard-tflitedetector.json`\n* 3: Wait for seconds, you should see the inference result image and text on Freeboard\n\n### Open Freeboard on another computer\n\nAssuming that you have two devices:\n\n* Device A with IP `192.168.1.42`, BerryNet default application runs on it\n* Device B with IP `192.168.1.43`, you want to open Freeboard and see the detection result on it\n\nHere are the steps:\n\n* 1: Enter `http:\u002F\u002F192.168.1.42:8080` in browser's URL bar, and press enter\n* 2: [Download](https:\u002F\u002Fraw.githubusercontent.com\u002FDT42\u002FBerryNet\u002Fmaster\u002Fconfig\u002Fdashboard-tflitedetector.json) the Freeboard configuration for default application, `dashboard-tflitedetector.json`\n* 3: Replace all the `localhost` to `192.168.1.42` in `dashboard-tflitedetector.json`\n* 2: Click `LOAD FREEBOARD`, and select the newly downloaded `dashboard-tflitedetector.json`\n* 3: Wait for seconds, you should see the inference result image and text on Freeboard\n\nFor more details about dashboard configuration (e.g. how to add widgets), please refer to [Freeboard project](https:\u002F\u002Fgithub.com\u002FFreeboard\u002Ffreeboard).\n\n\n## Enable Data Collector\n\nYou might want to store the snapshot and inference results for data analysis.\n\nTo run BerryNet data collector manually, you can run the command below:\n\n```\n$ bn_data_collector --topic-config \u003Ctopic-config-filepath> --data-dirpath \u003Cresult-dirpath>\n```\n\nThe topic config indicates what MQTT topic the data collector will listen, and what handler will be triggered. Here is a topic config example:\n\n```\n{\n    \"berrynet\u002Fengine\u002Ftflitedetector\u002Fresult\": \"self.update\"\n}\n```\n\nThe inference result image and text will be saved into the indicated result directory.\n\n\n## Configuration\n\nThe default supervisor config is at `\u002Fetc\u002Fsupervisor\u002Fconf.d\u002Fberrynet-tflite.conf`. To write your own supervisor config, you can refer to [here](https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Ftree\u002Fmaster\u002Fconfig\u002Fsupervisor\u002Fconf.d) for more example supervisor configs of BerryNet\n\n### Camera Client\n\nBerryNet camera client can run in two modes: stream or file. In stream mode, local camera (e.g. USB camera and RPi camera) and IP camera can be supported, and input frame rate (FPS) can be changed on demand (default is 1). In file mode, user can indicate filepath as input source.\n\nTo run camera client in stream mode:\n\n```\n$ bn_camera --fps 5\n```\n\nTo run camera client in file mode:\n\n```\n$ bn_camera --mode file --filepath \u003Cimage-filepath>\n```\n\n\n## Use Your Data To Train\n\nThe original instruction of retraining YOLOv2 model see [github repository of darknet](https:\u002F\u002Fgithub.com\u002FAlexeyAB\u002Fdarknet#how-to-train-to-detect-your-custom-objects)\n\nIn the current of BerryNet, TinyYolo is used instead of YOLOv2. \nThe major differences are:\n\n1. Create file yolo-obj.cfg with the same content as in `tiny-yolo.cfg`\n2. Download pre-trained weights of darknet reference model, `darknet.weights.12`, for the convolutional layers (6.1MB)\nhttps:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F0B-oZJEwmkAObMzAtc2QzZDhyVGM?usp=sharing\n\nThe rest parts are the same as retraining YOLO.\n\nIf you use [LabelMe](http:\u002F\u002Flabelme.csail.mit.edu\u002FRelease3.0\u002F) to annotate data, `utils\u002FxmlTotxt.py` can help convert the xml format to the text format that darknet uses.\n\n\n## Discussion\n\nPlease refer to the [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fberrynet\u002Fshared_invite\u002FenQtODg5MjA0ODExMjUzLWIwMDNkZWExZGE2Njc1ZDljMmFiOWJlZDdmZmEwYmQ4YTJiNzg2NDc1NTJhMDVkMzhmNzA3YTU0ZTc4M2JiNTE) or [Telegram Group](https:\u002F\u002Ft.me\u002Fberrynetdev) for questions, suggestions, or any idea discussion.\n","\u003Cp align=\"center\">\u003Ca href=\"http:\u002F\u002Fberrynet.org\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg width=\"50%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_3545e323c71e.png\" alt=\"BerryNet Logo\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2  align=\"center\">树莓派及其他边缘设备上的深度学习网关\u003C\u002Fh2>\n\n![Docker镜像CI](https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fworkflows\u002FDocker%20Image%20CI\u002Fbadge.svg)\n\n[支持BerryNet](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Fcommunity\u002Fdonation\u002F)\n\n* [通过PayPal一次性捐赠](https:\u002F\u002Fpaypal.me\u002Fberrynet)。\n* [通过加密货币一次性捐赠](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Fcommunity\u002Fdonation\u002F)。\n* [在Open Collective上成为支持者或赞助商](https:\u002F\u002Fopencollective.com\u002Fberrynet)。\n\n## 简介\n\n本项目可将树莓派等边缘设备转变为内置深度学习功能的智能网关。无需互联网连接，所有处理均在本地边缘设备上完成。此外，多台边缘设备可组成分布式AIoT网络。\n\n在DT42，我们坚信将深度学习引入边缘设备是未来的发展趋势。这不仅能够节省数据传输和存储成本，还能使设备在不连接云端的情况下，根据图像或视频中的事件做出实时响应。\n\n![图1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_9b1626633425.png)\n\n\u003Cp align=\"center\">图1：BerryNet架构\u003C\u002Fp>\n\n图1展示了项目的软件架构，我们使用Node.js\u002FPython、MQTT以及AI引擎来对图像或视频帧进行深度学习分析。目前，默认提供了两种类型的AI引擎：分类引擎（基于Inception v3 [[1]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1512.00567.pdf)模型）和目标检测引擎（基于TinyYOLO [[2]](https:\u002F\u002Fpjreddie.com\u002Fmedia\u002Ffiles\u002Fpapers\u002FYOLO9000.pdf)模型或MobileNet SSD [[3]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1704.04861.pdf)模型）。图2展示了分类与目标检测的区别。\n\n![图2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_6ad135102b90.jpg)\n\n\u003Cp align=\"center\">图2：分类与检测\u003C\u002Fp>\n\n该智能网关的一个应用场景是利用摄像头监控您关心的区域。例如，图3展示了托管在DT42办公室的摄像头所捕获的分析结果。这些帧由IP摄像头采集并提交给AI引擎，其输出将在仪表板上显示。我们正在开发邮件和即时通讯通知功能，以便在下次发布时，当有狗进入会议区时，您能收到提醒。\n\n![图3](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_5cbf101be858.gif)\n\n\u003Cp align=\"center\">图3：目标检测结果示例\u003C\u002Fp>\n\n为了给用户提供简单灵活的边缘AI体验，我们不断扩展对AI引擎和参考硬件的支持。\n\n![图4](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_readme_ded471697ef1.png)\n\n\u003Cp align=\"center\">图4：参考硬件\u003C\u002Fp>\n\n\n## 安装\n\n您可以使用预构建的镜像或从源代码安装BerryNet。详细信息请参阅[安装指南](https:\u002F\u002Fdt42.io\u002Fberrynet-doc\u002Ftutorials\u002Finstallation\u002F)。\n\n我们正计划将BerryNet加入Debian仓库，未来只需一条命令即可完成安装。\n\n以下是通过源代码快速安装的步骤：\n\n```\n$ git clone https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet.git\n$ cd BerryNet\n$ .\u002Fconfigure\n```\n\n\n## 启动与停止BerryNet\n\nBerryNet通过连接各个独立组件来实现AIoT应用。这些组件包括但不限于AI引擎、I\u002FO处理器、数据处理器（算法）或数据采集器。\n\n我们建议使用[supervisor](http:\u002F\u002Fsupervisord.org\u002F)来管理BerryNet组件，但您也可以手动运行BerryNet组件。您可以通过`supervisorctl`来管理BerryNet：\n\n    ```\n    # 检查BerryNet组件状态\n    $ sudo supervisorctl status all\n\n    # 停止相机客户端\n    $ sudo supervisorctl stop camera\n\n    # 重启所有组件\n    $ sudo supervisorctl restart all\n\n    # 查看相机客户端最近的stderr日志\n    $ sudo supervisorctl tail camera stderr\n    ```\n\n有关`supervisorctl`的更多用法，请参阅[官方教程](http:\u002F\u002Fsupervisord.org\u002Frunning.html#running-supervisorctl)。\n\n默认应用包含三个组件：\n\n* 相机客户端，用于提供输入图像\n* 目标检测引擎，用于识别图像中物体的类型和位置\n* 仪表板，用于展示检测结果\n\n您可以在[配置](#configuration)章节中了解如何配置或更改这些组件。\n\n\n## 仪表板：Freeboard\n\n### 在RPi上打开Freeboard（带触摸屏）\n\nFreeboard是一个基于Web的仪表板。以下是在Freeboard上显示检测结果图像和文本的步骤：\n\n* 1：在浏览器地址栏中输入`http:\u002F\u002F127.0.0.1:8080`，然后按回车键\n* 2：[下载](https:\u002F\u002Fraw.githubusercontent.com\u002FDT42\u002FBerryNet\u002Fmaster\u002Fconfig\u002Fdashboard-tflitedetector.json)默认应用的Freeboard配置文件`dashboard-tflitedetector.json`\n* 2：点击`LOAD FREEBOARD`，选择新下载的`dashboard-tflitedetector.json`\n* 3：等待几秒钟，您应该能在Freeboard上看到推理结果的图像和文字\n\n### 在另一台计算机上打开Freeboard\n\n假设您有两台设备：\n\n* 设备A的IP为`192.168.1.42`，BerryNet默认应用运行在其上\n* 设备B的IP为`192.168.1.43`，您希望在其上打开Freeboard并查看检测结果\n\n步骤如下：\n\n* 1：在浏览器地址栏中输入`http:\u002F\u002F192.168.1.42:8080`，然后按回车键\n* 2：[下载](https:\u002F\u002Fraw.githubusercontent.com\u002FDT42\u002FBerryNet\u002Fmaster\u002Fconfig\u002Fdashboard-tflitedetector.json)默认应用的Freeboard配置文件`dashboard-tflitedetector.json`\n* 3：将`dashboard-tflitedetector.json`中的所有`localhost`替换为`192.168.1.42`\n* 2：点击`LOAD FREEBOARD`，选择新下载的`dashboard-tflitedetector.json`\n* 3：等待几秒钟，您应该能在Freeboard上看到推理结果的图像和文字\n\n有关仪表板配置的更多细节（例如如何添加小部件），请参阅[Freeboard项目](https:\u002F\u002Fgithub.com\u002FFreeboard\u002Ffreeboard)。\n\n## 启用数据采集器\n\n您可能希望存储快照和推理结果，以便进行数据分析。\n\n要手动运行 BerryNet 数据采集器，可以执行以下命令：\n\n```\n$ bn_data_collector --topic-config \u003Ctopic-config-filepath> --data-dirpath \u003Cresult-dirpath>\n```\n\n主题配置指定了数据采集器将监听的 MQTT 主题以及触发的处理函数。以下是一个主题配置示例：\n\n```\n{\n    \"berrynet\u002Fengine\u002Ftflitedetector\u002Fresult\": \"self.update\"\n}\n```\n\n推理结果图像和文本将被保存到指定的结果目录中。\n\n\n## 配置\n\n默认的 Supervisor 配置位于 `\u002Fetc\u002Fsupervisor\u002Fconf.d\u002Fberrynet-tflite.conf`。如果您想编写自己的 Supervisor 配置文件，可以参考 [这里](https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Ftree\u002Fmaster\u002Fconfig\u002Fsupervisor\u002Fconf.d) 获取更多 BerryNet 的 Supervisor 配置示例。\n\n### 摄像头客户端\n\nBerryNet 摄像头客户端支持两种模式：流模式和文件模式。在流模式下，支持本地摄像头（如 USB 摄像头和树莓派摄像头）以及 IP 摄像头，并且可以根据需求调整输入帧率（默认为 1 帧\u002F秒）。在文件模式下，用户可以指定文件路径作为输入源。\n\n要在流模式下运行摄像头客户端：\n\n```\n$ bn_camera --fps 5\n```\n\n要在文件模式下运行摄像头客户端：\n\n```\n$ bn_camera --mode file --filepath \u003Cimage-filepath>\n```\n\n\n## 使用您的数据进行训练\n\n关于重新训练 YOLOv2 模型的原始说明，请参阅 [Darknet 的 GitHub 仓库](https:\u002F\u002Fgithub.com\u002FAlexeyAB\u002Fdarknet#how-to-train-to-detect-your-custom-objects)。\n\n在当前的 BerryNet 中，使用的是 TinyYolo 而不是 YOLOv2。主要区别如下：\n\n1. 创建一个名为 `yolo-obj.cfg` 的文件，内容与 `tiny-yolo.cfg` 相同。\n2. 下载 Darknet 参考模型的预训练权重文件 `darknet.weights.12`，用于卷积层部分（6.1MB）：\n   https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F0B-oZJEwmkAObMzAtc2QzZDhyVGM?usp=sharing\n\n其余步骤与重新训练 YOLO 的过程相同。\n\n如果您使用 [LabelMe](http:\u002F\u002Flabelme.csail.mit.edu\u002FRelease3.0\u002F) 对数据进行标注，可以使用 `utils\u002FxmlTotxt.py` 工具将 XML 格式转换为 Darknet 所使用的文本格式。\n\n\n## 讨论\n\n如有任何问题、建议或想法讨论，请加入我们的 [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fberrynet\u002Fshared_invite\u002FenQtODg5MjA0ODExMjUzLWIwMDNkZWExZGE2Njc1ZDljMmFiOWJlZDdmZmEwYmQ4YTJiNzg2NDc1NTJhMDVkMzhmNzA3YTU0ZTc4M2JiNTE) 或 [Telegram 群组](https:\u002F\u002Ft.me\u002Fberrynetdev)。","# BerryNet 快速上手指南\n\nBerryNet 是一个将树莓派等边缘设备转化为智能网关的开源项目，支持在本地运行深度学习模型（如图像分类、物体检测），无需联网即可处理视频流数据，并可通过 MQTT 构建分布式 AIoT 网络。\n\n## 环境准备\n\n### 系统要求\n- **硬件**：Raspberry Pi（推荐 Pi 3\u002F4）、其他支持 Linux 的边缘设备或 x86 主机。\n- **操作系统**：Debian\u002FUbuntu 系列（项目正推进进入 Debian 官方源）。\n- **外设**：USB 摄像头、树莓派摄像头模块或 IP 摄像头（用于输入图像流）。\n\n### 前置依赖\n确保系统已安装以下基础工具：\n- `git`\n- `python3` \u002F `node.js` (根据具体组件需求)\n- `supervisor` (用于进程管理，强烈推荐)\n- `mosquitto` (MQTT  broker，通常作为依赖自动安装或需手动配置)\n\n> **注意**：国内用户若遇到 `git clone` 速度慢的问题，可考虑使用 Gitee 镜像（如有）或配置 Git 代理加速。\n\n## 安装步骤\n\n目前最便捷的安装方式是从源码构建。请执行以下命令：\n\n```bash\n$ git clone https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet.git\n$ cd BerryNet\n$ .\u002Fconfigure\n```\n\n*注：`.\u002Fconfigure` 脚本会自动处理大部分依赖安装和环境配置。如果后续项目进入 Debian 源，将支持单命令安装。*\n\n## 基本使用\n\n安装完成后，BerryNet 默认包含三个核心组件：**摄像头客户端**（采集图像）、**物体检测引擎**（AI 推理）和 **Dashboard**（结果展示）。推荐使用 `supervisor` 进行管理。\n\n### 1. 启动服务\n\n使用 `supervisorctl` 启动所有组件：\n\n```bash\n# 重启所有组件以确保配置生效\n$ sudo supervisorctl restart all\n\n# 查看组件运行状态\n$ sudo supervisorctl status all\n```\n\n若未配置 supervisor，也可手动运行各组件，但建议优先使用 supervisor 管理。\n\n### 2. 查看检测结果 (Dashboard)\n\nBerryNet 使用基于 Web 的 **Freeboard** 作为仪表盘。\n\n**在本机访问（带屏幕的树莓派）：**\n1. 打开浏览器，访问 `http:\u002F\u002F127.0.0.1:8080`。\n2. 下载默认配置文件：[dashboard-tflitedetector.json](https:\u002F\u002Fraw.githubusercontent.com\u002FDT42\u002FBerryNet\u002Fmaster\u002Fconfig\u002Fdashboard-tflitedetector.json)。\n3. 点击页面上的 `LOAD FREEBOARD`，选择刚才下载的 JSON 文件。\n4. 等待片刻，即可看到实时的物体检测画面和文字结果。\n\n**在局域网其他电脑访问：**\n假设树莓派 IP 为 `192.168.1.42`：\n1. 在另一台电脑浏览器访问 `http:\u002F\u002F192.168.1.42:8080`。\n2. 下载上述 JSON 配置文件。\n3. **关键步骤**：用文本编辑器打开 JSON 文件，将所有的 `localhost` 替换为树莓派的 IP 地址 (`192.168.1.42`)。\n4. 在网页中加载修改后的 JSON 文件，即可查看远程检测结果。\n\n### 3. 自定义摄像头输入\n\n默认情况下，相机客户端以 1 FPS 运行。你可以调整帧率或切换输入源：\n\n**调整帧率（流模式）：**\n```bash\n$ bn_camera --fps 5\n```\n\n**使用本地图片文件测试（文件模式）：**\n```bash\n$ bn_camera --mode file --filepath \u003Cimage-filepath>\n```\n\n### 4. 数据收集（可选）\n\n若需保存推理结果用于后续分析，可手动运行数据收集器：\n\n```bash\n$ bn_data_collector --topic-config \u003Ctopic-config-filepath> --data-dirpath \u003Cresult-dirpath>\n```\n\n示例配置文件内容（监听检测结果的 MQTT 主题）：\n```json\n{\n    \"berrynet\u002Fengine\u002Ftflitedetector\u002Fresult\": \"self.update\"\n}\n```\n\n---\n*更多高级配置（如更换 AI 模型、训练自定义数据）请参考官方文档或加入社区讨论。*","某小型连锁便利店希望利用现有监控摄像头，自动识别店内是否出现宠物闯入或货架异常，以保障卫生与安全。\n\n### 没有 BerryNet 时\n- **高昂的云端成本**：所有视频流需实时上传至云服务器进行分析，导致带宽费用和云存储支出急剧增加。\n- **网络依赖性强**：一旦门店网络波动或中断，智能监控立即瘫痪，无法在本地做出任何响应。\n- **隐私泄露风险**：敏感的店内视频数据必须传输到第三方云平台处理，增加了数据泄露的合规隐患。\n- **响应延迟严重**：从画面采集、上传、云端推理到返回结果，链路过长，无法实现毫秒级的即时预警。\n\n### 使用 BerryNet 后\n- **边缘本地计算**：BerryNet 直接部署在树莓派等边缘设备上，视频分析完全在本地完成，彻底省去了云端传输与存储成本。\n- **离线稳定运行**：无需互联网连接即可独立工作，即使网络断开，也能持续监测并记录异常事件。\n- **数据隐私可控**：原始视频帧不出门店，仅将分析后的结构化结果（如“检测到狗”）通过 MQTT 发送，极大提升了数据安全性。\n- **实时快速响应**：利用轻量级模型（如 TinyYOLO 或 MobileNet SSD）在设备端直接推理，发现异常即刻触发本地警报或通知。\n\nBerryNet 通过将深度学习能力下沉至边缘终端，让普通硬件变身智能网关，实现了低成本、高隐私且零延迟的分布式 AIoT 监控网络。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDT42_BerryNet_6ad13510.jpg","DT42","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FDT42_3013fc5b.png","Affordable AI connects to a better life",null,"contact@dt42.io","https:\u002F\u002Fdt42.io","https:\u002F\u002Fgithub.com\u002FDT42",[80,84,88,92,96],{"name":81,"color":82,"percentage":83},"Python","#3572A5",84.9,{"name":85,"color":86,"percentage":87},"JavaScript","#f1e05a",10.2,{"name":89,"color":90,"percentage":91},"Shell","#89e051",4.3,{"name":93,"color":94,"percentage":95},"Dockerfile","#384d54",0.3,{"name":97,"color":98,"percentage":99},"CSS","#663399",0.2,1616,226,"2026-04-15T09:01:24","GPL-3.0",4,"Linux (Debian\u002FRaspberry Pi OS)","非必需。主要设计用于树莓派等边缘设备（CPU 运行）。支持多种 AI 引擎（如 TinyYOLO, MobileNet SSD），若使用特定硬件加速需参考其对应文档，README 未指定具体 CUDA 版本或显存要求。","未说明（取决于所选模型和边缘设备性能，树莓派即可运行）",{"notes":109,"python":110,"dependencies":111},"该项目专为树莓派及其他边缘设备设计，可在无互联网连接下本地运行深度学习。默认包含摄像头客户端、目标检测引擎和 Dashboard。可通过 Supervisor 管理组件。支持通过 Docker 部署或从源码安装。训练自定义模型需使用 Darknet 框架及特定权重文件。","未说明（提及使用 Python 和 Node.js，但未指定具体版本）",[112,81,113,114,115,116,117],"Node.js","MQTT","Supervisor","Freeboard","TensorFlow Lite (隐含，基于 tflitedetector)","Darknet (用于 YOLO 训练)",[14],[120,121,122,123,124,125,126,127,128,129,130],"raspberry-pi","deep-learning","tensorflow","iot","mqtt","aiot","edge-devices","edge-ai","openvino","tensorrt","edge-computing","2026-03-27T02:49:30.150509","2026-04-17T21:32:34.755495",[134,139,144,149,154,159],{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},37924,"运行 sudo apt-get update 时出现 GPG 错误（NO_PUBKEY）或提示仓库未签名怎么办？","这是因为缺少公钥。请运行以下命令导入公钥并更新：\n1. 导入密钥：sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A3211A87D7ACFE23\n2. 更新源：sudo apt update\n如果提示命令不存在，请确保已安装 sudo 包。若问题依旧，尝试清理 \u002Fetc\u002Fapt\u002F 目录下的异常文件（如误放的 index.html）后重启。","https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fissues\u002F23",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},37925,"安装后运行 berrynet-manager start 提示找不到命令，且多个服务（如 detection_server.service）启动失败怎么办？","这通常是因为安装脚本在执行过程中进入了错误的目录，导致 systemd 配置文件和网关文件（.js）未能正确复制。\n解决方法：\n1. 手动将必要的 JS 文件和配置复制到目标目录：\nsudo cp -a broker.js camera.js cleaner.sh config.js dashboard inference journal.js localimg.js mail.js package.json \u002Fusr\u002Flocal\u002Frpi3-ai-gateway\n2. 进入目录并安装依赖：\ncd \u002Fusr\u002Flocal\u002Frpi3-ai-gateway\nsudo npm install\n注意：根本原因通常是 installer 在 download_detector_model 函数后路径错误，导致后续步骤失败。","https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fissues\u002F2",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},37926,"遇到 'pkg_resources.DistributionNotFound: The paho-mqtt distribution was not found' 错误导致相机或 tflite 无法运行如何解决？","这是因为在 Buster 系统上某些 Python 依赖未正确安装。可以通过以下任一方式手动安装缺失的 paho-mqtt 库：\n方法一（推荐）：sudo apt install python3-paho-mqtt\n方法二：python3 -m pip install paho-mqtt\n安装完成后重启相关服务即可。该问题已在后续版本（PR #62）中修复。","https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fissues\u002F59",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},37927,"运行 .\u002Fconfigure 后只看到 MQTT 日志，不知道如何获取检测结果或查看输出？","BerryNet 默认使用 Mosca 作为 MQTT Broker。要查看结果，您需要订阅相应的 MQTT 主题或使用 Dashboard。\n1. 确保安装完成，建议使用官方发布的预构建镜像（如 v2.3.0+）以省去从头编译的麻烦。\n2. 发布测试图片后，结果通常会推送到类似 berrynet\u002Fengine\u002Ftflitedetector\u002Fresult 的主题。\n3. 您可以启动 Dashboard 来可视化结果：\nDISPLAY=:0 bn_dashboard --no-decoration --no-full-screen --topic berrynet\u002Fengine\u002Ftflitedetector\u002Fresult","https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fissues\u002F9",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},37928,"在 Raspberry Pi 3+ 上安装后浏览器无法显示 Dashboard 页面（http:\u002F\u002Fip:8080）怎么办？","如果按照官方文档步骤安装后仍无法访问网页，可能是安装脚本未完全执行或环境差异导致。\n建议尝试以下步骤：\n1. 重新克隆代码并从头安装：\ngit clone https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet.git\ncd BerryNet\n.\u002Fconfigure\n2. 检查安装日志中是否有报错，特别是关于 npm 模块或 systemd 服务的部分。\n3. 如果问题持续存在，建议直接使用官方提供的预构建安装镜像（Installation Image），这能避免大多数环境配置问题。","https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fissues\u002F30",{"id":160,"question_zh":161,"answer_zh":162,"source_url":148},37929,"如何验证 BerryNet 的相机模块和检测功能是否正常工作？","可以使用内置的调试命令来验证各模块功能：\n1. 测试相机模块（读取本地图片并发布）：\nbn_camera --debug --mode file --filepath ~\u002Fdog.jpg\n观察日志中是否有 \"Send message to topic berrynet\u002Fdata\u002Frgbimage\" 及发布时间。\n2. 测试 Dashboard 显示（订阅检测结果主题）：\nDISPLAY=:0 bn_dashboard --no-decoration --no-full-screen --topic berrynet\u002Fengine\u002Ftflitedetector\u002Fresult --debug\n如果能看到连接成功（Connected with result code 0）并收到消息，说明系统工作正常。",[164,168,173,178,183,188,193,198,203],{"id":165,"version":166,"summary_zh":75,"released_at":167},306097,"v3.10.2","2021-02-07T04:54:01",{"id":169,"version":170,"summary_zh":171,"released_at":172},306098,"v3.10.1","# 新增\n\n* 在 [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fberrynet\u002F) 上发布了 `berrynet` Python Wheel 包\n* `bndyda` 模块是用于将 [Dyda](https:\u002F\u002Fgithub.com\u002Fnumbersprotocol\u002Fdyda) 数据流水线作为单一服务\u002F引擎使用的接口。\n* 实验性功能 - `dyda_config_update` 是用于远程更新 Dyda 流水线配置的原型。\n\n# 变更\n\n* 使 `camera` 和 `fbdashboard` 客户端无需定制即可与 AIKEA 兼容。\n* Docker 支持从 Debian Stretch 升级到 Buster。\n\n# 修复\n\n* 由 v2.3.0 API 变更引起的 TFLite 兼容性问题。\n* 由 OpenVINO 2020.1 for x86 更新引起的兼容性问题。","2020-11-01T04:33:47",{"id":174,"version":175,"summary_zh":176,"released_at":177},306099,"v3.7.0","安装镜像、md5sum 校验值及安装指南：\n\n* https:\u002F\u002Fberrynet.s3.amazonaws.com\u002Fimages\u002F2019-07-15-raspbian-buster-berrynet.zip\n* https:\u002F\u002Fberrynet.s3.amazonaws.com\u002Fimages\u002F2019-07-15-raspbian-buster-berrynet.md5sum\n* https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fwiki\u002FInstallation\n\n# 功能与改进\n\n1. 将 TFLite 设置为默认推理引擎\n1. 新增 `bn_{tflite, openvino, darknet}` CLI 执行器\n1. 更新 TFLite 支持版本至 1.14.0\n1. 更新 OpenVINO 支持版本至 2019R1.1\n\n# 不兼容的变更\n\n无","2019-07-19T10:48:41",{"id":179,"version":180,"summary_zh":181,"released_at":182},306100,"v3.5.1","安装镜像、md5sum 校验值及安装指南：\n\n* https:\u002F\u002Fs3.amazonaws.com\u002Fberrynet\u002Fimages\u002F2019-05-24-raspbian-stretch-berrynet.zip\n* https:\u002F\u002Fs3.amazonaws.com\u002Fberrynet\u002Fimages\u002F2019-05-24-raspbian-stretch-berrynet.md5sum\n* https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fwiki\u002FInstallation\n\n# 功能与改进\n\n1. 更新维基页面\n1. 修复 camera.py 中 stream-src 参数的问题\n1. 更新默认的 Supervisor 配置文件\n\n# 不兼容的变更\n\n无","2019-05-19T09:31:04",{"id":184,"version":185,"summary_zh":186,"released_at":187},306101,"v3.5.0","安装镜像、md5sum 校验值及安装指南：\n\n* 正在生成，稍后更新。\n\n# 特性与改进\n\n1. 修改 camera.py 以支持视频流输入。\n1. 将 Freeboard 推送至 Debian，并以上游版本为基础构建 BerryNet 控制面板。\n\n# 不兼容的变更\n\n1. Freeboard 的配置格式已被上游更改。","2019-05-19T03:45:48",{"id":189,"version":190,"summary_zh":191,"released_at":192},306102,"v3.4.1","安装镜像、md5sum 校验值及安装指南：\n\n* 将在下一版本中提供。\n\n# 功能与改进\n\n1. 安装完成后提供默认的检测应用。\n1. 将服务管理从 systemd 改为 supervisor。\n1. 修复 camera.py 中 FPS 参数的类型问题。\n1. 修复 berrynet.log 的权限问题。\n\n# 不兼容的变更\n\n1. berrynet-manager 的重构工作正在进行中，目前无法正常运行。\n1. 基于 JavaScript 的输入客户端（例如 camera.js、localimg.js）的重构工作正在进行中，目前无法正常运行。","2019-05-12T05:16:06",{"id":194,"version":195,"summary_zh":196,"released_at":197},306103,"v2.3.0","安装镜像、md5sum 校验值及安装指南：\n\n* https:\u002F\u002Fs3.amazonaws.com\u002Fberrynet\u002Fimages\u002Fberrynet-2.3.0.img\n* https:\u002F\u002Fs3.amazonaws.com\u002Fberrynet\u002Fimages\u002Fberrynet-2.3.0.md5sum\n* https:\u002F\u002Fgithub.com\u002FDT42\u002FBerryNet\u002Fwiki\u002FInstallation\n\n# 功能与改进\n\n1. 提供安装镜像。\n1. 修复 node-opencv 构建问题。\n1. 修复 BerryNet 软件源启用问题。\n\n# 不兼容的变更\n\n无","2018-07-09T11:37:18",{"id":199,"version":200,"summary_zh":201,"released_at":202},306104,"v2.2.0","# 功能与改进\n\n1. 支持 Movidius 神经计算棒。\n\n# 不兼容的更改\n\n无","2017-12-09T14:32:33",{"id":204,"version":205,"summary_zh":206,"released_at":207},306105,"v2.1.0","# 新功能与更新\n\n* 在截图和流媒体模式下，新增对 USB、RPi 和 Nest 摄像头的支持。\n* 引入更快速的检测后端，将推理时间缩短至约 40%。\n* 添加数据收集器，用于保存截图和推理结果，以便进行数据分析。\n* 在 README 中新增检测后端的迁移学习教程。\n* 新增即时通讯客户端：LINE。\n* 增加更多实用工具。\n* 更改中间件更新机制，并禁用定期清理程序。","2017-10-09T17:30:26"]