
](https://www.npmjs.com/package/archer-wizard)   
球场
大多数代理人仍然是被动的。他们等待提示,然后消失。
Archer为他们提供了一个现场活动层。
它插入您的本地代理设置,实时查看您的Supabase数据,并在发生有意义的事情时触发工作流。没有仪表板。没有云中继。没有账号。只有你的基础设施、你的webhook、你的代理。
为什么感觉不一样
Real-time
Listen for inserts, updates, and deletes as they happen.
Agent-native
Injects MCP config and usage rules directly into supported agents.
Local-first
Persistent daemon, local state, your own Supabase credentials.
快速入门
npx archer-wizard@latest在项目文件夹中运行它。阿彻将:
- 扫描项目中的Supabase凭据。
- 检测您计算机上安装的AI代理。
- 将其MCP服务器注入到他们的配置中。
- 教这些特工何时以及如何调用Archer工具。
如果你想显式传递凭据:
SUPABASE_URL=https://xyz.supabase.co \
SUPABASE_SERVICE_ROLE_KEY=your-key \
npx archer-wizard@latest代理人能做什么
安装后,您可以用简单的英语与您的代理交谈:
watch the users table and fire https://your-webhook.com on new inserts
monitor orders where status equals shipped
show all active watches
stop watching the payments table在幕后,Archer展示了三个MCP工具:
archer_watch
archer_watch({
table: string,
event?: 'INSERT' | 'UPDATE' | 'DELETE' | '*',
filter?: string,
webhookUrl: string
})archer_unwatch
archer_unwatch({
watchId: string
})archer_watches
archer_watches()运作原理
flowchart TD
A["Agent asks for a watch"] --> B["Archer MCP tool receives the request"]
B --> C["Background daemon is started or reused"]
C --> D["Supabase Realtime subscription is attached"]
D --> E["Database event arrives"]
E --> F["Webhook payload is posted"]
F --> G["Your automation or AI workflow runs immediately"]守护进程独立于代理会话运行,保持监视活动,并在重新启动后从本地状态还原它们。
支持的代理
| 代理 | 配置路径 |
|---|---|
| 光标 | ~/.cursor/mcp.json |
| 克劳德代码 | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 风帆冲浪 | ~/.codeium/windsurf/mcp_config.json |
| OpenCode | ~/.config/opencode/opencode.json |
| 反重力 | ~/.config/antigravity/config.json |
支持的活动
| 事件 | 含义 |
|---|---|
INSERT | 插入新行 |
UPDATE | 现有行已更改 |
DELETE | 行已删除 |
* | 查看所有行级事件 |
filter | 与Supabase筛选器语法的精确匹配 |
Webhook有效载荷
每个匹配的事件都会像这样发布JSON:
{
"archer": {
"watchId": "550e8400-e29b-41d4-a716-446655440000",
"event": "INSERT",
"table": "users",
"firedAt": "2025-03-16T09:15:00.000Z"
},
"data": {
"id": "row-id",
"email": "user@example.com",
"created_at": "2025-03-16T09:15:00.000Z"
}
}每个请求的标题:
| 标题 | 值 |
|---|---|
Content-Type | application/json |
User-Agent | Archer/ |
X-Archer-Event | INSERT, UPDATE,或 DELETE |
失败的交付将重试3次,延迟2秒。
凭证发现
Archer首先检查这些文件:
.env.local
.env
.env.development
.env.production它自动理解常见的密钥别名:
| 凭证 | 别名 |
|---|---|
| suabase URL | SUPABASE_URL, NEXT_PUBLIC_SUPABASE_URL, VITE_SUPABASE_URL |
| 服务角色键 | SUPABASE_SERVICE_ROLE_KEY, SUPABASE_SERVICE_KEY |
| 匿名密钥 | SUPABASE_ANON_KEY, NEXT_PUBLIC_SUPABASE_ANON_KEY, VITE_SUPABASE_ANON_KEY |
如果缺少env文件,Archer会重新扫描代码库以查找硬编码的Supabase值。
运行时模型
agent tool call
-> local MCP server
-> Archer daemon
-> Supabase Realtime
-> webhook delivery
-> your workflow持久性细节:
- 守护进程主机:
127.0.0.1:7481 - 状态文件:
~/.archer/state.json - 手表在MCP重启后幸存下来
- 机器重启后手表会恢复
需求
- Node.js 18+
- 至少安装了一个受支持的AI代理
- 在要查看的表上启用实时功能的Supabase项目
路线图
| 来源 | 状态 |
|---|---|
| Supabase | 可用 |
| PostgreSQL(直接) | 即将推出 |
| MySQL即将推出 | |
| GitHub活动 | 即将举行 |
| 条纹网钩 | 即将推出 |
建筑
深潜: 建筑.md
该文件涵盖:
- 守护进程IPC
- 地方州持久性
- MCP工具实施
- 向导注入流
哲学
Archer围绕一个简单的想法构建:
代理人不应该为现实投票。现实应该打断他们。
没有托管控制平面。没有账户系统。没有专有的事件代理。Archer住在你的机器上,使用你的团队已经使用的工具。
