[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-RightNow-AI--openfang":3,"tool-RightNow-AI--openfang":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 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[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":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"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":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":32,"env_os":124,"env_gpu":125,"env_ram":126,"env_deps":127,"category_tags":134,"github_topics":135,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":143,"updated_at":144,"faqs":145,"releases":174},9406,"RightNow-AI\u002Fopenfang","openfang","Open-source Agent Operating System","OpenFang 是一款基于 Rust 语言开发的开源智能体操作系统，旨在让 AI 智能体从“被动问答”转向“主动执行”。与传统等待用户指令的聊天机器人框架不同，OpenFang 能够部署全天候自主运行的智能体，按预设计划自动完成竞品调研、知识图谱构建、潜客挖掘、社交媒体管理及视频剪辑发布等复杂任务，并直接将结果推送至仪表盘或通讯软件。\n\n它主要解决了现有 AI 工具缺乏持续自主工作能力、依赖人工频繁提示以及环境配置繁琐的痛点。用户只需安装一个约 32MB 的独立二进制文件，即可通过简单命令启动服务，无需处理复杂的 Python 依赖或 Docker 容器。其核心创新在于\"Hands\"机制——这是一种预封装的自主能力包，内置了详细的多阶段操作指南、领域专业知识库及敏感操作审批护栏，确保智能体既能专业地工作又安全可靠。\n\n由于具备极高的系统稳定性（经过 1700+ 测试验证）和极简的部署方式，OpenFang 既适合希望快速构建自动化工作流的开发者和技术研究人员，也适合需要 24\u002F7 无人值守业务助理的普通用户和创业者。目前项目虽已功能完备但尚未发布 1.0 正式版，适合愿意尝试前沿技术","OpenFang 是一款基于 Rust 语言开发的开源智能体操作系统，旨在让 AI 智能体从“被动问答”转向“主动执行”。与传统等待用户指令的聊天机器人框架不同，OpenFang 能够部署全天候自主运行的智能体，按预设计划自动完成竞品调研、知识图谱构建、潜客挖掘、社交媒体管理及视频剪辑发布等复杂任务，并直接将结果推送至仪表盘或通讯软件。\n\n它主要解决了现有 AI 工具缺乏持续自主工作能力、依赖人工频繁提示以及环境配置繁琐的痛点。用户只需安装一个约 32MB 的独立二进制文件，即可通过简单命令启动服务，无需处理复杂的 Python 依赖或 Docker 容器。其核心创新在于\"Hands\"机制——这是一种预封装的自主能力包，内置了详细的多阶段操作指南、领域专业知识库及敏感操作审批护栏，确保智能体既能专业地工作又安全可靠。\n\n由于具备极高的系统稳定性（经过 1700+ 测试验证）和极简的部署方式，OpenFang 既适合希望快速构建自动化工作流的开发者和技术研究人员，也适合需要 24\u002F7 无人值守业务助理的普通用户和创业者。目前项目虽已功能完备但尚未发布 1.0 正式版，适合愿意尝试前沿技术并接受快速迭代的用户群体。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_81b4cff3232f.png\" width=\"160\" alt=\"OpenFang Logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">OpenFang\u003C\u002Fh1>\n\u003Ch3 align=\"center\">The Agent Operating System\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n  Open-source Agent OS built in Rust. 137K LOC. 14 crates. 1,767+ tests. Zero clippy warnings.\u003Cbr\u002F>\n  \u003Cstrong>One binary. Battle-tested. Agents that actually work for you.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopenfang.sh\u002Fdocs\">Documentation\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fgetting-started\">Quick Start\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fopenfangg\">Twitter \u002F X\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguage-Rust-orange?style=flat-square\" alt=\"Rust\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue?style=flat-square\" alt=\"MIT\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-0.5.10-green?style=flat-square\" alt=\"v0.5.10\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftests-1,767%2B%20passing-brightgreen?style=flat-square\" alt=\"Tests\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fclippy-0%20warnings-brightgreen?style=flat-square\" alt=\"Clippy\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fopenfang\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20Me%20a%20Coffee-FFDD00?style=flat-square&logo=buy-me-a-coffee&logoColor=black\" alt=\"Buy Me A Coffee\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n> **v0.5.10 (April 2026)**\n>\n> OpenFang is feature complete but still pre-1.0. Expect rough edges and breaking changes between minor versions. We ship fast and fix fast. Pin to a specific commit for production use until v1.0. [Report issues here.](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues)\n\n---\n\n## What is OpenFang?\n\nOpenFang is an **open-source Agent Operating System**. Not a chatbot framework. Not a Python wrapper around an LLM. Not a \"multi-agent orchestrator.\" A full operating system for autonomous agents, built from scratch in Rust.\n\nTraditional agent frameworks wait for you to type something. OpenFang runs **autonomous agents that work for you**: on schedules, 24\u002F7, building knowledge graphs, monitoring targets, generating leads, managing your social media, and reporting results to your dashboard.\n\nThe entire system compiles to a **single ~32MB binary**. One install, one command, your agents are live.\n\n```bash\ncurl -fsSL https:\u002F\u002Fopenfang.sh\u002Finstall | sh\nopenfang init\nopenfang start\n# Dashboard live at http:\u002F\u002Flocalhost:4200\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```powershell\nirm https:\u002F\u002Fopenfang.sh\u002Finstall.ps1 | iex\nopenfang init\nopenfang start\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## Hands: Agents That Actually Do Things\n\n\u003Cp align=\"center\">\u003Cem>\"Traditional agents wait for you to type. Hands work \u003Cstrong>for\u003C\u002Fstrong> you.\"\u003C\u002Fem>\u003C\u002Fp>\n\n**Hands** are OpenFang's core innovation. Pre-built autonomous capability packages that run independently, on schedules, without you having to prompt them. This is not a chatbot. This is an agent that wakes up at 6 AM, researches your competitors, builds a knowledge graph, scores the findings, and delivers a report to your Telegram before you've had coffee.\n\nEach Hand bundles:\n- **HAND.toml**: manifest declaring tools, settings, requirements, and dashboard metrics.\n- **System Prompt**: multi-phase operational playbook. Not a one-liner. These are 500+ word expert procedures.\n- **SKILL.md**: domain expertise reference injected into context at runtime.\n- **Guardrails**: approval gates for sensitive actions (e.g. Browser Hand requires approval before any purchase).\n\nAll compiled into the binary. No downloading, no pip install, no Docker pull.\n\n### The 7 Bundled Hands\n\n| Hand | What It Actually Does |\n|------|----------------------|\n| **Clip** | Takes a YouTube URL, downloads it, identifies the best moments, cuts them into vertical shorts with captions and thumbnails, optionally adds AI voice-over, and publishes to Telegram and WhatsApp. 8-phase pipeline. FFmpeg + yt-dlp + 5 STT backends. |\n| **Lead** | Runs daily. Discovers prospects matching your ICP, enriches them with web research, scores 0-100, deduplicates against your existing database, and delivers qualified leads in CSV\u002FJSON\u002FMarkdown. Builds ICP profiles over time. |\n| **Collector** | OSINT grade intelligence. You give it a target (company, person, topic). It monitors continuously: change detection, sentiment tracking, knowledge graph construction, and critical alerts when something important shifts. |\n| **Predictor** | Superforecasting engine. Collects signals from multiple sources, builds calibrated reasoning chains, makes predictions with confidence intervals, and tracks its own accuracy using Brier scores. Has a contrarian mode that deliberately argues against consensus. |\n| **Researcher** | Deep autonomous researcher. Cross-references multiple sources, evaluates credibility using CRAAP criteria (Currency, Relevance, Authority, Accuracy, Purpose), generates cited reports with APA formatting, supports multiple languages. |\n| **Twitter** | Autonomous Twitter\u002FX account manager. Creates content in 7 rotating formats, schedules posts for optimal engagement, responds to mentions, tracks performance metrics. Has an approval queue, so nothing posts without your OK. |\n| **Browser** | Web automation agent. Navigates sites, fills forms, clicks buttons, handles multi-step workflows. Uses Playwright bridge with session persistence. **Mandatory purchase approval gate**: it will never spend your money without explicit confirmation. |\n\n```bash\n# Activate the Researcher Hand. It starts working immediately.\nopenfang hand activate researcher\n\n# Check its progress anytime\nopenfang hand status researcher\n\n# Activate lead generation on a daily schedule\nopenfang hand activate lead\n\n# Pause without losing state\nopenfang hand pause lead\n\n# See all available Hands\nopenfang hand list\n```\n\n**Build your own.** Define a `HAND.toml` with tools, settings, and a system prompt. Publish to FangHub.\n\n---\n\n## OpenFang vs The Landscape\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_dd406052866b.png\" width=\"600\" alt=\"OpenFang vs OpenClaw vs ZeroClaw\" \u002F>\n\u003C\u002Fp>\n\n### Benchmarks: Measured, Not Marketed\n\nAll data from official documentation and public repositories, February 2026.\n\n#### Cold Start Time (lower is better)\n\n```\nZeroClaw   ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10 ms\nOpenFang   ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  180 ms    ★\nLangGraph  █████████████████░░░░░░░░░░░░░░░░░░░░░░░░░  2.5 sec\nCrewAI     ████████████████████░░░░░░░░░░░░░░░░░░░░░░  3.0 sec\nAutoGen    ██████████████████████████░░░░░░░░░░░░░░░░░  4.0 sec\nOpenClaw   █████████████████████████████████████████░░  5.98 sec\n```\n\n#### Idle Memory Usage (lower is better)\n\n```\nZeroClaw   █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    5 MB\nOpenFang   ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   40 MB    ★\nLangGraph  ██████████████████░░░░░░░░░░░░░░░░░░░░░░░░░  180 MB\nCrewAI     ████████████████████░░░░░░░░░░░░░░░░░░░░░░░  200 MB\nAutoGen    █████████████████████████░░░░░░░░░░░░░░░░░░  250 MB\nOpenClaw   ████████████████████████████████████████░░░░  394 MB\n```\n\n#### Install Size (lower is better)\n\n```\nZeroClaw   █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  8.8 MB\nOpenFang   ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   32 MB    ★\nCrewAI     ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  100 MB\nLangGraph  ████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  150 MB\nAutoGen    ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░  200 MB\nOpenClaw   ████████████████████████████████████████░░░░  500 MB\n```\n\n#### Security Systems (higher is better)\n\n```\nOpenFang   ████████████████████████████████████████████   16      ★\nZeroClaw   ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░    6\nOpenClaw   ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    3\nAutoGen    █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    2\nLangGraph  █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    2\nCrewAI     ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    1\n```\n\n#### Channel Adapters (higher is better)\n\n```\nOpenFang   ████████████████████████████████████████████   40      ★\nZeroClaw   ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░   15\nOpenClaw   █████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   13\nCrewAI     ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\nAutoGen    ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\nLangGraph  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\n```\n\n#### LLM Providers (higher is better)\n\n```\nZeroClaw   ████████████████████████████████████████████   28\nOpenFang   ██████████████████████████████████████████░░   27      ★\nLangGraph  ██████████████████████░░░░░░░░░░░░░░░░░░░░░   15\nCrewAI     ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10\nOpenClaw   ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10\nAutoGen    ███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    8\n```\n\n### Feature-by-Feature Comparison\n\n| Feature | OpenFang | OpenClaw | ZeroClaw | CrewAI | AutoGen | LangGraph |\n|---------|----------|----------|----------|--------|---------|-----------|\n| **Language** | **Rust** | TypeScript | **Rust** | Python | Python | Python |\n| **Autonomous Hands** | **7 built-in** | None | None | None | None | None |\n| **Security Layers** | **16 discrete** | 3 basic | 6 layers | 1 basic | Docker | AES enc. |\n| **Agent Sandbox** | **WASM dual-metered** | None | Allowlists | None | Docker | None |\n| **Channel Adapters** | **40** | 13 | 15 | 0 | 0 | 0 |\n| **Built-in Tools** | **53 + MCP + A2A** | 50+ | 12 | Plugins | MCP | LC tools |\n| **Memory** | **SQLite + vector** | File-based | SQLite FTS5 | 4-layer | External | Checkpoints |\n| **Desktop App** | **Tauri 2.0** | None | None | None | Studio | None |\n| **Audit Trail** | **Merkle hash-chain** | Logs | Logs | Tracing | Logs | Checkpoints |\n| **Cold Start** | **\u003C200ms** | ~6s | ~10ms | ~3s | ~4s | ~2.5s |\n| **Install Size** | **~32 MB** | ~500 MB | ~8.8 MB | ~100 MB | ~200 MB | ~150 MB |\n| **License** | MIT | MIT | MIT | MIT | Apache 2.0 | MIT |\n\n---\n\n## 16 Security Systems: Defense in Depth\n\nOpenFang doesn't bolt security on after the fact. Every layer is independently testable and operates without a single point of failure.\n\n| # | System | What It Does |\n|---|--------|-------------|\n| 1 | **WASM Dual-Metered Sandbox** | Tool code runs in WebAssembly with fuel metering + epoch interruption. A watchdog thread kills runaway code. |\n| 2 | **Merkle Hash-Chain Audit Trail** | Every action is cryptographically linked to the previous one. Tamper with one entry and the entire chain breaks. |\n| 3 | **Information Flow Taint Tracking** | Labels propagate through execution. Secrets are tracked from source to sink. |\n| 4 | **Ed25519 Signed Agent Manifests** | Every agent identity and capability set is cryptographically signed. |\n| 5 | **SSRF Protection** | Blocks private IPs, cloud metadata endpoints, and DNS rebinding attacks. |\n| 6 | **Secret Zeroization** | `Zeroizing\u003CString>` auto-wipes API keys from memory the instant they're no longer needed. |\n| 7 | **OFP Mutual Authentication** | HMAC-SHA256 nonce-based, constant-time verification for P2P networking. |\n| 8 | **Capability Gates** | Role based access control. Agents declare required tools, the kernel enforces it. |\n| 9 | **Security Headers** | CSP, X-Frame-Options, HSTS, X-Content-Type-Options on every response. |\n| 10 | **Health Endpoint Redaction** | Public health check returns minimal info. Full diagnostics require authentication. |\n| 11 | **Subprocess Sandbox** | `env_clear()` + selective variable passthrough. Process tree isolation with cross-platform kill. |\n| 12 | **Prompt Injection Scanner** | Detects override attempts, data exfiltration patterns, and shell reference injection in skills. |\n| 13 | **Loop Guard** | SHA256-based tool call loop detection with circuit breaker. Handles ping-pong patterns. |\n| 14 | **Session Repair** | 7-phase message history validation and automatic recovery from corruption. |\n| 15 | **Path Traversal Prevention** | Canonicalization with symlink escape prevention. ``..\u002F`` doesn't work here. |\n| 16 | **GCRA Rate Limiter** | Cost-aware token bucket rate limiting with per-IP tracking and stale cleanup. |\n\n---\n\n## Architecture\n\n14 Rust crates. 137,728 lines of code. Modular kernel design.\n\n```\nopenfang-kernel      Orchestration, workflows, metering, RBAC, scheduler, budget tracking\nopenfang-runtime     Agent loop, 3 LLM drivers, 53 tools, WASM sandbox, MCP, A2A\nopenfang-api         140+ REST\u002FWS\u002FSSE endpoints, OpenAI-compatible API, dashboard\nopenfang-channels    40 messaging adapters with rate limiting, DM\u002Fgroup policies\nopenfang-memory      SQLite persistence, vector embeddings, canonical sessions, compaction\nopenfang-types       Core types, taint tracking, Ed25519 manifest signing, model catalog\nopenfang-skills      60 bundled skills, SKILL.md parser, FangHub marketplace\nopenfang-hands       7 autonomous Hands, HAND.toml parser, lifecycle management\nopenfang-extensions  25 MCP templates, AES-256-GCM credential vault, OAuth2 PKCE\nopenfang-wire        OFP P2P protocol with HMAC-SHA256 mutual authentication\nopenfang-cli         CLI with daemon management, TUI dashboard, MCP server mode\nopenfang-desktop     Tauri 2.0 native app (system tray, notifications, global shortcuts)\nopenfang-migrate     OpenClaw, LangChain, AutoGPT migration engine\nxtask                Build automation\n```\n\n---\n\n## 40 Channel Adapters\n\nConnect your agents to every platform your users are on.\n\n**Core:** Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email (IMAP\u002FSMTP)\n**Enterprise:** Microsoft Teams, Mattermost, Google Chat, Webex, Feishu\u002FLark, Zulip\n**Social:** LINE, Viber, Facebook Messenger, Mastodon, Bluesky, Reddit, LinkedIn, Twitch\n**Community:** IRC, XMPP, Guilded, Revolt, Keybase, Discourse, Gitter\n**Privacy:** Threema, Nostr, Mumble, Nextcloud Talk, Rocket.Chat, Ntfy, Gotify\n**Workplace:** Pumble, Flock, Twist, DingTalk, Zalo, Webhooks\n\nEach adapter supports per-channel model overrides, DM\u002Fgroup policies, rate limiting, and output formatting.\n\n---\n\n## WhatsApp Web Gateway (QR Code)\n\nConnect your personal WhatsApp account to OpenFang via QR code, just like WhatsApp Web. No Meta Business account required.\n\n### Prerequisites\n\n- **Node.js >= 18** installed ([download](https:\u002F\u002Fnodejs.org\u002F))\n- OpenFang installed and initialized\n\n### Setup\n\n**1. Install the gateway dependencies:**\n\n```bash\ncd packages\u002Fwhatsapp-gateway\nnpm install\n```\n\n**2. Configure `config.toml`:**\n\n```toml\n[channels.whatsapp]\nmode = \"web\"\ndefault_agent = \"assistant\"\n```\n\n**3. Set the gateway URL (choose one):**\n\nAdd to your shell profile for persistence:\n\n```bash\n# macOS \u002F Linux\necho 'export WHATSAPP_WEB_GATEWAY_URL=\"http:\u002F\u002F127.0.0.1:3009\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n```\n\nOr set it inline when starting the gateway:\n\n```bash\nexport WHATSAPP_WEB_GATEWAY_URL=\"http:\u002F\u002F127.0.0.1:3009\"\n```\n\n**4. Start the gateway:**\n\n```bash\nnode packages\u002Fwhatsapp-gateway\u002Findex.js\n```\n\nThe gateway listens on port `3009` by default. Override with `WHATSAPP_GATEWAY_PORT`.\n\n**5. Start OpenFang:**\n\n```bash\nopenfang start\n# Dashboard at http:\u002F\u002Flocalhost:4200\n```\n\n**6. Scan the QR code:**\n\nOpen the dashboard → **Channels** → **WhatsApp**. A QR code will appear. Scan it with your phone:\n\n> **WhatsApp** → **Settings** → **Linked Devices** → **Link a Device**\n\nOnce scanned, the status changes to `connected` and incoming messages are routed to your configured agent.\n\n### Gateway Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `WHATSAPP_WEB_GATEWAY_URL` | Gateway URL for OpenFang to connect to | _(empty = disabled)_ |\n| `WHATSAPP_GATEWAY_PORT` | Port the gateway listens on | `3009` |\n| `OPENFANG_URL` | OpenFang API URL the gateway reports to | `http:\u002F\u002F127.0.0.1:4200` |\n| `OPENFANG_DEFAULT_AGENT` | Agent that handles incoming messages | `assistant` |\n\n### Gateway API Endpoints\n\n| Method | Route | Description |\n|--------|-------|-------------|\n| `POST` | `\u002Flogin\u002Fstart` | Generate QR code (returns base64 PNG) |\n| `GET` | `\u002Flogin\u002Fstatus` | Connection status (`disconnected`, `qr_ready`, `connected`) |\n| `POST` | `\u002Fmessage\u002Fsend` | Send a message (`{ \"to\": \"5511999999999\", \"text\": \"Hello\" }`) |\n| `GET` | `\u002Fhealth` | Health check |\n\n### Alternative: WhatsApp Cloud API\n\nFor production workloads, use the [WhatsApp Cloud API](https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fwhatsapp\u002Fcloud-api) with a Meta Business account. See the [Cloud API configuration docs](https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fchannels\u002Fwhatsapp).\n\n\n\n---\n\n## 27 LLM Providers, 123+ Models\n\n3 native drivers (Anthropic, Gemini, OpenAI-compatible) route to 27 providers:\n\nAnthropic, Gemini, OpenAI, Groq, DeepSeek, OpenRouter, Together, Mistral, Fireworks, Cohere, Perplexity, xAI, AI21, Cerebras, SambaNova, HuggingFace, Replicate, Ollama, vLLM, LM Studio, Qwen, MiniMax, Zhipu, Moonshot, Qianfan, Bedrock, and more.\n\nIntelligent routing with task complexity scoring, automatic fallback, cost tracking, and per-model pricing.\n\n---\n\n## Migrate from OpenClaw\n\nAlready running OpenClaw? One command:\n\n```bash\n# Migrate everything: agents, memory, skills, configs.\nopenfang migrate --from openclaw\n\n# Migrate from a specific path\nopenfang migrate --from openclaw --path ~\u002F.openclaw\n\n# Dry run first to see what would change\nopenfang migrate --from openclaw --dry-run\n```\n\nThe migration engine imports your agents, conversation history, skills, and configuration. OpenFang reads SKILL.md natively and is compatible with the ClawHub marketplace.\n\n---\n\n## OpenAI-Compatible API\n\nDrop-in replacement. Point your existing tools at OpenFang:\n\n```bash\ncurl -X POST localhost:4200\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"researcher\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Analyze Q4 market trends\"}],\n    \"stream\": true\n  }'\n```\n\n140+ REST\u002FWS\u002FSSE endpoints covering agents, memory, workflows, channels, models, skills, A2A, Hands, and more.\n\n---\n\n## Quick Start\n\n```bash\n# 1. Install (macOS\u002FLinux)\ncurl -fsSL https:\u002F\u002Fopenfang.sh\u002Finstall | sh\n\n# 2. Initialize. Walks you through provider setup.\nopenfang init\n\n# 3. Start the daemon\nopenfang start\n\n# 4. Dashboard is live at http:\u002F\u002Flocalhost:4200\n\n# 5. Activate a Hand. It starts working for you.\nopenfang hand activate researcher\n\n# 6. Chat with an agent\nopenfang chat researcher\n> \"What are the emerging trends in AI agent frameworks?\"\n\n# 7. Spawn a pre-built agent\nopenfang agent spawn coder\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows (PowerShell)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```powershell\nirm https:\u002F\u002Fopenfang.sh\u002Finstall.ps1 | iex\nopenfang init\nopenfang start\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## Development\n\n```bash\n# Build the workspace\ncargo build --workspace --lib\n\n# Run all tests (1,767+)\ncargo test --workspace\n\n# Lint (must be 0 warnings)\ncargo clippy --workspace --all-targets -- -D warnings\n\n# Format\ncargo fmt --all -- --check\n```\n\n---\n\n## Stability Notice\n\nOpenFang v0.5.10 is pre-1.0. The architecture is solid, the test suite is comprehensive, and the security model is deep. That said:\n\n- **Breaking changes** may occur between minor versions until v1.0.\n- **Some Hands** are more mature than others. Browser and Researcher are the most battle tested.\n- **Edge cases** exist. If you find one, [open an issue](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues).\n- **Pin to a specific commit** for production deployments until v1.0.\n\nWe ship fast and fix fast. The goal is a rock solid v1.0 by mid 2026.\n\n---\n\n## Security\n\nTo report a security vulnerability, email **jaber@rightnowai.co**. We take all reports seriously and will respond within 48 hours.\n\n---\n\n## License\n\nMIT. Use it however you want.\n\n---\n\n## Links\n\n- [Website & Documentation](https:\u002F\u002Fopenfang.sh)\n- [Quick Start Guide](https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fgetting-started)\n- [GitHub](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang)\n- [Discord](https:\u002F\u002Fdiscord.gg\u002FsSJqgNnq6X)\n- [Twitter \u002F X](https:\u002F\u002Fx.com\u002Fopenfangg)\n\n---\n\n## Built by RightNow\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_a8989b01de73.webp\" width=\"60\" alt=\"RightNow Logo\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  OpenFang is built and maintained by \u003Ca href=\"https:\u002F\u002Fx.com\u002FAkashi203\">\u003Cstrong>Jaber\u003C\u002Fstrong>\u003C\u002Fa>, Founder of \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">\u003Cstrong>RightNow\u003C\u002Fstrong>\u003C\u002Fa>.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">Website\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FAkashi203\">Twitter \u002F X\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fopenfang\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fcdn.buymeacoffee.com\u002Fbuttons\u002Fv2\u002Fdefault-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" >\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Built with Rust. Secured with 16 layers. Agents that actually work for you.\u003C\u002Fstrong>\n\u003C\u002Fp>\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_81b4cff3232f.png\" width=\"160\" alt=\"OpenFang Logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">OpenFang\u003C\u002Fh1>\n\u003Ch3 align=\"center\">智能体操作系统\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n  用 Rust 打造的开源智能体操作系统。13.7 万行代码，14 个 crate，1767+ 项测试，零 Clippy 警告。\u003Cbr\u002F>\n  \u003Cstrong>单个二进制文件。经过实战检验。真正为你工作的智能体。\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopenfang.sh\u002Fdocs\">文档\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fgetting-started\">快速入门\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fopenfangg\">Twitter \u002F X\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguage-Rust-orange?style=flat-square\" alt=\"Rust\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue?style=flat-square\" alt=\"MIT\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-0.5.10-green?style=flat-square\" alt=\"v0.5.10\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftests-1,767%2B%20passing-brightgreen?style=flat-square\" alt=\"测试\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fclippy-0%20warnings-brightgreen?style=flat-square\" alt=\"Clippy\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fopenfang\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20Me%20a%20Coffee-FFDD00?style=flat-square&logo=buy-me-a-coffee&logoColor=black\" alt=\"请我喝杯咖啡\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n> **v0.5.10（2026年4月）**\n>\n> OpenFang 已经功能完备，但仍处于 1.0 之前的阶段。小版本之间可能会有不完善之处和破坏性变更。我们快速迭代、快速修复。在 v1.0 之前，请锁定特定提交以用于生产环境。[在此处报告问题。](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues)\n\n---\n\n## 什么是 OpenFang？\n\nOpenFang 是一个**开源智能体操作系统**。它既不是聊天机器人框架，也不是围绕大语言模型的 Python 封装，更不是“多智能体编排器”。而是一个从头开始用 Rust 构建的、面向自主智能体的完整操作系统。\n\n传统的智能体框架需要你主动输入内容才能运行。而 OpenFang 则运行**为你工作的自主智能体**：按计划全天候工作，构建知识图谱、监控目标、生成潜在客户、管理社交媒体，并将结果汇报到你的仪表盘上。\n\n整个系统编译成一个**约 32MB 的单个二进制文件**。只需一次安装、一条命令，你的智能体即可上线。\n\n```bash\ncurl -fsSL https:\u002F\u002Fopenfang.sh\u002Finstall | sh\nopenfang init\nopenfang start\n# 仪表盘地址：http:\u002F\u002Flocalhost:4200\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```powershell\nirm https:\u002F\u002Fopenfang.sh\u002Finstall.ps1 | iex\nopenfang init\nopenfang start\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## Hands：真正能做事的智能体\n\n\u003Cp align=\"center\">\u003Cem>\"传统智能体等待你的输入。Hands 则会\u003Cstrong>为你\u003C\u002Fstrong>工作。\u003C\u002Fem>\u003C\u002Fp>\n\n**Hands** 是 OpenFang 的核心创新。它们是预构建的自主能力包，能够独立运行、按计划执行任务，无需你手动触发。这不是聊天机器人，而是一个早上 6 点就起床、研究竞争对手、构建知识图谱、对结果进行评分，并在你还没喝上咖啡之前就把报告发到 Telegram 上的智能体。\n\n每个 Hands 包含：\n- **HAND.toml**：声明工具、设置、依赖项及仪表盘指标的清单。\n- **系统提示词**：多阶段的操作手册。并非一句简单的指令，而是长达 500 多字的专业流程。\n- **SKILL.md**：领域专业知识参考，在运行时注入上下文。\n- **护栏机制**：针对敏感操作的审批关卡（例如，浏览器 Hands 在任何购买行为前都需要批准）。\n\n所有内容都打包进二进制文件中。无需下载、无需 pip 安装、无需拉取 Docker 镜像。\n\n### 内置的 7 种 Hands\n\n| Hands | 实际作用 |\n|------|----------------------|\n| **Clip** | 接收 YouTube 视频链接，下载视频，识别精彩片段，剪辑成带字幕和缩略图的竖屏短视频，可选添加 AI 配音，并发布到 Telegram 和 WhatsApp。8 阶段流水线。使用 FFmpeg + yt-dlp + 5 种语音转文字引擎。 |\n| **Lead** | 每日运行。发现符合你 ICP 的潜在客户，通过网络调研丰富其信息，打分 0-100，与现有数据库去重后，以 CSV\u002FJSON\u002FMarkdown 格式交付合格的潜在客户。会随着时间推移不断构建 ICP 型号。 |\n| **Collector** | OSINT 级情报收集。你提供一个目标（公司、人物、话题），它会持续监控：变化检测、情绪追踪、知识图谱构建，以及当重要情况发生变化时发出的关键警报。 |\n| **Predictor** | 超级预测引擎。从多个来源收集信号，构建校准后的推理链条，给出带有置信区间的预测，并使用 Brier 分数跟踪自身准确性。还具备反共识模式，会刻意与主流观点相左。 |\n| **Researcher** | 深度自主研究员。交叉验证多个信息源，依据 CRAAP 标准（时效性、相关性、权威性、准确性、目的）评估可信度，生成带有 APA 格式的引用报告，支持多种语言。 |\n| **Twitter** | 自主 Twitter\u002FX 账号管理器。以 7 种轮换形式创作内容，安排最佳互动时间发布推文，回复提及消息，跟踪表现指标。设有审批队列，确保每条推文都经过你的确认后才会发布。 |\n| **Browser** | 网页自动化智能体。导航网站、填写表单、点击按钮、处理多步骤流程。采用 Playwright 桥接技术并保持会话持久化。**强制购买审批关卡**：未经明确确认，绝不会擅自消费。 |\n\n```bash\n# 启用 Researcher Hands，它会立即开始工作。\nopenfang hand activate researcher\n\n# 随时查看其进度\nopenfang hand status researcher\n\n# 按每日计划启动潜在客户开发\nopenfang hand activate lead\n\n# 暂停但不丢失状态\nopenfang hand pause lead\n\n# 查看所有可用的 Hands\nopenfang hand list\n```\n\n**自定义你的 Hands。** 定义一个包含工具、设置和系统提示词的 `HAND.toml` 文件，并将其发布到 FangHub。\n\n---\n\n## OpenFang 与行业现状对比\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_dd406052866b.png\" width=\"600\" alt=\"OpenFang vs OpenClaw vs ZeroClaw\" \u002F>\n\u003C\u002Fp>\n\n### 基准测试：实测而非宣传\n\n所有数据均来自官方文档和公开仓库，截至2026年2月。\n\n#### 冷启动时间（越低越好）\n\n```\nZeroClaw   ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10 ms\nOpenFang   ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  180 ms    ★\nLangGraph  █████████████████░░░░░░░░░░░░░░░░░░░░░░░░░  2.5 sec\nCrewAI     ████████████████████░░░░░░░░░░░░░░░░░░░░░░  3.0 sec\nAutoGen    ██████████████████████████░░░░░░░░░░░░░░░░░  4.0 sec\nOpenClaw   █████████████████████████████████████████░░  5.98 sec\n```\n\n#### 空闲内存占用（越低越好）\n\n```\nZeroClaw   █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    5 MB\nOpenFang   ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   40 MB    ★\nLangGraph  ██████████████████░░░░░░░░░░░░░░░░░░░░░░░░░  180 MB\nCrewAI     ████████████████████░░░░░░░░░░░░░░░░░░░░░░░  200 MB\nAutoGen    █████████████████████████░░░░░░░░░░░░░░░░░░  250 MB\nOpenClaw   ████████████████████████████████████████░░░░  394 MB\n```\n\n#### 安装包大小（越低越好）\n\n```\nZeroClaw   █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  8.8 MB\nOpenFang   ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   32 MB    ★\nCrewAI     ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  100 MB\nLangGraph  ████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  150 MB\nAutoGen    ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░  200 MB\nOpenClaw   ████████████████████████████████████████░░░░  500 MB\n```\n\n#### 安全系统（越高越好）\n\n```\nOpenFang   ████████████████████████████████████████████   16      ★\nZeroClaw   ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░    6\nOpenClaw   ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    3\nAutoGen    █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    2\nLangGraph  █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    2\nCrewAI     ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    1\n```\n\n#### 通道适配器（越高越好）\n\n```\nOpenFang   ████████████████████████████████████████████   40      ★\nZeroClaw   ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░   15\nOpenClaw   █████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   13\nCrewAI     ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\nAutoGen    ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\nLangGraph  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    0\n```\n\n#### LLM 提供商支持（越高越好）\n\n```\nZeroClaw   ████████████████████████████████████████████   28\nOpenFang   ██████████████████████████████████████████░░   27      ★\nLangGraph  ██████████████████████░░░░░░░░░░░░░░░░░░░░░   15\nCrewAI     ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10\nOpenClaw   ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   10\nAutoGen    ███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    8\n```\n\n### 功能逐项对比\n\n| 特性           | OpenFang | OpenClaw | ZeroClaw | CrewAI | AutoGen | LangGraph |\n|----------------|----------|----------|----------|--------|---------|-----------|\n| **编程语言**   | **Rust** | TypeScript | **Rust** | Python | Python | Python |\n| **自主手爪**   | **7个内置** | 无       | 无       | 无     | 无      | 无        |\n| **安全层级**   | **16层独立** | 3层基础 | 6层     | 1层基础 | Docker  | AES加密   |\n| **代理沙盒**   | **WASM双计量** | 无       | 允许列表 | 无     | Docker  | 无        |\n| **通道适配器** | **40个** | 13个    | 15个    | 0      | 0       | 0         |\n| **内置工具**   | **53+ MCP + A2A** | 50+    | 12个    | 插件   | MCP     | LC工具    |\n| **内存管理**   | **SQLite + 向量存储** | 文件存储 | SQLite FTS5 | 4层    | 外部    | 检查点    |\n| **桌面应用**   | **Tauri 2.0** | 无       | 无       | 无     | Studio  | 无        |\n| **审计追踪**   | **默克尔哈希链** | 日志     | 日志     | 跟踪   | 日志    | 检查点    |\n| **冷启动**     | **\u003C200ms** | ~6s     | ~10ms   | ~3s    | ~4s     | ~2.5s     |\n| **安装包大小** | **~32 MB** | ~500 MB | ~8.8 MB | ~100 MB| ~200 MB | ~150 MB   |\n| **许可证**     | MIT      | MIT      | MIT      | MIT    | Apache 2.0 | MIT       |\n\n---\n\n## 16重安全系统：纵深防御\n\nOpenFang 并非在事后才匆忙添加安全措施。每一层都可独立测试，且不存在单点故障。\n\n| 序号 | 系统名称                     | 功能描述                                       |\n|------|------------------------------|------------------------------------------------|\n| 1    | **WASM双计量沙盒**          | 工具代码在WebAssembly中运行，并采用燃料计量与周期中断机制。看门狗线程会终止失控代码。 |\n| 2    | **默克尔哈希链审计追踪**    | 每一步操作都以密码学方式链接到前一步。篡改任一记录将导致整个链条失效。 |\n| 3    | **信息流污点跟踪**          | 标签贯穿整个执行过程。敏感信息从源头到最终目的地全程被追踪。 |\n| 4    | **Ed25519签名的代理清单**   | 每个代理的身份及其能力集均经过密码学签名验证。 |\n| 5    | **SSRF防护**                | 阻止私有IP、云元数据端口及DNS重绑定攻击。 |\n| 6    | **秘密清零**                | `Zeroizing\u003CString>`会在API密钥不再需要时立即从内存中彻底清除。 |\n| 7    | **OFP互认证**               | 基于HMAC-SHA256的基于nonce、恒定时间的P2P网络验证机制。 |\n| 8    | **能力门控**                | 基于角色的访问控制。代理声明所需工具，内核强制执行。 |\n| 9    | **安全响应头**              | 每次响应都会设置CSP、X-Frame-Options、HSTS、X-Content-Type-Options等安全头部。 |\n| 10   | **健康检查端点脱敏**        | 公开健康检查仅返回最少必要信息。完整诊断需身份验证。 |\n| 11   | **子进程沙盒**              | 使用`env_clear()`并选择性传递环境变量。通过跨平台杀戮实现进程树隔离。 |\n| 12   | **提示注入扫描器**          | 检测技能中的覆盖企图、数据外泄模式以及Shell引用注入。 |\n| 13   | **循环保护**                | 基于SHA256的工具调用循环检测，并配备熔断机制，可处理来回跳动的情况。 |\n| 14   | **会话修复**                | 7阶段的消息历史验证及自动恢复功能，可应对消息损坏情况。 |\n| 15   | **路径遍历防护**            | 采用规范化处理并防止符号链接逃逸。`..\u002F`在此无效。 |\n| 16   | **GCRA速率限制器**          | 成本感知的令牌桶速率限制，按IP地址追踪并清理过期请求。 |\n\n---\n\n## 架构\n\n14 个 Rust crate。137,728 行代码。模块化内核设计。\n\n```\nopenfang-kernel      编排、工作流、计量、RBAC、调度器、预算跟踪\nopenfang-runtime     代理循环、3 个 LLM 驱动、53 种工具、WASM 沙箱、MCP、A2A\nopenfang-api         140+ 个 REST\u002FWS\u002FSSE 端点、与 OpenAI 兼容的 API、仪表板\nopenfang-channels    40 个带限流的消息适配器、私信\u002F群组策略\nopenfang-memory      SQLite 持久化、向量嵌入、规范会话、压缩\nopenfang-types       核心类型、污点追踪、Ed25519 清单签名、模型目录\nopenfang-skills      60 种捆绑技能、SKILL.md 解析器、FangHub 市场\nopenfang-hands       7 个自治 Hand、HAND.toml 解析器、生命周期管理\nopenfang-extensions  25 个 MCP 模板、AES-256-GCM 凭证保险库、OAuth2 PKCE\nopenfang-wire        OFP P2P 协议，带有 HMAC-SHA256 相互认证\nopenfang-cli         命令行工具，包含守护进程管理、TUI 仪表板、MCP 服务器模式\nopenfang-desktop     Tauri 2.0 原生应用（系统托盘、通知、全局快捷键）\nopenfang-migrate     OpenClaw、LangChain、AutoGPT 迁移引擎\nxtask                构建自动化\n```\n\n---\n\n## 40 个通道适配器\n\n将你的代理连接到用户使用的每一个平台。\n\n**核心：** Telegram、Discord、Slack、WhatsApp、Signal、Matrix、电子邮件（IMAP\u002FSMTP）  \n**企业级：** Microsoft Teams、Mattermost、Google Chat、Webex、飞书\u002FLark、Zulip  \n**社交类：** LINE、Viber、Facebook Messenger、Mastodon、Bluesky、Reddit、LinkedIn、Twitch  \n**社区类：** IRC、XMPP、Guilded、Revolt、Keybase、Discourse、Gitter  \n**隐私类：** Threema、Nostr、Mumble、Nextcloud Talk、Rocket.Chat、Ntfy、Gotify  \n**办公类：** Pumble、Flock、Twist、钉钉、Zalo、Webhooks  \n\n每个适配器都支持按频道覆盖模型、私信\u002F群组策略、限流和输出格式化。\n\n---\n\n## WhatsApp Web 网关（二维码）\n\n通过二维码将你的个人 WhatsApp 账号连接到 OpenFang，就像使用 WhatsApp Web 一样。无需 Meta Business 账号。\n\n### 前提条件\n\n- 已安装 **Node.js >= 18**（[下载](https:\u002F\u002Fnodejs.org\u002F)）\n- 已安装并初始化 OpenFang\n\n### 设置步骤\n\n**1. 安装网关依赖：**\n\n```bash\ncd packages\u002Fwhatsapp-gateway\nnpm install\n```\n\n**2. 配置 `config.toml`：**\n\n```toml\n[channels.whatsapp]\nmode = \"web\"\ndefault_agent = \"assistant\"\n```\n\n**3. 设置网关 URL（任选其一）：**\n\n为保持持久性，添加到你的 shell 配置文件中：\n\n```bash\n# macOS \u002F Linux\necho 'export WHATSAPP_WEB_GATEWAY_URL=\"http:\u002F\u002F127.0.0.1:3009\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n```\n\n或者在启动网关时直接设置：\n\n```bash\nexport WHATSAPP_WEB_GATEWAY_URL=\"http:\u002F\u002F127.0.0.1:3009\"\n```\n\n**4. 启动网关：**\n\n```bash\nnode packages\u002Fwhatsapp-gateway\u002Findex.js\n```\n\n网关默认监听端口 `3009`。可通过 `WHATSAPP_GATEWAY_PORT` 覆盖。\n\n**5. 启动 OpenFang：**\n\n```bash\nopenfang start\n# 仪表板地址：http:\u002F\u002Flocalhost:4200\n```\n\n**6. 扫描二维码：**\n\n打开仪表板 → **Channels** → **WhatsApp**。会出现一个二维码。用手机扫描：\n\n> **WhatsApp** → **设置** → **已链接设备** → **链接新设备**\n\n扫描成功后，状态会变为 `已连接`，传入的消息将被路由到你配置的代理。\n\n### 网关环境变量\n\n| 变量 | 描述 | 默认值 |\n|----------|-------------|---------|\n| `WHATSAPP_WEB_GATEWAY_URL` | OpenFang 连接的网关 URL | _(空 = 禁用)_ |\n| `WHATSAPP_GATEWAY_PORT` | 网关监听的端口 | `3009` |\n| `OPENFANG_URL` | 网关上报的 OpenFang API URL | `http:\u002F\u002F127.0.0.1:4200` |\n| `OPENFANG_DEFAULT_AGENT` | 处理传入消息的代理 | `assistant` |\n\n### 网关 API 端点\n\n| 方法 | 路由 | 描述 |\n|--------|-------|-------------|\n| `POST` | `\u002Flogin\u002Fstart` | 生成二维码（返回 base64 PNG） |\n| `GET` | `\u002Flogin\u002Fstatus` | 连接状态（`disconnected`、`qr_ready`、`connected`） |\n| `POST` | `\u002Fmessage\u002Fsend` | 发送消息（`{ \"to\": \"5511999999999\", \"text\": \"Hello\" }`） |\n| `GET` | `\u002Fhealth` | 健康检查 |\n\n### 替代方案：WhatsApp Cloud API\n\n对于生产级工作负载，请使用带有 Meta Business 账号的 [WhatsApp Cloud API](https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fwhatsapp\u002Fcloud-api)。请参阅 [Cloud API 配置文档](https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fchannels\u002Fwhatsapp)。\n\n\n\n---\n\n## 27 家 LLM 提供商，123+ 模型\n\n3 个原生驱动（Anthropic、Gemini、OpenAI 兼容）可路由至 27 家提供商：\n\nAnthropic、Gemini、OpenAI、Groq、DeepSeek、OpenRouter、Together、Mistral、Fireworks、Cohere、Perplexity、xAI、AI21、Cerebras、SambaNova、HuggingFace、Replicate、Ollama、vLLM、LM Studio、Qwen、MiniMax、智谱、Moonshot、千帆、Bedrock 等。\n\n智能路由结合任务复杂度评分、自动回退、成本跟踪以及按模型定价。\n\n---\n\n## 从 OpenClaw 迁移\n\n已经在运行 OpenClaw？只需一条命令：\n\n```bash\n# 迁移所有内容：代理、记忆、技能、配置。\nopenfang migrate --from openclaw\n\n# 从特定路径迁移\nopenfang migrate --from openclaw --path ~\u002F.openclaw\n\n# 先进行试运行，查看将要更改的内容\nopenfang migrate --from openclaw --dry-run\n```\n\n迁移引擎会导入你的代理、对话历史、技能和配置。OpenFang 原生读取 SKILL.md，并且兼容 ClawHub 市场。\n\n---\n\n## 与 OpenAI 兼容的 API\n\n即插即用的替代方案。将现有工具指向 OpenFang：\n\n```bash\ncurl -X POST localhost:4200\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"researcher\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"分析第四季度市场趋势\"}],\n    \"stream\": true\n  }'\n```\n\n140+ 个 REST\u002FWS\u002FSSE 端点，涵盖代理、记忆、工作流、通道、模型、技能、A2A、Hands 等。\n\n---\n\n## 快速入门\n\n```bash\n# 1. 安装（macOS\u002FLinux）\ncurl -fsSL https:\u002F\u002Fopenfang.sh\u002Finstall | sh\n\n# 2. 初始化。引导你完成提供商设置。\nopenfang init\n\n# 3. 启动守护进程\nopenfang start\n\n# 4. 仪表板已在 http:\u002F\u002Flocalhost:4200 上运行\n\n# 5. 激活一个 Hand。它会开始为你工作。\nopenfang hand activate researcher\n\n# 6. 与代理聊天\nopenfang chat researcher\n> “AI 代理框架有哪些新兴趋势？”\n\n# 7. 启动一个预构建的代理\nopenfang agent spawn coder\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows（PowerShell）\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```powershell\nirm https:\u002F\u002Fopenfang.sh\u002Finstall.ps1 | iex\nopenfang init\nopenfang start\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## 开发\n\n```bash\n# 构建工作区\ncargo build --workspace --lib\n\n# 运行所有测试（1,767+ 个）\ncargo test --workspace\n\n# 静态代码检查（必须无警告）\ncargo clippy --workspace --all-targets -- -D warnings\n\n# 代码格式化\ncargo fmt --all -- --check\n```\n\n---\n\n## 稳定性说明\n\nOpenFang v0.5.10 尚处于 1.0 之前的预发布阶段。其架构稳固、测试套件全面，安全模型也十分深入。尽管如此：\n\n- 在 v1.0 发布之前，小版本之间仍可能出现**破坏性变更**。\n- 各组件的成熟度不一，其中浏览器端和研究员端经过了最充分的实战检验。\n- 仍存在**边缘情况**。若您发现任何问题，请[提交 issue](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues)。\n- 生产环境部署时，请在 v1.0 发布前**锁定到特定 commit 版本**。\n\n我们快速迭代、迅速修复。目标是在 2026 年年中推出一个坚如磐石的 v1.0 版本。\n\n---\n\n## 安全\n\n如需报告安全漏洞，请发送邮件至 **jaber@rightnowai.co**。我们将认真对待每一份报告，并在 48 小时内回复。\n\n---\n\n## 许可证\n\nMIT 许可证。您可以按任意方式使用。\n\n---\n\n## 链接\n\n- [官网与文档](https:\u002F\u002Fopenfang.sh)\n- [快速入门指南](https:\u002F\u002Fopenfang.sh\u002Fdocs\u002Fgetting-started)\n- [GitHub](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang)\n- [Discord](https:\u002F\u002Fdiscord.gg\u002FsSJqgNnq6X)\n- [Twitter \u002F X](https:\u002F\u002Fx.com\u002Fopenfangg)\n\n---\n\n## 由 RightNow 构建\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_readme_a8989b01de73.webp\" width=\"60\" alt=\"RightNow Logo\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  OpenFang 由 \u003Ca href=\"https:\u002F\u002Fx.com\u002FAkashi203\">\u003Cstrong>Jaber\u003C\u002Fstrong>\u003C\u002Fa> 构建并维护，他是 \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">\u003Cstrong>RightNow\u003C\u002Fstrong>\u003C\u002Fa> 的创始人。\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rightnowai.co\u002F\">官网\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FAkashi203\">Twitter \u002F X\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fopenfang\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fcdn.buymeacoffee.com\u002Fbuttons\u002Fv2\u002Fdefault-yellow.png\" alt=\"请我喝杯咖啡\" style=\"height: 60px !important;width: 217px !important;\" >\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cstrong>采用 Rust 构建，配备 16 层安全防护，真正为您服务的智能代理。\u003C\u002Fstrong>\n\u003C\u002Fp>","# OpenFang 快速上手指南\n\nOpenFang 是一个用 Rust 编写的开源智能体操作系统（Agent OS）。它不是聊天机器人框架，也不是简单的 LLM 包装器，而是一个能够独立运行、全天候工作的自主智能体系统。整个系统编译为单个约 32MB 的二进制文件，无需复杂的依赖环境。\n\n## 环境准备\n\n*   **操作系统**：支持 Linux、macOS 和 Windows。\n*   **前置依赖**：无特殊依赖。OpenFang 设计为“单二进制”交付，不需要预先安装 Python、Docker 或 Node.js。\n*   **网络要求**：需要能够访问 `openfang.sh` 下载脚本以及后续智能体所需的外部 API（如 LLM 提供商）。\n    *   *注：目前官方未提供特定的中国镜像源，如遇下载超时，请检查网络环境或使用代理。*\n\n## 安装步骤\n\nOpenFang 提供了一键安装脚本，自动下载最新版本的二进制文件并配置环境变量。\n\n### Linux \u002F macOS\n\n在终端执行以下命令：\n\n```bash\ncurl -fsSL https:\u002F\u002Fopenfang.sh\u002Finstall | sh\n```\n\n### Windows (PowerShell)\n\n以管理员身份打开 PowerShell，执行以下命令：\n\n```powershell\nirm https:\u002F\u002Fopenfang.sh\u002Finstall.ps1 | iex\n```\n\n> **注意**：当前版本为 v0.5.10 (Pre-1.0)，功能已完整但可能存在破坏性更新。生产环境建议锁定特定 commit 版本。\n\n## 基本使用\n\n安装完成后，只需三个命令即可启动你的第一个自主智能体系统。\n\n### 1. 初始化项目\n\n在当前目录创建 OpenFang 配置文件：\n\n```bash\nopenfang init\n```\n\n### 2. 启动服务\n\n运行主程序，系统将加载内置的智能体模块（Hands）并启动本地仪表盘：\n\n```bash\nopenfang start\n```\n\n启动成功后，访问 **http:\u002F\u002Flocalhost:4200** 查看实时仪表盘。\n\n### 3. 激活智能体 (Hands)\n\nOpenFang 的核心是\"Hands\"——预建的自主能力包。你可以随时通过命令行激活它们，它们将按计划自动工作，无需持续提示。\n\n**示例：激活深度研究智能体 (Researcher)**\n\n```bash\n# 激活 Researcher Hand，它将立即开始工作\nopenfang hand activate researcher\n\n# 随时查看其运行状态\nopenfang hand status researcher\n```\n\n**示例：激活潜在客户挖掘智能体 (Lead)**\n\n```bash\n# 激活 Lead Hand（默认按每日计划运行）\nopenfang hand activate lead\n\n# 暂停智能体（保留当前状态）\nopenfang hand pause lead\n\n# 列出所有可用的 Hands\nopenfang hand list\n```\n\n### 内置智能体概览\n\n系统预装了 7 种强大的自主智能体：\n\n| 名称 | 功能描述 |\n| :--- | :--- |\n| **Clip** | 自动下载 YouTube 视频，剪辑竖屏短片，添加字幕\u002F配音并发布到社交网络。 |\n| **Lead** | 每日自动发现潜在客户，丰富信息，评分去重，输出高质量线索报告。 |\n| **Collector** | 持续监控指定目标（公司\u002F人\u002F话题），构建知识图谱并发送关键变更警报。 |\n| **Predictor** | 多源信号收集与预测引擎，提供带置信区间的预测及准确性追踪。 |\n| **Researcher** | 深度自主研究员，跨源验证信息可信度，生成带引用的专业报告。 |\n| **Twitter** | 自主管理 Twitter\u002FX 账号，创作内容、定时发布、回复互动及性能追踪。 |\n| **Browser** | 网页自动化代理，处理表单填写、点击等操作（含强制消费审批门禁）。 |\n\n所有操作均受到 OpenFang 内置的 16 层安全系统保护（包括 WASM 沙箱、审计链、防注入等），确保自主运行的安全性。","某初创公司的增长负责人需要每日监控竞品动态并自动挖掘潜在客户，同时要将行业会议视频快速转化为短视频分发到社交媒体。\n\n### 没有 openfang 时\n- **人工操作繁琐且滞后**：每天需手动搜索竞品新闻、整理数据到表格，往往等到下午才能产出报告，无法实时响应市场变化。\n- **工具链割裂难维护**：视频剪辑需单独使用 FFmpeg 和 yt-dlp，潜在客户挖掘需运行独立的 Python 脚本，环境配置复杂，依赖冲突频发。\n- **缺乏自主运行机制**：所有任务必须人工触发或编写复杂的 Cron _job_，一旦忘记执行或脚本报错，整个流程就会中断，无人值守几乎不可能。\n- **资源占用高且不稳定**：多个脚本同时运行消耗大量服务器内存，且缺乏统一的错误处理和审批机制，容易因异常操作导致风险。\n\n### 使用 openfang 后\n- **7x24 小时自主运行**：部署 Clip 和 Lead 两个\"Hands\"智能体，它们按预设时间表自动唤醒，清晨即可将竞品分析报告推送到 Telegram，并在你喝咖啡前完成视频剪辑发布。\n- **单一二进制文件部署**：无需安装 Python 环境或 Docker，仅需一个 32MB 的二进制文件即可运行所有功能，彻底解决依赖冲突问题，启动即用。\n- **内置安全与审批机制**：敏感操作（如自动购买线索数据）自带\"Guardrails\"审批门，确保在无人值守时也不会发生误操作，让自动化真正安全可靠。\n- **统一监控仪表盘**：所有智能体的运行状态、知识图谱构建进度及生成结果均集成在本地 Dashboard 中，一目了然，便于随时调整策略。\n\nopenfang 将原本碎片化、需人工干预的运维工作转变为自主运行的智能系统，让开发者从重复劳动中解放，专注于核心业务决策。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRightNow-AI_openfang_1005a39f.png","RightNow-AI","RightNow","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FRightNow-AI_841b6441.png","GPU AI Code Editor",null,"jaber@rightnowai.co","rightnowai_co","https:\u002F\u002Fwww.rightnowai.co\u002F","https:\u002F\u002Fgithub.com\u002FRightNow-AI",[84,88,92,95,99,103,107,110,114,117],{"name":85,"color":86,"percentage":87},"Rust","#dea584",88.3,{"name":89,"color":90,"percentage":91},"HTML","#e34c26",4.8,{"name":93,"color":94,"percentage":91},"JavaScript","#f1e05a",{"name":96,"color":97,"percentage":98},"CSS","#663399",1.3,{"name":100,"color":101,"percentage":102},"Python","#3572A5",0.5,{"name":104,"color":105,"percentage":106},"Shell","#89e051",0.1,{"name":108,"color":109,"percentage":106},"PowerShell","#012456",{"name":111,"color":112,"percentage":113},"Dockerfile","#384d54",0,{"name":115,"color":116,"percentage":113},"Nix","#7e7eff",{"name":118,"color":119,"percentage":113},"Batchfile","#C1F12E",16774,2119,"2026-04-18T19:01:53","Apache-2.0","Linux, macOS, Windows","未说明","空闲内存约 40MB (最低需求未明确说明，但基于轻量级特性推测要求极低)",{"notes":128,"python":129,"dependencies":130},"该工具是用 Rust 编写的独立操作系统，编译后仅为约 32MB 的单一二进制文件，无需 Python 环境、Docker 或复杂的依赖安装。支持通过 curl (Linux\u002FmacOS) 或 PowerShell (Windows) 一键安装。部分功能模块（如 Clip）在运行时可能需要系统预装 FFmpeg 和 yt-dlp。当前版本为 v0.5.10 (预发布)，生产环境建议锁定特定 commit。","不需要 (基于 Rust 编写，编译为单一二进制文件)",[131,132,133],"Rust (编译环境)","FFmpeg (Clip Hand 依赖)","yt-dlp (Clip Hand 依赖)",[14,35,13],[136,137,138,139,140,6,141,142],"agent-framework","ai-agents","llm","mcp","open-source","operating-system","rust","2026-03-27T02:49:30.150509","2026-04-19T09:16:29.352814",[146,151,156,161,166,170],{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},42223,"为什么在 config.toml 中配置了 API Key，系统仍然提示需要输入密钥？","这是因为配置文件结构错误。旧版本或错误的配置可能将 api_key 放在了 [api] 部分下（即写作 [api].api_key），但守护进程实际上是从配置文件的根层级读取 api_key。\n\n解决方案：\n1. **手动修复**：打开 config.toml，确保 api_key 直接位于根层级，而不是在 [api] 块内。\n2. **自动迁移**：在新版本中，如果检测到 api_key 位于 [api] 部分，启动时会自动将其迁移到根层级，并在日志中显示 \"Migrating misplaced config field from [api] to root level\"。\n3. **界面提示**：仪表盘解锁屏幕现在会明确指示 api_key 在 config.toml 中的正确位置。","https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues\u002F444",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},42224,"可以使用 ChatGPT Plus 或 Codex 订阅来代替 API Key 吗？","不可以。OpenAI\u002FCodex 订阅（如 ChatGPT Plus\u002FPro）仅用于网页端访问，不能用于 API 访问。API 访问必须拥有独立的 API Key 并单独计费，这是 OpenAI 的政策限制。\n\n建议替代方案：\n- **Groq**：提供免费层级。\n- **DeepSeek**：高性价比选择。\n- **Ollama**：本地运行，完全免费。","https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues\u002F164",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},42225,"在 Ubuntu 22.04+ 或较新 Linux 系统上运行二进制文件时，出现 libssl.so.1.0.0 找不到错误怎么办？","这是因为预编译的二进制文件动态链接了旧版 OpenSSL 1.0，而新版 Ubuntu（22.04+）默认使用 OpenSSL 3.x。\n\n解决方案：\n1. **从源码编译（推荐）**：使用 `cargo build --release` 从源码构建，它将自动链接您系统当前的 OpenSSL 版本。\n2. **等待静态链接版本**：维护者计划在未来发布静态链接的二进制文件（musl build），以消除系统依赖。","https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues\u002F97",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},42226,"拉取 Docker 镜像时遇到 \"permission_denied: read_package\" 或 \"unauthorized\" 错误如何解决？","这通常是因为 GitHub Container Registry (GHCR) 上的包可见性设置问题，即使仓库是公开的，包也可能被设为私有。\n\n解决方法：\n1. **检查镜像名称大小写**：确保使用全小写的仓库名称，例如 `ghcr.io\u002Frightnow-ai\u002Fopenfang:latest`（注意 rightnow-ai 需小写，大写会导致 \"invalid reference format\" 错误）。\n2. **认证拉取**：如果包未公开，您需要登录 GHCR。使用个人访问令牌（PAT）登录：\n   ```bash\n   echo $CR_PAT | docker login ghcr.io -u \u003Cusername> --password-stdin\n   ```\n   登录后再尝试拉取镜像。\n3. **联系维护者**：如果是公共项目却无法匿名拉取，可能是包设置未改为 Public，需在 GitHub Package Settings 中调整可见性。","https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fissues\u002F12",{"id":167,"question_zh":168,"answer_zh":169,"source_url":150},42227,"仪表盘上的 \"Unlock\" 按钮点击无反应或 CSP 报错如何临时解决？","这是由于内容安全策略（CSP）阻止了某些脚本执行。在正式修复发布前，可以使用以下临时方案：\n\n**方案 1：禁用浏览器 CSP（最简单）**\n安装禁用 CSP 的浏览器扩展并重载页面：\n- Chrome: [Disable Content-Security-Policy](https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fdisable-content-security\u002Fieelmcmcagommplceebfedjlakkhpden)\n- Firefox: [Disable CSP](https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fdisable-csp\u002F)\n\n**方案 2：使用 Nginx 反向代理（适合生产环境）**\n配置 Nginx 以剥离或覆盖 CSP 头，允许 Alpine.js 运行：\n```nginx\nserver {\n    listen 4201;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:4200;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        # 覆盖 CSP 以允许内联脚本\n        proxy_hide_header Content-Security-Policy;\n        add_header Content-Security-Policy \"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';\";\n    }\n}\n```",{"id":171,"question_zh":172,"answer_zh":173,"source_url":155},42228,"Codex 提供者测试返回 \"invalid model ID\" 错误是什么原因？","当前版本的 Codex 提供者实现尚不完整。主要问题包括：\n1. **模型 ID 映射错误**：目录中暴露的 `codex\u002Fgpt-4.1` 等模型 ID 被直接发送给 OpenAI 接口，导致 OpenAI 无法识别该模型名称。\n2. **认证逻辑缺失**：目前的认证读取器仅查找 `~\u002F.codex\u002Fauth.json` 中的顶层 `api_key` 或 `token` 字段，尚未完全支持基于 Codex 订阅登录流的认证方式。\n\n目前该功能暂时不可用，建议等待后续版本修复或使用标准的 OpenAI API Key 方式。",[175,180,185,190,195,200,205,210,215,220,225,230,235,240,244,248,252,256,261,266],{"id":176,"version":177,"summary_zh":178,"released_at":179},334316,"v0.5.10","v0.5.9 的后续补丁。从问题追踪器中修复了七个实际存在的 bug。\n\n## 安全性\n\n认证失败时默认关闭。当未配置 `api_key` 时，非环回请求将默认以 401 状态码拒绝。环回请求则无需配置即可通过，从而保持单用户本地部署的零配置用户体验。若要在局域网地址上运行无认证服务器，可设置 `OPENFANG_ALLOW_NO_AUTH=1`。启动日志现在会明确打印出服务器当前所处的模式。解决了 #1034 中的 B1 和 B2 漏洞发现。\n\n## 运行时\n\n代理的 `context.md` 文件将在每次轮次开始时重新读取。如果定时任务使用最新市场数据重写 `context.md`，交易代理将在下一条消息中立即获取更新，而无需等待会话重启。若希望每个代理恢复旧版启动时缓存的行为，可在清单文件中设置 `cache_context = true`。解决了 #843。\n\n多模态用户消息现可将文本和附件图片块合并为一条 `user_with_blocks` 消息。旧逻辑在附带图片时会丢弃文本，导致视觉模型仅接收到没有提示的图片。解决了 #1043。\n\n## 调度器\n\n调度工具和 HTTP 路由现已真正生效。`schedule_create`、`schedule_list`、`schedule_delete` 以及对应的 `\u002Fapi\u002Fschedules*` 端点曾向一个所有执行器均未读取的共享内存键写入数据。现在它们将通过 tick 循环已使用的内核 cron 调度程序来执行。启动时会进行一次一次性且幂等的迁移操作，将旧键中的遗留条目导入新系统，并标记迁移已完成，此后不再向旧键写入任何内容。解决了 #1069。\n\n## CLI\n\n`openfang config get default_model.base_url` 再次正确打印出已配置的 URL。该查找逻辑已被提取为纯函数，并由 8 个新的单元测试固定，因此任何 `[default_model]` 下标量值的回归问题都将被捕捉到。对于缺失的键，现在会返回明确的“未找到”错误，而非空行。解决了 #905。\n\n`openfang hand config \u003Cid>` 已实现并接入系统。文档中已承诺此命令，但此前并未存在。现支持 `--get`、`--set KEY=VALUE`（可重复）、`--unset KEY` 和 `--list`。空键将被明确拒绝，设置将在守护进程重启后持续保留。解决了 #809。\n\n## 通道\n\n可选的按通道设置的代理名称前缀，用于出站消息。在通道覆盖配置中设置 `prefix_agent_name = \"bracket\"` 或 `\"bold_bracket\"`，回复消息将被包裹在 `[agent]` 标记中，以便在多代理通道中清晰显示是谁回复的。默认为 `off`，输出与之前完全一致。此功能具有幂等性，绝不会出现双重包裹的情况。解决了 #980。\n\n## 日常维护\n\n两项问题被判定为无效并关闭。#818 和 #819 引用了尚未合并到主分支的功能分支上的知识领域 API。尽管如此，其中提出的源路径验证和过期时间戳展示机制仍具合理性，应在该功能最终合入主分支时一并集成。\n\n## 数据统计\n\n共修复 7 个问题，合并 7 个 PR，关闭 9 个问题。仅调度器模块就新增了 17 个单元测试。所有代码变更均经过以下检查：`cargo check`、`cargo test`、`cargo clippy --all-targets -- -D warnings` 以及对每个受影响 crate 执行的 `cargo fmt --check`。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.9...v0.5.10","2026-04-17T19:55:30",{"id":181,"version":182,"summary_zh":183,"released_at":184},334317,"v0.5.9","零 Bug 发布。追踪器上的所有未解决问题均已修复。\n\n## 配置持久化终于实现\n\n仪表板中对代理模型、提供商、回退链、系统提示和身份设置的更改，现在会写回到磁盘上的 agent.toml 文件中。您的配置在守护进程重启后仍能保留。这曾是 Discord 和 GitHub 上用户反馈最多的痛点。\n\n## 安全性\n\nPowerShell 命令绕过漏洞已修复。当外部命令为 shell 包装器（powershell、cmd、bash）时，OpenFang 现在会提取内部命令，并根据执行白名单进行验证。例如，`powershell -Command \"Remove-Item ...\"` 在 Remove-Item 不在 allowed_commands 列表中时会被阻止。\n\n仪表板认证已升级为使用 Argon2id 加随机盐值，取代了旧的 SHA-256 哈希算法。新增 `openfang auth hash-password` CLI 命令用于迁移。\n\n## 稳定性\n\nWebSocket 404 竞争条件已被修复。升级处理程序现在会在放弃之前最多重试 5 次查找代理，从而解决了从启动到注册之间的时序间隙问题。\n\nFeishu Webhook 中可能导致崩溃的路径已被消除。包括中毒互斥锁的恢复、正则表达式回退、边界检查索引以及跳过格式错误的段落等。\n\nrustls CryptoProvider 已在内核启动时初始化，解决了 Discord、Mattermost 和 Feishu WebSocket 连接中的 TLS 崩溃问题。\n\nRevolt 适配器现支持自托管实例，可配置 ws_url 和允许的频道。\n\n## 社区贡献\n\n@dmButko 实现了 Copilot OAuth 设备流。完整令牌生命周期，包括持久化、刷新轮换和 HTTPS 验证。\n\n@smitb 提供了 AWS Bedrock 服务提供商，原生 Converse API 支持 Bearer 认证和流式传输。\n\n@AlexZander85 完成了俄语本地化。内置完整的国际化框架，开箱即用支持英语和俄语。\n\n@norci 添加了 SearXNG 搜索提供商，支持自托管元搜索引擎，具备分类验证和分页功能。\n\n@nldhuyen0047 改进了 Gemini 兼容性，修复了历史记录排序问题及数组模式注入漏洞。\n\n@Alex-wuhu 实现了 Novita AI 服务提供商，@Myshkouski 则增加了 armv7 架构支持。\n\nSignal 默认使用纯文本。新代理将使用您配置的模型，而非硬编码的 Groq 模型。Cron 作业在 Hand 重新激活后仍能保留。中间工具生成的文本不再被丢弃。UTF-8 边界崩溃问题已被修复。Alpine SVG 渲染错误也已解决。此外，@lc-soft 还进行了数十项 UI 细节优化修复。\n\n## 数据统计\n\n共修复 45 个 Bug，关闭 86 个问题，合并 85 个 PR。经过严格的安全审计，拒绝了 55 个 PR。累计发布 8 个版本，目前无任何未解决问题。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.8...v0.5.9","2026-04-10T18:20:09",{"id":186,"version":187,"summary_zh":188,"released_at":189},334318,"v0.5.8","本次发布合并了数十项社区贡献。每个拉取请求在合入之前都经过了正确性、安全性及代码质量的审核。\n\n## 新增功能\n\n**GitHub Copilot OAuth 重写**，由 @dmbutko 完成。实现了完整的设备流认证流程，支持令牌持久化、刷新轮换以及 HTTPS 验证，取代了已失效的旧 PAT 认证方式。\n\n**俄语本地化**，由 @AlexZander85 实现。构建了完整的国际化框架，包含语言检测、localStorage 持久化以及仅使用 textContent 渲染（不使用 innerHTML，避免 XSS 攻击面）。默认内置英语和俄语支持。\n\n**AWS Bedrock 提供者**，由 @smitb 开发。原生 Converse API 驱动，支持 Bearer Token 认证、流式传输及正确的错误映射。\n\n**企业微信流模式**，由 @felix307253927 实现。基于 WebSocket 的长连接通道适配器，采用 Protocol Buffers 封装格式、心跳机制及去重功能。\n\n**会话交互端点**，由 @miguelangarano 提供。允许针对特定代理会话进行消息发送，从而在多租户环境中实现用户间对话隔离。\n\n**Gemini 嵌入驱动**，由 @chethanuk 开发。原生批量嵌入功能，并具备自动回退到单文档模式的能力。\n\n**SearXNG 改进**，由 @norci 完成。简化了配置，新增 `list_searxng_categories` 工具，优化了错误处理机制。\n\n**armv7 目标架构**，由 @Myshkouski 实现。在 CI 发布中增加了对 Raspberry Pi 和嵌入式 ARM 板的支持。\n\n## Bug 修复\n\n**WebSocket 认证** (#962)。现在包含 +\u002F=\u002F 字符的 API 密钥也可用于流式传输。服务器会在比较前对令牌查询参数进行 URL 解码。\n\n**Moonshot Kimi K2.5** (#970)。Kimi 模型现已路由至 `api.moonshot.cn\u002Fv1`，而非旧版 `.ai` 域名。\n\n**Nextcloud 聊天轮询** (#987)。修正为从 `api\u002Fv4\u002Froom\u002F{token}\u002Fchat` 更改为 `api\u002Fv1\u002Fchat\u002F{token}\u002F`。\n\n**Docker 构建** (#983)。在构建阶段添加了 `perl` 和 `make`，以支持 openssl-sys 的编译。\n\n**Clippy 静态检查** (#939)。修复了 web_fetch 测试中的布尔值比较问题。\n\n**Gemini 兼容性**。上下文裁剪后，历史记录将从用户发言开始 (#1011)；数组参数现拥有默认的 `items` 模式 (#1010)；成本图表中的 Alpine SVG 渲染错误已被修复 (#1004)。\n\n**Cron 任务保留** (#1019)。Hand 重新激活时，任务不再会静默消失。\n\n**Signal 输出** (#1020)。默认输出纯文本，因为 Signal 不支持 Markdown 渲染。\n\n**新代理默认设置** (#968)。通过仪表盘创建的代理将使用您配置的提供商，而非硬编码的 Groq。\n\n**中间工具文本** (#989)。tool_use 迭代中的文本不再被静默丢弃。\n\n**Copilot OAuth** (#1017)。设备流认证取代了已失效的 PAT 认证。\n\n**UI 修复**。模态框居中显示 (#1027)、柱状图样式优化 (#1022)、baseUrl 未定义问题 (#1006)、重复的消息键问题 (#1002)、UTF-8 字符边界安全问题 (#1029)、Nix 中 perl 构建依赖输入问题 (#966)。\n\n## 已关闭的 PR\n\n共关闭了 13 个重复或过时的 PR。另有 10 个已批准但等待贡献者重新基底的 PR。同时，标记了 2 个 dependabot 更新（wasmtime、hmac）需在合并前进行测试。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.7...v0.","2026-04-10T16:58:30",{"id":191,"version":192,"summary_zh":193,"released_at":194},334319,"v0.5.7","## 标题：多实例手部\n\n客户提问（感谢 Discord 社区及 issue #878）：现在可以运行同一类型手部的多个实例。只需在激活时传入一个可选的 `instance_name` 参数即可。\n\n**Web UI**：设置向导中新增“实例名称（可选）”字段。\n**CLI**：`openfang hand activate clip --name clip-youtube`\n**API**：`POST \u002Fapi\u002Fhands\u002Fclip\u002Factivate`，请求体为 `{\"instance_name\": \"clip-youtube\", \"config\": {}}`\n\n每个命名实例都会获得一个基于 `hand_instance_{instance_id}` 衍生的唯一稳定代理 ID。如果尝试两次激活相同的 `(hand_id, instance_name)` 组合，则会拒绝第二次激活。未命名的激活则保持原有每种手部仅有一个实例的行为。\n\n```bash\nopenfang hand activate clip --name clip-youtube\nopenfang hand activate clip --name clip-tiktok\n# 两者可并行运行，各自拥有独立的代理\n```\n\n## 重要错误修复\n\n- **#919 [安全] 允许列表模式下的 `rm` 绕过漏洞已修复。** 之前 `process_start` 工具会跳过 `validate_command_allowlist` 检查，导致即使 `rm` 不在 `allowed_commands` 列表中，LLM 仍可删除文件。现对 `command` 和 `args` 同时进行元字符及允许列表成员资格的验证。新增 5 个回归测试。\n\n- **#1013 修复 Moonshot 会话问题。** `session_repair::validate_and_repair` 现在会在执行 `insert_synthetic_results` 之前先运行 `deduplicate_tool_results`。这解决了 Moonshot 中 `function_name:index` 这种非唯一工具调用 ID 格式的问题——孤立的 ToolUse 块将在去重后获得合成结果。\n\n- **#1003 全局 `[[fallback_providers]]` 确实会在运行时生效。** `resolve_driver` 现在会在创建驱动时将主驱动包裹在 `FallbackDriver` 中，并带上完整的后备链。当发生网络错误（连接被拒绝、超时）时，系统会直接切换到后备驱动，而不会一直循环使用失效的主驱动。新增两个回归测试。\n\n- **#937 Discord 网关心跳机制。** Discord 适配器现在会在接收到 HELLO 消息后启动心跳任务，跟踪序列号，处理 HEARTBEAT_ACK（操作码 11），并通过 ACK 门控检测僵尸连接，并在服务器停止响应 ACK 时强制关闭套接字以重新连接。特别感谢 @hello-world-bfree 提交的 PR #938，该 PR 指出了根本原因。\n\n- **#935 Web UI 中不再泄露系统提示。** `GET \u002Fapi\u002Fagents\u002F:id\u002Fsession` 现在默认会过滤掉 `Role::System` 类型的消息（可通过 `?include_system=true` 开启调试模式）。同时，在 `chat.js` 中也增加了客户端层面的纵深防御过滤机制。集成测试确保系统提示文本不会出现在默认的 JSON 响应体中。\n\n- **#984 自定义手部可在守护进程重启后继续保留。** `openfang hand install .\u002Fpath` 现在会将手部复制到 `~\u002F.openfang\u002Fhands\u002F\u003Chand_id>\u002F` 目录下，内核在启动时会扫描该目录以重新加载自定义手部。新增的 `load_workspace_hands` 方法沿用了 `load_workspace_skills` 的模式。\n\n- **#884 版本戳问题已修复。** 工作空间版本已升级至 `0.5.7`。CLI 的 `openfang --version` 命令以及 API 的 `\u002Fapi\u002Fhealth` 接口现在均正确返回 `0.5.7`。此前的版本标注的是升级前的 `0.5.5`。\n\n## 清理工作\n\n- **rmcp 1.3 构建者 API** 已被采用用于 `StreamableHttpClientTranspor","2026-04-08T20:03:18",{"id":196,"version":197,"summary_zh":198,"released_at":199},334320,"v0.5.6","## 重要修复\n\n- **版本同步**：桌面应用和工作区的版本现在会正确显示 v0.5.5+。仍停留在 v0.5.1 的用户应该可以完成更新。自首次提交以来，Tauri 配置一直硬编码为 0.1.0。\n\n## 新功能\n\n- **SSRF 允许列表**：自托管\u002FK8s 用户现在可以在 `config.toml` 中配置 `ssrf_allowed_hosts`，以允许代理访问内部服务。元数据端点（如 169.254.169.254 等）仍将被无条件阻止。\n  ```toml\n  [tools.web_fetch]\n  ssrf_allowed_hosts = [\"*.olares.com\", \"10.0.0.0\u002F8\"]\n  ```\n\n- **扩展嵌入向量自动检测**：现在会先探测 6 家 API 密钥提供商（OpenAI、Groq、Mistral、Together、Fireworks、Cohere），然后再回退到本地提供商（Ollama、vLLM、LM Studio）。当没有可用的嵌入向量提供商时，会显示明确的警告。\n\n## Bug 修复\n\n- **Ollama 上下文窗口**：已发现的模型现在默认设置为 128K 上下文 \u002F 16K 输出（之前是 32K\u002F4K）。这更符合 Qwen 3.5 等现代模型的实际能力。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.5...v0.5.6","2026-03-30T18:32:00",{"id":201,"version":202,"summary_zh":203,"released_at":204},334321,"v0.5.5","## Bug 修复\n\n- **#771** Qwen\u002FOpenAI 兼容工具调用在上下文溢出后孤立。智能清理边界 + 流式修复。\n- **#811** LINE Webhook 签名验证。使用原始字节进行 HMAC 计算、密钥裁剪、调试日志记录。\n- **#752** 本地技能安装：修复 TUI 解析问题，通过 \u002Fapi\u002Fskills\u002Freload 实现热加载，ClawHub 也支持重新加载。\n- **#772** exec_policy 模式设为 full 后，将绕过 shell_exec 的审批流程。\n- **#661** 聊天流式输出中断问题（已关闭，认为由 v0.5.3 的响应性修复解决）。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.4...v0.5.5","2026-03-27T21:55:24",{"id":206,"version":207,"summary_zh":208,"released_at":209},334322,"v0.5.4","## 错误修复\n\n- **#875** 安装脚本现在能正确获取最新发布版本\n- **#872** 会话端点返回完整的工具结果（移除了2000字符的截断）\n- **#867** agent_send\u002Fagent_spawn 超时时间增加至600秒（之前为120秒）\n- **#824** Doctor 能正确统计覆盖捆绑技能的工作区技能\n- **#833** 模型切换会通过 find_model_for_provider() 尊重显式指定的提供商\n- **#766** 因心跳修复而关闭，问题已解决\n\n## 统计信息\n- 所有测试均已通过\n- 已在守护进程环境中进行线上测试\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.3...v0.5.4","2026-03-27T19:44:29",{"id":211,"version":212,"summary_zh":213,"released_at":214},334323,"v0.5.3","## 变更内容\n\n本次发布修复了运行时、内核、CLI、Web 界面和 Hands 模块中的 **19 个 bug**，所有修复均已通过实时守护进程测试验证。\n\n### 运行时与驱动程序\n- **#834** 移除 3 个已停用的 Groq 模型（`gemma2-9b-it`、`llama-3.2-1b\u002F3b-preview`）\n- **#805** Ollama 流式解析器同时处理 `reasoning_content` 和 `reasoning` 字段\n- **#845** 当出现 ModelNotFound (404) 错误时，模型回退链会使用 `fallback_models` 重新尝试\n- **#785** Gemini 流式 SSE 解析器支持 `\\r\\n` 行尾符——修复了无限空重试循环问题\n- **#774** `tool_use.input` 始终规范化为 JSON 对象——修复了 Anthropic API 的“无效字典”错误\n- **#856** 自定义模型名称得以保留——用户自定义模型优先于内置模型（vLLM 等）\n\n### 内核与心跳\n- **#844** 心跳机制会跳过从未接收消息的空闲代理——不再出现崩溃后重启的循环\n- **#848** Hand 的连续间隔从 60 秒改为 3600 秒——防止资源浪费\n- **#851\u002F#808** 所有代理均加载全局 `~\u002F.openfang\u002Fskills\u002F` 目录；工作区技能可正确覆盖全局技能\n\n### CLI\n- **#826** 当提供者密钥被拒绝（401\u002F403）时，`openfang doctor` 会报告 `all_ok=false`\n- **#823** `doctor --json` 将干净的 JSON 输出到 stdout，调试信息输出到 stderr，并妥善处理 BrokenPipe 错误\n- **#825** Doctor 工具会在注入扫描中显示被阻止的工作区技能数量——不再出现“一切正常”的误报\n- **#828** `skill install` 能检测 Git URL（`https:\u002F\u002F` 或 `git@`），并在安装前进行克隆\n\n### Web 控制台\n- **#767** 工作流页面可滚动（修复了 Flex 布局问题）\n- **#802** 模型下拉菜单支持对象选项——Ollama 不再显示 `[object Object]`\n- **#816** 启动向导的提供者下拉菜单会从 `\u002Fapi\u002Fproviders` 动态加载数据（共 43 家提供者）\n- **#770** 聊天流式传输实现实时渲染（基于 Alpine.js 的 splice 响应式更新 + 防止 WS 数据过时机制）\n\n### WebSocket 与 API\n- **#836** 工具事件包含 `id` 字段，用于并发调用的关联\n\n### Hands\n- **#820** Browser Hand 会优先检查 `python3` 而不是 `python`——确保在现代 Linux 发行版上正常运行\n\n### 统计信息\n- 通过测试 2,186+ 项，无 Clippy 警告\n- 所有修复均已通过实时守护进程测试验证\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.1...v0.5.3","2026-03-27T01:09:28",{"id":216,"version":217,"summary_zh":218,"released_at":219},334324,"v0.5.2","## 变更内容\n\n### Bug 修复（共解决 12 个问题）\n\n**运行时与驱动程序**\n- **#834** 移除 3 款已退役的 Groq 模型（`gemma2-9b-it`、`llama-3.2-1b-preview`、`llama-3.2-3b-preview`）\n- **#805** Ollama 流式解析器现可同时处理思考类模型（如通义千问 3.5 等）的 `reasoning_content` 和 `reasoning` 字段\n- **#845** 模型回退链现在会在遇到 ModelNotFound (404) 错误时，改用配置的 `fallback_models` 进行重试，而非直接崩溃\n\n**内核与心跳**\n- **#844** 心跳监控器会跳过从未接收消息的空闲代理——不再出现无限的崩溃与恢复循环\n- **#848** 手动连续模式间隔由 60 秒调整为 3600 秒，以避免因空闲轮询而浪费资源\n\n**命令行工具（诊断）**\n- **#826** 当提供者密钥被拒绝（401\u002F403）时，`openfang doctor` 现会报告 `all_ok=false`\n- **#823** `openfang doctor --json` 会将格式整洁的 JSON 输出到标准输出（追踪信息仍输出至标准错误），并优雅处理 BrokenPipe 错误\n\n**Web 控制台**\n- **#767** 工作流列表页面现已支持滚动（修复了 Flex 布局问题）\n- **#802** 模型下拉菜单不再为 Ollama 模型显示 `[object Object]`\n- **#816** 代理创建向导中的提供者下拉菜单现从 `\u002Fapi\u002Fproviders` 动态加载数据（支持 43 家提供者，此前为硬编码的 18 家）\n- **#836** WebSocket 工具事件现包含工具调用 ID，以便正确关联并发调用\n\n**Hands**\n- **#820** 浏览器 Hands 要求检查现优先尝试 `python3`，再尝试 `python`，从而修复在现代 Linux 发行版上的检测问题\n\n### 统计信息\n- 全部 829+ 项测试通过\n- 无 Clippy 警告\n- 已在守护进程中进行实时测试\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.1...v0.5.2","2026-03-26T02:33:27",{"id":221,"version":222,"summary_zh":223,"released_at":224},334325,"v0.5.1","经过严格评审，合并了9个社区贡献的拉取请求（共评审24个PR，其中11个被拒绝，4个关闭）。\n\n## 修复\n- 修复仪表板设置页面的加载状态 (#750)\n- 按需加载 KaTeX，以避免阻塞首次渲染 (#748)\n- 提供商模型规范化——显示名称通过目录解析 (#714)\n- 无形的审批请求现在可通过历史记录、徽章和轮询可见 (#713)\n- 矩阵 `auto_accept_invites` 现在可配置，默认为 `false`（安全性增强）(#711)\n\n## 依赖更新\n- docker\u002Fbuild-push-action 从 6 升级到 7 (#741)\n- docker\u002Fsetup-buildx-action 从 3 升级到 4 (#740)\n- roxmltree 从 0.20 升级到 0.21 (#744)\n- zip 从 2.4 升级到 4.6 (#742)\n\n**完整差异：** [`v0.5.0...v0.5.1`](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.5.0...v0.5.1)","2026-03-20T00:53:04",{"id":226,"version":227,"summary_zh":228,"released_at":229},334326,"v0.5.0","29 bugs fixed, 6 features shipped, 100+ PRs reviewed, 65+ issues resolved.\n\n## Features\n- Image generation pipeline (DALL-E\u002FGPT-Image)\n- WeCom channel adapter\n- Docker sandbox runtimes\n- Shell skill runtime\n- Slack unfurl links support\n- Release-fast build profile\n\n## Improvements\n- Channel agent re-resolution\n- Stable hand agent IDs\n- Async session save\n- Vault wiring for credentials\n- Telegram formatting improvements\n- Mastodon polling fix\n- Chromium no-sandbox root support\n- Tool error guidance in agent loop\n- Agent rename fix\n- Codex id_token support\n\n## Community\n- Community docs and fixes (multiple rounds)\n- WhatsApp setup documentation\n- CI action bumps\n- Docker build args\n- Lockfile sync\n- Docs link fixes\n\n**Full diff:** [`v0.4.3...v0.5.0`](https:\u002F\u002Fgithub.com\u002FRightNow-AI\u002Fopenfang\u002Fcompare\u002Fv0.4.3...v0.5.0)","2026-03-19T21:47:33",{"id":231,"version":232,"summary_zh":233,"released_at":234},334327,"v0.4.9","## v0.4.9\n\n### Bug Fixed\n- **Image pipeline (#686)**: REST API and WebSocket now pass image attachments as `content_blocks` directly to the LLM via `send_message_with_handle_and_blocks()` \u002F `send_message_streaming()`. Previously images were injected as a separate session message and never reached vision models in the current turn. All 3 API entry points (REST, WebSocket, channels) now use the same flow.\n\n### Docs\n- Added community troubleshooting FAQ: Docker setup, Caddy basicauth, embedding model config, email allowed_senders, Z.AI\u002FGLM-5 config, Kimi 2.5, OpenRouter free models, Claude Code integration, trader hand permissions, multiple Telegram bots workaround.\n\n### Full changelog since v0.4.4\n26 bugs fixed, 6 features shipped, 100+ PRs reviewed, 65+ issues resolved across v0.4.4–v0.4.9.","2026-03-18T23:05:02",{"id":236,"version":237,"summary_zh":238,"released_at":239},334328,"v0.4.8","## v0.4.8\n\n### Bugs Fixed\n- Fix HandCategory TOML parse error — added Finance + catch-all Other variant (#717)\n- Fix LINE token detection heuristic — long tokens (>80 chars) recognized as direct values (#729)\n- Fix General Assistant max_iterations too low — bumped from 50 to 100 (#719)\n- Fix knowledge_query SQL parameter binding mismatch (#638)\n- Fix WhatsApp Cloud API silently swallowing send errors (#707)\n- Fix dashboard provider dropdown missing local providers (#683)\n\n### Previous (v0.4.5–v0.4.7)\n- Fix Gemini infinite loop on Thinking-only responses (#704)\n- Fix tool_blocklist not detected on daemon restart (#666)\n- Fix MCP credentials from .env\u002Fvault (#660)\n- Fix image base64 compaction storms (#648)\n- Fix phantom action hallucination (#688)\n- Fix desktop app .env loading (#687)\n- Fix duplicate sessions (#651)\n- Fix Anthropic null tool_use input (#636)\n- Fix temperature for reasoning models (#640)\n- Fix OpenRouter prefix on fallbacks (#630)\n- Fix streaming metering persistence (#627)\n- Fix MCP dash names (#616)\n- Fix deepseek-reasoner multi-turn (#618)\n- Fix NO_REPLY leak to channels (#614)\n- Fix skill install button (#625)\n- Fix cron delivery (#601)\n\n### Features\n- Azure OpenAI provider (#631)\n- LaTeX rendering in chat (#622)\n- PWA support (#621)\n- WeCom channel adapter (#629)\n- Shell\u002FBash skill runtime (#624)\n- DingTalk Stream adapter (#353)\n- Feishu\u002FLark unified adapter (#329)\n- Parakeet MLX speech-to-text (#607)\n- Codex GPT-5.4 (#608)\n- 100+ community PRs reviewed and merged","2026-03-18T21:14:18",{"id":241,"version":242,"summary_zh":78,"released_at":243},334329,"v0.4.7","2026-03-18T19:51:41",{"id":245,"version":246,"summary_zh":78,"released_at":247},334330,"v0.4.6","2026-03-18T03:14:01",{"id":249,"version":250,"summary_zh":78,"released_at":251},334331,"v0.4.5","2026-03-18T02:54:07",{"id":253,"version":254,"summary_zh":78,"released_at":255},334332,"v0.4.4","2026-03-15T03:00:17",{"id":257,"version":258,"summary_zh":259,"released_at":260},334333,"v0.4.3","## Bug Fixes\n\n- **Open links in new tab** (#612): External links in markdown agent responses now open in a new tab with `target=\"_blank\"`.\n- **Browser hand install** (#611): Homebrew \"already an App at\" message now correctly recognized as success instead of failure.\n- **\"FREE is not a valid model\"** (#610): Added `\"free\"`, `\"openrouter\u002Ffree\"`, and `\"free-reasoning\"` aliases for OpenRouter free-tier models.\n- **WhatsApp drops media** (#605): Gateway now handles images, voice notes, videos, documents, and stickers with descriptive placeholders instead of silently dropping them.\n- **WhatsApp sender metadata** (#597): Sender identity (phone, name) now flows end-to-end from API → kernel → system prompt. Agents know who sent each message.\n- **Config overwrite warning** (#578): Web dashboard shows a warning toast when saving an API key triggers an auto-provider-switch.\n- **Linux libssl error** (#582): OpenSSL is now statically compiled via vendored feature — no runtime libssl dependency.\n\n## Enhancements\n\n- **Minimax global URL** (#576): Default URL switched to global endpoint (`api.minimax.io\u002Fv1`). China users can override via `[provider_urls]` in config.toml.","2026-03-14T22:25:46",{"id":262,"version":263,"summary_zh":264,"released_at":265},334334,"v0.4.2","## Bug Fixes\n\n- **LoopGuard poll detection** (#603): Removed fragile `cmd.len() \u003C 50` heuristic. Poll detection is now purely keyword-based — long kubectl\u002Fdocker commands are correctly identified.\n- **Custom model provider display** (#581): Model switcher dropdown now shows `provider:model` format instead of just the display name.\n- **Telegram typing indicator** (#571): Typing indicator now refreshes every 4 seconds continuously during LLM processing, instead of expiring after 5 seconds.\n- **\"No agent selected\" error** (#569): Agents created via API are now immediately registered in the channel router's name cache.\n- **Tool calls denied by approval** (#537): Denial message now includes guidance to use `auto_approve = true` in config.toml or `--yolo` flag.\n- **WhatsApp sender metadata** (#597): MessageRequest and PromptContext now have sender_id\u002Fsender_name fields for identity-aware agents.\n- **LLM auth boot failure** (#572): Already fixed in v0.4.0 (auto-detect fallback). Commented for users on older versions.\n\n## Enhancements\n\n- **NVIDIA NIM provider** (#579): Added as OpenAI-compatible provider with 5 models (nemotron-70b, llama-3.1-405b\u002F70b, mistral-large, nemotron-4-340b). Set `NVIDIA_API_KEY` to use.\n- **YOLO mode** (#573): `openfang start --yolo` auto-approves all tool calls. Also configurable via `auto_approve = true` in `[approval]` section.\n- **Skill output persistence** (#596): Tool\u002Fskill output cards in dashboard now default to expanded instead of collapsed, keeping results visible.","2026-03-14T21:19:08",{"id":267,"version":268,"summary_zh":269,"released_at":270},334335,"v0.4.1","## Bug Fixes\n\n- **Memory recall loop** (#583): `build_memory_section()` no longer tells the model to call `memory_recall` when memories are already injected into the prompt. Models now use provided memories directly.\n- **Raw errors in channels** (#584): Channel bridge sanitizes LLM error messages before sending to users. Rate limits, auth errors, and JSON dumps are replaced with clean user-friendly messages.\n- **HAND.toml format** (#588): Parser now accepts both flat root-level format and the documented `[hand]` table format.\n- **Token quota exceeded** (#591): Pre-emptive quota-aware compaction triggers before LLM calls when session token count approaches remaining hourly quota headroom.\n- **log_level config** (#594): `log_level` in config.toml now takes effect. Priority: `RUST_LOG` env var > config.toml `log_level` > default `\"info\"`.\n- **Max iterations error** (#599): Error message now includes guidance on configuring `[autonomous] max_iterations` in agent.toml.\n- **Config backup** (#578): config.toml is backed up to config.toml.bak before any auto-rewrite (provider key save, config set\u002Funset).\n\n## Enhancements\n\n- **Default model in Web UI** (#593): Spawn wizard fetches default_provider\u002Fdefault_model from `\u002Fapi\u002Fstatus` instead of hardcoding groq\u002Fllama-3.3-70b-versatile.","2026-03-14T19:50:17"]