sre
SmythOS Runtime Environment(简称 SRE)是一个专为智能体(AI Agents)打造的开源云原生运行时环境,被誉为"AI 智能体的 Linux"。它旨在解决开发者在构建和生产部署智能体时面临的基础设施复杂、资源管理分散以及安全性难以保障等痛点。
通过提供操作系统级别的抽象层,SRE 将大语言模型、向量数据库、存储和缓存等核心 AI 资源统一封装,并暴露一致的 API 接口。这意味着开发者只需编写一次代码,即可让智能体无缝运行于本地、云端或边缘设备等多种环境中,无需针对不同服务商重复适配。此外,SRE 内置了企业级的安全机制、可观测性工具以及 40 多个开箱即用的生产级组件,让智能体的工程化落地不再像“造火箭”般困难。
这款工具主要面向希望高效构建、运行和管理生产级 AI 智能体的软件开发者和工程师。无论是需要精细控制代码逻辑的技术团队,还是寻求稳定基础设施支持的研究人员,SRE 都能提供坚实的底层支撑。其独特的设计灵感来源于传统操作系统内核,强调自主性与可控性的共存,致力于推动开放、安全的“智能体互联网”发展,让每个人都能轻松将创意转化为实际运行的智能应用。
使用场景
某电商初创团队正急于构建一套能自动处理售后退款、查询库存并回复客户的智能代理系统,以应对大促期间激增的服务请求。
没有 sre 时
- 环境适配痛苦:开发人员在本地测试通过的代理逻辑,部署到云端或边缘设备时,因 LLM 接口、向量数据库和存储路径的差异,需要反复修改代码进行适配。
- 安全机制缺失:为了防止代理误操作或数据泄露,团队不得不手动编写大量额外的权限校验和沙箱代码,严重拖慢了上线进度。
- 资源管理混乱:缺乏统一的资源抽象层,切换不同的云服务商(如从 AWS S3 切换到本地存储)几乎意味着要重构整个数据访问模块。
- 运维监控盲区:代理在生产环境中运行时,缺乏原生的可观测性支持,出现故障后难以快速定位是模型问题还是基础设施问题。
使用 sre 后
- 一次编写,随处运行:借助 sre 的统一资源抽象 API,团队只需编写一次代理逻辑,即可无缝在本地开发机、云服务器及边缘网关上运行,无需关心底层提供商差异。
- 内置企业级安全:sre 原生集成了安全的执行环境和模块化权限控制,团队无需重复造轮子,直接获得生产级别的安全防护能力。
- 灵活的资源调度:通过 sre 的操作系统级抽象,存储、缓存和向量库等资源被标准化,随意切换后端基础设施而无需改动核心业务代码。
- 全链路可观测性:sre 自带监控组件,实时展示代理的生命周期状态和资源消耗,让团队能迅速发现并解决运行瓶颈。
sre 就像为 AI 代理提供了缺失的“操作系统”,让开发者从繁琐的基础设施适配中解放出来,专注于构建真正智能的业务逻辑。
运行环境要求
- 未说明
未说明
未说明

快速开始
SmythOS - 人工智能代理领域的 Linux
可靠的代理工程始于卓越的开源基础设施。本仓库包含 Smyth 运行时环境 内核(SRE)、用于运行和通过代码创建代理的 软件开发工具包(SDK)以及 命令行界面(CLI)。如果您更倾向于使用可视化拖放式代理界面,不妨试试我们的开源 SmythOS 可视化代理工作室!拥有活跃的社区、完善的支持与教程,几分钟即可上手!

可靠的代理工程始于卓越的开源基础设施。本仓库包含 Smyth 运行时环境 内核(SRE)、用于运行和通过代码创建代理的 软件开发工具包(SDK)以及 命令行界面(CLI)。如果您更倾向于使用可视化拖放式代理界面,不妨试试我们的开源 SmythOS 可视化代理工作室!拥有活跃的社区、完善的支持与教程,几分钟即可上手!

SDK - packages/sdk
SDK 提供了一个简洁、对开发者友好的抽象层,用于封装 SRE 运行时。它旨在保持简单的同时不牺牲功能的强大性。
为什么使用 SDK:
- 简洁的 API:干净、直观的接口,易于上手
- 类型安全:全面支持 TypeScript,并提供 IntelliSense 功能
- 生产就绪:同一套代码可在开发和生产环境中运行
- 与配置无关:无论基础设施如何扩展,业务逻辑始终保持不变
CLI - packages/cli
SRE CLI 可帮助您通过脚手架工具和项目管理快速入门。
代码示例
SDK 允许您通过编写代码构建代理,或者直接加载并运行一个 .smyth 文件。.smyth 是我们 SmythOS 构建工具生成的代理文件的扩展名。
示例 1:从 .smyth 文件加载并运行代理
async function main() {
const agentPath = path.resolve(__dirname, 'my-agent.smyth');
// 导入代理工作流
const agent = Agent.import(agentPath, {
model: Model.OpenAI('gpt-4o'),
});
// 向代理提问并获取完整响应
const result = await agent.prompt('你好,最近怎么样?');
console.log(result);
}
想要流式模式吗?很简单!
点击展开: 流式模式示例——实时响应流与事件处理
const events = await agent.prompt('你好,最近怎么样?').stream();
events.on('content', (text) => {
console.log('内容:' + text);
});
events.on('end', /*... 处理结束 ... */)
events.on('usage', /*... 收集代理使用数据 ... */)
events.on('toolCall', /*... ... */)
events.on('toolResult', /*... ... */)
...
想要聊天模式吗?也很简单!
点击展开: 聊天模式示例——带记忆的对话型代理
const chat = agent.chat();
// 从此处您可以使用 prompt 或 prompt.stream 来处理对话
let result = await chat.prompt("你好,我是 Smyth");
console.log(result);
result = await chat.prompt('你还记得我的名字吗?');
console.log(result);
// agent.prompt() 和 chat.prompt() 的区别在于,后者会记住之前的对话历史。
示例 2:文章撰写代理
在本示例中,我们将借助 SDK 中的组件来实现代理的逻辑。
点击展开: 完整的文章撰写代理——结合 LLM、向量数据库和存储的完整示例
import { Agent, Model } from '@smythos/sdk';
async function main() {
// 创建一个智能代理
const agent = new Agent({
name: '文章撰写代理',
model: 'gpt-4o',
behavior: '你是一名文案助手。用户会提供一个主题,你需要根据该主题撰写一篇文章并将其保存下来。',
});
// 添加一个自定义技能,整合多种 AI 能力
agent.addSkill({
id: 'AgentWriter_001',
name: '撰写并存储文章',
description: '根据给定的主题撰写文章并将其存储',
process: async ({ topic }) => {
// 向量数据库——搜索相关上下文
const vec = agent.vectordb.Pinecone({
namespace: 'myNameSpace',
indexName: 'demo-vec',
pineconeApiKey: process.env.PINECONE_API_KEY,
embeddings: Model.OpenAI('text-embedding-3-large'),
});
const searchResult = await vec.search(topic, {
topK: 10,
includeMetadata: true,
});
const context = searchResult.map((e) => e?.metadata?.text).join('\n');
// LLM——生成文章
const llm = agent.llm.OpenAI('gpt-4o-mini');
const result = await llm.prompt(`请根据以下上下文撰写一篇关于 ${topic} 的文章:${context}`);
// 存储——保存文章
const storage = agent.storage.S3({
/*... S3 配置 ...*/
});
const uri = await storage.write('article.txt', result);
return `文章已生成并存储完毕。内部 URI:${uri}`;
},
});
// 使用代理
const result = await agent.prompt('写一篇关于樱花树的文章');
console.log(result);
}
main().catch(console.error);
架构亮点
内置安全机制
安全性是 SRE 的核心原则之一。每项操作都需要通过 候选人/ACL 系统 进行适当的授权,以确保代理仅能访问其被允许的资源。
const candidate = AccessCandidate.agent(agentId);
const storage = ConnectorService.getStorageConnector().user(candidate);
await storage.write('data.json', content);
从开发到生产环境的演进
您的业务逻辑在基础设施扩展时保持不变: 当您使用 SDK 时,SmythOS 运行时环境会隐式初始化一些通用连接器,覆盖标准的代理使用场景。
点击展开: 基础 SRE 设置——默认开发配置
// 您无需显式初始化 SRE
// 这里只是展示其内部是如何初始化的
// const sre = SRE.init({
// Cache: { Connector: 'RAM' },
// Storage: { Connector: 'Local' },
// Log: { Connector: 'ConsoleLog' },
// });
async function main() {
// 您的代理逻辑在此处
}
main();
不过,您也可以显式地使用其他内置连接器初始化 SRE,或自定义连接器。 适用场景:
- 您希望使用自定义的代理存储服务
- 您希望将 API 密钥和其他凭据存储在一个更安全的保险库中
- 您需要企业级的安全性和数据隔离
- …
点击展开: 生产级 SRE 设置——结合自定义连接器的企业级配置
const sre = SRE.init({
Account: { Connector: 'EnterpriseAccountConnector', Settings: { ... } },
Vault: { Connector: 'Hashicorp', Settings: { url: 'https://vault.company.com' } },
Cache: { Connector: 'Redis', Settings: { url: 'redis://prod-cluster' } },
Storage: { Connector: 'S3', Settings: { bucket: 'company-ai-agents' } },
VectorDB: { Connector: 'Pinecone', Settings: { indexName: 'company-ai-agents' } },
Log: { Connector: 'CustomLogStore'},
});
async function main() {
// 您的代理逻辑在此处
}
main();
组件系统
40 多种适用于各类 AI 场景的生产就绪组件。 这些组件可以通过编程方式调用,也可以通过智能体工作流的符号化表示(.smyth 文件)来使用。
- AI/LLM:
GenAILLM、ImageGen、LLMAssistant - 外部服务:
APICall、WebSearch、WebScrape、HuggingFace - 数据:
DataSourceIndexer、DataSourceLookup、JSONFilter - 逻辑:
LogicAND、LogicOR、Classifier、ForEach - 存储:
LocalStorage、S3 - 代码:
ECMAScript、ServerlessCode
核心特性
| 特性 | 描述 |
|---|---|
| 以智能体为中心 | 专为 AI 智能体的工作负载和模式而构建 |
| 默认安全 | 具备企业级安全性与数据隔离 |
| 高性能 | 针对高吞吐量的 AI 操作进行优化 |
| 模块化 | 可随意替换任意组件而不破坏系统 |
| 可观测性 | 内置监控、日志记录和调试工具 |
| 云原生 | 可在任何环境中运行——本地、云端、边缘或混合环境 |
| 可扩展 | 从开发阶段到企业级生产环境 |
贡献
贡献者
许可证
本项目采用 MIT 许可证授权。
下一步计划?
- 我们将于今年晚些时候发布一款开源的可视化智能体 IDE。
- 欢迎支持 SmythOS
驾驭 Llama,远离纷扰。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器