PatSul/Hive

GitHub: PatSul/Hive

一款基于 Rust 和 GPUI 构建的原生桌面 AI 平台,通过多智能体集群、向量记忆和自主技能获取实现本地优先的智能化开发与运维协作。

Stars: 0 | Forks: 0

Hive logo

Hive

您的 AI,在您睡眠时学习、保护和工作。

hivecode.app

Website Download Version Rust Tests Crates Warnings Lines of Rust Windows | macOS (Apple Silicon) | Linux (x64 + ARM64) GPUI

## 什么是 Hive? Hive 是一个**原生 Rust 桌面 AI 平台**,基于 [GPUI](https://gpui.rs) 构建 —— 没有 Electron,没有 Web 封装。它将开发环境、个人助手框架和优先考虑安全的架构整合到一个应用程序中。Hive 不是一个聊天机器人,它运行一个**多智能体集群**,可以规划、构建、测试和编排工作流,同时随着时间推移学习您的偏好 —— 同时确保没有任何秘密或 PII(个人身份信息)在未经批准的情况下离开您的机器。 Hive 的独特之处在于:它**从每次交互中学习**(本地、私密),通过 LanceDB 向量记忆**跨对话记住上下文**,**检测自身的知识盲区**并自主研究和获取新技能,并且可以跨实例**联合**进行分布式集群执行。 ## 三大支柱
### 卓越开发 - 多智能体集群(Queen + 团队) - 15 个 AI 提供商,具备能力感知路由 - **LanceDB 向量记忆**(代码块 + 持久记忆) - **Embedding 提供商**(OpenAI + Ollama) - **后台代码索引**,带变更检测 - 每个团队独立的 Git worktree 隔离 - 完整的 Git Ops(commits, PRs, branches, gitflow, LFS) - 上下文引擎(TF-IDF 评分 + RAG + 向量搜索) - 成本跟踪和预算强制执行 - 代码审查和测试自动化 - 技能市场(15 个内置 + 用户创建的技能) - **基于文件的 SkillManager**,带 YAML frontmatter - 自主技能获取(自学) - 自动化工作流(cron、事件、webhook 触发器) - Docker 和 Kubernetes 编排 - 数据库连接 - 云平台集成(AWS, Azure, GCP) - 项目管理 - 知识库同步 - Git 托管 - MCP 客户端 + 服务器(19 个工具) - 跨实例的 P2P 联邦 - **远程控制**(WebSocket 中继、QR 配对、Web UI) - **终端 CLI 客户端**(聊天、同步、配置、模型) ### 卓越助手 - 邮件分类和 AI 辅助起草 - 日历集成和每日简报 - 提醒(定时、周期性 cron、事件触发) - 审批工作流和审计跟踪 - 文档生成(7 种格式) - 智能家居控制 - 语音助手(唤醒词 + 意图识别) ### 卓越安全 - PII 检测(11+ 种类型) - 密钥扫描和风险等级 - 漏洞评估 - SecurityGateway 命令过滤 - 加密存储(AES-256-GCM) - 基于信任级别的提供商访问控制 - **记忆转储** —— 在上下文压缩前提取关键见解 - 本地优先 —— 无遥测
## AI 和多智能体系统 Hive 不使用单一的 AI 智能体。它使用一个**分层集群**,以蜂巢为模型: ``` +-------------+ | QUEEN | Meta-coordinator | (Planning) | Goal decomposition +------+------+ Budget enforcement | Cross-team synthesis +------------+------------+ | | | +-----v----+ +----v-----+ +----v-----+ | TEAM 1 | | TEAM 2 | | TEAM 3 | | HiveMind | |Coordinator| |SingleShot| +----+-----+ +----+-----+ +----------+ | | +-----+-----+ +---+---+ | | | | | Arch Code Rev Inv Impl ``` **Queen** 将高层目标分解为团队目标并进行依赖排序,以适当的编排模式调度团队,强制执行预算和时间限制,共享跨团队的见解,综合结果,并将学习记录到集体记忆中。 **HiveMind 团队** 使用专业化的智能体 —— Architect、Coder、Reviewer、Tester、Security —— 它们通过结构化辩论达成共识。 **Coordinator 团队** 将工作分解为依赖排序的任务(调查、实施、验证),并使用特定角色的提示词。 每个团队都有自己的 **git worktree**(`swarm/{run_id}/{team_id}`)以实现无冲突的并行执行,完成后合并回去。 ### AI 提供商 15 个提供商,具备**能力感知路由**和回退机制: | 云端 | 本地 | |---|---| | Anthropic (Claude) | Ollama | | OpenAI (GPT) | LM Studio | | Google (Gemini) | 通用 OpenAI 兼容 | | OpenRouter (100+ 模型) | LiteLLM proxy | | Groq (快速推理) | | | xAI (Grok) | | | Venice AI | | | Mistral | | | Doubao | | | HuggingFace | | | HiveGateway (云端代理) | | 功能:**能力感知任务路由**(12 种任务类型,19 个模型配置)、复杂度分类、14 条回退链、每个模型的成本跟踪、流式支持、预算强制执行、推测性解码。Venice 通过 `/api/v1/chat/completions` 使用 OpenAI 兼容的 SSE 流式传输。 ### 流式传输 所有 AI 响应通过 UI 逐 token 流式传输。流式传输是端到端实现的:提供程序层的 SSE 解析、异步通道传输和增量 UI 渲染。Shell 输出通过异步 `mpsc` 通道实时流式传输。基于 WebSocket 的 P2P 传输支持联邦实例之间的双向流式传输。 ## 向量记忆 & RAG Hive 使用 LanceDB 在对话之间维护**持久的、可搜索的记忆** —— 这是一个嵌入式列式向量数据库(无需外部服务器)。 ``` User query | v EmbeddingProvider ─── OpenAI text-embedding-3-small (1536d) | or Ollama nomic-embed-text (768d) | with automatic fallback v ┌─────────────────────────────────────────────┐ │ LanceDB MemoryStore │ │ │ │ chunks table memories table │ │ ┌──────────────┐ ┌──────────────────┐ │ │ │ source_file │ │ content │ │ │ │ content │ │ category │ │ │ │ embedding │ │ importance │ │ │ │ start_line │ │ embedding │ │ │ │ end_line │ │ conversation_id │ │ │ └──────────────┘ │ decay_exempt │ │ │ └──────────────────┘ │ └─────────────────────────────────────────────┘ | | v v Code search results Recalled memories | | v v # 检索到的上下文 # 回忆起的记忆 (injected as system msg) (dedicated system msg) ``` ### 工作原理 | 组件 | 用途 | |---|---| | **EmbeddingProvider** | 具有 OpenAI、Ollama 和 Mock 实现的异步 trait。启动时自动检测可用的提供程序。 | | **MemoryStore** | LanceDB 封装器,管理两个表 —— `chunks`(索引代码)和 `memories`(持久见解)。通过最近邻查询进行向量相似性搜索。 | | **HiveMemory** | 结合 MemoryStore + Embedding 的统一 API。50 行代码块,10 行重叠用于代码索引。组合查询返回代码块和召回的记忆。 | | **BackgroundIndexer** | 递归遍历项目目录,跳过二进制/隐藏/供应商目录,跟踪文件哈希以进行增量重新索引。在工作区打开时触发。 | | **MemoryExtractor** | 压缩前转储:在上下文窗口被压缩之前,构建 LLM 提示词从对话中提取关键见解。解析 JSON 响应,按重要性阈值过滤。 | ### 记忆类别 记忆被分类用于相关性评分: - **UserPreference** —— 编码风格、工具选择、格式化偏好 - **CodePattern** —— 重复出现的模式和架构决策 - **TaskProgress** —— 完成了什么,待处理什么 - **Decision** —— 技术决策及其理由 - **General** —— 其他持久见解的兜底类别 ### 注入流程 每次发送消息时: 1. 来自索引工作区的 **代码块** 被注入到 `# Retrieved Context`(由 ContextEngine 策划) 2. 来自先前对话的 **召回记忆** 作为单独的 `# Recalled Memories` 系统消息注入,带有重要性评分和类别 3. 两者都与对话历史一起供 AI 使用 ## 自主技能获取 Hive 不仅执行它已经知道的内容 —— 它**识别它不知道的内容**并自学。这是一个闭环系统,让 Hive 实时扩展自己的能力: ``` User request | v Competence Detection ─── "I know this" ───> Normal execution | "I don't know this" | v Search ClawdHub / Sources ─── Found sufficient skill? ───> Install & use | Not found (or insufficient) | v Knowledge Acquisition ───> Fetch docs, parse, synthesize | v Skill Authoring Pipeline ───> Generate, security-scan, test, install | v New skill available for future requests ``` ### 能力检测 **CompetenceDetector** 使用加权公式对每个传入请求的 Hive 置信度进行评分,基于四个信号: | 信号 | 权重 | 来源 | |---|---|---| | 技能匹配 | 30% | 技能注册表中的精确触发器/名称匹配 | | 模式匹配 | 20% | 与市场技能描述的关键词重叠 | | 记忆匹配 | 15% | 集体记忆中的相关条目 | | AI 评估 | 35% | 轻量级模型调用,评分 0-10 | 当置信度降至学习阈值(默认 0.4)以下时,系统会识别**能力缺口** —— 缺失的技能、缺失的知识、低质量的技能或缺失的模式 —— 并自动触发获取流程。 提供**快速评估**模式(无 AI 调用),用于使用纯模式匹配进行低延迟检查。 ### 知识获取 **KnowledgeAcquisitionAgent** 是一个自主研究智能体: 1. **识别** 某个主题的最佳文档 URL(AI 编排) 2. **获取** 通过 HTTPS 获取页面,带有域名白名单和私有 IP 阻止 3. **解析** HTML 为纯文本 —— 剥离脚本、样式、导航、页脚;提取带有语言检测的 `` 块 4. **缓存** 本地缓存(`~/.hive/knowledge/`),使用 SHA-256 内容哈希和可配置的 TTL(默认 7 天) 5. **合成** 通过 AI 将知识合成为结构化摘要(关键概念、相关命令、代码示例) 6. **注入** 将结果注入 ContextEngine 作为 `Documentation` 来源供未来查询 安全性:仅限 HTTPS、23+ 个白名单文档域名(docs.rs, kubernetes.io, react.dev, MDN 等)、私有 IP 拒绝、存储前扫描内容是否存在注入、可配置的页面大小限制。 ### 技能创作管道 当找不到现有技能时,**SkillAuthoringPipeline** 会创建一个: 1. **首先搜索现有技能** —— 查询 ClawdHub 目录和远程源。每个候选者由 AI 评分(0-10)。评分 >= 7 的技能直接安装。 2. **研究** —— 如果没有找到足够的现有技能,委托给 KnowledgeAcquisitionAgent 3. **生成** —— AI 创建技能定义(名称、触发器、类别、提示词模板、测试输入) 4. **安全扫描** —— 运行与社区技能相同的 6 类注入扫描。失败时最多重试 2 次。 5. **测试** —— 验证技能为样本输入生成相关输出 6. **安装** —— 添加到市场,使用 `/hive-` 触发器前缀,默认禁用直到用户启用 所有自动生成的技能都会记录到 CollectiveMemory 以供审计。管道在每个步骤都能优雅地失败 —— 扫描或测试失败永远不会安装损坏的技能。 ### 基于文件的用户技能 用户可以创建自定义技能,存储为 `~/.hive/skills/` 中带有 YAML frontmatter 的 Markdown 文件: ``` --- name: my-review-skill description: Reviews code for common bugs enabled: true --- You are a code review assistant. Check for null pointer dereferences, off-by-one errors, and resource leaks. ``` **SkillManager** 提供 CRUD 操作(创建、更新、删除、切换),每次写入时都进行注入扫描。用户技能通过 `/command` 与内置技能一起分发。 ## 个人助手 助手使用与开发平台相同的 AI 基础设施 —— 相同的模型路由、相同的安全扫描、相同的学习循环。 | 能力 | 详情 | |---|---| | **邮件** | 通过真正的 REST API(Gmail API, Microsoft Graph v1.0)进行 Gmail 和 Outlook 收件箱轮询。生成邮件摘要,AI 辅助撰写和回复起草,出站内容经过 Shield 扫描。 | | **日历** | Google Calendar 和 Outlook 事件获取,每日简报生成,冲突检测和调度逻辑。 | | **提醒** | 基于时间、周期性和事件触发。小睡/解除。项目范围。原生 OS 通知。SQLite 持久化。 | | **审批** | 多级工作流(低/中/高/严重)。提交、批准、拒绝并跟踪严重程度。 | | **文档** | 从模板或 AI 生成 CSV、DOCX、XLSX、HTML、Markdown、PDF 和 PPTX。 | | **智能家居** | Philips Hue 控制 —— 灯光场景、例程、单个灯光状态。 | | **插件** | 带有 `PluginRegistry` 的 `AssistantPlugin` trait。第一个生产插件:`ReminderPlugin`。 | | **调度器** | 后台 tick 驱动器(60 秒间隔),用于自动提醒和周期性任务。原生 OS 线程,带有专用的 tokio runtime。 | ## 安全与隐私 安全是**基础**,而不是附加的功能。每一条发出的消息都会被扫描。每一个命令都会被验证。 ### HiveShield —— 4 层保护 | 层 | 作用 | |---|---| | **PII 检测** | 11+ 种类型(电子邮件、电话、SSN、信用卡、IP、姓名、地址、DOB、护照、驾照、银行账户)。伪装模式:Placeholder, Hash, Redact。 | | **密钥扫描** | API keys, tokens, passwords, private keys。风险级别:Critical, High, Medium, Low。 | | **漏洞评估** | 提示词注入检测、越狱尝试、不安全代码模式、威胁评分。 | | **访问控制** | 基于策略的数据分类。提供商信任级别:Local, Trusted, Standard, Untrusted。 | ### SecurityGateway Hive 通过 `SecurityGateway`检查路由命令执行路径,阻止破坏性的文件系统操作、凭证盗窃、权限提升和常见的数据渗出模式。 ### 本地优先 - 所有数据在 `~/.hive/` —— 配置、对话、学习数据、集体记忆、看板、向量记忆 - 加密的密钥存储(AES-256-GCM + Argon2id 密钥派生) - **无遥测。无分析。无云依赖。** - 云提供商仅用于 AI 推理(当您选择云模型时) —— 即使那时,HiveShield 也会扫描每个请求 ## 自我改进引擎 Hive 在您每次使用时都会变得更聪明。完全本地。没有数据离开您的机器。 ``` User interacts with Hive | v +-------+--------+ | Outcome Tracker | Records: accepted, rejected, edited, ignored +-------+--------+ | +-----+-----+-----+-----+ | | | | | v v v v v Route Pref Prompt Pat Self Learn Model Evolve Lib Eval ``` | 系统 | 功能 | |---|---| | **结果跟踪器** | 每个模型和任务类型的质量评分。编辑距离和后续惩罚。 | | **路由学习器** | EMA 分析调整模型层级选择。通过 `TierAdjuster` 连接到 `ModelRouter`。 | | **偏好模型** | 贝叶斯置信度跟踪。从观察中学习语气、详细程度、格式化。 | | **提示词进化器** | 每个角色的版本化提示词。带回滚支持的质量门控优化。 | | **模式库** | 从接受的响应中提取代码模式(6 种语言:Rust, Python, JS/TS, Go, Java/Kotlin, C/C++)。 | | **自我评估器** | 每 200 次交互生成一份综合报告。趋势分析、错误路由率、每质量点成本。 | 所有学习数据本地存储在 SQLite(`~/.hive/learning.db`)中。每个偏好都是透明的、可审查的、可删除的。 ## 自动化与技能 | 功能 | 详情 | |---|---| | **自动化工作流** | 带有触发器(手动、cron 计划、事件、webhook)和 6 种操作类型(运行命令、发送消息、调用 API、创建任务、发送通知、执行技能)的多步骤工作流。`~/.hive/workflows/` 中的基于 YAML 的定义。UI 中的可视化拖拽式工作流构建器。 | | **技能市场** | 浏览、安装、移除和切换来自 5 个源的技能(ClawdHub, Anthropic, OpenAI, Google, Community)。创建自定义技能。添加远程技能源。15 个内置技能,包括 9 个集成技能。安装时进行安全扫描。 | | **用户技能** | `~/.hive/skills/` 中带有 YAML frontmatter 的基于文件的自定义技能。通过 SkillManager 进行完整的 CRUD,带有注入扫描。在聊天中通过 `/command` 分发。 | | **自主技能创建** | 当 Hive 遇到不熟悉的领域时,它首先搜索现有的技能源,然后研究文档并在没有足够内容时编写新技能。请参阅 [自主技能获取](#autonomous-skill-acquisition)。 | | **角色设定** | 命名的智能体个性,带有自定义系统提示词、每种任务类型的提示词覆盖和可配置的模型偏好。 | | **自动提交** | 监视暂存的更改并生成 AI 驱动的提交消息。 | | **每日站会** | 跨所有团队和工作流的自动化智能体活动摘要。 | | **语音助手** | 唤醒词检测、自然语言语音命令、意图识别和状态感知响应。 | ## 终端与执行 | 功能 | 详情 | |---|---| | **Shell 执行** | 运行带有可配置超时、异步流输出捕获、工作目录管理和退出代码跟踪的命令。通过 `tokio::process::Command` 进行真正的进程生成。 | | **Docker 沙箱** | 完整的容器生命周期:create, start, stop, exec, pause, unpause, remove。真正的 Docker CLI 集成,带有用于测试的模拟回退。双模式:生产和测试。 | | **浏览器自动化** | 通过 WebSocket 的 Chrome DevTools Protocol:导航、屏幕截图、JavaScript 评估、DOM 操作。 | | **CLI 服务** | 内置命令(`/doctor`, `/clear` 等)和系统健康检查。 | | **本地 AI 检测** | 自动发现运行在 localhost 上的 Ollama、LM Studio 和 llama.cpp。 | ## 远程控制 Hive 可以通过网络上的任何设备进行控制 —— 手机、平板电脑或另一台电脑 —— 通过带有实时流式传输的内置 Web 服务器。 | 功能 | 详情 | |---|---| | **HiveDaemon** | 保存规范会话状态(活动面板、对话、智能体运行)的后台服务。向所有连接的客户端广播事件。 | | **Web 服务器** | 基于 Axum 的 HTTP 服务器,带有嵌入式静态资源。REST API 端点:`/api/state`, `/api/chat`, `/api/panels`, `/api/agents`。 | | **WebSocket 流式传输** | 用于聊天流式传输、智能体状态和面板更新的实时双向通信。 | | **QR 配对** | 通过 QR 码的安全设备配对,使用 X25519 椭圆曲线密钥交换 + AES-GCM 加密。无需密码。 | | **会话日志** | 基于 JSONL 的守护进程事件持久化,用于崩溃恢复和审计。 | | **事件类型** | SendMessage, SwitchPanel, StartAgentTask, CancelAgentTask, StreamChunk, StreamComplete, AgentStatus, StateSnapshot, PanelData。 | ## 终端客户端(CLI) 一个功能齐全的终端客户端,用于在没有 GUI 的情况下与 Hive 交互: ``` hive chat # Interactive chat TUI with streaming hive chat --model claude-3 # Chat with a specific model hive models # List available AI models hive status # Show account tier, usage, sync status hive sync push # Push data to cloud hive sync pull # Pull data from cloud hive config # View all config hive config key value # Set a config value hive login # Authenticate with Hive Cloud hive remote # Show remote connection status ``` 使用 Ratatui 构建,提供精致的终端 UI,带有键盘导航、滚动和实时流式显示。 ## Hive Cloud 为需要跨设备同步、云 AI 路由和团队功能的用户提供的可选云服务: | 功能 | 详情 | |---|---| | **HiveGateway** | 云 AI 代理 —— 通过 Hive 的基础设施路由请求,适用于没有自己 API keys 的用户。在 Settings 中可配置。 | | **云同步** | 通过加密的 blob 存储跨设备推送/拉取配置、对话和学习数据。 | | **Admin TUI** | 终端仪表板(`hive-admin`),有 6 个标签:Dashboard, Users, Gateway, Relay, Sync, Teams。实时刷新。 | | **中继** | 用于跨网络(不仅仅是 LAN)远程控制的事件中继服务。 | 云功能完全是可选的。Hive 可以完全离线使用本地模型工作。 ## P2P 联邦 Hive 实例可以通过网络相互发现和通信,实现分布式集群执行和共享学习。 | 功能 | 详情 | |---|---| | **对等发现** | UDP 广播用于自动 LAN 发现,以及手动引导对等点 | | **WebSocket 传输** | 具有分离的 sink/stream 架构的双向 P2P 连接 | | **类型化协议** | 12 种内置消息类型(Hello, Welcome, Heartbeat, TaskRequest, TaskResult, AgentRelay, ChannelSync, FleetLearn, StateSync 等)加上可扩展的自定义类型 | | **通道同步** | 跨联邦实例同步智能体通道消息 | | **集群学习** | 在分布式节点集群中共享学习结果 | | **对等注册表** | 持久跟踪已知对等点及其连接状态管理 | ## 集成 所有集成都对其各自的服务进行**真正的 API 调用**。区块链 token 部署在模拟模式下运行,带有真正的 gas/rent 价格查询。`deploy_trigger` 工具通过部署脚本、Makefile 目标或 GitHub Actions CLI 进行分发。
GoogleGmail (REST API), Calendar, Contacts, Drive, Docs, Sheets, Tasks
MicrosoftOutlook Email (Graph v1.0), Outlook Calendar
消息传递Slack (Web API), Discord, Teams, Telegram, Matrix, WebChat, WhatsApp (Business Cloud API), Signal, Google Chat, iMessage (macOS)
Git 托管GitHub (REST API), GitLab (REST API), Bitbucket (REST API v2.0)
云平台AWS (EC2, S3, Lambda, CloudWatch), Azure (VMs, Blob, Functions, Monitor), GCP (Compute, Storage, Functions, Logging)
数据库PostgreSQL, MySQL, SQLite —— 查询执行、模式内省、连接池
DevOpsDocker (完整容器生命周期), Kubernetes (pods, deployments, services, logs)
知识Notion (pages, databases, blocks), Obsidian (vault 管理, frontmatter)
项目管理Jira (issues, projects, transitions), Linear (issues, teams, cycles), Asana (tasks, projects, sections)
云服务Cloudflare, Vercel, Supabase
智能家居Philips Hue
语音ClawdTalk (通过 Telnyx 的电话语音)
浏览器无头 Chrome 自动化(导航、屏幕截图、JS 评估、DOM 交互)
协议MCP 客户端 + 服务器(19 个工具), OAuth2 (PKCE), Webhooks, P2P 联邦
## 区块链 / Web3 | 链 | 功能 | |---|---| | **EVM** (Ethereum, Polygon, Arbitrum, BSC, Avalanche, Optimism, Base) | Wallet 管理, 真正的 JSON-RPC (`eth_getBalance`, `eth_gasPrice`), 每条链的 RPC 配置, 带有成本估算的 ERC-20 token 部署 | | **Solana** | Wallet 管理, 真正的 JSON-RPC (`getBalance`, `getTokenAccountsByOwner`, `getMinimumBalanceForRentExemption`), 带有 rent 成本估算的 SPL token 部署 | | **安全** | 加密的私钥存储(AES-256-GCM),绝不将密钥发送给 AI 提供商 | ## 持久化与数据存储 所有状态在会话之间持久化。重启后不会丢失任何内容。 | 数据 | 存储 | 位置 | |---|---|---| | **对话** | SQLite + JSON 文件 | `~/.hive/memory.db` + `~/.hive/conversations/{id}.json` | | **消息** | SQLite | `~/.hive/memory.db` | | **对话搜索** | SQLite FTS5 | `~/.hive/memory.db`(Porter 词干 + unicode61)| | **向量记忆** | LanceDB | `~/.hive/memory.lance` | | **成本记录** | SQLite | `~/.hive/memory.db` | | **应用日志** | SQLite | `~/.hive/memory.db` | | **集体记忆** | SQLite(WAL 模式)| `~/.hive/memory.db` | | **学习数据** | SQLite | `~/.hive/learning.db` | | **看板** | JSON | `~/.hive/kanban.json` | | **配置和 API keys** | JSON + 加密 vault | `~/.hive/config.json` | | **会话状态** | JSON | `~/.hive/session.json`(窗口大小、崩溃恢复)| | **会话日志** | JSONL | `~/.hive/session_journal.jsonl`(远程守护进程事件)| | **知识缓存** | HTML/文本文件 | `~/.hive/knowledge/` | | **工作流** | YAML 定义 | `~/.hive/workflows/` | | **已安装的技能** | 由 Skills Marketplace 管理 | `~/.hive/skills/` | | **用户技能** | Markdown + YAML frontmatter | `~/.hive/skills/{name}.md` | 启动时,Hive 会自动将任何仅 JSON 的对话回填到 SQLite 并构建 FTS5 搜索索引。所有文件操作都有路径遍历保护。SQLite 数据库使用 WAL 模式,带有 `NORMAL` 同步和外键强制执行。 ## 架构 —— 20-Crate 工作区 ``` hive/crates/ ├── hive_app Binary entry point — window, tray, build.rs (winres) │ 3 files · 965 lines ├── hive_ui Workspace shell, chat service, learning bridge, title/status bars │ 21 files · 11,000+ lines ├── hive_ui_core Theme, actions, globals, sidebar, welcome screen │ 6 files · 900+ lines ├── hive_ui_panels All panel implementations (20+ panels) │ 42 files · 26,000+ lines ├── hive_core Config, SecurityGateway, persistence (SQLite), Kanban, channels, scheduling │ 18 files · 9,800+ lines ├── hive_ai 10 AI providers, capability-aware router, complexity classifier, context engine, │ RAG, embeddings (OpenAI + Ollama), LanceDB memory, background indexer │ 50+ files · 22,000+ lines ├── hive_agents Queen, HiveMind, Coordinator, collective memory, MCP (19 tools), skills, │ SkillManager (file-based CRUD), personas, knowledge acquisition, │ competence detection, skill authoring │ 28+ files · 23,000+ lines ├── hive_shield PII detection, secrets scanning, vulnerability assessment, access control │ 6 files · 2,005 lines ├── hive_learn Outcome tracking, routing learner, preference model, prompt evolution │ 10 files · 5,438 lines ├── hive_assistant Email, calendar, reminders, approval workflows, daily briefings │ 13 files · 4,421 lines ├── hive_fs File operations, git integration, file watchers, search │ 5 files · 1,145 lines ├── hive_terminal Command execution, Docker sandbox, browser automation, local AI detection │ 8 files · 5,869 lines ├── hive_docs Document generation — CSV, DOCX, XLSX, HTML, Markdown, PDF, PPTX │ 8 files · 1,478 lines ├── hive_blockchain EVM + Solana wallets, RPC config, token deployment with real JSON-RPC │ 6 files · 1,669 lines ├── hive_integrations Google, Microsoft, GitHub, GitLab, Bitbucket, messaging, databases, │ cloud platforms, DevOps, knowledge bases, project management, OAuth2 │ 55 files · 33,007 lines ├── hive_network P2P federation, WebSocket transport, UDP discovery, peer registry, sync │ 11 files · 2,765 lines ├── hive_remote Background daemon, WebSocket relay, QR pairing, web UI, REST API │ 9 files · 943 lines (+ 1,916 lines tests) ├── hive_cloud Cloud Axum backend, WebSocket Relay Hub, JWT Auth, Stripe billing │ 4 files · 300+ lines [binary: hive_cloud] ├── hive_admin Cloud admin TUI dashboard (6 tabs: dashboard, users, gateway, relay, sync, teams) │ 11 files · 905 lines [binary: hive-admin] └── hive_cli Terminal AI client (chat, sync, config, models, login, remote, status) 12 files · 938 lines [binary: hive] ``` ### 依赖流 ``` hive_app └── hive_ui ├── hive_ui_core ├── hive_ui_panels ├── hive_ai ──────── hive_core ├── hive_agents ──── hive_ai, hive_learn, hive_core ├── hive_shield ├── hive_learn ───── hive_core ├── hive_assistant ─ hive_core, hive_ai ├── hive_fs ├── hive_terminal ├── hive_docs ├── hive_blockchain ├── hive_integrations ├── hive_network └── hive_remote ──── hive_core, hive_ai, hive_agents, hive_network hive_admin (standalone binary) hive_cloud (standalone binary) ── hive_core, hive_remote hive_cli (standalone binary) ── hive_core ``` ## UI —— 21 个面板 所有面板都连接到实时后端数据。生产路径中没有模拟数据。**8 个内置主题**(HiveCode Dark/Light, Nord, Dracula, Solarized Dark, Monokai, One Dark, GitHub Dark),支持社区投票和通过 `~/.hive/themes/` 的自定义主题。 | 面板 | 描述 | 数据源 | |---|---|---| | Chat | 带有流式响应的主要 AI 对话 | `ChatService` 的 AI 提供商 | | History | 对话历史浏览器 | `~/.hive/conversations/` | | Files | 项目文件浏览器,支持创建/删除/导航 | 通过 `hive_fs` 的文件系统 | | Specs | 规格管理 | `AppSpecs` global | | Agents | 多智能体集群编排,带有任务树下钻 | `AppAgents` global | | Workflows | 可视化工作流构建器(拖拽节点)| `AppWorkflows` global | | Channels | 智能体消息通道(Telegram/Slack 风格)| `AppChannels` global | | Kanban | 持久化任务板,支持拖拽 | `~/.hive/kanban.json` | | Monitor | 实时系统监控(CPU, RAM, disk, provider 状态)| `sysctl`, `ps`, `df` | | Logs | 应用程序日志查看器,带有级别过滤 | Tracing subscriber | | Costs | AI 成本跟踪和预算,支持 CSV 导出 | `CostTracker` | | Git Ops | 完整的 git 工作流:staging, commits, push, PRs, branches, gitflow, LFS | `git2` + CLI | | Skills | 技能市场:浏览、安装、移除、切换、创建(5 个来源 + 用户技能)| `SkillMarketplace` + `SkillManager` | | Routing | 模型路由配置 | `ModelRouter` | | Models | 模型注册表浏览器 | Provider catalogs | | Learning | 自我改进仪表板,带有指标、偏好、见解 | `LearningService` | | Shield | 安全扫描状态 | `HiveShield` | | Assistant | 个人助手:邮件、日历、提醒 | `AssistantService` | | Token Launch | Token 部署向导,支持链选择 | `hive_blockchain` | | Settings | 应用程序配置,支持保存时持久化,云账户字段 | `HiveConfig` | | Help | 文档和指南 | 静态内容 | ## 错误处理与生产质量 Hive 是为生产稳健性而构建的: - **优雅的错误处理** —— 生产代码路径使用带有 `?` 传播的 `Result`、`.unwrap_or_default()` 或显式的 `match` 块。剩余的 `expect()` 调用仅限于编译时常量正则表达式模式和应用启动不变量。 - **警告清理持续跟踪** —— 保持经过验证的 crate 切片无警告,并在工作区范围的验证路径收紧时使用针对性的 `cargo check` 命令。 - **Clippy 是质量标准的一部分** —— 在经过积极验证的 crate 切片上运行它,而不是默认假设整个工作区是绿色的。 - **文档化的 API** —— 公共 structs, enums, traits 和函数都有 `///` 文档注释描述其用途和行为。 - **广泛的自动化覆盖** —— repo 包含数千个单元和集成测试。请使用 `docs/TEST_PLAN.md` 中的命令进行当前支持的验证矩阵。 ## 安装 ### 选项 1:下载预构建二进制文件(推荐) 从 [**GitHub Releases**](https://github.com/PatSul/Hive/releases) 获取您平台的最新版本。 | 平台 | 下载 | 运行时要求 | |---|---|---| | **Windows** (x64) | `hive-windows-x64.zip` | Windows 10/11, GPU with DirectX 12 | | **macOS** (Apple Silicon) | `hive-macos-arm64.tar.gz` | macOS 12+, Metal-capable GPU | | **Linux** (x64) | `hive-linux-x64.tar.gz` | 支持 Vulkan 的 GPU + 驱动程序(见下文)| | **Linux** (ARM64) | `hive-linux-arm64.tar.gz` | 64-bit ARM(不支持 RPi 5 —— 没有 Vulkan GPU),支持 Vulkan 的 GPU + 驱动程序 | **Windows:** 解压 zip,运行 `hive.exe`。无需安装程序。 **macOS:** 解压,然后 `chmod +x hive && ./hive`(或移动到 `/usr/local/bin/`)。 **Linux:** 解压,然后 `chmod +x hive && ./hive`。您需要安装 Vulkan 驱动程序: ``` # Ubuntu/Debian sudo apt install mesa-vulkan-drivers vulkan-tools # Fedora sudo dnf install mesa-vulkan-drivers vulkan-tools # Arch sudo pacman -S vulkan-icd-loader vulkan-tools ``` ### 选项 2:从源代码构建 #### 前置条件 1. **Rust toolchain** —— 从 [rustup.rs](https://rustup.rs) 安装: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2. **protoc** (Protocol Buffers compiler) —— LanceDB 需要: # macOS brew install protobuf # Ubuntu/Debian sudo apt install protobuf-compiler # Windows (via scoop) scoop bucket add extras && scoop install extras/protobuf 3. **平台特定依赖:**
Windows - [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) 带 C++ 工作负载 (`Microsoft.VisualStudio.Component.VC.Tools.x86.x64`) - 从 **VS Developer Command Prompt** 运行或设置 `INCLUDE`/`LIB` 环境变量
macOS xcode-select --install
Linux # Ubuntu/Debian sudo apt install build-essential libssl-dev pkg-config \ libvulkan-dev libwayland-dev libxkbcommon-dev \ libxcb-shape0-dev libxcb-xfixes0-dev \ libglib2.0-dev libgtk-3-dev libxdo-dev # Fedora sudo dnf install gcc openssl-devel pkg-config \ vulkan-devel wayland-devel libxkbcommon-devel # Arch sudo pacman -S base-devel openssl pkg-config \ vulkan-icd-loader wayland libxkbcommon
#### 构建并运行 ``` git clone https://github.com/PatSul/Hive.git cd Hive/hive cargo build --release cargo run --release ``` #### 运行测试 ``` cd hive ./verify.sh ``` ``` cd hive .\verify.bat ``` ## 配置 首次启动时,Hive 会创建 `~/.hive/config.json`。添加您的 API keys 以启用云提供商: ``` { "anthropic_api_key": "sk-ant-...", "openai_api_key": "sk-...", "google_api_key": "AIza...", "ollama_url": "http://localhost:11434", "lmstudio_url": "http://localhost:1234" } ``` 所有 keys 都在本地存储,除了发送给各自提供商外,从不传输。HiveShield 在每个出站请求离开您的机器之前对其进行扫描。 通过 UI 中的 **Settings** 面板配置提供商偏好、模型路由规则、预算限制和安全策略。 ## 项目统计 | 指标 | 值 | |---|---| | Version | 0.3.17 | | Crates | 21 | | Rust 源文件 | 375 | | Rust 代码行数 | 180,600+ | | 测试 | 针对性验证矩阵 | | 编译器警告 | 每个已验证切片跟踪 | | Clippy 警告 | 每个已验证切片检查 | | 内存占用 | < 50 MB | | 启动时间 | < 1 秒 | | UI 渲染 | 120fps(通过 GPUI 进行 GPU 加速)| ## 更新日志 ### v0.3.15 **Hive Cloud Backend + Live Task Tree GPUI** - **Cloud Foundation** (`hive_cloud`) —— 新的集中式 Axum 后端,用于基于 Web 的中继、联邦身份验证(JWT)和订阅管理。 - **Cloud Relay Hub** —— `hive-cloud` 中的 WebSocket hub,用于节点之间实时 E2E 消息路由。用真正的远程 Web 连接取代了 P2P LAN 限制。 - **Relay Client Integration** —— `hive_remote` 已更新,可通过 JWT 对 `hive_cloud` 进行身份验证,以实现安全的中继隧道。 - **Live Task Tree UI** —— 新的分层、可折叠的 `TaskTreeView` GPUI 组件。Coordinator 现在原生发出 `TaskEvent`s(Started, Progress, Completed, Failed),为多智能体执行实现漂亮的“并行波”可视化。 ### v0.3.14 **Vector Memory + File-Based Skills + Remote Control + CLI** - **LanceDB Vector Memory** —— 使用 LanceDB 嵌入式向量数据库在对话之间实现持久的、可搜索的记忆。双表设计:`chunks`(带有 50 行重叠窗口的索引代码)和 `memories`(带有重要性评分和类别的持久见解)。 - **Embedding Providers** —— `EmbeddingProvider` trait,具有 OpenAI(text-embedding-3-small, 1536d)和 Ollama(nomic-embed-text, 768d)实现。启动时自动检测可用的提供程序,并带有优雅的回退。 - **Background Indexer** —— 递归目录扫描器,在项目打开时索引工作区代码文件。跟踪文件哈希以进行增量重新索引。跳过二进制、隐藏和供应商目录。 - **Memory Injection** —— 在每条消息上,召回的记忆作为专用系统消息(与代码上下文分开)注入,带有重要性评分和类别。 - **Memory Flush** —— 压缩前提取:在上下文窗口被压缩之前,构建 LLM 提示词以从对话中提取关键见解。按重要性阈值过滤。 - **File-Based SkillManager** —— 用户创建的技能存储为 `~/.hive/skills/` 中带有 YAML frontmatter 的 markdown。完整的 CRUD(创建、更新、删除、切换),每次写入时都进行注入扫描。 - **Skill Dispatch** —— `/command` 路由检查内置 SkillsRegistry 和基于文件的 SkillManager,将技能指令作为系统消息注入。 - **SkillManager in Skills Panel** —— 用户技能与内置和市场技能一起出现在 UI 中。 - **Remote Control** (`hive_remote`) —— 带有 Axum Web 服务器、WebSocket 流式传输、QR 设备配对(X25519 + AES-GCM)和会话日志持久化的后台守护进程。 - **Terminal CLI** (`hive_cli`) —— 完整的终端客户端,有 7 个命令:chat(流式 TUI)、models、status、sync、config、login、remote。 - **Admin TUI** (`hive_admin`) —— 云管理仪表板,有 6 个标签用于管理用户、gateway、relay、sync 和 teams。 - **Hive Cloud** —— HiveGateway 云 AI 代理、云同步模块和 Settings 中的账户管理字段。 - **Agent Task Events** —— Coordinator 发出实时 TaskEvents;Agents 面板具有任务树下钻功能。 ### v0.3.9 **Venice AI + Headless Mode + Dynamic Agent Scripting** - **Venice AI Integration** —— Venice 现已作为 AI 提供商完全集成,与 OpenAI、Anthropic、Gemini 等并列。模型安全地连接到后端能力路由器。在 Settings 面板中输入您的 Venice API key 即可立即开始使用。 - **Headless / Background Mode** —— 应用程序原生支持在不生成主 GUI 的情况下运行。在启动时传递 `--tray` 参数以抑制主窗口,允许 Hive 在后台静默运行或纯粹从系统托盘运行。 - **Dynamic Agent Scripting (run_python tool)** —— 当智能体决定编写并运行 Python 脚本时,`run_python` 工具会启动一个临时的 Docker 容器(`python:3.11-slim`),并使用 `--network none` 锁定以进行严格隔离。如果 Docker 未安装或无法启动,MCP 服务器会自动回退到通过原生 Python 二进制文件(`python -c`)执行脚本。所有测试在 `hive_agents` crate 中通过。 ### v0.3.5 - 添加 xAI/Grok 作为第 13 个 AI 提供商(OpenAI 兼容) - 交互式 Privacy Shield 控制:全局切换、每规则切换、自定义阻止规则 - Shield 设置通过 HiveConfig 在重启后持久化 - Models Browser 中的模型年龄显示(自发布以来的天/月/年) - 双重许可:app/agents 采用 AGPL-3.0,库 crates 采用 MIT ### v0.3.4 **Theme System + Settings Security** - **8 个内置主题**,带有社区评分:HiveCode Dark, HiveCode Light, Nord, Dracula, Solarized Dark, Monokai, One Dark, GitHub Dark - **ThemeManager** 支持自定义主题 —— 从 `~/.hive/themes/` 加载和管理主题 - **Settings export/import**,使用 AES-256-GCM 加密 + Argon2id 密钥派生,实现安全的配置可移植性 - **Community theme voting** 通过 Vercel KV 后端在 hivecode.app 上进行 - **Theme switching** 连接到所有 21 个面板 ### v0.3.3 **Security Hardening + Messaging Expansion + Module Wiring + Site Overhaul** - **Security fixes**:消除了 deploy trigger 中的命令注入(现在使用安全的 `Command::env()` API),加强了 iMessage 提供商对 AppleScript 和 SQL 注入的防护,增加了输入验证和全面转义,在数据库查询上添加了多语句 SQL 注入保护,为网站添加了 CSP 和安全头 - **4 个新的消息提供商**:WhatsApp (Business Cloud API), Signal (CLI REST API), Google Chat (Workspace API), iMessage (macOS AppleScript + chat.db) —— 全部具有完整的 MessagingProvider trait 实现和全面的测试套件 - **Module wiring**:先前未连接的核心模块连接到应用程序,包括 Guardian、HiveLoop、FleetLearning、RAG、SemanticSearch、Enterprise、Canvas、Webhooks 和 AssistantPlugin 系统 - **Scheduler tick driver**:带有 60 秒 tokio 间隔计时器的后台 OS 线程驱动调度器和提醒服务 ticks - **Plugin system**:PluginRegistry 带有 `with_defaults()` 自动加载 ReminderPlugin —— 第一个生产 AssistantPlugin 实现 - **Blockchain labeling**:Deploy 函数现在清楚地标记为模拟模式,带有 SIM_ 前缀标识符和 `simulated: true` 字段 - **Blockchain deployment labeling**:Token-launch 流程在部署仍由模拟支持或尚未端到端连接的地方保持明确标记 ### v0.3.2 **Gap Closure + P2P Wiring + Website Overhaul** - 将 `hive_network` P2P 联邦连接到应用启动 —— 节点在后台线程上启动,带有专用的 tokio runtime,LAN 发现和 WebSocket 服务器处于活动状态 - 用真正的部署调度替换了 `deploy_trigger` 存根(deploy.sh, Makefile 目标, 或 `gh workflow run`) - 实现了真正的 CLI doctor 检查 —— `check_disk_space()` 通过 `statvfs` 读取文件系统统计信息,`check_network()` 执行 DNS 解析 - 实现了 MCP SSE 传输 —— HTTP POST 用于请求,Server-Sent Events 用于流式响应 ### v0.3.1 **Integration Wiring + Tool Fixes** - 将所有 13 个 MCP 集成工具连接到实时服务(替换了存根处理程序) - 添加 `deploy_trigger` 作为第 13 个集成工具 - 修复了所有 9 个集成技能 `/commands` 以引用正确的工具名称 - 添加 `IntegrationServices` struct 用于 Arc 服务的清晰依赖注入 - 添加 `block_on_async()` 辅助函数用于工具处理程序中的 sync→async 桥接 ### v0.3.0 **Integration Platform + Capability-Aware AI Routing** - **Integration Platform** —— 13 个新的外部服务集成,带有真正的 API 客户端和连接池 - **Capability-Aware AI Routing** —— `CapabilityRouter`(1,365 行)根据 12 种任务类型的特定优势对 AI 模型进行排名,具有 19 个模型配置 - **Speculative Decoding** —— 猜测和检查优化,以实现更快的 AI 响应 - **9 New Integration Skills** —— `/slack`, `/jira`, `/notion`, `/db`, `/docker`, `/k8s`, `/deploy`, `/browse`, `/index-docs` - **13 New MCP Integration Tools** —— 向外部 MCP 客户端公开集成功能 ### v0.2.0 **Autonomous Skill Acquisition + Production Hardening** - Knowledge Acquisition Agent, Competence Detection, Skill Authoring Pipeline - P2P Federation, Blockchain/Web3, Docker Sandbox - 用适当的错误处理消除了约 800+ 个 `.unwrap()` 调用 - SQLite 持久化、FTS5 搜索、持久日志 - 在积极维护的 crate 矩阵中进行针对性验证 ### v0.1.0 初始版本,具有 16-crate 架构、多智能体集群、11 个 AI 提供商、HiveShield 安全、自我改进引擎、技能市场、个人助手、20+ UI 面板、自动化工作流和完整的 Git Ops。 ## 贡献 Hive 是根据 MIT 许可证开源的。欢迎贡献!请在提交大型 PR 之前开启一个 issue。 ## 许可证 本项目根据 **MIT License** 授权。有关详细信息,请参阅 [LICENSE](LICENSE)。 ## 安全 Hive 构建在本地优先、零信任的架构之上,具有 4 层出站防火墙、命令级 SecurityGateway 和 AES-256-GCM 加密存储。有关完整的技术深入探讨,请参阅 [SECURITY.md](SECURITY.md)。 如需报告安全漏洞,请直接给作者发送电子邮件,而不是开启公开 issue。

Built with Rust, GPUI, and an unreasonable amount of ambition.

标签:AI代理, AI开发环境, GPUI, PII保护, PyRIT, Rust, Swarm, 个人助理, 人工智能, 可视化界面, 多智能体系统, 子域名突变, 安全架构, 开源, 智能体编排, 本地大模型, 桌面安全, 桌面应用, 用户模式Hook绕过, 端侧AI, 网络安全, 网络流量审计, 自主学习, 请求拦截, 通知系统, 隐私保护