Thiago-Schoingele/sentrya-ops-v2-agentic-ai-desk
GitHub: Thiago-Schoingele/sentrya-ops-v2-agentic-ai-desk
Sentrya Ops V2 是一个安全AI运营台,提供多LLM路由、安全状态机和Telegram操作界面。
Stars: 1 | Forks: 0
# Sentrya Ops V2 — 代理人工智能操作台
[](https://github.com/Thiago-Schoingele/sentrya-ops-v2-agentic-ai-desk/actions/workflows/ci.yml)








Sentrya Ops V2 是一个用于安全 AI 工作流程编排的参考架构,构建了一个投资级 Agentic AI 运营台。它结合了 LangGraph、LangChain、LangSmith 追踪、Groq 托管的 LLM、Telegram 运营、运行时安全控制、多 LLM 角色治理和 Next.js 仪表板 UI。
该项目模拟了内部 AI 运营指挥中心如何在执行任何 LLM 之前强制执行安全边界的同时,如何在多个 LLM 角色之间路由请求。它包括 Telegram 机器人界面、管理控制台、安全状态机、恢复和发布工作流程、双语响应处理和操作可见性仪表板。
此存储库不是作为已部署的商业产品展示的。它是一个技术组合项目,旨在展示架构、安全思维、编排模式和全栈 AI 运营设计。
存储库:[github.com/Thiago-Schoingele/sentrya-ops-v2-agentic-ai-desk](https://github.com/Thiago-Schoingele/sentrya-ops-v2-agentic-ai-desk)
## 为什么这个项目存在
AI 代理需要不仅仅是模型调用。实用的 Agentic 系统需要编排、输入验证、安全边界、模型角色治理、可观察性、恢复路径和清晰的操作接口。
Sentrya Ops V2 通过具体的操作台模式探索这些关注点:
- 请求通过 Telegram 或本地执行路径进入;
- 在 LLM 执行之前运行安全检查;
- 运行时锁定状态可以阻止不安全的操作;
- LLM 被分配了严格的操作角色;
- 当配置了环境变量时,通过 LangSmith 可观察追踪;
- 操作员可以以仪表板式的视图查看系统活动和控制。
## 核心功能
- 基于 LangGraph 的 **Agentic 工作流程编排**。
- 通过预 LLM 验证和运行时守卫的 **安全优先执行**。
- 通过严格的 LLM 角色注册表进行 **多 LLM 路由和角色治理**。
- 用于与代理和管理命令交互的 **Telegram 操作界面**。
- 用于状态、锁定、STAFF、恢复和发布命令的 **Telegram 管理控制台**。
- 当配置了环境变量时,通过 LangSmith 可观察的 **LangSmith 可观察性**。
- 用于 KPI 卡片、图表、LLM 监控、安全状态、Telegram 状态和活动源头的 **Next.js 仪表板 UI**。
- 具有验证和操作员控制的转换的 **恢复和发布流程**。
- 对于葡萄牙语和英语用户消息的 **语言感知响应**。
- 对于诸如 `Qual a sua habilidade?` 和 `What can you do?` 之类的查询,提供直接的能力答案,而无需花费 LLM 调用。
## 架构
```
User / Telegram
↓
Telegram Bot Interface
↓
Security Gate
↓
Lockdown Guard / Security State Machine
↓
Language Router
↓
LangGraph Agent Core
↓
Multi-LLM Role Registry
↓
Groq LLMs
↓
Structured Operational Response
↓
LangSmith Tracing + Dashboard Visibility
```
## 多 LLM 角色注册表
Sentrya Ops V2 为每个 LLM 定义了严格的操作角色。每个模型仅限于其分配的功能,并且不得在 Sentrya Ops V2 范围之外操作。
| 角色 | 模型 | 操作功能 |
| --- | --- | --- |
| 快速模型 | `llama-3.1-8b-instant` | 快速分类、轻量级分诊、预处理、简单验证和低延迟意图检测。 |
| 代理模型 | `openai/gpt-oss-20b` | 主要编排、路由选择、结构化 JSON、工具/API/webhook 规划和操作决策。 |
| 推理模型 | `openai/gpt-oss-120b` | 深度分析、歧义解决、关键审查、风险评估、安全敏感推理和复杂决策支持。 |
| 通用模型 | `llama-3.3-70b-versatile` | 自然语言响应、最终解释、综合、摘要、高管沟通和面向用户的答案优化。 |
Telegram 命令 `/teste_llms` 以可读的操作格式公开 LLM 角色注册表。
## 安全架构
Sentrya Ops V2 包含多个以安全为导向的层:
- **安全网关**:在 LLM 执行之前验证输入。
- **提示注入保护**:阻止尝试覆盖系统行为或绕过控制。
- **输入验证**:检测不安全的有效负载、敏感文件路径、类似 SQL 的攻击、shell 命令、类似 SSRF 的 URL 和其他可疑模式。
- **锁定守卫**:在系统处于受限状态时阻止操作代理执行。
- **安全状态机**:跟踪 `NORMAL`、`WATCH`、`LOCKDOWN`、`STAFF_ACTIVE`、`RECOVERY_PENDING`、`RECOVERY_VALIDATION` 和 `RELEASED_MONITORING` 等状态。
- **操作员身份验证网关**:保护敏感的本地入口点和管理操作。
- **恢复验证**:在提高安全状态后支持受控发布流程。
- **Telegram 管理控制台**:公开授权的操作命令,用于状态、锁定、STAFF、恢复、验证和发布。
敏感凭据和散列值不在 README 中存储。它们必须通过环境变量在本地配置。
## Telegram 命令
Telegram 命令取决于 `.env` 中的授权聊天配置,特别是 `TELEGRAM_ALLOWED_CHAT_ID`。
| 命令 | 目的 |
| --- | --- |
| `/teste_llms` | 显示 LLM 角色注册表和模型责任。 |
| `/status` | 显示当前安全和操作状态。 |
| `/staff` | 通过管理控制台激活 STAFF 协议。 |
| `/recovery` | 请求恢复工作流程。 |
| `/start_recovery_validation` | 开始恢复验证窗口。 |
| `/force_release` | 当操作员身份验证和状态规则允许时强制发布。 |
能力问题直接处理,而无需调用 LLM:
- `Qual a sua habilidade?`
- `Quais são suas habilidades?`
- `O que você sabe fazer?`
- `What can you do?`
- `What are your capabilities?`
## 仪表板 UI
仪表板位于 `dashboard/`。
它使用 Next.js、TypeScript、Tailwind CSS、Recharts 和 lucide-react 构建。UI 设计为暗色企业级安全 + AI 运营指挥中心。
仪表板部分包括:
- 项目级 KPI 卡片;
- LangSmith 风格的监控图表;
- 每个 LLM 的监控卡片;
- 安全指挥中心;
- Telegram 操作面板;
- 实时活动源头;
- 仪表板部分之间的侧边栏导航。
验证后的仪表板状态:
- `npm run build` 通过。
- `npm audit` 返回 `found 0 vulnerabilities`。
## 存储库结构
```
.
├── src/
├── tests/
├── docs/
├── data/
├── dashboard/
├── README.md
├── requirements.txt
├── .env.example
└── .gitignore
```
## 本地设置
创建并激活 Python 虚拟环境:
```
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
```
复制环境模板并配置本地凭据:
```
Copy-Item .env.example .env
```
`.env.example` 文件包含占位符。不要提交真实凭据。
## 环境变量
在 `.env` 中本地配置所需值。
| 类别 | 变量 |
| --- | --- |
| Groq | `GROQ_API_KEY` |
| LangSmith / LangChain | `LANGSMITH_API_KEY`, `LANGSMITH_PROJECT`, `LANGCHAIN_TRACING_V2`, `LANGCHAIN_API_KEY`, `LANGCHAIN_PROJECT` |
| Telegram | `TELEGRAM_BOT_TOKEN`, `TELEGRAM_ALLOWED_CHAT_ID` |
| 操作员身份验证 | `SENTRYA_OPERATOR_AUTH_ENABLED`, `SENTRYA_OPERATOR_USERNAME`, `SENTRYA_OPERATOR_PASSWORD_SALT`, `SENTRYA_OPERATOR_PASSWORD_HASH`, `SENTRYA_OPERATOR_PASSWORD_ITERATIONS` |
## 运行测试
```
python -m unittest discover -s tests -p "test_*.py" -v
```
当前验证结果:
```
85 tests passing
```
## 运行 Telegram 机器人
```
python -m src.telegram_bot_agent
```
Telegram 机器人需要 `.env` 配置,包括机器人令牌和授权聊天 ID。
## 运行仪表板
```
cd dashboard
npm install
npm run build
npm run dev
```
打开:
```
http://localhost:3000
```
## LangSmith 可观察性
当 LangSmith 和 LangChain 环境变量配置时,正常的代理和 LLM 执行会创建 LangSmith 追踪。
直接的能力答案和 `/teste_llms` 按设计不会生成 LLM 追踪,因为它们不调用 LLM。它们通过本地注册表逻辑处理,以避免不必要的模型使用。
## 当前项目状态
- 投资组合/参考架构。
- 本地验证完成。
- 85 个 Python 测试通过。
- 仪表板构建通过。
- `npm audit` 返回 0 个漏洞。
- 当配置环境变量时,LangSmith 追踪已验证为正常代理执行。
## 路线图
- 添加真实的 RAG 管道。
- 添加 Firecrawl 摘要。
- 加强生产部署设置。
- 将仪表板连接到实时后端指标。
- 添加持久事件存储。
- 添加 CI 管道。
- 添加 Docker 部署配置文件。
## 免责声明
这是一个投资组合/参考架构。在用于任何生产用途之前,应对其进行审查、保护和加固。
## 作者
Thiago Schoingele
- GitHub: [Thiago-Schoingele](https://github.com/Thiago-Schoingele)
- LinkedIn: [linkedin.com/in/schoingele](https://www.linkedin.com/in/schoingele)
- Email: [thiagoschoingele@gmail.com](mailto:thiagoschoingele@gmail.com)
标签:AI运营中心, API集成, LangChain, LangGraph, LangSmith, ntdll.dll, Telegram, 代码审查, 仪表盘UI, 全栈AI, 内部工具, 参考架构, 双语处理, 可观测性, 多LLM路由, 安全AI, 安全响应, 安全架构, 安全治理, 技术演示, 故障恢复, 测试, 网络调试, 自动化, 轻量级, 运维, 逆向工具