“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Open-Connector:为AI代理打通1000+ SaaS服务的开源认证网关
Open-Connector:为AI代理打通1000+ SaaS服务的开源认证网关
一个开源认证网关,通过SDK、CLI、MCP、HTTP和OpenAPI连接1000+ SaaS提供商到AI代理。
一、项目背景与痛点分析
随着大型语言模型(LLM)和AI代理(AI Agent)的快速发展,开发者面临一个核心难题:AI代理如何安全、高效地与外部SaaS服务交互?传统的API集成方式存在几个关键痛点:
- 认证碎片化:每个SaaS服务都有自己的认证机制(OAuth 2.0、API Key、JWT等),AI代理需要为每个服务单独实现认证逻辑。
- 权限管理复杂:AI代理需要访问用户授权的特定资源,但很难在代理层面做细粒度的权限控制。
- 协议不统一:不同SaaS服务提供REST、GraphQL、gRPC等不同协议,AI代理需要适配多种通信方式。
- 安全风险:直接暴露API密钥给AI代理存在泄露风险,且难以审计和撤销。
Open-Connector正是为解决这些问题而生——它充当AI代理与SaaS服务之间的“智能中间件”,统一处理认证、授权和协议转换。
二、快速上手:安装与使用
2.1 环境要求
- Node.js 18+
- TypeScript 5.0+
- 支持npm、yarn或pnpm
2.2 安装
bash
使用npm
npm install @oomol-lab/open-connector
或使用yarn
yarn add @oomol-lab/open-connector
或使用pnpm
pnpm add @oomol-lab/open-connector
2.3 基本使用示例
作为SDK使用(TypeScript)
typescript
import { OpenConnector } from '@oomol-lab/open-connector';
// 初始化连接器
const connector = new OpenConnector({
provider: 'google',
auth: {
type: 'oauth2',
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
redirectUri: 'http://localhost:3000/callback'
}
});
// 获取用户授权的日历事件
const events = await connector.call({
service: 'calendar',
action: 'listEvents',
params: {
timeMin: new Date().toISOString(),
maxResults: 10
}
});
console.log('Calendar events:', events);
通过CLI使用
bash
安装CLI工具
npm install -g @oomol-lab/open-connector-cli
列出支持的SaaS提供商
open-connector list-providers
发起API调用
open-connector call --provider slack --action sendMessage --params '{"channel":"general","text":"Hello from AI Agent!"}'
通过MCP(Model Context Protocol)集成
{
"mcpServers": {
"open-connector": {
"command": "npx",
"args": ["@oomol-lab/open-connector-mcp"],
"env": {
"OPEN_CONNECTOR_CONFIG": "./config.json"
}
}
}
}
2.4 配置示例
创建 open-connector.config.json:
{
"providers": {
"google": {
"auth": {
"type": "oauth2",
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly",
"https://www.googleapis.com/auth/gmail.readonly"
]
}
},
"slack": {
"auth": {
"type": "oauth2",
"scopes": ["channels:read", "chat:write"]
}
}
},
"policies": {
"rateLimit": {
"requestsPerMinute": 60
},
"allowedActions": ["read", "write"]
}
}
三、核心架构与亮点
3.1 架构设计
Open-Connector采用插件化网关架构,核心由四层组成:
- Provider Layer:抽象层,定义与SaaS服务交互的标准接口。每个Provider封装了特定服务的认证流程、API端点映射和错误处理逻辑。
- Auth Layer:统一认证中间件,支持OAuth 2.0(授权码模式、客户端模式)、API Key、JWT Bearer等多种认证方式,并提供令牌刷新、撤销功能。
- Protocol Layer:协议适配器,将内部标准请求转换为目标服务的REST/gRPC/GraphQL请求,并解析响应。
- Policy Layer:策略引擎,实现速率限制、权限校验、审计日志、请求/响应转换等横切关注点。
3.2 核心亮点
1. 1000+ SaaS开箱即用
项目维护了一个庞大的Provider Registry,覆盖了主流SaaS服务:
- 办公协作:Google Workspace、Microsoft 365、Slack、Notion、Asana
- 开发工具:GitHub、GitLab、Jira、Linear、Vercel
- 数据存储:Dropbox、Box、Google Drive、OneDrive
- 通讯:Twilio、SendGrid、Discord、Telegram
- 金融支付:Stripe、PayPal、Square
- 社交媒体:Twitter、LinkedIn、Facebook、Instagram
- 更多:Salesforce、HubSpot、Zendesk、Shopify...
2. 多协议支持
- SDK:TypeScript/JavaScript原生集成,提供类型安全的API调用。
- CLI:命令行工具,适合脚本化和自动化场景。
- MCP:Model Context Protocol支持,让AI模型直接调用SaaS服务。
- HTTP:REST API网关,任何HTTP客户端都可以使用。
- OpenAPI:自动生成OpenAPI规范文档,方便集成到API管理平台。
3. 智能认证管理
- 自动令牌刷新:OAuth令牌过期自动刷新,无需开发者干预。
- 多用户隔离:支持多租户场景,每个用户拥有独立的认证上下文。
- 安全存储:令牌加密存储,支持多种后端(内存、Redis、数据库)。
4. 细粒度权限控制
通过策略引擎,可以定义:
- 允许哪些AI代理访问哪些服务
- 每个代理的读写权限范围
- 调用频率限制
- 请求/响应数据脱敏规则
四、适用场景
4.1 智能助手开发
构建像AutoGPT、LangChain Agent这样的智能助手时,Open-Connector可以让AI代理直接调用用户的SaaS服务,例如:
- 查询日历安排会议
- 发送邮件和消息
- 创建和更新项目任务
- 分析CRM数据
4.2 企业自动化工作流
在企业内部,Open-Connector可以作为统一API网关,连接各种SaaS工具:
- 从Slack消息自动创建Jira工单
- 将Google Sheets数据同步到Salesforce
- 自动化邮件营销流程
4.3 低代码/无代码平台
为低代码平台提供标准化的SaaS连接器,让非技术用户也能轻松集成各种服务。
4.4 安全审计与合规
所有API调用都经过Open-Connector,提供完整的审计日志,满足SOC2、GDPR等合规要求。
五、同类项目对比
| 特性 | Open-Connector | n8n | Zapier | Hasura |
|---|---|---|---|---|
| 开源 | ✅ 完全开源 | ✅ 部分开源 | ❌ 商业产品 | ✅ 开源核心 |
| AI代理原生支持 | ✅ MCP、SDK、CLI | ❌ 无 | ❌ 无 | ❌ 无 |
| 认证网关 | ✅ 统一认证管理 | ❌ 需手动配置 | ✅ 内置 | ❌ 需额外配置 |
| SaaS数量 | 1000+ | 200+ | 5000+ | N/A |
| 协议支持 | REST/gRPC/GraphQL/MCP | REST | REST | GraphQL |
| 部署方式 | 本地/云端 | 自托管 | 云端 | 自托管/云端 |
| 策略引擎 | ✅ 内置 | ❌ 需插件 | ❌ 有限 | ❌ 无 |
| TypeScript原生 | ✅ | ❌ | ❌ | ✅ |
分析
- n8n:更适合传统工作流自动化,但对AI代理支持薄弱,需要额外开发。
- Zapier:SaaS集成数量最多,但商业产品、闭源、不支持自定义策略。
- Hasura:强大的GraphQL引擎,但主要面向数据库,不是SaaS连接器。
- Open-Connector:专为AI代理时代设计,同时兼顾传统集成需求,在认证管理和策略控制方面有明显优势。
六、技术细节与扩展性
6.1 自定义Provider
开发者可以编写自己的Provider插件:
typescript
import { Provider, AuthConfig, ApiDefinition } from '@oomol-lab/open-connector';
class MyCustomProvider implements Provider {
name = 'my-service';
auth: AuthConfig = {
type: 'apikey',
headerName: 'X-API-Key'
};
async call(api: ApiDefinition, params: any, context: CallContext) {
// 实现自定义API调用逻辑
const response = await fetch(https://api.my-service.com/${api.path}, {
method: api.method,
headers: {
'Authorization': Bearer ${context.accessToken},
'Content-Type': 'application/json'
},
body: JSON.stringify(params)
});
return response.json();
}
}
// 注册自定义Provider
connector.registerProvider(new MyCustomProvider());
6.2 认证流程示例(OAuth 2.0)
typescript
// 1. 获取授权URL
const authUrl = connector.getAuthorizationUrl('google', {
state: 'random-state-string',
scopes: ['calendar.readonly', 'gmail.send']
});
// 2. 用户授权后回调处理
const tokens = await connector.handleCallback('google', {
code: 'auth-code-from-redirect',
state: 'random-state-string'
});
// 3. 使用令牌调用服务
const result = await connector.call({
provider: 'google',
service: 'calendar',
action: 'listEvents',
context: { userId: 'user-123' }
});
七、项目现状与社区
- Stars: 205(截至撰写时)
- 语言: TypeScript(100%)
- 许可证: MIT
- 活跃度: 积极开发中,最近一周有代码提交
- 文档: 提供中英文README,API文档较为完善
八、总结与展望
Open-Connector定位精准:不是又一个API聚合工具,而是面向AI代理时代的认证与集成基础设施。它的核心价值在于:
- 降低集成成本:1000+服务的统一接入,让开发者从繁琐的认证工作中解放。
- 提升安全性:集中管理认证和权限,减少API密钥泄露风险。
- 面向未来:原生支持MCP协议,为AI代理与SaaS服务的深度集成铺平道路。
如果你是:
- 正在构建AI Agent应用的开发者
- 需要统一管理SaaS集成的企业架构师
- 对MCP生态感兴趣的技术探索者
那么Open-Connector值得你深入了解和尝试。