mcpField
A
AI Monk Index

AI Monk Index

远程服务
aniccaai.com生产力2今天更新

关于 AI Monk Index

Anicca 是帮助用户建立习惯并按时起床的行为改变 Agent,包含 iOS 应用和语音唤醒 SaaS。仓库提供可自托管的唤醒服务后端,使用电话语音交互并通过位置更新检测迟到。

主要功能

  1. 01语音电话唤醒
  2. 02迟到检测与升级提醒
  3. 03基于 OwnTracks 的位置更新
  4. 04iOS 习惯管理应用
  5. 05可自托管的唤醒后端

适用场景

  1. 01按设定时间通过电话叫醒用户
  2. 02检测用户是否可能赶不上日程
  3. 03通过位置更新判断用户是否已离家

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://aniccaai.com/.netlify/functions/ai-monk-mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

→ 已迁移至 Daisuke134/life-manager

Anicca — 行为改变 Agent + 起床 SaaS

主动式 Agent,帮助人们打破有害模式,养成更好的习惯。两个产品界面共用一套代码库:

产品界面内容状态
iOS 应用引导设置 → 13 种问题类型 → 定时提醒 → 单屏卡片式 UX已在 App Store 上线(1.9.x)
起床 SaaS$9.99/月 — AI 每天早晨给你打电话,若你快要迟到则升级提醒已在 https://aniccaai.com/alarm 上线

起床 SaaS 使用真人般的语音 Agent(“Anicca”),通过 PSTN 与你对话,而不是播放录制好的铃声。它了解你的日历、家庭住址和工作日上班时间;如果你落后于日程,它会持续拨打电话,并可选择向你的经理发送一封報連相(情况提醒)邮件。


仓库结构

路径内容
aniccaios/iOS 应用(Swift / SwiftUI,iOS 15+)
apps/api/Node.js 移动端后端(Railway)
apps/landing/营销网站 + 结账(Netlify,aniccaai.com)
apps/alarm-backend/起床 SaaS(我们刚刚开源的部分)
apps/alarm-backend/bridge/Gemini Live ⇄ Twilio Media Streams WebSocket 桥接服务(Node)
apps/alarm-backend/scheduler/每分钟闹钟 + 每 15 分钟检测迟到的 cron(Python,Railway worker)
maestro/E2E 测试流程

起床 SaaS 的工作方式

User signs up at aniccaai.com/alarm
        ↓ Stripe webhook
Supabase `subscriber_profiles` row created (phone, wake_time, tz, name)
        ↓
scheduler/alarm_scheduler.py  (every 60s, multi-tenant)
        ↓  it's wake_time in user's tz, and not fired today
scheduler/wake_loop.py        →  POST /dialout on bridge
        ↓
bridge/server.js              →  Twilio Calls API
        ↓
Twilio → user's phone → bridge WebSocket → Gemini Live (Charon voice)
        ↓
Real two-way conversation until user is verifiably awake.

Then, every 15min from 6:00-23:00 local:
scheduler/saas_lateness.py    →  reads gcal + OwnTracks location
        ↓  ETA - now < buffer
Calls again with lateness persona, optionally emails stakeholders.

OwnTracks 设置(检测迟到所必需)

迟到检测循环需要知道用户当前的位置。我们使用 OwnTracks——开源的位置发布工具——因为它尊重隐私(数据由你掌控),且会考虑电池消耗。

在用户手机上进行一次性设置
  1. 安装 OwnTracks

  2. 配置 HTTP 发布(设置 → 偏好设置 → 连接)

    • 模式:HTTP
    • URL:https://<your-anicca-alarm-backend>.up.railway.app/ingest/owntracks?token=<USER_TOKEN>
      • 注册后可从 aniccaai.com/alarm/setup 获取令牌。
    • 标识 → DeviceID:任意值(例如 iphone)
    • 标识 → TrackerID:2 个字符(例如 DA)
  3. 重要:将模式设为 Move,而不是 Significant

    • 打开 OwnTracks → ⓘ 图标 → 模式选择器
    • 选择 Move
    • 原因:根据 OwnTracks 文档, Significant 模式下,设备静止时不会发布任何信息。 如果用户在床上睡觉,数小时内都不会发送位置更新—— Anicca 看到的就会是过时的位置,无法判断用户是否已离家。 Move 模式每 5 分钟或每移动 100 m 发布一次(以先发生者为准), 这是迟到检测循环所需的功能。耗电量大致相当于导航应用,因此我们建议用户开启低电量模式例外设置。
  4. 授予始终允许的位置权限(iOS:“始终允许”)

    • 否则,iOS 会在后台悄悄限制发布频率。
  5. 确认功能正常

    • 前往 aniccaai.com/alarm/setup → “Last seen”时间戳应在你拿着手机走动后的 5 分钟内刷新。
为什么使用 HTTP 而非 MQTT

我们仅支持 HTTP 发布方式(运维更简单,无需运行代理)。未来会支持 MQTT。

为什么不使用 Apple Find My / Significant Location Changes
  • Find My 没有公开 API。
  • iOS Significant Location Changes API 只会在移动 500 m 以上且经过 5 分钟后触发—— 用户躺在床上时毫无用处。

自托管

如果你想为自己或一小群人运行自己的起床 Agent,这是一种低成本方案。

必需服务(免费或费用极低的套餐)
服务用途免费套餐?
Twilio电话号码 + 外呼$1/mo 号码 + ~$0.015/min
Google AI StudioGemini Live API是(每个密钥有配额)
Supabase订阅者数据库是
Railway桥接服务 + 调度器托管$5/mo 爱好者套餐
Stripe计费(如果是为自己自托管,可跳过)—
环境变量

在 Railway 的 apps/alarm-backend/bridge 服务和 apps/alarm-backend/scheduler 工作进程中设置:

# Voice + LLM
GEMINI_API_KEY=...
GEMINI_LIVE_MODEL=gemini-2.5-flash-native-audio-preview-09-2025
GEMINI_VOICE=Charon

# Telephony
TWILIO_ACCOUNT_SID=AC...
TWILIO_AUTH_TOKEN=...
TWILIO_PHONE_NUMBER=+1...

# Subscriber DB
SUPABASE_URL=https://<project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=eyJ...   # service role, not anon

# Stakeholder ETA (lateness loop only)
GOOGLE_API_KEY=...                  # Google Maps Directions API
[email protected]         # which Google account holds the user's calendar
GOG_KEYRING_PASSWORD=...

# Optional integrations
COMPOSIO_API_KEY=...                # 1-click calendar OAuth
SLACK_BOT_TOKEN=xoxb-...            # ops alerts
SLACK_CHANNEL_ID=C...

# Networking
PORT=8787
PUBLIC_BASE_URL=https://<railway-domain>
部署
# bridge (Node)
cd apps/alarm-backend/bridge
railway link
railway up

# scheduler (Python worker — runs every minute via Procfile)
cd ../scheduler
railway link
railway up

Supabase 架构和 Stripe webhook 位于线上 aniccaai 后端;如果你要独立自托管,我们会另行发布精简版架构。


技术栈

  • iOS:Swift、SwiftUI、RevenueCat、Mixpanel
  • 语音:Pipecat + Gemini Live(原生音频 S2S)
  • 电话服务:Twilio Media Streams
  • 后端:Node.js(桥接服务)、Python(调度器)、Express、Railway、Supabase
  • 测试:Maestro(端到端)

状态

组件状态
iOS 应用已上线(1.9.x)
闹钟 SaaS已上线,自 2026-05-23 起有付费客户
迟到循环已上线,需要 OwnTracks Move 模式(见上文)
自托管文档精简版(本文件)——欢迎通过 PR 改进

许可证

代码采用 OSS 许可,供大家学习和自托管。商业用途、商标和“Anicca”名称均予以保留。发布后请参阅 LICENSE。

联系方式

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。