Panther
PantherApex/Panther加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你正在赶一个重要的技术文档。屏幕角落,一个 Telegram 机器人在安静地工作——帮你抓取最新的行业资讯、整理文件夹里的 PDF 报告、每隔半小时自动向 Slack 频道推送一份系统监控摘要。
这一切都不是你手动操作的。你只是给它发了一条消息:"帮我关注一下最近关于 AI Agent 的最新进展,有意思的整理一下。"
这就是 Panther——一个跑在你本地机器上的 Rust 写成的 AI Agent 守护进程。它不像 ChatGPT 需要打开网页,也不像某些商业 AI 助手需要把数据交给第三方。它就住在你的电脑里,用你习惯的聊天工具( Telegram、Discord、Slack、邮件甚至 Matrix)和你对话,调用本地或云端的大模型,完成各种实际任务。

2026 年初,大模型 API 已经非常便宜和普及,但隐私问题始终是绕不开的痛点。把工作对话、个人笔记、系统操作记录发给 OpenAI 或 Anthropic,并不是每个人都愿意接受的事情。
与此同时,开源本地推理引擎 Ollama 也在快速发展,让在消费级硬件上跑 7B-70B 参数模型成为可能。但ollama 本身只是一个 API 服务器,没有 Agent 能力——它不知道该执行什么操作,也不知道怎么把结果发给你。
Panther 的作者看准了这个空白:做一个自托管的 AI Agent 核心,一头接大模型(本地 Ollama 或任意云端 API),另一头接用户日常的通讯工具。2026 年 3 月 5 日,项目在 GitHub 上线,采用 MIT 许可证,主要分支为 main。
Panther 选择了 Rust 作为唯一开发语言,这在这个赛道上并不常见。主流 AI Agent 项目(如 LangChain Agents、AutoGPT、AgentGPT)几乎清一色用 Python。Rust 带来了几个显著优势:
代价也很明显:开发门槛高,社区贡献者相对较少。项目目前仅 66 Stars、10 Forks,反映出 Rust 在 Agent 领域的影响力还有待积累。
Panther 支持 6 种消息通道,这是它区别于大多数自托管 Agent 的核心差异化能力:
| 通道 | 技术实现 | 典型场景 |
|---|---|---|
| Telegram | teloxide 库 | 日常随身用,手机打字最方便 |
| Discord | Serenity WebSocket | 团队协作,技术社区 |
| Slack | Socket Mode | 企业环境,集成现有工作流 |
| IMAP/SMTP + TLS | 低优先级通知,处理异步任务 | |
| Matrix | Homeserver Access Token | 开源社区,去中心化协议 |
| CLI | rustyline REPL | 本地调试,终端重度用户 |
每条消息经过 InboundMessage 标准化后,进入统一的 MessageBus(基于 Tokio MPSC Channel)。不同用户、不同平台的消息完全解耦,Agent 核心不需要知道消息来自哪里。

Panther 的核心推理逻辑在 crates/agent/src/loop.rs,每个对话回合的工作流程:
Iteration 0: 构建上下文
- 系统提示(操作系统、人物设定、用户 profile)
- 最近 N 条历史消息(memory_window,默认 100)
- 所有工具定义(内置 + MCP 扩展)
↓
LLM 调用 → 若无工具调用 → 输出文本,结束循环
↓
工具执行(ToolRegistry)
- 结果截断至 tool_result_truncation 字符(默认 500)
- 作为 tool role 消息追加到上下文
Iteration 1...N(最多 max_iterations=40 次)
这个结构简洁清晰,借鉴了 Anthropic 的 Tool Use 规范。所有 12 个 LLM Provider 共享同一个推理循环,切换模型只需要改一行配置。
Panther 内置了 14 类工具,覆盖了 Agent 场景中 90% 的常见需求:
sh -c(Linux/macOS)或 PowerShell(Windows)执行命令,带静态危险命令黑名单。read_file、write_file、edit_file(安全单次替换)、list_dir,支持 ~/ 相对路径。spawn 工具派生独立的后台 Agent 实例,用于长时间运行任务,主 Agent 不被阻塞。
这个功能非常有创意——Panther 内置了一个 Activity Journal(活动日志),通过 activity-tracker crate 调用操作系统原生文件监控 API(Linux: inotify, macOS: FSEvents, Windows: ReadDirectoryChangesW),记录每一次文件创建、修改、删除、重命名事件,并支持对文本、PDF、DOCX 文件内容自动提取。
有了这个能力,Agent 可以回答"我昨天下午三点那个文档改了什么?"这类问题——这是大多数 AI Agent 完全无法做到的事情。
Panther 的 Provider 层设计非常优雅:所有 Provider(从 Ollama 到 Google Gemini)都实现同一个 ProviderInterface async trait,共享完全相同的请求/响应序列化层。
| Provider | 配置 Key | 备注 |
|---|---|---|
| Ollama | ollama_host/model | 本地推理,默认 Provider |
| OpenAI | openai_key | GPT-4o 等 |
| Anthropic | anthropic_key | Claude 全家桶 |
| OpenRouter | openrouter_key | 一 Key 访问多模型 |
| Gemini | gemini_key | |
| Groq | groq_key | 快速推理 + Whisper |
| DeepSeek | deepseek_key | |
| xAI | xai_key | Grok |
| Mistral | mistral_key | |
| TogetherAI | together_key | |
| Perplexity | perplexity_key | 带内置搜索 |
| Cohere | cohere_key | Command 系列 |
切换 Provider 只需修改 active_provider 配置并重启,二进制文件本身不需要重新编译。
cargo build --release,这对非 Rust 开发者有一定门槛。llama3、mistral、qwen2.5 等可靠模型。rm -rf /、mkfs 等),但项目文档也坦承"这不是沙箱"。panther/
└── crates/
├── daemon/ # 入口:panther 二进制 + panther-install 安装向导
├── agent/ # 核心推理循环、会话管理、工具调度、子 Agent
├── bot/ # 消息通道适配器(TG/Discord/Slack/Email/Matrix/CLI)
├── providers/ # LLM Provider 实现 + 统一路由器
├── memory/ # 持久化存储:profile、历史、会话合并
├── mcp/ # Model Context Protocol 客户端(stdio JSON-RPC 2.0)
├── skill-runner/ # 自定义技能脚本的沙箱子进程执行器
├── context-engine/ # 上下文组装层(可扩展)
├── activity-tracker/ # 文件系统监控 + Activity Journal
└── shared/ # 公共类型、MessageBus、Channel trait、错误类型
架构遵循关注点分离原则:bot 层和 agent 层完全解耦,通过类型化的 MessageBus(Tokio MPSC Channel)通信。添加新消息通道只需实现 Channel trait,无需改动 Agent 核心。
Panther 不是一个赶热点的"AI 项目",而是一个经过深思熟虑的系统工程。它的多通道接入设计、Provider 抽象层、Activity Journal 的创新,以及纯 Rust 的技术选型,都体现出作者对 Agent 系统有清晰的理解。
目前 Stars 还不高(66),可能与 Rust 的门槛以及缺乏预编译分发有关。但如果你:已经在用 Ollama、追求隐私、熟悉终端环境,或者想研究 Rust 写的 Agent 架构,Panther 是今年值得关注的一个项目。
