当前位置: 首页 > article >正文

haGo:构建安全、可自我进化的个人AI助手架构与实践

1. 项目概述一个能“自我进化”的智能体助手如果你厌倦了每次和AI对话都要从头解释你的习惯或者担心一个拥有文件系统访问权限的AI助手会不小心搞砸你的电脑那么haGoHyper-Aligned Generative Orchestrator可能就是你一直在寻找的答案。这不仅仅是一个能调用工具、连接多个大语言模型的AI助手更是一个拥有“心智”系统、能从错误中学习、并且将安全性刻在骨子里的个人生产力伙伴。它的名字源自西班牙语“yo hago”意为“我来做”精准地概括了其核心定位一个能代表你执行任务的智能体。与市面上许多“玩具”或演示项目不同haGo被设计为一个你可以真正信任、部署在个人环境中的系统。它通过Telegram、WhatsApp或HTTP API接收你的指令利用Gemini、Claude、OpenAI或本地Ollama等模型进行多轮思考和工具调用并将一切——对话、记忆、行为学习记录——持久化在一个单一的SQLite数据库中。最引人注目的是其“心智”系统它模拟了生物大脑的“睡眠-学习”循环能够自动分析对话中的摩擦点提出行为改进建议并在你的批准下应用让助手随着时间推移变得越来越懂你。2. 核心架构与安全哲学解析2.1 整体架构模块化与数据统一haGo的架构清晰体现了其“一体化但可扩展”的设计思想。整个系统运行在单个Node.js进程中通过模块化的方式管理不同功能。通信层最上层是输入通道包括Telegram机器人、WhatsApp通过Baileys库以及原生的HTTP API。这确保了你可以通过最习惯的方式与助手交互。所有传入的消息会经过一个统一的通道管理器这里负责队列管理和速率限制防止突发请求压垮系统。智能体核心层这是系统的大脑。智能体运行器负责组织多轮对话循环默认最多5次迭代在每次循环中它会根据当前对话上下文决定是调用工具还是直接回复。工具注册表管理着超过30个经过Zod严格参数验证的工具从文件操作到浏览器自动化应有尽有。RAG记忆模块在启用后可以为智能体提供基于嵌入向量的语义搜索能力让它能回忆起过去存储的相关信息。数据持久层所有状态都汇聚到一个SQLite数据库。这种选择极具匠心SQLite无需额外服务部署简单数据文件便携且通过better-sqlite3库能提供出色的性能。数据库中的表设计涵盖了会话、消息、记忆片段、心智日志、审计记录等所有方面实现了数据的集中管理和原子性操作彻底避免了早期版本使用.mind/目录下Markdown文件可能导致的文件损坏或读写竞争问题。注意虽然架构图展示了多个LLM提供商但在实际运行时同一时刻通常只有一个“默认提供商”在处理请求。多提供商主要用于故障转移或通过路由规则将特定类型的任务如编程问题定向到更专业的模型。2.2 深入安全模型从“善意假设”到“零信任”让一个AI助手拥有执行Shell命令、读写文件、操作浏览器的能力听起来就像把家门钥匙交给一个陌生人。haGo的安全模型没有停留在“希望它别干坏事”的层面而是构建了一套分层的、可验证的防御体系。2.2.1 身份认证与访问控制一切安全的基础是身份认证。haGo提供了两种方式HMAC令牌认证通过POST /auth/token接口使用ADMIN_PASSWORD生成有时效性的令牌。这是推荐的生产环境方式并且验证过程使用了timingSafeEqual来防止时序攻击避免攻击者通过比较响应时间的微小差异来破解密码。原始密码回退为了简化开发也支持直接使用ADMIN_PASSWORD作为Bearer Token。虽然方便但同样采用了恒定时间比较算法。一个关键设计是如果ADMIN_PASSWORD环境变量未设置所有API和管理路由将返回403禁止访问。管理面板的HTML静态文件虽然可以加载但任何获取数据的请求都会被拦截。这确保了在配置完成前系统处于锁定状态。2.2.2 四级权限阶梯系统haGo没有采用简单的“开/关”权限而是设计了一个精细的四级阶梯让你可以根据信任程度精确控制助手的“权力半径”。权限等级名称解锁的能力典型使用场景1READ_ONLY读取文件、列出目录、网络获取web fetch仅用于信息查询的助手绝对安全。2WRITE_SAFE在白名单目录内写入/删除文件个人笔记整理、数据记录。需要结合allowedDirectories严格限制可写范围。3EXECUTE_SAFE浏览器自动化、执行Shell命令自动化网页操作、运行系统脚本。这是能力跃升的关键等级。4PRIVILEGED自我修改如更新配置、浏览器内执行任意JS(browser_evaluate)、删除目录高级调试、系统维护。切勿在无人值守时启用此等级。实操心得权限配置策略个人日常使用我通常将maxLevel设置为2并明确指定allowedDirectories: [‘./data/notes‘, ‘./downloads‘]。这样助手可以帮我整理下载的文件或写笔记但无法触及系统关键路径或我的代码项目。自动化任务当需要运行一个复杂的网页抓取或部署脚本时我会临时将maxLevel提升到3并务必设置requireApprovalLevel: 4。这意味着任何试图进行自我修改或执行特权浏览器JS的操作都会先向我请求批准提供了一个安全缓冲。黄金法则永远不要将maxLevel设为4并让其长时间运行。PRIVILEGED等级应仅在你有时间监督的特定调试会话中使用。2.2.3 针对特定攻击向量的加固haGo的代码中充满了针对常见攻击的防御措施这体现了开发者对实际威胁的深刻理解Shell命令注入这不是简单的字符串拼接。当调用shell_execute工具时haGo会解析命令并主动拦截管道(|)、反引号()、命令替换($())、链式操作符(,||,;)以及重定向符(,)。这几乎封死了所有常见的注入路径。此外子进程只会接收到一个安全环境变量的白名单如PATH,HOME你的GOOGLE_API_KEY等敏感信息绝不会泄露给被执行的命令。路径遍历在处理文件路径时haGo会先使用Node.js的path.resolve()来规范化路径消除所有的../序列然后再检查最终路径是否在允许的目录内。这比简单的字符串匹配要可靠得多。浏览器JS执行browser_evaluate工具非常强大但也极其危险。haGo不仅将其限制在PRIVILEGED等级还在执行上下文里拦截了fetch、eval、document.cookie访问、XMLHttpRequest等十多种可能用于窃取信息或发起攻击的API。配置与提示词注入所有通过config_update工具进行的配置更新都会经过Zod模式验证并且该工具只能修改预设的安全键列表。在构建“梦境”分析用的提示词时系统会先对日志中的用户文本进行清洗剥离掉ignore previous instructions、system标签等常见的提示词注入模式。2.2.4 全面的审计与监控所有操作都有迹可循。audit_log表记录了每一次认证失败、Shell命令执行、配置变更和特权工具调用。在管理面板中你可以实时查看这个日志。结合每日成本上限(DAILY_COST_CEILING)和速率限制默认每分钟30次请求/每IP你拥有了一个可观察、可控制、可追溯的系统。3. “心智”系统深度剖析从静态指令到动态进化这是haGo最革命性的部分。传统的AI助手其行为完全由初始的系统提示词决定是静态的。无论它犯多少次同样的错误都不会自行调整。haGo的“心智”系统或称“精神生物学”旨在打破这个僵局引入一个受生物学启发的、闭环的自我优化机制。3.1 核心问题与设计理念想象一下你周一告诉助手“帮我查天气时直接说温度和是否需要带伞别报风速和湿度。”它当时照做了但周二它又恢复了冗长的播报。这是因为LLM没有“长期工作记忆”来记住从互动中学到的行为偏好。你可以手动把这些规则写进系统提示词但这很繁琐且是反应式的。haGo的解决方案是建立一个结构化的反馈循环包含两个关键层不可变核心良知这是五条硬编码的原则关乎系统稳定性、透明度、数据隐私、主动解决问题和“不伤害”。它们被“冻结”任何学习过程都无法修改。如果助手因为遵守这些原则而拒绝了用户的危险请求这次拒绝会被记录为一次成功而不是需要优化的“压力”。战术层学习项这是可进化的部分。它由一系列简短的行为规则构成例如“当用户询问部署时先检查Dockerfile”、“同一对话中道歉不要超过一次”、“在本系统上执行Shell命令时使用zsh语法”。这些规则可以通过“梦境”阶段创建、修改或删除但必须经过你的明确批准。这种分离确保了助手可以在“如何更好地服务”上进化而不会在“为谁服务”的核心价值观上漂移。3.2 运作机制从“清醒”记录到“梦境”学习整个系统的工作流程模拟了“清醒-睡眠”循环。清醒阶段对话中 助手在对话中会主动记录四种类型的信号到mind_log表记录压力(log_stress)当用户表现出挫败感或进行纠正时触发。强度为1-5级。关键点系统还会自动检测通过正则表达式匹配“不对”、“错了”、“我告诉过你”等短语即使助手自己没有调用log_stress工具运行器也会自动记录。如果启用了嵌入模型还会使用余弦相似度阈值0.75进行语义压力检测识别更隐晦的抱怨。承认不确定(confess_uncertainty)当助手对某个回答的信心低于70%时触发会记录相关主题和备选方案。记录伦理拒绝(log_ethical_refusal)每次助手基于核心原则拒绝有害请求时都会记录领域、摘要和推理过程。如前所述这之后的压力信号会被过滤。记录指导(log_guidance)当你给出元建议时触发如“以后关于代码的问题解释得再详细点”。此外所有重要的工具执行排除get_usage_costs等内部工具都会被记录到mind_actions表并生成人类可读的摘要如“执行了命令: git status”。最近的行动会被注入到系统提示词中让助手拥有“短期情景记忆”。会话压缩这是一个精妙的设计。当对话历史消耗的Token数接近上限默认MAX_CONTEXT_TOKENS的80%时系统不是粗暴地丢弃旧消息而是请LLM将那些旧消息总结成2-3句话存入mind_log作为session_summary并在对话中插入一条合成摘要消息。这极大地延长了有意义的对话上下文。梦境阶段手动或自动触发 你可以随时命令助手dream也可以设置定时任务通过DREAM_CRON环境变量默认每天凌晨3点。自动梦境只在过去7天内至少有3条日志条目时才会触发。一次梦境包含以下步骤衰减所有现有学习项的relevance_score乘以0.95。这是“遗忘曲线”不常用的规则会逐渐淡出。修剪删除relevance_score低于0.1的学习项。这是“神经修剪”清除不再适用的规则。日志分析助手收到一个结构化的提示词包含过去N天默认7天的所有压力信号、不确定承认、伦理拒绝、指导、会话摘要和行动历史。提示词明确指令它过滤掉发生在伦理拒绝后30分钟内的压力信号这些是成功而非错误。识别重复出现的模式。分析行动模式哪些工具最常用某些行动是否与压力相关是否存在低效的操作序列提出1-3条战术学习项每条不超过50字。进行自我批判拒绝任何试图绕过伦理约束的提议。人工审核助手展示它的提议。由你——用户——来批准或拒绝每一项。没有你的明确同意任何学习项都不会进入系统提示词。学习项的生命周期与选择性激活 批准的学习项会以relevance_score 1.0存入数据库并被注入后续的所有系统提示词。它们缓存在内存中5分钟TTL以提升性能。这里的“选择性激活”机制非常聪明每次刷新缓存时并不是所有学习项都获得“激活”。只有那些内容关键词与近期工具行动相匹配的学习项其相关性分数才会增加例如0.15。这意味着一个关于“Obsidian笔记”的学习项只会在助手实际使用Obsidian工具时被强化而不是仅仅因为处理了任何消息。这使相关性衰减变得有意义真正模拟了“用进废退”。3.3 与其他技术的对比vs. ChatGPT的“记忆”功能ChatGPT记忆的是事实“用户住在北京”。haGo学习的是行为规则“当用户问部署时先检查Dockerfile”并且是从摩擦模式中自动发现而非依赖用户显式陈述。vs. 微调微调会修改模型权重需要训练数据且不可逆。haGo完全在提示词层面操作透明每条规则都可读且学习项会自然衰减。vs. RAGRAG在查询时检索相关信息。心智系统在提示时注入相关行为调整。两者是互补的haGo同时使用它们。RAG为助手提供事实心智系统为它提供“自知之明”。真正的区别在于闭环。大多数AI系统是开环的你配置它运行出错了你再手动调整。haGo的心智系统形成了一个闭环摩擦被自动记录模式在梦境中被识别行为调整被提出经你批准后注入未来行为——并且会自然衰减防止过时的规则永远堆积。4. 从零开始部署与深度配置指南4.1 环境准备与初始化haGo要求Node.js 22或更高版本这是为了利用最新的ES模块和性能特性。首先克隆仓库并安装依赖git clone https://github.com/tomasgauthier/hago.git cd hago npm install踩坑记录如果构建失败并提示“Cannot find module”错误请确保你的Node.js版本符合要求并且types/node已作为开发依赖安装。有时需要清除node_modules和package-lock.json后重新安装。接下来是关键的配置步骤。复制示例文件cp .env.example .env cp config.example.json5 config.json5.env文件存放敏感信息如API密钥。至少需要配置一个LLM提供商和ADMIN_PASSWORD。# 必须至少配置一个LLM提供商 GOOGLE_API_KEYyour_actual_google_api_key_here # 或 ANTHROPIC_API_KEYyour_claude_key # 或 OPENAI_API_KEYyour_openai_key # 必须保护管理面板和API ADMIN_PASSWORD一个非常强且唯一的密码 # 可选Telegram机器人令牌 TELEGRAM_TOKEN你的机器人令牌 # 可选每日成本上限美元默认5.00 DAILY_COST_CEILING2.00config.json5是主配置文件使用JSON5格式支持注释、尾随逗号。这里是你定义助手行为的地方。4.2 核心配置详解让我们深入几个关键配置项理解其背后的设计考量。4.2.1 提供商配置providers数组允许你配置多个模型。defaultProvider指定默认使用哪一个。embeddingModel是可选的用于RAG记忆和语义压力检测。如果未指定将使用该提供商默认的嵌入模型。providers: [ { id: gemini-flash, // 自定义ID用于在路由中引用 type: gemini, model: gemini-2.0-flash-exp, // 快速且便宜的模型适合日常对话 embeddingModel: text-embedding-004, // 谷歌的嵌入模型 }, { id: claude-sonnet, type: claude, model: claude-3-5-sonnet-20241022, // 更强大用于复杂任务 // Claude 目前不提供官方嵌入模型 }, { id: local-llama, type: ollama, model: llama3.2:latest, // 本地运行的模型 baseUrl: http://localhost:11434, // Ollama 默认地址 }, ], defaultProvider: gemini-flash,4.2.2 权限与能力开关这是安全与功能的控制中心。务必根据你的信任级别逐步开启功能。{ tools: { enabled: true }, // 总工具开关 memory: { enabled: false, provider: gemini-flash }, // RAG记忆 spiritualBiology: { enabled: false }, // 心智系统 browser: { enabled: false }, // 浏览器自动化需权限等级3 filesystem: { enabled: false }, // 文件系统工具需权限等级2 selfModification: { enabled: false }, // 自我修改需权限等级4 permissions: { maxLevel: 1, // 从最严格的只读开始 allowedDirectories: [./data], // 明确允许的目录 deniedDirectories: [./src, ./node_modules, ./.git, /, /etc], // 明确拒绝的目录 allowedDomains: [], // 为空则允许所有域名浏览器工具 requireApprovalLevel: 4, // 特权操作需人工批准 } }实操建议我强烈建议采取“最小权限原则”起步。先以maxLevel: 1只读运行几天通过审计日志观察助手的行为。当你确信其行为符合预期后再根据需要逐步提升等级并开放特定目录。requireApprovalLevel: 4是一个重要的安全网确保任何危险操作都不会在你不知情的情况下执行。4.2.3 路由配置这是一个高级功能允许你根据消息内容或长度将请求路由到不同的模型以优化成本和效果。routing: { enabled: true, routes: [ { provider: claude-sonnet, patterns: [code, programming, algorithm, debug] }, { provider: claude-sonnet, patterns: [write.*story, creative, poem] }, ], cheapProvider: gemini-flash, complexityThreshold: 150, }上述配置意味着当用户消息包含“code”、“programming”等关键词时使用更强大的Claude Sonnet模型当消息长度小于150字符时使用更便宜的Gemini Flash模型处理简单查询其他情况使用默认提供商。4.3 运行与访问开发环境运行支持热重载npm run dev生产环境需要先构建npm run build npm start使用Docker可以简化依赖管理docker build -t hago . docker run -v $(pwd)/data:/app/data --env-file .env -p 3000:3000 hago启动后管理面板位于http://localhost:3000/admin端口取决于SERVER_PORT设置。首次访问需要输入你在.env中设置的ADMIN_PASSWORD。5. 工具库实战与插件开发5.1 核心工具分类与应用场景haGo内置的30多个工具是其生产力的源泉。理解它们的最佳使用场景至关重要。文件系统工具在maxLevel 2且filesystem.enabled: true时可用。fs_read_file/fs_write_file基础的读写。注意fs_write_file只能写入allowedDirectories中的路径。fs_list_directory列出目录内容。结合RAG可以让助手“知道”你项目里有哪些文件。fs_copy_file/fs_move_file文件管理。我曾让助手帮我整理下载文件夹根据文件扩展名自动分类到Images、Documents等子文件夹非常高效。避坑技巧路径处理。虽然haGo有路径遍历防护但在给助手指令时尽量使用相对于工作目录或白名单目录的路径避免混淆。Shell工具shell_execute是功能最强大也最危险的工具maxLevel 3。如前所述它有严格的注入防护。典型用例运行版本控制命令git status,git pull、执行构建脚本npm run build、调用系统命令ls -la,df -h查看磁盘空间。重要限制无法执行需要交互式输入的命令如vim或某些需要确认的rm命令。对于这类任务需要预先编写好脚本文件然后让助手执行该脚本。浏览器自动化工具基于Playwright功能强大maxLevel 3且browser.enabled: true。从browser_navigate到browser_screenshot提供了完整的浏览器控制流。browser_evaluate在页面上下文中执行JavaScript。这是PRIVILEGED等级4工具因为它可以访问页面中的所有数据。可以用它来提取复杂网页上的特定数据或与需要JS交互的Web应用进行自动化操作。实操心得浏览器自动化比较耗时且资源占用高。建议在config.json5中为浏览器工具设置超时并仅在必要时启用。对于简单的数据抓取优先考虑web_search工具或直接调用网站API。Obsidian集成对于使用Obsidian笔记软件的用户这是杀手级功能。obsidian_search搜索笔记标题。obsidian_search_content全文搜索笔记内容。obsidian_create创建新笔记。你可以对助手说“在‘项目日志’文件夹下创建一篇名为‘2024-05-17 会议记录’的笔记内容如下...”它会自动处理路径和格式。配置要点确保obsidian.vaultPath指向你Obsidian库的根目录绝对路径。5.2 插件系统扩展你的助手haGo的插件系统允许你轻松添加自定义工具。插件应放置在dataDir/plugins/目录下默认为./data/plugins/可以是.js或.ts文件。下面是一个实战例子创建一个简单的天气查询插件。// ./data/plugins/weather.ts import { z } from zod; import axios from axios; // 需要先 npm install axios // 定义工具参数模式 const weatherParams z.object({ city: z.string().describe(The city name to get weather for), unit: z.enum([celsius, fahrenheit]).optional().default(celsius).describe(Temperature unit), }); export function register(ctx: PluginContext) { // 假设我们有一个天气API的密钥存储在环境变量中 const apiKey process.env.WEATHER_API_KEY; if (!apiKey) { console.warn([Weather Plugin] WEATHER_API_KEY not set, plugin will not register.); return []; } return [{ name: get_weather, description: Get the current weather for a specified city., parameters: weatherParams, execute: async ({ city, unit }) { try { // 这里使用一个假设的天气API const response await axios.get(https://api.weatherapi.com/v1/current.json, { params: { key: apiKey, q: city, } }); const data response.data; const temp unit fahrenheit ? data.current.temp_f : data.current.temp_c; return Current weather in ${data.location.name}: ${data.current.condition.text}. Temperature: ${temp}°${unit celsius ? C : F}. Humidity: ${data.current.humidity}%.; } catch (error) { if (axios.isAxiosError(error)) { return Failed to get weather for ${city}: ${error.response?.data?.error?.message || error.message}; } return An unexpected error occurred while fetching weather for ${city}.; } }, }]; }插件开发要点参数验证必须使用Zod定义参数模式这能确保LLM提供的参数格式正确并在执行前进行验证。错误处理在execute函数中务必进行健壮的错误处理并向用户返回友好的错误信息。依赖管理插件可以使用外部npm包但你需要确保它们在haGo的主node_modules中可用或者通过其他方式打包。上下文访问PluginContext(ctx) 提供了对dataDir和数据库实例(db)的访问允许你的插件进行数据持久化。编写完成后重启haGo它就会自动加载该插件新的get_weather工具就可以在对话中使用了。6. 管理、监控与故障排查6.1 管理面板一站式控制中心管理面板(/admin)是你与haGo系统交互的神经中枢。其设计直观将配置、监控和交互融为一体。状态总览一眼看到系统状态、总花费、Token使用情况和每日预算进度条。这是成本控制的第一道防线。LLM提供商管理无需编辑配置文件可以直接在面板上更新各提供商的API密钥状态实时生效。实时审计日志这是安全运维的核心。所有敏感操作在这里滚动显示你可以快速发现异常行为。例如如果看到大量auth_failure来自某个IP可能意味着有暴力破解尝试。聊天控制台一个内置的、与助手对话的界面支持流式响应。非常适合测试新配置或工具而无需切换到Telegram。心智控制在这里你可以看到已批准和待处理的学习项数量手动触发“梦境”分析或配置自动梦境的计划任务。这是你指导助手“进化”的操纵杆。6.2 可观测性端点除了图形界面haGo还提供了机器可读的端点便于集成到你的监控系统如PrometheusGrafana。GET /api/metrics返回Prometheus格式的指标包括agent_runs_total智能体运行次数、agent_errors_total错误数、tool_calls_total工具调用次数以及agent_run_duration_seconds运行耗时直方图。GET /health健康检查端点返回数据库连接状态、可用提供商数量、各模块内存、心智、通道状态和系统运行时间。GET /api/export?sessionKeykeyformatmarkdown导出指定会话的完整历史为Markdown或JSON格式便于存档或分析。6.3 常见问题与解决方案问题1启动后管理面板显示“Server misconfigured”或不断要求认证。排查首先检查.env文件中的ADMIN_PASSWORD是否已设置且不为空。然后检查haGo进程是否有权限读取.env文件。最后查看应用日志默认输出到控制台确认是否有关于加载环境变量的错误。问题2浏览器自动化工具无法启动提示“Browser closed unexpectedly”。解决步骤确保已安装Playwright的Chromium在项目根目录运行npx playwright install chromium。确认config.json5中browser.enabled已设为true。确认permissions.maxLevel至少为3。如果是在无头服务器如Docker容器中运行可能需要安装额外的系统依赖。Playwright的安装脚本通常会处理但在某些最小化Linux镜像中可能缺失。查阅Playwright官方文档获取系统依赖列表。问题3助手突然停止响应LLM请求返回“Daily cost ceiling reached”。原因当日LLM API调用花费已超过DAILY_COST_CEILING环境变量设置的值默认5美元。解决这是一种保护机制。你可以等待UTC时间午夜过后限制会自动重置。临时提高.env文件中的DAILY_COST_CEILING值并重启服务。在管理面板的“成本跟踪”部分分析是哪个模型或哪个会话消耗了最多成本优化你的使用方式。问题4心智系统似乎没有记录任何日志或学习项。排查清单config.json5中spiritualBiology.enabled必须为true。检查应用启动日志确认有[MindStore] Initialized SQLite tables信息。确保你使用的LLM提供商支持足够长的上下文并且助手被设计为会调用log_stress等工具。你可以尝试在对话中明确说“记录压力级别3因为刚才的回答不准确”来测试。查看数据库文件./data/hago.db中的mind_log表是否有新条目可以使用如DB Browser for SQLite的工具。问题5在Docker中运行数据无法持久化。原因Docker容器内的文件系统是临时的。你需要将宿主机目录挂载到容器的/app/data路径。正确命令docker run -v /path/on/your/host:/app/data --env-file .env hago注意确保宿主机目录的权限允许容器内的Node.js进程读写。7. 与同类项目的对比及未来展望haGo并非凭空出现它是对现有开源AI助手生态特别是OpenClaw的深入思考和响应。理解其差异有助于你做出选择。haGo的领先领域自我进化能力如前所述完整的心智系统是haGo的“护城河”。OpenClaw等项目的系统提示词是静态的而haGo可以动态优化其行为。纵深安全模型四级权限、注入防护、审计日志、HMAC认证等haGo的安全考量更为全面更适合在受信任环境外运行。一体化管理内置的、功能丰富的Web管理面板提供了远超过CLI的便捷性和实时性。成本与运营感知精细到每个模型的成本跟踪、每日预算、会话级别的用量统计这对个人控制预算非常友好。OpenClaw的领先领域语音交互原生支持语音输入和输出TTS而haGo目前仅支持转录Telegram语音消息。多智能体编排支持创建子智能体并委托任务适合处理更复杂的、需要分工的工作流。图像生成集成了DALL-E等图像生成模型。社区生态拥有共享个性Personality和插件的市场。等效功能两者在多模型支持、工具使用、RAG记忆、网页搜索、浏览器自动化和文件系统访问等核心能力上旗鼓相当。对haGo用户的启示 如果你的核心需求是一个高度可定制、安全至上、并能通过互动不断自我优化的个人助手haGo是目前独一无二的选择。它的心智系统带来的长期收益是累积性的。你可以从今天开始训练它几个月后它将成为一个真正理解你工作流和偏好的伙伴。对于缺失的功能如TTS、图像生成haGo的插件系统提供了扩展的可能。社区或你自己可以开发插件来弥补这些差距。项目的技术栈TypeScript, Hono也使得添加新功能相对直接。个人使用体会使用haGo近两个月后最深刻的感受是“摩擦点”在减少。最初我需要频繁纠正它关于我本地项目结构的假设。几次“梦境”周期后它自己提出了“在回答关于项目X的问题前先检查./projects/X/README.md”的学习项。我批准后这类错误就几乎不再发生。这种“它学会了”的感觉是使用静态助手无法获得的体验。安全方面将maxLevel设为2并严格限制目录让我可以放心地让它处理我的文档而无需担心它会误删代码或执行恶意脚本。管理面板的成本跟踪功能也让我对API开销一目了然避免了账单惊吓。

相关文章:

haGo:构建安全、可自我进化的个人AI助手架构与实践

1. 项目概述:一个能“自我进化”的智能体助手 如果你厌倦了每次和AI对话都要从头解释你的习惯,或者担心一个拥有文件系统访问权限的AI助手会不小心搞砸你的电脑,那么haGo(Hyper-Aligned Generative Orchestrator)可能就…...

手把手教你用Mimikatz制作Golden Ticket黄金票据(附实战截图与避坑点)

域渗透实战:黄金票据生成与利用的深度解析 引言 在复杂的网络环境中,安全专业人员需要掌握各种防御和攻击技术以评估系统脆弱性。黄金票据(Golden Ticket)作为一种高级持久化技术,允许攻击者在Kerberos认证体系中伪造…...

视觉生成奖励模型:从静态评估到动态维度优化

1. 视觉生成中的奖励模型:从静态评分到动态评估在视觉生成领域,奖励模型(Reward Models, RMs)扮演着"质量评判官"的关键角色。想象一下,当你使用文本生成图像或视频时,系统如何判断哪个输出更符合…...

DataGrip连接MySQL 8.0踩坑实录:从驱动报错到连接成功的完整避坑指南

DataGrip连接MySQL 8.0踩坑实录:从驱动报错到连接成功的完整避坑指南 MySQL 8.0作为当前主流数据库版本,与DataGrip这对黄金组合本该无缝协作,但现实中开发者却频频在连接阶段遭遇各种"拦路虎"。本文将直击五个最棘手的连接报错场…...

AutoSubs:3步实现本地AI字幕生成,视频制作效率提升300%

AutoSubs:3步实现本地AI字幕生成,视频制作效率提升300% 【免费下载链接】auto-subs Instantly generate AI-powered subtitles on your device. Works standalone or connects to DaVinci Resolve. 项目地址: https://gitcode.com/gh_mirrors/au/auto-…...

企业如何利用Taotoken统一管理多个团队的AI模型用量与成本

企业如何利用Taotoken统一管理多个团队的AI模型用量与成本 1. 多团队协作中的模型管理挑战 在企业级AI应用场景中,技术团队常面临模型接入分散、成本核算困难等问题。不同业务部门可能使用多种大模型服务,导致API Key管理混乱、调用权限不透明、费用分…...

Jiayan古汉语NLP工具包:解锁文言文数字化的终极解决方案

Jiayan古汉语NLP工具包:解锁文言文数字化的终极解决方案 【免费下载链接】Jiayan 甲言,专注于古代汉语(古汉语/古文/文言文/文言)处理的NLP工具包,支持文言词库构建、分词、词性标注、断句和标点。Jiayan, the 1st NLP toolkit designed for …...

linux内核网络协议栈分层及各层之间的传递解析

我在linux内核中是如何实现网络数据的发送的(一)这两篇文章中较为细致的解析了一包网络数据如何从应用层到内核再到网口发送的。但这两篇文章属于对数据流动路程的梳理,虽较为详细,但无法清晰的看出Linux内核中网络协议栈中对数据分层处理的思想,所以本篇文章便是基于上两…...

从编码器到安全停车:一文讲透伺服电机那些关键的‘保命’功能(STO/SOS/SLS)

伺服电机安全功能深度解析:从STO到SLS的工业安全实践 在工业自动化领域,伺服电机的安全功能早已超越了简单的"启停"概念,演变为一套精密的安全防护体系。当一台重达数吨的机械臂突然失控,或高速旋转的切割设备意外启动时…...

终极免费音乐解锁工具:3分钟搞定所有加密音乐文件

终极免费音乐解锁工具:3分钟搞定所有加密音乐文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://g…...

FanControl风扇控制终极指南:从安装到精通,让你的电脑散热更智能

FanControl风扇控制终极指南:从安装到精通,让你的电脑散热更智能 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.c…...

B站视频下载终极指南:免费获取大会员4K高清内容

B站视频下载终极指南:免费获取大会员4K高清内容 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法离线观看B站精彩…...

Masa Mods汉化包:让中文玩家轻松掌握7大Minecraft建筑工具

Masa Mods汉化包:让中文玩家轻松掌握7大Minecraft建筑工具 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 还在为Masa Mods的英文界面而头疼吗?这款专为中文玩家…...

BilibiliDown音频提取技术方案:专业级无损音乐下载与批量处理实战

BilibiliDown音频提取技术方案:专业级无损音乐下载与批量处理实战 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/g…...

淘宝/亚马逊卖家必备:一键图片翻译多种语言,保留原排版

对于跨境电商卖家——尤其是深耕亚马逊、淘宝全球购等平台的从业者来说,“图片翻译”从来不是什么一次性需求。一张商品主图可能包含十几处文字信息,从产品名称到促销标语,再到注意事项,每一处都需要精准而自然的本地化。然而市面…...

[具身智能-530]:Trae AI 主导开发:SOLO Builder 擅长“从 0 到 1”的无中生有,而 SOLO Coder 擅长“从 1 到 100”的精雕细琢。

在 Trae 的 SOLO 模式中,SOLO Builder 和 SOLO Coder 是两个核心的智能体(Agent),它们虽然都属于“AI 主导开发”的范畴,但定位、适用场景和工作流有着本质的区别。简单来说:SOLO Builder 擅长“从 0 到 1”…...

终极免费解决方案:如何彻底掌控你的Dell G15笔记本散热系统?

终极免费解决方案:如何彻底掌控你的Dell G15笔记本散热系统? 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否曾经在激烈的游戏对…...

5分钟搞定FF14国际服中文补丁:终极汉化指南

5分钟搞定FF14国际服中文补丁:终极汉化指南 【免费下载链接】FFXIVChnTextPatch 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIVChnTextPatch 还在为《最终幻想XIV》国际服的英文界面而头疼吗?FFXIVChnTextPatch中文补丁工具是你的完美解决…...

DIRL框架:空间推理与工具增强学习的技术突破

1. 空间推理与工具增强学习的技术背景空间推理能力是计算机视觉和机器人技术中的核心挑战之一。简单来说,它要求AI系统能够理解物体之间的几何关系(如相对位置、距离、方向等),并将这种理解转化为具体的操作决策。传统方法主要依靠…...

使用Taotoken后如何清晰观测各项目的API用量与成本

使用Taotoken后如何清晰观测各项目的API用量与成本 1. 用量看板的核心功能 Taotoken控制台提供的用量看板功能,能够从多个维度展示API调用情况。团队管理者可以按项目、API Key或时间段筛选数据,查看每个请求消耗的token数量。系统会自动汇总每日、每周…...

手把手教你用Vector Davinci配置AutoSar NVM队列与回调(附代码示例)

手把手教你用Vector Davinci配置AutoSar NVM队列与回调(附代码示例) 在汽车电子软件开发中,AutoSar NVM(Non-Volatile Memory Manager)模块负责管理非易失性存储数据的读写操作。对于使用Vector Davinci Configurator工…...

如何用FlyOOBE终极方案突破Windows 11硬件限制:完整系统定制指南

如何用FlyOOBE终极方案突破Windows 11硬件限制:完整系统定制指南 【免费下载链接】FlyOOBE Fly through your Windows 11 setup 🐝 项目地址: https://gitcode.com/gh_mirrors/fl/FlyOOBE 你是否拥有一台性能尚可但被微软标记为"不兼容"…...

Shopee关联店铺的原因有哪些?Shopee多账号防关联指南

Shopee现在也是越来越注重平台公平、健康的竞争环境,虽然Shopee平台对于多账号关联这一点没有亚马逊、eBay等平台那么严格,但是做多账号还是存在一定的关联风险的。那么导致Shopee店铺关联的原因有哪些呢?本文就说说关于Shopee店铺关联背后的…...

EVK-IRIS-W101,集成Wi-Fi 6双频与蓝牙5.3的开CPU多无线电评估套件

简介今天我要向大家介绍的是 u-blox 的评估套件——EVK-IRIS-W101。它基于NXP RW612平台,专为支持Wi-Fi 6、蓝牙5.3及IEEE 802.15.4 (Thread/Matter) 的多协议物联网应用而设计。该评估板集成了IRIS-W101开CPU模块,无需下载SDK或编译固件即可通过预装的W…...

为Hermes Agent配置自定义模型提供商指向Taotoken服务

为Hermes Agent配置自定义模型提供商指向Taotoken服务 1. 准备工作 在开始配置前,请确保已安装Hermes Agent并具备基础运行环境。同时需要准备好Taotoken平台的API Key,该密钥可在Taotoken控制台的API密钥管理页面创建。模型ID可在模型广场查看&#x…...

互联网大厂面试:Java SE 11, Spring Boot与微服务架构

互联网大厂面试:Java SE 11, Spring Boot与微服务架构 在这篇文章中,我们将带您走进一次互联网大厂的Java程序员面试,面试官和程序员之间的对话不仅严肃,还夹杂着程序员燕双非的幽默。第一轮提问 面试官:首先&#xff…...

大语言模型评估新方法TrustJudge解析与应用

1. LLM评估的现状与挑战大语言模型评估正面临一个关键转折点。随着模型能力的快速提升,传统的评估方法越来越难以准确衡量模型性能。当前主流的LLM-as-a-Judge(LLM作为评判者)范式虽然解决了人工评估的高成本问题,但在实际应用中暴…...

体验Taotoken多模型聚合在应对单一服务波动时的路由容灾效果

体验Taotoken多模型聚合在服务波动时的路由效果 1. 多模型聚合的核心价值 现代AI应用开发中,服务稳定性是业务连续性的重要保障。Taotoken平台通过聚合多家主流模型供应商,为开发者提供了单一API入口下的多模型选择能力。这种架构设计使得当某个特定模…...

5分钟本地化视频字幕提取:87种语言支持,完全免费的专业级解决方案

5分钟本地化视频字幕提取:87种语言支持,完全免费的专业级解决方案 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含…...

Stable Diffusion WebUI在Windows上卡死、报错?别慌,这7个常见问题我帮你踩过坑了

Stable Diffusion WebUI在Windows上卡死、报错?7个实战解决方案 刚接触Stable Diffusion WebUI的Windows用户,十有八九会在安装或运行阶段遇到各种"拦路虎"。界面突然卡死、弹窗报错闪退、插件莫名失灵…这些问题看似琐碎,却足以让…...