Moss

面向 AI 智能体的亚 10 毫秒语义检索运行时,无需向量数据库,可嵌入浏览器、边缘与云端。

源仓库
usemoss/moss
Star 数
★ 682
最近更新
2 天前
License
BSD-2-Clause
主语言
Python

30 秒速览

运行形态
代码库 / SDK
可在哪里用
兼容但需适配
费用
有免费版,另有付费云服务
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.10+Node.js 20+Shell / 命令行网络访问本地文件系统
典型场景
语音客服或实时对话智能体开发者:需要把检索延迟压到 10 毫秒以内,否则会打断对话节奏。
不适合
  • 无法接受索引托管在 Moss Cloud 的团队
  • 完全不联网或需在气隙环境运行的场景

这个 Agent 能做什么,适合哪些场景?

Moss 是一个把检索和嵌入直接跑在应用进程内的搜索运行时。它由三部分组成:Moss Cloud 负责文档摄取、嵌入、存储与分发;Index 是把文档与向量打包成的单一产物;Runtime 嵌入在你的 Python、TypeScript、Elixir 或 C 应用中,通过 HTTPS 拉取索引并在本地内存中应答查询。SDK 提供 create_index、load_index、query 等接口,支持语义加关键词的混合检索、内置嵌入模型、元数据过滤($eq、$and、$in、$near),另有 WebAssembly 版本 @moss-dev/moss-web 可完全在浏览器端运行。官方基准显示 10 万文档上端到端 P50 为 3.1 毫秒,明显快于远程向量库的数百毫秒往返。仓库同时提供 CLI、多种数据库连接器以及 LangChain、LlamaIndex、Pipecat、LiveKit、Vapi、ElevenLabs 等框架集成示例,采用 BSD-2-Clause 许可。

使用 Moss 的典型流程是:先在 moss.dev 注册获得 project_id 与 project_key,然后用 MossClient 的 create_index 方法写入带 id 与 text 的文档,Moss Cloud 负责生成嵌入并打包成可分发索引。客户端调用 load_index 通过 HTTPS 把索引拉到本地内存,随后 query 在本进程内完成嵌入与检索,返回 docs 列表以及 time_taken_ms,单次查询延迟在个位数毫秒。查询支持 QueryOptions(top_k=...) 或 { topK } 指定返回条数,并通过元数据操作符做条件过滤。浏览器场景改用 @moss-dev/moss-web 这个 WebAssembly 构建,索引下载后完全在客户端查询,无需服务端。仓库还包含 packages/moss-cli 的命令行工具、packages/moss-data-connector 的 SQLite/MongoDB/MySQL/Supabase 摄取连接器,以及 examples 与 apps 下可直接运行的语言、语音智能体和框架集成样例。

  1. 语音客服或实时对话智能体开发者:需要把检索延迟压到 10 毫秒以内,否则会打断对话节奏。
  2. 要构建 RAG 的后端团队:希望避免自建与管理向量数据库集群,直接用 SDK 在进程内查询索引。
  3. 做静态站点或浏览器扩展的前端团队:需要客户端语义搜索,使用 @moss-dev/moss-web 在浏览器内离线查询。
  4. 已在用 LangChain、LlamaIndex、DSPy 或 CrewAI 的团队:想给现有检索链换成低延迟运行时。
  5. 搭 Pipecat、LiveKit、Vapi、ElevenLabs 语音管线的团队:需要把低延迟检索接入实时音频流程。
  6. 从 SQLite、MongoDB、MySQL 或 Supabase 同步数据的团队:希望用现成连接器把业务数据摄入索引。

如何安装或部署这个 Agent?

服务端先安装对应语言的 SDK,并在 moss.dev 注册取得 project_id 与 project_key。Python 需要 3.10+:

pip install moss

TypeScript / Node.js 需要 20+:

npm install @moss-dev/moss

浏览器端使用独立的 WebAssembly 包:

npm install @moss-dev/moss-web

运行仓库自带示例前,需要把凭证写进 .env(复制 .env.example 后填写):

cd examples/python
pip install -r requirements.txt
cp ../../.env.example .env
python load_and_query_sample.py

如何使用这个 Agent?

Python 端到端示例:

from moss import MossClient, QueryOptions

client = MossClient("your_project_id", "your_project_key")

await client.create_index("support-docs", [
    {"id": "1", "text": "Refunds are processed within 3-5 business days."},
    {"id": "2", "text": "You can track your order on the dashboard."},
    {"id": "3", "text": "We offer 24/7 live chat support."},
])

await client.load_index("support-docs")
results = await client.query("support-docs", "how long do refunds take?", QueryOptions(top_k=3))

TypeScript 端到端示例:

import { MossClient } from "@moss-dev/moss";

const client = new MossClient("your_project_id", "your_project_key");

await client.createIndex("support-docs", [
  { id: "1", text: "Refunds are processed within 3-5 business days." },
  { id: "2", text: "You can track your order on the dashboard." },
  { id: "3", text: "We offer 24/7 live chat support." },
]);

await client.loadIndex("support-docs");
const results = await client.query("support-docs", "how long do refunds take?", { topK: 3 });

这个 Agent 有哪些优点和局限?

优点
  • 查询在应用进程内完成,官方基准中 10 万文档端到端 P50 为 3.1 毫秒,比远程向量库快两个数量级
  • 内置嵌入模型,无需 OpenAI 密钥即可生成向量,也支持自带嵌入
  • 同时提供服务端 SDK 与 @moss-dev/moss-web 的 WebAssembly 构建,浏览器内即可离线检索
  • Python、TypeScript、Elixir、C 多语言 SDK,配套 CLI、数据库连接器和大量框架/语音智能体集成样例
  • BSD-2-Clause 许可,SDK、示例与集成代码完全开源
局限
  • 索引的摄取、嵌入、存储与分发依赖 Moss Cloud,使用 project_id 与 project_key,本地无法完全脱离该服务构建索引
  • 基准是官方数字,且竞品在对比中使用外部嵌入服务,实际相对优势需自行复现验证
  • 文档以英文为主,中文资料有限,团队需自行承担翻译成本
  • Python SDK 需要 3.10+、Node.js 需要 20+,旧运行时无法直接使用

这个 Agent 与同类方案有什么区别?

README 在基准中直接对比了 Pinecone(端到端 P50 432.6 毫秒)、Qdrant(597.6 毫秒)与 ChromaDB(351.8 毫秒),指出这些系统需要远程向量数据库往返,而 Moss 把检索与嵌入放进进程内;README 也明确说明 Moss 不是数据库,不涉及集群管理、HNSW 参数调优或分片。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Moss 当前 59 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 682 2 天前 Python —
MCP Memory Service 68 · 存在缺口 MCP 服务器免费 ★ 2k 今天 Python ChatGPT · Codex · Claude Code · Claude.ai
RAGLight 63 · 存在缺口 命令行工具免费 + 模型费 ★ 672 1 个月前 Python OpenAI API
AgentOS 52 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 673 今天 TypeScript Claude Code · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
59/ 100 五分制 3.0 / 5
信任安全 12/29
可靠稳定 8/14
适用触发 14/18
规范维护 12/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

权限面较克制:SDK 嵌入应用、查询在进程内完成,CI 工作流均设 contents: read,Codex 审核工作流对 fork 代码采取不签出、仅读 diff 的结构性隔离并固定 action SHA,值得肯定;扣分点:无索引删除或配置变更的回滚/恢复机制说明(rollback 0),README 未提示 project_key 在浏览器 WASM 场景下的泄露风险(sensitive_data_handling 仅 1),依赖安全仅有版本 override 与 ruff 固定,无审计证据(1),create_index 等外部写入效果仅一句带过(1),工具型场景缺乏用户确认设计(1)。归属信息明确(Moss 团队、YC、贡献者图),但发布者身份未经注册表验证(2)。

可靠稳定8 / 14 · 2.9/5

CI 覆盖 Python 多版本矩阵、Node 矩阵、lint/type-check/pytest,ruff 固定并附回归原因注释,lockfile 与 engines 声明齐全(dependency_availability 2);agora 中间件测试展示失败路径、fail-open 流式行为、doctor 自检入口与 401 鉴权(failure_messages 2)。扣分:README 称 Elixir/C SDK 已可用,Contributing 又把 Elixir 列为待开发绑定,且 PyPI 下载徽章指向 inferedge-moss-core 旧包名,存在自述不一致(self_consistency 1)。

适用触发14 / 18 · 3.9/5

场景覆盖非常充分:语音代理、浏览器 WASM、Docker 本地栈、MCP、20+ 框架集成,Python 3.10–3.14 与 Node 20/22 均有适配(audience 3, environment_fit 3);明确说明'不是数据库而是搜索运行时'划定了边界(2)。扣分:工具触发精度仅依赖少量 MCP 示例,未见触发词/意图路由的系统性设计(1),性能之外的容量/一致性局限基本未披露。

规范维护12 / 18 · 3.3/5

目录结构、docs 站点、快速上手、.env 示例、逐示例运行说明齐全(information_architecture 3, install_notes 3);BSD-2-Clause LICENSE 文件在库且与 README 一致(license 3);SECURITY.md 含支持版本表与响应时间表(maintenance 2)。扣分:无 CHANGELOG(versioning 1),命名不稳定——PyPI 徽章用 inferedge-moss-core 而 npm 用 @moss-dev/moss(1),已知局限章节缺失(1),示例丰富但无 FAQ(2)。

有效结果9 / 13 · 3.5/5

查询结果带 score、top_k、耗时字段并可直接打印(output_usability 2);相对向量数据库的进程内检索差异化清晰,附对齐基准表(marginal_value 2)。扣分:强依赖 Moss Cloud 账号与托管索引,迁移成本与供应商锁定未讨论(cost_benefit 2 而非更高)。

证据核验4 / 8 · 2.5/5

基准声明附复现路径 ./benchmarks/ 且说明硬件、查询数与测量口径(claim_traceability 2);营销性断言与基准结果基本区分(2)。扣分:所有性能与集成声明均来自本仓库自述,静态评审无法跨源印证(cross_source_corroboration 1)。

风险与缓解建议
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 所有性能数据(<10ms、基准对比)均为项目自述,本次为静态评审未执行复现,采用前应自行跑通 benchmarks/ 目录验证。
  • README 未提示在浏览器 WASM 场景下 project_key 会暴露于客户端,部署前端检索前需评估密钥泄露与配额滥用风险。
  • 索引与分发完全依赖 Moss Cloud 托管,存在供应商锁定;无本地索引持久化或回滚机制的公开说明。
  • 包命名存在历史迁移痕迹(inferedge-moss-core 与 moss 并存),安装时确认所装包与版本一致。
  • 依赖安全仅见版本 override 与 ruff 固定,未提供 lockfile 审计或 SBOM,生产引入前建议自行审计。
证据充分度:低 评估于 2026年9月27日 审查版本 38f5cb261f5f
查看完整评分方法 →

常见问题

使用 Moss 必须付费吗?
README 说明 moss.dev 提供免费额度,使用前需注册取得 project_id 与 project_key。仓库代码采用 BSD-2-Clause 许可,SDK、示例与集成可免费使用,但索引托管在 Moss Cloud,是否产生费用取决于其套餐。
文档数据会离开我的机器吗?
会。按架构描述,文档摄取、嵌入、存储与分发都由 Moss Cloud 负责,运行时只是通过 HTTPS 拉取索引后在本地应答查询。若数据不能上传到外部服务,这个模型不适用。
可以在完全没有服务端的环境里使用吗?
浏览器场景可用 @moss-dev/moss-web 这个 WebAssembly 包在客户端查询索引,但索引本身仍由 Moss Cloud 构建并分发,所以并非完全离线自建。
它和向量数据库有什么区别?
README 明确表示 Moss 不是数据库,而是搜索运行时:不需要管理集群、调 HNSW 参数或考虑分片,只需索引文档、加载索引并查询。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents