在理解任何细节之前,先搞清楚它在解决什么问题,填补的是哪个市场空白。
HushClaw 有三种使用方式,针对不同使用场景:
每一条消息从输入到输出,经历以下精确的处理步骤。这是整个系统的"心脏"。
这是 HushClaw 最核心的成本控制机制。上下文不是无脑塞满,而是精确分区、按需注入。
Anthropic 的 Claude API 支持 Prompt Caching:如果系统提示的前缀与上一次请求完全相同,服务端会跳过重新处理, 直接复用缓存的 KV 对,显著降低延迟和成本(缓存命中的 token 按 10% 价格计费)。
稳定前缀包含:角色定义、SOUL.md 人格、静态工具说明——这些几乎不变,可在跨请求间复用。 动态后缀包含:今天日期、从记忆库检索到的笔记——这些每次都不同,不参与缓存。
每轮对话结束后,对 user_input 和 assistant_response 运行这 10 类正则:
| 模式类型 | 示例触发词 |
|---|---|
| 姓名/身份 | 我叫、my name is、I am |
| 项目名称 | 项目、project、产品 |
| 目标/需求 | 目标、我想、I want to |
| 决策/结论 | 决定、采用、我们选择 |
| 文件保存 | 已保存、saved to、生成于 |
| 模式类型 | 示例触发词 |
|---|---|
| URL 链接 | http:// https:// |
| 文件路径 | /path/to / C:\Users\ |
| 版本号 | v1.0 version 2.3 |
| 配置项 | key=value config: |
| 中文事实 | 用户说、提到、确认了 |
记忆系统是 HushClaw 最核心的差异化能力。它的每一个算法选择都有明确的工程和认知科学依据。
默认使用纯 Python 标准库实现的 512 维 TF-IDF 哈希向量,无需任何外部 API:
也支持切换到更高质量的嵌入:
| 嵌入提供商 | 延迟 | 成本 | 适用场景 |
|---|---|---|---|
| local (TF-IDF) | ~1ms | 零 | 默认,适合中文+英文混合,快速部署 |
| ollama (nomic-embed-text) | ~100ms | 零(本地GPU) | 语义理解更好,但需要 Ollama 运行 |
| openai (text-embedding-3-small) | ~300ms | $0.02/1M tokens | 最高质量,适合生产环境 |
| anthropic | ~200ms | 按量 | 与 Claude 同源嵌入空间 |
| 参数名 | 默认值 | 作用 / 调整建议 |
|---|---|---|
| fts_weight | 0.6 | 关键词检索权重。语义场景可降到 0.4 |
| vec_weight | 0.4 | 向量检索权重。与 fts_weight 相加应为 1.0 |
| memory_min_score | 0.25 | 分数门控阈值。调高减少噪音,调低增加召回 |
| memory_max_tokens | 800 | 注入上下文的最大 token 数。越大越贵 |
| memory_decay_rate | 0.0 | 遗忘曲线 λ。0 = 永不遗忘;0.1 = 7天降50% |
| retrieval_temperature | 0.0 | 采样温度。0 = 确定性;1.0 = 自然随机 |
| serendipity_budget | 0.0 | 灵感模式预算比例。0.1 = 10% 的预算给随机记忆 |
| auto_extract | true | 是否自动从对话提取事实存入记忆库 |
工具是 AI 超越对话的关键。HushClaw 的工具系统从注册、发现、调用到上下文注入,有一套完整的设计逻辑。
工具函数用 @tool 装饰器定义。以 _ 开头的参数对 LLM 不可见,由执行器自动注入:
执行器扫描函数签名,把参数名匹配到上下文字典,自动填充。 LLM 看到的 Schema 只有 query 和 limit 两个参数, 感知不到后端注入的基础设施。
25 个内置技能包,每个是独立的"专业模块",包含:
加载时机:延迟加载,只有被调用时才实例化。工具自动加命名空间前缀(如 hushclaw-skill-pptx__create_slide)防止同名冲突。
HushClaw 不只是单个 AI 助手,Gateway 网关让多个专业 Agent 像团队一样分工协作。
每个 Agent 有 role、team、reports_to、capabilities 四个属性, Gateway 自动生成组织结构说明注入到每个 Agent 的 System Prompt:
| 方式 | 工具 | 适用场景 | 特点 |
|---|---|---|---|
| 点对点委派 | delegate_to_agent | 明确知道哪个 Agent 最合适 | 同步等待结果,支持 timeout |
| 广播并行 | broadcast_to_agents | 同一任务多个 Agent 并行处理 | 所有结果汇总后返回 |
| 流水线串联 | run_pipeline | 有明确先后依赖关系的多步任务 | 上一步输出 = 下一步输入 |
同一套 Agent 逻辑,通过连接器接入 7 个平台。每个连接器都有针对该平台特性的专门优化。
所有 LLM 调用都经过统一的抽象层,切换模型不需要改任何业务代码。
| 提供商 | 底层实现 | 特性 | 安装要求 |
|---|---|---|---|
| anthropic-raw | urllib only | 默认,原生 KV-Cache,支持 POST 307/308 重定向 | 无 |
| anthropic-sdk | 官方 SDK | 流式更完善,自动重试 | pip install anthropic |
| openai-raw | urllib only | OpenAI-兼容接口,支持 Responses API | 无 |
| openai-sdk | 官方 SDK | 支持 Function Calling 新格式 | pip install openai |
| ollama | HTTP localhost:11434 | 完全本地,零 API 费用 | 安装 Ollama |
| gemini | google-genai SDK | Google Gemini 系列 | pip install google-genai |
| minimax | OpenAI 兼容 | 国内/全球双端点自动切换 | 无 |
| aigocode | Anthropic 兼容代理 | api.aigocode.com 转发 | 无 |
| transsion | OpenAI 兼容 | 邮箱验证码登录流程 | 无 |
所有提供商都包裹在 _with_retry() 里:检测响应体中的"transient"关键词(429 限流、502 网关错误、503 服务不可用), 做指数退避重试,最大重试次数和超时时间均可配置。
每一个技术选择都反映了明确的产品思考。以下是最关键的几个设计决策和其背后的理由。
内置 GitHub Releases 检查器,服务启动时自动检测新版本(24小时间隔,可关闭)。 WebSocket 推送 update_available 事件给前端,弹出升级确认。 一键运行 install.sh --update,输出进度流式推送到 UI。 支持稳定版(stable)和预发布版(prerelease)两个更新频道。
没有银弹。HushClaw 在某些维度领先,在某些维度也有明显的局限。
| 维度 | HushClaw | ChatGPT | LangChain | AutoGPT |
|---|---|---|---|---|
| 持久记忆 | ✓ 混合检索+遗忘曲线 | △ 有限,不透明 | 需自建 | 需自建 |
| Token 精细控制 | ✓ 分区预算+KV-Cache | 黑盒 | △ 基础 | 无 |
| 零依赖部署 | ✓ Python stdlib only | N/A SaaS | 大量依赖 | 大量依赖 |
| 多模型支持 | ✓ 9+ 提供商 | 仅 OpenAI | ✓ 广泛 | △ 有限 |
| IM 平台接入 | ✓ 6 大平台 | 无 | 无 | 无 |
| 多 Agent 编排 | ✓ Pipeline+层级 | 无 | ✓ 支持 | ✓ 自主规划 |
| 私有化部署 | ✓ 完全本地 | 仅云端 | ✓ | ✓ |
| 内置 Web UI | ✓ 无构建步骤 | ✓ 官方 | 无 | △ 简陋 |
| 生态成熟度 | 早期 | ✓ 成熟 | ✓ 成熟 | △ 一般 |
| 学习曲线 | ✓ 低(开箱即用) | ✓ 极低 | 陡峭 | △ 中等 |