关于 AvianSuite
Stellar Jay 是 AvianSuite 的开源数据存储,供 Agent 在组织数据上运行业务流程。它面向需要追踪 Agent 操作来源、保留历史并可撤销变更的开发者和团队。
主要功能
- 01仅追加并版本化的业务数据
- 02通过 Agent 令牌追踪变更来源
- 03预览并回滚 Agent 的变更
- 04可检测篡改的历史记录
- 05幂等重试和过期写入保护
- 06灵活的 JSON 事实,无需迁移
适用场景
- 01让 Agent 更新运营或会计记录
- 02查看哪个 Agent 记录了业务事实
- 03撤销 Agent 在指定时间段内的变更
- 04重试时避免重复或过期写入
MCP 相关
Stellar Jay 提供 Agent 通过 MCP 连接的服务端,并支持托管和自托管配置。其 MCP 服务使用写入令牌将 Agent 连接到数据存储。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.aviansuite.com/mcpclaude mcp add --transport http com-aviansuite-stellar-jay https://mcp.aviansuite.com/mcp{"mcpServers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}在 Cursor 中打开{"servers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}{"mcpServers":{"com-aviansuite-stellar-jay":{"serverUrl":"https://mcp.aviansuite.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Stellar Jay
Stellar Jay 是为 AvianSuite 提供支持的开源数据存储。 AvianSuite 是一个以 Agent 为核心的业务数据平台:AI Agent 基于公司的数据运行销售跟进、记账等业务流程;它们进行的每项更改都会被记录版本、标明执行更改的 Agent,并且可以撤销。可以把它看作业务数据的 Git。
Agent 通过 MCP 连接。该服务已列入 MCP 注册表,名称为 com.aviansuite/stellar-jay;CRM(Martin)和记账(Magpie)应用也运行在同一个存储上。这个项目以前名为 JayBase。
- 托管版: AvianSuite 会为你运行 Stellar Jay。每个存储每月 20 美元,并提供 14 天免费试用。
- 自托管版: 免费,基于 AGPL 开源。下面的快速入门会帮助你在几分钟内于自己的机器上运行存储。
Agent 设置
使用 MCP 服务连接 Agent。在 AvianSuite 上,添加远程服务:
# Claude Code
claude mcp add --transport http aviansuite https://mcp.aviansuite.com/mcp
// Cursor: .cursor/mcp.json
{"mcpServers": {"aviansuite": {"url": "https://mcp.aviansuite.com/mcp"}}}
在 Claude 和 ChatGPT 中,使用相同的网址添加自定义连接器。
对于自托管存储,请运行本地服务:
{
"mcpServers": {
"aviansuite": {
"command": "stellarjay-mcp",
"env": {"STELLARJAY_URL": "https://store.example.com", "STELLARJAY_TOKEN": "writer-token"}
}
}
}
使用 go install github.com/kyle-visner/stellarjay/cmd/stellarjay-mcp@latest 安装。工具和详情请参阅:docs/mcp.md。
原因
客户希望 Agent 能够实际完成工作,而不仅仅是阅读相关内容。但如果 Agent 直接向 CRM 或工单系统写入数据,一次错误决策或失控循环就可能覆盖或删除记录,而且往往无法恢复。
Stellar Jay 专为避免这种情况而构建:
- 不会覆盖或删除任何内容。 更正或撤回会成为一条新记录,原始记录仍保留在历史记录中。
- 每项更改都有明确的执行者。 每个 Agent 都有自己的令牌,因此你可以准确查看哪个 Agent 在何时更改了什么。
- 任何更改都可以撤销。 可以回滚某个 Agent 在指定时间段内执行的所有操作,并先预览回滚内容。
- 历史记录可检测篡改。 如果有人改写或删除了过去的记录,就会显现出来。
- 重试安全。 Agent 超时后重试不会产生重复项;基于过时信息的写入会被拒绝。
- 数据保持灵活。 事实以 JSON 格式存储,因此添加字段和新的记录类型无需迁移。
每条事实都会保留证据以及记录它的 Agent,因此任何错误都可见、可追溯并可更正。
适用对象
适合希望从只读副驾驶转向允许 Agent 执行操作的开发者、顾问和小型团队,涉及运营、会计、审批、支持以及其他数据至关重要的工作。每个存储服务于一个组织,多个 Agent 和应用可以共用。
快速入门(自托管)
需要 Go 1.22 或更高版本。
1. 安装并创建密钥。
go install github.com/kyle-visner/stellarjay/cmd/stellarjay-server@latest
stellarjay-server init ./secrets
init 会创建数据加密密钥,并仅显示一次管理员、写入者和读取者令牌。请将它们保存在密码管理器中。
2. 启动服务。
export STELLARJAY_DATA_DIR=./data
export STELLARJAY_DATA_KEY_FILE=./secrets/data_key
export STELLARJAY_AUTH_FILE=./secrets/auth.json
stellarjay-server serve
服务会监听 127.0.0.1:8080。
3. 记录一条事实。 在另一个终端中:
export STELLARJAY_URL=http://127.0.0.1:8080
export STELLARJAY_TOKEN='the-writer-token'
curl -fsS -X POST "$STELLARJAY_URL/v1/events" \
-H "Authorization: Bearer $STELLARJAY_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: first-fact" \
--data '{
"type": "business.fact",
"entity_id": "customer-42",
"command": "fact assert",
"payload": {"predicate": "primary_contact", "value": "Ada Lovelace"},
"expected_root": ""
}'
只有新存储中的第一条记录,其 expected_root 才为空。之后,请从 GET /v1/root 读取当前值,并在每次写入时发送该值,这样基于过时信息的写入就会被拒绝。API 指南介绍了如何读取历史记录、分页、创建命名检查点和快照。
4. 连接 Agent。 将 MCP 服务指向你的存储:
go install github.com/kyle-visner/stellarjay/cmd/stellarjay-mcp@latest
然后使用Agent 设置中的自托管配置,并设置 STELLARJAY_URL=http://127.0.0.1:8080 和你的写入者令牌。不使用 MCP 的 Agent 可以读取 $STELLARJAY_URL/llm.txt,其中说明了如何使用该存储。
部署到服务器
要在生产环境中运行支持 HTTPS 的商店,你需要一台安装了 Docker Compose 的 Linux 主机,开放 80 和 443 端口,并设置一条将域名指向该主机的 DNS 记录。
git clone https://github.com/kyle-visner/stellarjay.git
cd stellarjay
cp .env.example .env
# Edit .env and set STELLARJAY_DOMAIN.
go run ./cmd/stellarjay-server init ./secrets
docker compose up -d --build
curl https://stellarjay.example.com/health/ready
init 不会替换现有密钥。 运维手册介绍了备份、令牌轮换和升级,安全模型介绍了密钥、角色和安全加固。或者跳过这些,使用 AvianSuite。
文档
- llm.md:Agent 遵循的安全读写指南
- docs/mcp.md:MCP 服务设置和工具
- docs/how-it-works.md:存储模型、部署和内嵌 Go 库
- docs/api.md:HTTP API 参考(OpenAPI)
- docs/architecture.md、docs/security.md、docs/operations.md:生产环境运行指南
开发
GOCACHE=/tmp/stellarjay-gocache go test -race ./...
GOCACHE=/tmp/stellarjay-gocache go vet ./...
docker compose config
docker build -t stellarjay:test .
许可证
AGPL-3.0-or-later。详见 LICENSE。可通过 AvianSuite 使用托管版 Stellar Jay。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。