内容
<div align="center">
<img src="https://seldonframe.com/brand/seldonframe-icon.svg" width="80" height="80" alt="SeldonFrame" />
# SeldonFrame
**从您的IDE构建几乎任何AI代理。**
开源平台为您的编码代理提供生产所需的原始功能:触发器、技能、通道、工具、专有内存(大脑)、防护栏、评估、一次性部署和内置货币轨道。 用一句话描述一个代理 - 几分钟后,它将回答真实业务的电话、聊天和短信,并预订真实的预约。 免费构建。
[](LICENSE)
[](https://www.npmjs.com/package/@seldonframe/mcp)
[](https://github.com/seldonframe/seldonframe/stargazers)
[](https://discord.gg/sbVUu976NW)
[](https://x.com/seldonframe)
[](https://smithery.ai/servers/maximehoule100/seldonframe)
[官网](https://seldonframe.com) · [适用于构建者](https://seldonframe.com/build) · [文档](https://seldonframe.com/docs) · [实时演示](https://phoenix-ac-air-conditioning-heating-inc.app.seldonframe.com) · [Discord](https://discord.gg/sbVUu976NW)
</div>
---
## 在60秒内部署您的第一个代理
```bash
claude mcp add seldonframe -- npx -y @seldonframe/mcp
```
```
> 为凤凰城的一家HVAC公司构建一个AI接待员。
✓ 在 acme-hvac.app.seldonframe.com 上线
```
无需API密钥,无需注册表单。 **您的第一个工作空间永久免费。** 那句话建立了一个托管的前台 - 网站、预订页面、客户登记表、CRM - 以及一个AI代理,已经在聊天上回答并在真实日历上预订。添加一个电话号码,它也可以接听电话。
**查看一个真实的示例:** [这个HVAC工作空间](https://phoenix-ac-air-conditioning-heating-inc.app.seldonframe.com) 是从公共的谷歌地图列表中生成的,大约在3分钟内。该聊天机器人可以预订真实的预约。
---
## 这里的代理由什么组成
大多数“代理框架”只提供一个聊天循环,并祝你好运。 SeldonFrame 为您的IDE代理提供完整生产所需的解剖结构:
### 代理模型 — 触发器 × 技能 × 通道
代理不是聊天机器人UI;它是三个独立的轴:
- **触发器** — *何时运行*:**入站** (呼叫/聊天/电子邮件/SMS到达) · **事件** (域事件触发 - `booking.completed`、`lead.created`、`invoice.paid`…) · **计划** (cron节奏)。
- **技能** — *执行什么*:接待员 · 请求评论 · 速度转线索 · 赢回 · 摘要…
- **通道** — *如何沟通*:语音 · 网页聊天 · SMS · 电子邮件 · 内部摘要。
- **工具** — *可以触及什么*:原生工具(针对真实日历预订 · 读取/写入CRM · 发送SMS和电子邮件 · 留下消息) **以及通过Composio的1000+应用集成** (谷歌日历、表格、Slack、HubSpot、Notion、…),每个代理绑定。
`surface: voice | chat` (旧的仅限接待员旋钮)只是此空间中的一个点 - `trigger=inbound`。 一个构建者可以创建任何代理;市场出售任何代理。
### 从代理到生产 *循环*
生产代理是一个 **循环** ,而不仅仅是一个提示:
> **触发器 → (模型 + 工具 + 状态) → 验证 → 迭代** ,由 **停止** 条件限制,通过 **评估** 改进,通过 **可观察性和防护栏** 保持诚实。
两个不可妥协的要求驱动路线图: **检查者必须与制造者分开** (模型评估自己的工作过于宽容),并且 **循环必须有刹车** (否则它会在沉默中为您付费)。 每个原始功能目前的状态:
| 原始功能 | 状态 | 已有功能 |
|---|---|---|
| **触发器** | ✅ 已发布 | 入站 + **事件** 触发器在 `SeldonEvent` 总线。 `booking.completed` → 请求评论; `lead.created` → 速度转线索,两者都发送出站SMS/电子邮件。 |
| **状态** | ✅ 已发布 | 代理 **循环内存** 在 **Brain v2** - 代理在执行前回忆并在执行后记录。 回顾 “每个客户只问一次” 节流现在是内存回忆,而不是特制的标志。 |
| **验证** (制造者 ≠ 检查者) | ✅ 已发布 | 确定性验证器评估每个运行 - 通过率在每个代理的健康卡和 `/runs` 上显示; `run_agent_evals` 重放脚本场景。 正在推出:相同的检查者作为一个硬发送门 + 一个LLM裁判进行判断调用。 |
| **防护栏 / 停止** | ✅ 已发布 | 报价防护(永不发明价格),强制回读在预订之前,每个联系人的节流,预订策略执行(小时 · 时长 · 必需字段),硬调用/迭代上限。 正在推出:用于长循环代理的通用代币预算刹车。 |
| **默认生成** | 🗺 路线图 | 一句英文 → 触发器 + 技能 + 通道 + 防护栏 + 检查者 + 状态 + 停止,一起生成。 *"在客户完成工作后一天给他们发送短信要求谷歌评论 - 绝不两次,只有当完成时"* 发出所有内容。 |
### 循环,绘制
```mermaid
flowchart TD
subgraph TRIG["触发器"]
direction LR
TIn["入站<br/>呼叫 · 聊天 · 电子邮件 · SMS"]
TEv["事件<br/>booking.completed · lead.created"]
TSch["计划<br/>cron节奏"]
end
subgraph LOOP["代理循环"]
direction TB
Model["模型<br/>(推理 + 技能包)"]
Tools["工具<br/>Composio + 原生:<br/>预订 · 更新CRM · 发送SMS/电子邮件"]
State["状态<br/>Brain v2:回忆和记录"]
Verify{"验证<br/>(独立检查者)"}
Model --> Tools
Tools --> State
State --> Verify
Verify -- "失败:阻止/重试" --> Model
end
TIn --> Model
TEv --> Model
TSch --> Model
Verify -- "通过" --> Act["执行"]
subgraph OUT["通道和前台"]
direction LR
Chan["语音 · SMS · 电子邮件 · 聊天"]
Office["前台:<br/>网站 · 预订 · CRM"]
end
Act --> Chan
Act --> Office
Stop(["停止<br/>预算 · 最大迭代次数 · 无进展"]) -. bounds .-> LOOP
Obs[("可观察性<br/>/runs + Brain")] -. observes .-> LOOP
classDef wip stroke-dasharray:5 5,stroke-width:2px;
class Verify,Stop wip;
```
> 虚线节点(**验证**,**停止**)是正在进行的原始功能。 **触发器** 和 **状态** 今天已发布;循环的其他部分正在陆续推出。
---
深入 - 预接的堆栈,架构押注,路线图: **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**。
## 今天您可以发布的五种代理
触发器 × 技能 × 通道是独立的轴 - 选择每个轴中的一个,您就可以构建一个代理:
| 代理 | 触发器 | 技能 | 通道 | 有趣的部分 |
|---|---|---|---|---|
| **AI 接待员** | 入站呼叫 | 资格 + 预订 | 语音 | 预订真实日历。 报价防护,强制回读,`take_message` 升级到所有者。 |
| **网站聊天机器人** | 入站聊天 | 相同的接待员技能 | 网页嵌入 | 相同的蓝图,不同的通道 - 通道可互换。 |
| **速度转线索** | `lead.created` 事件 | 首要联系 + 资格 | SMS | 在提交表单后几秒钟内触发,直接从事件总线。 |
| **请求评论** | `booking.completed` 事件 | 请求评论 | SMS / 电子邮件 | 大脑回忆强制执行“绝不向同一客户请求两次”。 |
| **您描述的任何内容** | 任意 | 一个英文句子 | 任意 | 工作室向导根据您的代理所需的原始功能调整问题。 |
## 大脑 - 复合内存
忘记的代理只是演示。 每个SeldonFrame工作空间都拥有一个 **大脑**:
- **灵魂** - 代理所依据的单一事实来源(身份,服务,小时,定价)。 安装别人的代理,它会重新依据 *您的* 灵魂,而不是他们的事实。
- **循环内存** - 代理在执行前回忆并在执行后记录。 “我是否已经要求这个客户提供评论?” 是一个内存回忆,而不是特制的标志。
- **笔记 → 蒸馏规则** - 原始观察被编译并在计划的基础上提升为持久的知识,因此每个运行都比上一个运行更智能。
## 内置货币轨道
执行真实工作的代理最终会接触到真实的钱 - 因此轨道是平台原始功能,而不是集成项目:
- **预付钱包账本** - 唯一的幂等键和有保证的非负递减:收费不能重复触发,余额不能低于零。
- **Stripe Connect 支付** - `seldonframe payout` 将累积的收益转移到银行账户。
- **完成付款的结账** - 市场销售自动配置部署并将其基础设置为买家的业务。
- **按使用付费计费** - 每个代理都公开一个签名的MCP端点;其他LLM可以租用它,账本计费每个使用。
- **真实电话号码** - 为每个代理配置一个号码(今天可以自带Twilio;SF管理的计费号码正在推出)。
<sub>费用细则:SeldonFrame仅在市场带来买家时收取5%的GMV费用,在通过您自己的SeldonFrame商店销售时收取约2%的费用,在其他地方则收取0美元。</sub>
---
## 从任何IDE使用SeldonFrame
一个npm包 - [`@seldonframe/mcp`](https://www.npmjs.com/package/@seldonframe/mcp) - 在每个主要的AI原生编辑器中作为本地MCP服务器运行。 选择您的编辑器,粘贴代码段,然后让您的代理构建一个工作空间 - 您自己的网站,预订页面,客户登记表和CRM,并将代理连接起来。 **第一个工作空间永久免费,无需API密钥。**
<details>
<summary><strong>Claude 代码</strong></summary>
```bash
claude mcp add seldonframe -- npx -y @seldonframe/mcp
```
</details>
<details>
<summary><strong>Cursor</strong></summary>
添加至 `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
```
</details>
<details>
<summary><strong>Windsurf</strong></summary>
添加至 `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
```
</details>
<details>
<summary><strong>VS Code(Copilot代理模式)</strong></summary>
添加至 `.vscode/mcp.json`:
```json
{
"servers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
```
</details>
<details>
<summary><strong>Zed</strong></summary>
添加至 `settings.json`:
```json
{
"context_servers": {
"seldonframe": {
"source": "custom",
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
```
</details>
<details>
<summary><strong>Codex CLI</strong></summary>
添加至 `~/.codex/config.toml`:
```toml
[mcp_servers.seldonframe]
command = "npx"
args = ["-y", "@seldonframe/mcp"]
```
或一行: `codex mcp add seldonframe -- npx -y @seldonframe/mcp`
</details>
连接后,重启您的IDE(MCP连接器在会话开始时加载),然后只需:
```
> 为 [业务名称] 构建一个 [城市, 省] 的工作空间。 [服务]。 [电话, 可选]。
```
在 [seldonframe.com/build](https://seldonframe.com/build#install) 上查看相同的六个代码段,并保持同步。
---
## 当您准备好销售时
您的构建者中心是 **[seldonframe.com/build](https://seldonframe.com/build)** - 发布代理,设置价格(每月,按次,按结果或一次性),并且任何LLM都可以租用它通过MCP。 **每个发布的代理都有一个免费的商店前端**:一个公共列表页面,带有schema.org标记,一个markdown双胞胎和`llms.txt`覆盖 - 以便人类 *和* AI代理都可以发现和购买它。 我们将商品代理作为每个人的免费地板,我们永远不会构建与您的竞争的垂直代理,我们永远不会在您的提示或数据上训练。
## 定价 - 没有惊喜
| | |
|---|---|
| **自托管** | $0 - AGPL-3.0,整个monorepo |
| **托管 - 第一个工作空间** | 永久免费,无需卡 |
| **托管 - 无限工作空间** | $29/mo 固定(白色标签 + 语音已包含) |
| **您的AI代币** | 自带密钥 - 我们绝不提高使用率 |
| **当您销售时** | 市场带来买家时仅5% · 通过您自己的SeldonFrame商店销售时约2% · **其他地方为0** |
## 贡献
这里影响最大的PR是 **代理模板或垂直技能包** - 合并的模板将发布到市场,每个SeldonFrame用户都可以找到它们,并且您可以列出自己的付费变体。 核心、连接器和评估PR同样受欢迎。
- 从 [CONTRIBUTING.md](CONTRIBUTING.md) 开始,然后标记为 `good first issue` / `help wanted` 的问题
- 房屋规则:代理行为变更随评估场景发布;运行时变更随测试发布
## 社区
- 💬 [Discord](https://discord.gg/sbVUu976NW) - 获取帮助,反馈或只是说你好最快的方式
- 🐦 [@seldonframe on X](https://x.com/seldonframe) - 发布说明,提示,试用笔记
- 📚 [文档](https://seldonframe.com/docs) - 比这个README更深入的指南
- 🐛 [问题](https://github.com/seldonframe/seldonframe/issues) · 📡 [讨论](https://github.com/seldonframe/seldonframe/discussions)
- ✉️ 合作伙伴: [hello@seldonframe.com](mailto:hello@seldonframe.com)
## 许可证
[AGPL-3.0](LICENSE) 适用于整个monorepo。 自托管免费;如果您修改它并作为网络服务运行,您的修改保持开放。 对于闭源嵌入,托管计划是商业替代方案 - 见 [LICENSING.md](LICENSING.md)。 与Mattermost、Plausible和Postiz相同的双重模式。
<div align="center">
**构建代理。 销售代理。 获取报酬 - 从您的IDE。**
如果这是您一直在寻找的平台,请在Github上 ⭐ 加星 - 它帮助更多构建者找到它。
</div>