aarav-kapoor-cs/watchagent

GitHub: aarav-kapoor-cs/watchagent

WatchAgent是一个基于FastAPI和SQLite的天气监控与AI助手。

Stars: 0 | Forks: 0

# WatchAgent — 天气监控与AI助手 ## 局限性与未来工作 这是一个故意设计成小型的单容器服务。已知的权衡和 生产版本将解决的问题: - **单个SQLite连接在锁后面。** 检查线程和API共享 一个由互斥锁保护的连接。WAL模式保持读取和写入不会相互阻塞,但所有访问仍然是串行的。对于每几分钟检查三个城市来说足够好;高吞吐量部署将转向连接池或服务器数据库(Postgres)。 - **进程内检查器,不是独立的工人。** 检查器作为API进程内的守护线程运行(通过FastAPI生命周期启动)。这使部署成为一个容器,但检查器和API不能独立扩展,并且`stop()`信号不会在关闭时加入线程。 - **每个城市的基线是手动设置的。** `temp_std` / `wind_std` 在 `config.py` 中的值是合理的手动选择值,而不是从数据中学习得到的。未来的版本可以从存储的历史数据中推导它们并按季节调整。 - **事件去重基于时间戳。** 对于相同的 `observed_at` 的相同事件被抑制,但缓慢变化的状态仍然可以针对每个新的观察结果发出一个事件。冷却窗口或状态机(在转换时触发,在正常化时清除)将是下一个改进。 - **API没有认证/速率限制。** 端点是只读的且未经认证的,这对于本地演示来说是可以的,但不适合公开曝光。 - **天气代码转换被存储但尚未检测。** 展示有意义的WMO转换(晴朗→雨/雪/雾/风暴)是下一个自然检测器。
标签:AI助手, API安全, AV绕过, Docker, FastAPI, JSON输出, NIDS, PostgreSQL, SQLite, WAL模式, WMO天气代码, 事件检测, 互斥锁, 天气监测, 季节性调整, 安全防御评估, 容器化, 数据去重, 数据同步, 数据库连接池, 线程安全, 认证, 请求拦截