M4MEET/soulgate

GitHub: M4MEET/soulgate

一个单二进制的多平台 AI 网关,将多种 LLM 接入十余种消息平台并提供工具执行与安全管控。

Stars: 0 | Forks: 0

SoulGate Web UI

SoulGate

你的 AI,无处不在。 单一二进制文件。13 个平台。13 个模型提供商。完全的系统访问权限。

快速开始 · 截图 · 连接器 · 工具 · Hub Store · 提供商 · 安全性

Go Platforms Tools Providers Size License

SoulGate 是一个个人 AI 网关,可将任何 LLM 连接到任何消息平台,并提供完整的工具访问权限——文件、shell、浏览器、语音、代码执行等。只需部署一次,即可通过 Telegram、Discord、Slack、WhatsApp、Signal、Teams、Matrix、iMessage、IRC、Twitch 或网页与你的 AI 进行交流。 ``` soulgate gateway start ``` 就是这样。你的 AI 现在可以通过你连接的每个平台进行访问了。 ## 为什么选择 SoulGate? | | | |---|---| | **一条命令** | `soulgate gateway start` 运行所有内容:HTTP API、WebSocket、Web UI | | **13 个连接器** | Telegram、Discord、Slack、WhatsApp、Signal、Teams、Matrix、iMessage、IRC、Twitch、Nostr、Mattermost、飞书 | | **13 个提供商** | OpenAI、Anthropic、Groq、Gemini、Mistral、DeepSeek、Ollama 等 | | **45+ 种工具** | 文件、shell、浏览器自动化、语音、图像生成、代码执行、语义记忆 | | **多 Agent** | 将任务委派给具有特定角色和消息传递功能的子 Agent | | **Hub Store** | 从社区注册表安装技能、工具和 Agent | | **安全第一** | 策略引擎、审计日志、权限提示、工作区边界 | | **独立运行** | 单个 43MB 的 Go 二进制文件,无运行时依赖 | ## 快速开始 ``` # 安装 git clone https://github.com/M4MEET/soulgate.git cd soulgate && make build # 配置(交互式 — 选择 provider,输入 API key) ./bin/soulgate tui # 或者设置 key 并开始 export ANTHROPIC_API_KEY="sk-ant-..." ./bin/soulgate gateway start ``` 打开 **http://localhost:8080** 访问 Web 控制台。或者连接到一个消息平台: ``` # Telegram export TELEGRAM_BOT_TOKEN="..." soulgate connector telegram # Discord export DISCORD_BOT_TOKEN="..." soulgate connector discord # Slack (Socket Mode) export SLACK_BOT_TOKEN="xoxb-..." export SLACK_APP_TOKEN="xapp-..." soulgate connector slack # WhatsApp(在终端中扫描 QR code) soulgate connector whatsapp ``` ### Docker ``` export ANTHROPIC_API_KEY="sk-ant-..." docker compose up ``` ## Web 控制台 SoulGate 内置了功能齐全的 Web 控制台,可通过 `http://localhost:8080` 访问。 ### 聊天 与你的 AI 进行实时对话。支持工具调用、思考状态指示、多轮对话以及模型切换。

Chat Interface

### 仪表盘 系统概览,包括提供商状态、成本跟踪、token 使用情况、健康检查和内存指标。

Dashboard

### 工具 45+ 种内置工具——文件、shell、浏览器、语音、图像生成、记忆等。可在每个会话中启用/禁用工具。

Tools View

### Hub Store 一键浏览并安装社区技能、工具和 Agent。分为三大类——Skills(行为指令)、Tools(插件、MCP server、连接器)和 Agents(预配置模板)。

Hub Store

### Agent 创建并管理具有特定角色的自主子 Agent。监控状态、委派任务并查看 Agent 对话。

Agents

### 活动中心 跨所有已连接平台(Telegram、Discord、Slack 和网页)的实时活动流。在一个地方查看每个频道的对话历史。

Activity Hub

### 设置 通过 Web UI 配置提供商、模型、API 密钥、执行限制和系统行为。

Settings

## 连接器 将你的 AI 连接到任何消息平台。每个连接器都作为一个轻量级进程运行,将消息桥接到网关。 | 平台 | 命令 | 认证 | |----------|---------|------| | **Telegram** | `soulgate connector telegram` | `TELEGRAM_BOT_TOKEN` | | **Discord** | `soulgate connector discord` | `DISCORD_BOT_TOKEN` | | **Slack** | `soulgate connector slack` | `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` | | **WhatsApp** | `soulgate connector whatsapp` | 扫描二维码 | | **Signal** | `soulgate connector signal --phone +1234567890` | `signal-cli` | | **Teams** | `soulgate connector teams` | Azure Bot 注册 | | **Matrix** | `soulgate connector matrix` | `MATRIX_HOMESERVER` + `MATRIX_ACCESS_TOKEN` | | **iMessage** | `soulgate connector imessage` | 仅限 macOS | | **IRC** | `soulgate connector irc` | `IRC_SERVER` + `IRC_CHANNEL` | | **Twitch** | `soulgate connector twitch` | `TWITCH_TOKEN` | | **Nostr** | `soulgate connector nostr` | `NOSTR_PRIVATE_KEY` | | **Mattermost** | `soulgate connector mattermost` | `MATTERMOST_TOKEN` | | **飞书** | `soulgate connector feishu` | `FEISHU_APP_ID` + `FEISHU_APP_SECRET` | ## 工具 | 类别 | 工具 | |----------|-------| | **文件** | read、write、list、delete、apply_patch | | **Shell** | exec_command、进程管理 (start/list/poll/log/write/kill) | | **Web** | web_search、web_fetch、net_request | | **浏览器** | open、screenshot、click、type、eval、html (通过 Chrome DevTools) | | **语音** | speak (TTS)、transcribe (STT) 通过 OpenAI | | **图像** | generate (DALL-E 3 / FAL.ai)、edit | | **画布** | create、update、list、preview (HTML/React/SVG/Mermaid artifacts) | | **记忆** | 键值对 (write/get/search) + 向量嵌入 (index/recall/forget) | | **Agent** | create、list、stop、delegate、message | | **会话** | sessions_list、sessions_history (检查聊天线程和 Agent 活动) | | **频道** | message (通过网关发送到 telegram/slack/...) | | **代码** | code_run (Python/Node/Go/Bash/Ruby)、code_install | | **Git** | status、diff、commit、log、branch、stash | | **密钥** | set、list、delete、inject (静态加密,绝不向模型展示) | | **其他** | pdf_read、cron 定时任务、heartbeat_respond、LLM 任务、模型切换、introspect、configure | ## Hub Store 使用一条命令安装社区构建的扩展: ``` soulgate hub install skill:kubernetes-ops # Behavioral instructions soulgate hub install tool:web-scraper # Plugin / MCP server / connector soulgate hub install agent:code-reviewer # Agent template ``` 从 CLI 或 Web UI 浏览商店: ``` soulgate hub search "database" soulgate hub list soulgate hub info tool:web-scraper ``` 为了向后兼容,仍然支持旧类型名称(`plugin`、`mcp`、`connector`、`extension`)。 ## 模型提供商 | 提供商 | 模型 | 环境变量 | |----------|--------|-------------| | **OpenAI** | GPT-5.2、GPT-5-mini | `OPENAI_API_KEY` | | **Anthropic** | Claude Sonnet 5、Opus 4.8 | `ANTHROPIC_API_KEY` | | **Groq** | Llama 3.3 70B | `GROQ_API_KEY` | | **Google** | Gemini 2.5 Flash | `GOOGLE_API_KEY` | | **Mistral** | Mistral Large | `MISTRAL_API_KEY` | | **DeepSeek** | DeepSeek Chat | `DEEPSEEK_API_KEY` | | **xAI** | Grok | `XAI_API_KEY` | | **Ollama** | 任何本地模型 | (无需密钥) | | **OpenRouter** | 100+ 个模型 | `OPENROUTER_API_KEY` | | **Together** | Llama、Mixtral | `TOGETHER_API_KEY` | | **Perplexity** | Sonar | `PERPLEXITY_API_KEY` | | **Cohere** | Command R+ | `COHERE_API_KEY` | | **Azure** | Azure 托管的 OpenAI 模型 | `AZURE_OPENAI_API_KEY` | 可以通过 Web UI 设置或使用 `switch_model` 工具在运行时切换模型。 ## 架构 ``` User --> Connector --> Gateway --> Orchestrator --> Model Provider | | | Telegram Web UI Tool Execution Discord WebSocket |-- Files, Shell Slack HTTP API |-- Browser (Chrome) WhatsApp |-- Voice (TTS/STT) Signal |-- Code Sandbox Teams |-- Image Gen (DALL-E) Matrix |-- Web Search iMessage |-- Semantic Memory IRC/Twitch +-- Canvas/Artifacts Nostr Mattermost Feishu ``` ## CLI 参考 ``` soulgate tui # Interactive terminal UI soulgate gateway start # Start gateway (HTTP + WebSocket + Web UI) soulgate connector # Connect a messaging platform soulgate hub search # Search the Hub store soulgate hub install # Install a skill, tool, or agent soulgate doctor # Diagnose configuration soulgate reset --scope sessions # Clear conversation history soulgate backup # Backup config and data soulgate daemon start # Run as background service soulgate config show # View current config soulgate sessions export # Export session to JSON/Markdown/HTML soulgate sessions search # Search across sessions soulgate webhook add # Add inbound webhook soulgate skills list # List available skills ``` ## Webhook 接收来自 GitHub、GitLab 或任何服务的事件: ``` # 添加 Webhook soulgate webhook add github-push --format github --secret my-secret # GitHub 发送至:POST http://your-server:8080/webhook/github-push # SoulGate 处理该事件并可以通过任何已连接的 channel 进行响应 ``` ## 安全性 - **策略引擎** —— 为每个工具设置允许/拒绝/需要批准规则 - **审计日志** —— 每次操作都会记录到按日期轮转的 JSONL 文件中 - **权限提示** —— 在 TUI 中进行交互式的批准/拒绝/学习 - **工作区边界** —— 默认情况下,文件操作限制在工作区范围内 - **信任模式** —— 具有自动过期功能(30 分钟)的临时绕过 ## 开发 ``` make build # Build binary make test # Run tests make lint # Format and vet soulgate doctor # Check installation ``` ## 许可证 MIT
标签:AI网关, EVTX分析, Golang, LLM代理, Python脚本, 安全策略, 安全编程, 审计日志, 提示词设计, 日志审计, 消息平台集成, 请求拦截