ProwlrBot/prowlrbot

GitHub: ProwlrBot/prowlrbot

一个自托管的 AI 代理平台,解决多渠道监控、自动化任务与团队协作中的碎片化与不一致问题。

Stars: 0 | Forks: 0

ProwlrBot Logo

ProwlrBot

Always watching. Always ready.
Your AI agent. Your machine. Your rules.

安装截图文档市场ROAR 协议赞助

Stars License Python Self-hosted Local models Channels PyPI v1.0.0

ProwlrBot 是一个**自托管 AI 代理平台**,运行在你的机器上,连接你使用的每个渠道,并在你睡眠时继续工作。 它监控网站变更。它运行定时任务。它在 Discord、Telegram、Slack 和 WhatsApp 上同时回答你的团队问题。它在战情室中协调多个 AI 代理,防止它们互相干扰。所有这些都使用**你的 API 密钥、你的模型、你的数据——除非你允许,否则 nothing leaves your network**。 没有订阅。没有供应商锁定。安装后永久拥有。 ## 它看起来像什么
**任务控制面板** 仪表盘 实时查看你的代理、渠道和系统健康状态 **聊天界面** 聊天 与你的代理对话,使用完整工具调用、代码执行和文件处理
**技能市场** 市场 浏览、安装和发布技能——PDF 处理、邮件、监控等
**网页监控** 监控 监控网站和 API 的变更,变动时提醒 **MCP 服务器集成** MCP 服务器 连接任意 MCP 服务器,工具即时出现并热重载
**渠道管理** 渠道 Discord、Telegram、Slack、WhatsApp、钉钉、飞书、iMessage —— 全部整合 **团队构建器** 团队构建器 设计多代理团队,分配专业角色与能力
More screenshots
Skills
Skills Manager
Workspace
Agent Workspace
Cron Jobs
Scheduled Tasks
Appearance
Theme Customization
Hardware Advisor
Hardware Advisor
## 为什么要用 ProwlrBot 有很多 AI 聊天机器人,但 ProwlrBot 不是聊天机器人。**它是一个会行动的代理。** | 传统方式 | 使用 ProwlrBot | |----------|----------------| | 每天手动打开 10 个标签页 | 代理监控所有页面,仅在有变更时通知你 | | 忘记跟进某事 | 安排一次即可,代理每天 9 点自动执行 | | 三个 Claude 终端互相干扰 | 战情室协调它们——文件锁、共享任务板、零冲突 | | 每月支付 50 美元的工具 | 自托管、模型无关、永久免费 | | 为 Discord、Telegram、Slack 分别构建机器人 | 一个代理,所有渠道,同一个大脑 | ### 核心原则 - **你的数据属于你。** API 密钥本地加密存储。聊天记录保存在你的机器上。完全使用本地模型运行(无需 API 密钥,数据不出网)。 - **它在你已有的地方交流。** 一个代理,8+ 个渠道。Discord、Telegram、Slack、WhatsApp、钉钉、飞书、iMessage、控制台。支持自定义渠道。 - **它随你成长。** 技能市场用于扩展能力。ROAR 协议用于跨机器与组织的代理间通信。 ## 安装前准备 请确保你已具备以下条件: | 要求 | 检查 | 说明 | |------|------|------| | **Python 3.10–3.13** | `python3 --version` | [python.org/downloads](https://python.org/downloads) | | **Git** | `git --version` | 必需——ProwlrBot 的依赖托管在 GitHub 上 | | **仅 macOS:Xcode 命令行工具** | `xcode-select --install` | 安装 `cryptography` 等编译依赖所需 | | **AI 提供商**(任选其一) | | OpenAI、Anthropic、Groq 或 [Ollama](https://ollama.ai)(免费,本地) | ## 安装 选择你的安装路径: ### 选项 1:从源代码安装(推荐) ``` git clone https://github.com/ProwlrBot/prowlrbot.git cd prowlrbot # 使用 uv 快速安装(推荐 — 数秒解析) pip install uv uv pip install -e "." # 或使用常规 pip(解析较慢,可能需数分钟) pip install -e "." ``` ``` prowlr init --defaults prowlr app ``` 打开 **http://localhost:8088** —— 你的代理已启动。 **添加你需要的组件:** ``` uv pip install -e ".[discord]" # Discord channel uv pip install -e ".[telegram]" # Telegram channel uv pip install -e ".[slack]" # Slack channel uv pip install -e ".[ai]" # Semantic memory + embeddings uv pip install -e ".[browser]" # Web monitoring + screenshots uv pip install -e ".[all]" # Everything at once ``` ### 选项 2:从源代码安装(开发模式) ``` git clone https://github.com/ProwlrBot/prowlrbot.git cd prowlrbot python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e "." prowlr init --defaults prowlr app ``` ### 选项 3:Docker(最简单,无需 Python) ``` cd docker cp .env.production.example .env # Edit with your API key docker compose -f docker-compose.production.yml up -d ``` 打开 **http://localhost:8088** —— 你的代理已启动。 首次登录:检查终端输出的生成管理员密码,或提前通过 `ADMIN_PASSWORD` 环境变量设置。
macOS / Apple Silicon 提示 ``` # 安装 Xcode 命令行工具(编译依赖所需) xcode-select --install # Apple Silicon(M1/M2/M3/M4)— 使用 MLX 获取最快本地模型 pip install 'prowlrbot[mlx]' # 如果 onnxruntime 构建失败: pip install --no-cache-dir onnxruntime ```
Windows 提示 ``` # 使用 PowerShell 或 Git Bash git clone https://github.com/ProwlrBot/prowlrbot.git cd prowlrbot python -m venv .venv .venv\Scripts\activate pip install -e "." prowlr init --defaults prowlr app ```
WSL 提示 - 克隆到 `/home/user/prowlrbot`,**不要**使用 `/mnt/c/...`(NTFS 性能差且可能导致问题) - 在项目内创建虚拟环境:`python3 -m venv .venv` - 如果遇到权限错误,请检查 WSL 文件系统是否被压缩 - 参考 [故障排除](docs/troubleshooting.md) 获取 WSL 专属问题
桌面应用(macOS / Windows / Linux) 从 [GitHub Releases](https://github.com/ProwlrBot/prowlrbot/releases) 下载或自行构建: ``` pip install 'prowlrbot[desktop]' # macOS(.app + DMG) bash packaging/build_macos.sh # Windows(.exe) powershell -File packaging/build_windows.ps1 # Linux(二进制 + AppImage) bash packaging/build_linux.sh --appimage ``` 系统托盘应用,支持一键启动。[完整指南 →](docs/guides/desktop-build.md)
### 安装后 — 前 5 分钟 ``` # 1. 设置 API 密钥(使用 Ollama 可跳过) prowlr env set ANTHROPIC_API_KEY sk-ant-your-key # 或:prowlr env set OPENAI_API_KEY sk-your-key # 或:prowlr env set GROQ_API_KEY gsk_your-key # 2. 在浏览器中打开 http://localhost:8088 # 3. 使用终端输出的管理员凭证登录 # (或在启动前设置 ADMIN_PASSWORD 环境变量) # 4. 在聊天页面发送第一条消息 # 5. 探索:仪表板、技能、监控、战情室 ``` **遇到问题?** 参考 [故障排除指南](docs/troubleshooting.md),涵盖常见错误及逐步修复方法。 ## 架构 ``` YOU │ ┌──────────┼──────────┐ ▼ ▼ ▼ Discord Telegram Slack + 5 more channels │ │ │ └──────────┼──────────┘ ▼ ChannelManager queue + debounce (4 workers/channel) │ ▼ AgentRunner session management │ ▼ ProwlrBotAgent (ReAct) reasoning loop ┌────┬────┬────┬────┐ ▼ ▼ ▼ ▼ ▼ Tools Skills MCP Memory ROAR capabilities │ │ │ │ │ └────┼────┼────┼────┘ ▼ ▼ ▼ ┌───────────────────────┐ │ Smart Router │ cost × w₁ + speed × w₂ + avail × w₃ ├───────────────────────┤ │ OpenAI │ Anthropic │ │ Groq │ Z.ai │ │ Ollama │ llama.cpp │ │ MLX │ Azure │ └───────────────────────┘ ``` ## 功能特性 ### 多代理战情室 核心特性:多个 AI 代理实时协作而不会互相干扰。 ``` ╔══════════════════════════════════════════════════════════════╗ ║ MISSION BOARD ║ ╠════╦══════════════════════╦═══════════╦══════════════════════╣ ║ ID ║ Task ║ Agent ║ Status ║ ╠════╬══════════════════════╬═══════════╬══════════════════════╣ ║ 1 ║ Build auth API ║ backend ║ In Progress ║ ║ 2 ║ Login page ║ frontend ║ In Progress ║ ║ 3 ║ Write auth tests ║ tester ║ Waiting (locked) ║ ║ 4 ║ API documentation ║ -- ║ Available ║ ╚════╩══════════════════════╩═══════════╩══════════════════════╝ ``` **13 项协调工具** — 如 `check_mission_board`、`claim_task`、`lock_file`、`share_finding` 等。
快速战情室设置 ``` # 1. 启动中心 cd prowlrbot && PYTHONPATH=src python3 -m prowlrbot.hub.bridge # 2. 在项目的 .mcp.json 中: { "mcpServers": { "prowlr-hub": { "command": "python3", "args": ["-m", "prowlrbot.hub"], "cwd": "/path/to/prowlrbot", "env": { "PYTHONPATH": "/path/to/prowlrbot/src", "PROWLR_AGENT_NAME": "frontend", "PROWLR_CAPABILITIES": "react,typescript,css" } } } } # 3. 重启 Claude Code,然后: # "调用 check_mission_board 和 get_agents 查看战情室。" ``` 跨机器支持通过 HTTP 桥接 + Tailscale/Cloudflare。[完整指南 →](docs/guides/cross-network-setup.md)
### 智能模型路由 自动根据评分选择最佳提供者: ``` score = cost × w₁ + speed × w₂ + availability × w₃ ``` | 提供商 | 启用方式 | 成本 | |--------|----------|------| | OpenAI | `OPENAI_API_KEY` | $$ | | Anthropic | `ANTHROPIC_API_KEY` | $$ | | Groq | `GROQ_API_KEY` | $ | | Z.ai | `ZAI_API_KEY` | $$ | | Ollama | 自动本地检测 | 免费 | | llama.cpp | `pip install 'prowlrbot[llamacpp]'` | 免费 | | MLX | `pip install 'prowlrbot[mlx]'`(Apple Silicon) | 免费 | 如果某个提供者失败会自动降级。无需配置——只需设置 API 密钥,ProwlrBot 会自动发现。 ### 9 个通信渠道
Discord
内置
Telegram
内置
Slack
设置指南
WhatsApp
设置指南
钉钉
内置
飞书/Lark
内置
iMessage
仅 macOS
控制台
默认
一个代理大脑,同时处理所有渠道。可自定义渠道以支持其他功能。[渠道指南 →](docs/guides/channels.md) ### 技能市场 Marketplace 浏览、安装和发布技能以扩展代理能力: ``` prowlr market search "monitor" # Find skills prowlr market install site-monitor # Install one prowlr market seed # Load all official listings + bundles ``` **11 个官方技能** — 晨间简报、智能提醒、网站监控、竞争对手观察、发票催促等。**6 个精选捆绑包** — 安全起步、全栈开发、数据与分析、文档专业、日常必备、业务运营。 通过控制台 UI 或 CLI 提交你自己的技能。[市场指南 →](docs/guides/marketplace.md) ### 网页监控与定时任务 ``` # 监控网站变更 prowlr monitor add https://example.com/pricing --interval 1h # 安排自主代理任务 prowlr cron add "Check email and summarize" --schedule "0 9 * * *" prowlr cron add "Monitor competitors" --interval 30m ``` Monitoring 每个定时任务可以指定**不同于全局默认**的模型——使用轻量模型进行简洁摘要,仅在需要推理时使用高性能模型。在任务面板中设置 `model_override` 或使用 JSON(`"anthropic::claude-haiku-4-5"`)。 ### ROAR 协议 **一种协议,任意代理。** ProwlrBot 支持 [ROAR](docs/protocols/roar-spec-v1.0.md) —— 开源代理通信协议,桥接 MCP、A2A 和 ACP。 ``` Layer 5: Stream Real-time events (SSE, WebSocket) Layer 4: Exchange ROARMessage — 7 intent types, HMAC signing Layer 3: Connect HTTP | WebSocket | stdio | gRPC Layer 2: Discovery Hub + Cache + SQLite directory Layer 1: Identity W3C DIDs (did:roar, did:key, did:web) ``` ``` # 检查任意 ROAR 代理 curl -s https://app.prowlrbot.com/roar/health curl -s https://app.prowlrbot.com/roar/card | jq . ```
ROAR 示例 ``` # 向其他代理发送任务 from prowlrbot.protocols.sdk import AgentIdentity, MessageIntent from prowlrbot.protocols.sdk.client import ROARClient identity = AgentIdentity(display_name="my-agent", capabilities=["code-review"]) client = ROARClient(identity, signing_secret=os.environ["ROAR_SHARED_SECRET"]) response = await client.send_remote( to_agent_id="did:roar:agent:reviewer-abc123", intent=MessageIntent.DELEGATE, content={"task": "Review main.py"}, ) ``` `examples/roar/` 中提供三个可运行示例: 1. **基础消息交换** — 签名、发送、验证 2. **MCP 桥接** — 通过 ROAR 翻译 MCP 工具调用 3. **多代理委派** — 协调器发现并委派给专用代理
[ROAR 规范 →](docs/protocols/roar-spec-v1.0.md) • [使用指南 →](docs/guides/roar-usage.md) • [PyPI 包 →](https://pypi.org/project/roar-protocol/) ### 安全平台(v3.0) ProwlrBot 包含一个完整的漏洞赏金和安全运营平台,采用工具优先、AI 次之的架构。 ``` Bash pipelines → JSONL → /api/ingest → FindingStore → AI triage → Reports ``` **8 个流水线** — 侦察、URL 收集、漏洞扫描、OSINT、情报、监控、范围、维护。每个流水线通过 stdin/stdout 链式调用 Go 安全二进制文件(subfinder、httpx、nuclei、katana、dalfox、trufflehog...),并以结构化 JSONL 形式 POST 到核心。 **6 个 AI 代理** — 仲裁(分类)、排序(优先级)、幽灵(漏洞利用链)、书记(报告)、密码(认证分析)、军需(协调)。AI 读取工具输出,**不直接运行工具**。 **控制台 V2** — 三栏操作中心:左侧导航栏、中间工作区、右侧证据面板(包含 5 个标签页:发现、证据、HTTP、终端、笔记)。 **从 OpenClaw 或 Hermes 迁移:** ``` prowlr import-from openclaw --dry-run # preview prowlr import-from openclaw # migrate SOUL, memory, skills, channels prowlr import-from hermes --dry-run # same for Hermes Agent ``` ### v1.0.0 — 新功能
已发布 35 项功能 **安全与可信** - 细粒度工具权限控制与文件沙箱 - 代理安全护栏——循环检测、令牌预算、指数退避 - 成本仪表板——实时跟踪、预算限制、模型降级 - 安全审计接口 (`GET /api/health/security-audit`) 覆盖 OWASP Top 10 - 已修复代码库中 23 个安全漏洞 **智能** - 基于向量的语义记忆检索(本地 ONNX 嵌入) - RAG 流水线——支持 PDF、DOCX、TXT、代码文件,智能分块 - 代理模板——11 个预设角色(DevOps、SRE、研究、社区经理等) - 内存可视化 API——时间线、统计、语义检索、压缩 **自动化** - Webhook 网关——接收 GitHub、Stripe 或任意 HTTP 源的触发 - 高级网页监控——视觉差异引擎与智能告警过滤 - Huginn 与 n8n 迁移工具——`prowlr import-from` CLI **基础设施** - 一键部署 Docker Compose 生产环境 - 桌面应用打包(macOS DMG、Windows EXE、Linux AppImage) - 插件与中间件扩展系统 - A2A 协议客户端,实现跨代理任务委派 **控制台 UI** - 任务控制中心重新设计,状态栏、命令面板(Ctrl+K)、上下文面板 - 成本仪表板、跟踪查看器、健康仪表板 - 移动端 PWA 响应式布局,带底部标签栏 - 首次运行设置向导 **AgentVerse**([独立应用](https://github.com/ProwlrBot/agentverse)) - 代理协作游戏化——区域、头像、经验值、公会、竞技场、交易 - 实时 WebSocket 更新,使用 Prowlr 设计系统 - 通过 `PROWLRBOT_URL` 连接任意 ProwlrBot 实例 [完整更新日志 →](CHANGELOG.md)
### MCP 集成 连接任意 Model Context Protocol 服务器——工具即时出现并热重载: ``` { "mcp": { "servers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"] } } } } ``` MCP ### 本地模型(无需云端) 在本地运行所有组件,无需 API 密钥,数据不出本地: | 后端 | 适用场景 | 安装 | |------|----------|------| | **Ollama** | 跨平台,最简单 | [ollama.ai](https://ollama.ai) | | **llama.cpp** | GGUF 模型,CPU/GPU | `pip install 'prowlrbot[llamacpp]'` | | **MLX** | Apple Silicon(M1-M4) | `pip install 'prowlrbot[mlx]'` | ProwlrBot 启动时自动检测 Ollama。无需配置。 ### 桌面应用 macOS、Windows、Linux 原生系统托盘应用。一键启动,无需终端。 ``` # 为你的平台构建 bash packaging/build_macos.sh # .app + DMG powershell packaging/build_windows.ps1 # .exe bash packaging/build_linux.sh --appimage # AppImage ``` 紫色圆圈 = 空闲。绿色 = 活跃。红色 = 错误。[构建指南 →](docs/guides/desktop-build.md) ## 项目结构 <_BLOCK_23/> ## 文档 | 指南 | 学习内容 | |------|----------| | [渠道设置](docs/guides/channels.md) | 连接 Discord、Telegram、钉钉、飞书、iMessage、QQ | | [Slack 设置](docs/guides/slack-setup.md) | 使用 Slack Bolt + Socket Mode 的自定义渠道 | | [WhatsApp 设置](docs/guides/whatsapp-setup.md) | WhatsApp Business Cloud API + Webhooks | | [提供商标配](docs/guides/providers.md) | OpenAI、Anthropic、Groq、Ollama、本地模型 | | [技能指南](docs/guides/skills.md) | 启用、创建、发布技能 | | [MCP 设置](docs/guides/mcp-setup.md) | 连接文件系统、GitHub、Postgres MCP 服务器 | | [市场](docs/guides/marketplace.md) | 浏览、安装、发布、技能积分系统 | | [监控](docs/guides/monitoring.md) | 监控网站和 API 的变更 | | [定时任务](docs/guides/cron-jobs.md) | 调度自主代理任务 | | [桌面构建](docs/guides/desktop-build.md) | 构建 DMG/EXE/AppImage 桌面应用 | | [部署](docs/guides/deployment.md) | Docker、Fly.io、systemd、nginx | | [ROAR 协议](docs/protocols/roar-spec-v1.0.md) | 代理通信规范——身份、发现、流式传输 | | [跨网络](docs/guides/cross-network-setup.md) | 跨机器连接代理 | | [记忆系统](docs/guides/memory-system.md) | 分层记忆、向量检索、RAG | | [CLI 参考](docs/guides/cli-reference.md) | 所有命令与参数 | | [故障排除](docs/troubleshooting.md) | WSL、pip、端口、MCP、桌面应用修复 | [完整文档索引 →](docs/README.md) ## 生态系统 | 项目 | 描述 | |------|------| | [**ProwlrBot**](https://github.com/ProwlrBot/prowlrbot) | 核心代理平台(当前位置) | | [**ROAR 协议**](https://github.com/ProwlrBot/roar-protocol) | 代理通信标准 — `pip install roar-protocol` | | [**市场**](https://github.com/ProwlrBot/prowlr-marketplace) | 技能与代理市场 | | [**AgentVerse**](https://github.com/ProwlrBot/agentverse) | 代理协作游戏化世界——区域、头像、经验值、公会、竞技场、交易 | | [**文档**](https://github.com/ProwlrBot/prowlr-docs) | 集中化文档 | ## 贡献 欢迎贡献!请参考 [CONTRIBUTING.md](CONTRIBUTING.md) 了解提交规范与 PR 指南。 **首次参与的好方式:** - 为项目加星——帮助更多人发现它 - [提交 Issue](https://github.com/ProwlrBot/prowlrbot/issues) —— Bug、问题、想法 - [发起讨论](https://github.com/ProwlrBot/prowlrbot/discussions) —— 分享你的设置,询问某项功能如何工作 - [构建技能](docs/guides/skills.md) —— 发布到市场 - 传播信息——口碑传播是最快的增长方式 ## 支持项目 ProwlrBot 免费、开源,并将保持这一状态。如果它为你节省了时间,请考虑赞助。

GitHub Sponsors   Buy Me a Coffee   Ko-fi   Open Collective

## 许可证 ProwlrBot 在 [Apache 2.0 许可证](LICENSE) 下开源。

ProwlrBot — Always watching. Always ready.
Built by kdairatchi

文档博客讨论问题市场贡献赞助

标签:AI 代理平台, AI风险缓解, Discord, llama.cpp, LLM评估, MLX, Ollama, Python, SEO, Slack, Telegram, War Room, WhatsApp, 事件协调, 变更检测, 团队协作, 多渠道通信, 定时任务, 开源, 持续运行, 无后门, 服务枚举, 本地模型, 消息通知, 监控平台, 网站监控, 自主 AI 代理, 自动化平台, 自托管, 请求拦截, 逆向工具