内容
<p align="center">
<img src="docs/assets/pc-agent-logo.png" alt="PC Agent logo" width="260" />
</p>
<h1 align="center">PC 代理</h1>
[](版本)
[](services/assistant-runtime/requirements.txt)
[](services/control-api/app/main.py)
[](services/assistant-runtime/app/use_cases/marketing_graph.py)
[](docker-compose.yml)
PC 代理是一款多代理平台,通过 Discord 进行操作,用于研究、创建、发布、记录和批准敏感操作,配备人机门控。它结合了 LangGraph 代理运行时、控制 API、矢量内存、操作内存、行政 UI、观察性和摄入工作器。
该项目的目标很简单:将 Discord 转换为专业子代理的作战控制台,而不会失去可追溯性、配置或对高影响决策的人类控制。
## 目录
- [功能](#功能)
- [架构](#架构)
- [服务](#服务)
- [快速入门](#快速入门)
- [配置](#配置)
- [Discord 命令](#Discord-命令)
- [内存和摄入](#内存和摄入)
- [安全性和批准](#安全性和批准)
- [观察性](#观察性)
- [验证](#验证)
- [路线图](#路线图)
## 功能
- Discord 机器人,带有命令、线程、嵌入、按钮和批准流程。
- FastAPI 上的 AI 运行时,带有 `chat`、`research`、`trade_decision`、`marketing`、`writer`、`picture`、`coder-web` 和 `email` 操作。
- 使用 LangGraph 的营销图:上下文、愿景、意图检测、批评、语音改进和人类批准。
- 带有结构化合同、提示验证、输出到 Obsidian 进行博客/故事讲述和安全持久性错误的 Writer 子代理。
- 带有视觉内存和附件图像支持的 Picture 子代理。
- 用于创建或调整电子商务和 React/TS 体验的 Coder Web 子代理。
- 用于 Google、Outlook、IMAP/SMTP 提供商、本地客户端和批量批准回复的 Email 子代理。
- 用于系统状态、运行时配置、知识源、摄入和日常内存的控制 API。
- 带有调度器、本地嵌入(通过 Ollama)和 Supabase/pgvector 持久性的摄入工作器。
- 按上下文划分的主动内存:常规、营销、图片、coder-web 和电子邮件。
- 使用 Langfuse 的可选观察性。
- 使用 Docker Compose 的完整本地堆栈。
## 架构
PC 代理遵循干净/六边形架构:用例与领域端口通信,外部集成作为适配器生活。这允许在不重写流程的情况下更改 LLMs、存储、营销 API 或交易连接器。
```mermaid
flowchart TD
Discord["Discord 机器人"] --> Runtime["辅助运行时<br/>FastAPI + LangGraph"]
UI["管理 UI<br/>React + Nginx"] --> Control["控制 API<br/>FastAPI"]
Discord --> Control
Control --> Worker["摄入工作器<br/>调度器 + API"]
Control --> Supabase["Supabase / pgvector"]
Runtime --> LLM["Gemini / OpenAI / Ollama<br/>通过 Open Claw + LiteLLM"]
Runtime --> Mentis["MentisDB<br/>操作内存"]
Runtime --> Zernio["Zernio 适配器<br/>营销数据"]
Runtime --> Pilot["Pilot Web 适配器<br/>coder-web"]
Runtime --> Kalshi["Kalshi 适配器<br/>交易研究"]
Runtime --> Obsidian["Obsidian 保险库<br/>作家输出"]
Worker --> Ollama["Ollama<br/>mxbai-embed-large"]
Worker --> Supabase
Worker --> Mentis
Runtime -. traces .-> Langfuse["Langfuse 堆栈"]
Control -. health/config .-> Langfuse
```
### 层
| 层 | 责任 | 主要模块 |
| --- | --- | --- |
| 入口 | Discord、行政 UI 和 HTTP 端点 | `services/discord-bot`、`ui`、`control-api/app/api` |
| 应用 | 用例、图和编排 | `assistant-runtime/app/use_cases`、`control-api/app/application` |
| 领域 | 模型、端口和策略 | `assistant-runtime/app/domain`、`control-api/app/domain` |
| 适配器 | LLMs、内存、Supabase、Zernio、Kalshi、Pilot Web | `assistant-runtime/app/adapters`、`control-api/app/adapters` |
| 数据 | 矢量存储、运行时配置、Obsidian、日常内存 | Supabase、pgvector、Docker volumes |
| 观察性 | 跟踪、错误和 LLM 成本 | Langfuse、LiteLLM 回调 |
## 服务
| 服务 | 端口 | 描述 |
| --- | ---: | --- |
| `control-api` | `8000` | 控制平面:健康检查、配置、来源、摄入和内存。 |
| `assistant-runtime` | `8100` | 多代理大脑:交易、营销、作家、图片、coder-web 和电子邮件。 |
| `discord-bot` | `-` | 主要操作接口、批准和线程对话。 |
| `ingestion-worker` | 内部 `8000` | 摄入调度器和手动执行。 |
| `ui` | `8080` | 通过 Nginx 提供服务的 React 管理控制台。 |
| `supabase-vector-db` | `54322` | 用于开发的本地 Postgres with pgvector。 |
| `ollama` | `11434` | 嵌入配置文件 `embeddings`。 |
| `mentisdb` | `9471` | 可选操作内存。在当前 compose 中使用 `traefik/whoami` 作为本地占位符。 |
| `obsidian` | `3010`、`3011` | 作家工件的视觉保险库。 |
| `langfuse-*` | `3000`、`9001` | 自托管观察性配置文件 `observability`。 |
## 快速入门
### 1. 准备变量
```bash
cp .env.example .env
```
配置最低限度:
```text
ADMIN_API_TOKEN=
DISCORD_BOT_TOKEN=
DISCORD_REQUESTS_CHANNEL_ID=
DISCORD_NOTIFICATIONS_CHANNEL_ID=
DISCORD_STATUS_CHANNEL_ID=
DISCORD_APPROVER_USER_IDS=
SUPABASE_URL=
SUPABASE_PUBLISHABLE_KEY=
SUPABASE_SERVICE_ROLE_KEY=
OPENAI_API_KEY= # 或 GEMINI_API_KEY
```
### 2. 启动基础堆栈
```bash
docker compose up --build
```
打开:
```text
http://localhost:8080
```
### 3. 本地嵌入
```bash
docker compose --profile embeddings up --build
docker compose exec ollama ollama pull mxbai-embed-large
```
### 4. 观察性
```bash
docker compose --profile observability up --build
```
### 5. 所有功能
```bash
docker compose --profile embeddings --profile observability up --build
```
## 配置
配置可以来自 `.env` 或 `/config/runtime-config.json` 中的共享运行时存储。控制 API 公开一个公共视图,隐藏机密并仅指示密钥是否存在。
### 主要变量
| 组 | 变量 |
| --- | --- |
| 运行时 | `ENVIRONMENT`、`ADMIN_API_TOKEN`、`RUNTIME_CONFIG_PATH`、`CORS_ALLOW_ORIGINS` |
| Discord | `DISCORD_BOT_TOKEN`、`DISCORD_REQUESTS_CHANNEL_ID`、`DISCORD_NOTIFICATIONS_CHANNEL_ID`、`DISCORD_STATUS_CHANNEL_ID`、`DISCORD_APPROVER_USER_IDS` |
| LLM | `DEFAULT_LLM_PROVIDER`、`OPENAI_API_KEY`、`OPENAI_ADMIN_API_KEY`、`GEMINI_API_KEY`、`MINIMAX_API_KEY`、`TOGETHER_API_KEY` |
| 图片 | `OPENAI_IMAGE_EDIT_MODEL`、`PICTURE_IMAGE_GENERATION_PROVIDER`、`PICTURE_IMAGE_EDIT_PROVIDER`、`TOGETHER_API_KEY`、`TOGETHER_IMAGE_MODEL`、`OLLAMA_IMAGE_BASE_URL`、`OLLAMA_IMAGE_MODEL` |
| Supabase | `SUPABASE_URL`、`SUPABASE_PUBLISHABLE_KEY`、`SUPABASE_SERVICE_ROLE_KEY`、`VECTOR_DATABASE_URL` |
| Zernio | `ZERNIO_API_KEY` |
| 嵌入 | `EMBEDDING_PROVIDER`、`EMBEDDING_MODEL`、`EMBEDDING_DIMENSIONS`、`OLLAMA_BASE_URL` |
| 内存 | `MENTIS_BASE_URL`、`MENTIS_ENABLED`、`MENTIS_API_KEY` |
| 观察性 | `LANGFUSE_HOST`、`LANGFUSE_ENABLED`、`LANGFUSE_PUBLIC_KEY`、`LANGFUSE_SECRET_KEY` |
| 交易 | `KALSHI_ENV`、`KALSHI_API_KEY_ID`、`KALSHI_PRIVATE_KEY_PATH` |
| 调度 | `MARKET_INGESTION_CRON`、`TRENDS_INGESTION_CRON`、`MENTIS_SYNC_CRON` |
### 有用的端点
| 端点 | 服务 | 用途 |
| --- | --- | --- |
| `GET /health` | 控制 API | 控制平面的健康检查。 |
| `GET /status` | 控制 API | 服务的聚合状态。 |
| `GET /config` | 控制 API | 有效的公共配置。 |
| `GET /config/runtime` | 控制 API | 运行时配置的安全视图。 |
| `PUT /config/runtime` | 控制 API | 使用 `x-admin-token` 更新配置。 |
| `GET /knowledge-sources` | 控制 API | 列出知识源。 |
| `POST /knowledge-sources` | 控制 API | 使用 `x-admin-token` 注册源。 |
| `POST /ingestion/runs` | 控制 API | 触发 `markets`、`trends`、`mentis`、`consolidation` 或 `all`。 |
| `GET /intelligence/memory/today` | 控制 API | 读取最近的上下文内存。 |
| `POST /assistant/request` | 辅助运行时 | 执行多代理操作。 |
## Discord 命令
机器人在 `DISCORD_REQUESTS_CHANNEL_ID` 中监听命令。当创建子代理线程时,后续消息可以继续而无需重复前缀;机器人从线程名称推断代理。
### 基本命令
| 命令 | 用途 |
| --- | --- |
| `!help` | 显示机器人的操作指南。 |
| `!help marketer` | 仅显示 `!marketer` 命令,包括 `--source zernio` 和 `--account`。 |
| `!help email` | 显示 `!email` 命令和安全规则。 |
| `!status` | 来自控制 API 的服务状态。 |
| `!ask <疑问>` | 快速向助手提问。 |
| `!research <主题>` | 深入研究。 |
| `!claw <问题>` | 使用日常内存的深度分析线程。 |
| `!run <target>` | 执行摄入作业:`markets`、`trends`、`mentis`、`consolidation`、`all`。 |
| `!memory` | 最近的内存/情报报告。 |
| `!memory --clean` | 请求确认以删除当天的常规内存。 |
| `!approve_trade <id 或指令>` | 打开带有按钮的操作确认。 |
| `!claw --model-status` | 显示助手的聊天和研究提供商/模型。 |
### 营销:数据
| 命令 | 用途 |
| --- | --- |
| `!marketer-status` | 市场代理状态。 |
| `!marketer dashboard` | Zernio 仪表盘。 |
| `!marketer report [类型]` | 常规、每日、每周、每月、增长或参与度报告。 |
| `!marketer top-content` | 最佳内容。 |
| `!marketer audience` | 受众洞察和细分市场。 |
| `!marketer alerts` | 增长警报。 |
| `!marketer comments` | 最近的评论。 |
| `!marketer negative-comments` | 负面或高风险评论。 |
| `!marketer --source zernio comments --account <id>` | 直接从 Zernio Comments API 读取评论以获取特定帐户。 |
| `!marketer --source zernio negative-comments --account <id>` | 使用实际的 Zernio 评论过滤高风险评论。 |
| `!marketer leads` | 检测到的潜在客户。 |
| `!marketer whatsapp` | 潜在客户和 WhatsApp 活动创建的联系人。 |
| `!marketer best-hours` | 最佳发布时间。 |
| `!marketer memory` | 营销内存。 |
| `!marketer memory --clean` | 确认清除营销内存。 |
| `!marketer --model-status` | 显示用于策略、副本、视觉和编辑的连接模型。 |
### 营销:动作
| 命令 | 用途 |
| --- | --- |
| `!marketer` | 带有快速按钮的控制中心。 |
| `!marketer campaign <目标>` | 创建辅助活动。 |
| `!marketer approve-campaign [文本]` | 执行已批准的活动。 |
| `!marketer posts <主题>` | 生成帖子队列。 |
| `!marketer approve-posts [文本]` | 执行已批准的帖子。 |
| `!marketer post <文本> --platform <instagram\|tiktok> --account <id> --schedule "日期"` | 发布或安排内容。 |
| `!marketer whatsapp send <campaign_id>` | 请求人类批准按钮以将 WhatsApp 活动加入队列。 |
| `!marketer whatsapp approve <campaign_id>` / `deny <campaign_id>` | 文本回落以批准或拒绝如果 Discord 阻止组件。 |
| `!marketer reply-drafts` | 准备回复草稿。 |
| `!marketer respond` | 回应评论。 |
| `!marketer qualify` | 资格热潜在客户。 |
| `!marketer magnet` | 通过 DM 处理引流磁铁。 |
| `!marketer --source zernio qualify --account <id>` | 从 Zernio 评论中资格潜在客户并保持企业跟踪。 |
| `!marketer --source zernio magnet --account <id>` | 从 Zernio 检测引流磁铁触发器以准备 DM 进行批准。 |
| `!marketer --source zernio sentiment --account <id>` | 使用当前的 Zernio 评论分析情绪。 |
| `!marketer trends` | 搜索趋势。 |
| `!marketer sentiment` | 分析情绪和危机。 |
| `!marketer funnel <主题>` | 设计一个漏斗。 |
| `!marketer research <主题>` | 研究市场或竞争对手。 |
| `!marketer competitors [品牌]` | 竞争对手分析。 |
| `!marketer collab <主题>` | 找到合作。 |
| `!marketer content-plan [范围]` | 内容日历,默认为 7 天。 |
| `!marketer repurpose` | 重用获胜内容。 |
| `!marketer --free-model <视觉请求>` | 使用配置的免费模型生成视觉效果,默认为 Together。 |
营销动作可以返回 `requires_approval`。在这种情况下,机器人显示按钮以批准、拒绝、保存草稿或自定义文本后再执行。
`--source zernio` 强制 Marketer 从 Zernio 读取评论以请求帐户。 对于具有多个连接环境的设置,请使用 `--account <id>` 避免歧义并保持企业可追溯性。
生产运行时实例化 `MarketingGraph` 搭配 `ZernioAdapter`。 `MarketingPort` 合同包括连接的帐户、评论、仪表盘、报告、草稿、发布、潜在客户、DM、响应、幂等性和运行审计。 旧版工作流程不应作为生产环境中的演示路线使用。
### Writer
| 命令 | 用途 |
| --- | --- |
| `!writer blog <es\|en> <主题>` | 创建博客并将其保存在 Obsidian 中。 |
| `!writer story <es\|en> <主题>` | 创建故事讲述并将其保存在 Obsidian 中。 |
| `!writer storytelling <es\|en> <主题>` | `story` 的别名。 |
| `!writer <消息>` | 与作者直接聊天。 |
| `!writer --model-status` | 显示用于撰写和视觉关键词的连接模型。 |
Writer 返回 `status`、`message`、`command`、`content`、`artifact` 和 `metadata`。 如果 Obsidian 不可用,它会返回 `writer.persistence_failed` 而不是报告部分成功。 图片不会从未经许可的外部来源插入;代理建议搜索或生成资产的关键词以批准后再发布。
### Picture
| 命令 | 用途 |
| --- | --- |
| `!picture <描述>` | 使用主动内存生成图像。 |
| `!picture --free-model <描述>` | 使用配置的免费提供商生成测试图像,默认为 Together。 |
| `!picture <编辑>` 带有附件图像 | 编辑现有作品,例如更改文本保留构图和样式。 |
| `!picture memory` | 显示视觉学习成果。 |
| `!marketer memory --clean` | 请求确认清除视觉内存。 |
| `!picture --model-status` | 显示用于创意计划、生成和编辑的连接模型。 |
命令接受附加图像作为参考或编辑件。 为了在不消耗 Gemini/OpenAI 的情况下进行测试, `--free-model` 使用 Together 搭配 `TOGETHER_IMAGE_MODEL=black-forest-labs/FLUX.1-schnell-Free` 当 `TOGETHER_API_KEY` 配置时。 Ollama 作为本地图像的备用方案,但 Ollama Docker 服务保持版本控制以保护本地嵌入。
快速示例:
```text
!marketer --free-model poster 方形 Instagram 咖啡艺术文本 "Sabor de Origen"
!picture --free-model 期刊封面未来主义护肤品牌
```
### Coder Web
| 命令 | 用途 |
| --- | --- |
| `!coder-web <描述>` | 创建或调整 Web 体验/电子商务。 |
| `!coder-web memory` | 显示 Web 开发人员的学习成果。 |
| `!coder-web memory --clean` | 请求确认删除 coder-web 内存。 |
| `!coder-web --model-status` | 显示用于 UI/UX 分析、技术规划和 Pilot 的连接模型。 |
命令接受附加的视觉参考或草图。
### Email
| 命令 | 用途 |
| --- | --- |
| `!email` / `!email status` | 提供商状态、阅读、发送和配置的模板。 |
| `!email sent-today` | 列出当天使用配置的提供商发送的电子邮件。 |
| `!email categorize <类别>` | 准备按筛选器/类别进行分类。 |
| `!email --template-<名称> <类别>` | 准备使用管理员的模板回复批量邮件并请求批准。 |
| `!email process-queued` | 处理已批准的批量作业队列。 |
| `!email --model-status` | 显示用于分类、总结和模板的连接模型。 |
子代理 `!email` 使用六边形架构:核心仅了解用例和端口;Google、Outlook、IMAP/SMTP、本地客户端或其他提供商作为适配器生活在外面。 批量发送需要 Admin UI 配置、显式发送权限、每分钟限制、审计和幂等性。 默认情况下,会生成一个可批准的 `job_id`;批准后,它会进入队列,`!email process-queued` 执行实际发送,并更新每个收件人的状态。
管理员的 `Email Agent` 屏幕允许审查状态并编辑提供商、凭证、权限、类别和模板,全部在一个操作视图中。
Email 代理的 `!email` 使用六边形架构:核心仅了解用例和端口;Google、Outlook、IMAP/SMTP、本地客户端或其他提供商作为适配器生活在外面。 批量发送需要 Admin UI 配置、显式发送权限、每分钟限制、审计和幂等性。 默认情况下,会生成一个可批准的 `job_id`;批准后,它会进入队列,`!email process-queued` 执行实际发送,并更新每个收件人的状态。
Admin UI 的 `Email Agent` 屏幕允许审查状态并在一个操作视图中编辑提供商、凭证、权限、类别和模板。
### 模型状态
`--model-status` 命令不会调用外部提供商,也不会消耗配额。它们只会读取运行时有效的配置,以显示每个子代理将使用的模型以及是否缺少任何必需的变量。
示例:
```text
!marketer --model-status
!picture --model-status
!claw --model-status
!writer --model-status
!coder-web --model-status
!email --model-status
```
如果在执行这些命令时看到 `422 Unprocessable Entity` 错误,通常意味着 `discord-bot` 已经加载了新命令,但 `assistant-runtime` 仍在运行较早的版本,该版本无法识别 `action_type=model_status`。请重新加载两个服务:
```bash
docker compose up -d --build assistant-runtime discord-bot
```
如果镜像已经构建完成,可以快速重新加载:
```bash
docker compose restart assistant-runtime discord-bot
```
## 内存和摄入
### Supabase / pgvector
长期知识存储在 Supabase 中,包含嵌入:
- `knowledge_sources`:启用的摄入源。
- `knowledge_documents`:具有 `content_hash` 的向量化块,以避免重复。
- `mentis_memory`:按上下文合并的内存。
- `marketing_leads`:通过营销流程检测到的潜在客户。
搜索功能:
```sql
public.match_knowledge_documents(query_embedding, match_count, filter)
```
主要迁移:
```text
supabase/migrations/20260508000100_vector_knowledge.sql
supabase/migrations/20260508000200_ollama_mxbai_embeddings.sql
supabase/migrations/20260508000300_knowledge_document_hash.sql
supabase/migrations/20260511000100_system_config.sql
supabase/migrations/20260512000400_marketing_leads.sql
```
将迁移应用于链接的 Supabase:
```bash
npm_config_cache=/private/tmp/pc-agent-npm-cache npx --yes supabase@latest db push --linked --workdir . --yes
```
### Worker
Worker 可以通过 cron 或按需运行:
- `markets`:读取启用的源,提取文本,分割,嵌入和插入。
- `trends`:趋势收集。
- `mentis`:待定的 MentisDB 同步。
- `consolidation`:每日内存合并。
- `all`:源和趋势摄入。
默认嵌入配置:
```text
EMBEDDING_PROVIDER=ollama
EMBEDDING_MODEL=mxbai-embed-large
EMBEDDING_DIMENSIONS=1024
OLLAMA_BASE_URL=http://ollama:11434
```
## 安全性和审批
交易操作(`trade_decision` 和 `open_position`)如果不满足以下所有条件,则会被阻止:
- `source.platform` 必须为 `discord`。
- 如果配置了 `DISCORD_REQUESTS_CHANNEL_ID`,则 `source.channel_id` 必须与其匹配。
- `approval.status` 必须为 `approved`。
- `approval.channel_id` 必须与授权通道匹配。
- 如果配置了列表,则 `approval.approver_user_id` 必须存在于 `DISCORD_APPROVER_USER_IDS` 中。
机器人通过确认嵌入和继续/取消按钮实现此体验。运行时将重新验证网关,因此 UI 或 HTTP 客户端无法跳过策略。
## 可观察性
Langfuse 是可选的,通过以下方式启用:
```text
LANGFUSE_ENABLED=true
LANGFUSE_HOST=http://langfuse-web:3000
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
```
当存在密钥时,Open Claw 适配器会为成功和失败的跟踪注册 LiteLLM 回调。 Worker 还会在摄入作业中标记可观察的执行。
## 仓库结构
```text
.
+-- services/
| +-- assistant-runtime/ # 多代理运行时,图和适配器
| +-- control-api/ # 配置,状态,摄入和内存 API
| +-- discord-bot/ # Discord 操作机器人
| +-- ingestion-worker/ # 调度器,嵌入,趋势和合并
+-- ui/ # 管理仪表板 React/Vite
+-- docs/ # 技术文档和子代理提案
+-- supabase/migrations/ # 远程 Supabase 模式
+-- infra/postgres/ # 局部 pgvector 初始化 SQL
+-- tests/ # 用例测试和轻量级集成测试
+-- docker-compose.yml # 本地编排
```
## 验证
有用的测试和检查:
```bash
python3 tests/test_use_cases.py
python3 tests/test_assistant_runtime_gate.py
python3 tests/test_ingestion_worker.py
python3 tests/test_marketing_v04.py
docker compose --profile observability --profile embeddings config
```
每个服务还有特定的测试,例如:
```bash
services/assistant-runtime/venv/bin/python -m unittest services/assistant-runtime/test_marketing_graph_regression.py
services/assistant-runtime/venv/bin/python -m unittest services/assistant-runtime/test_marketing_automation.py
services/assistant-runtime/venv/bin/python -m unittest services/assistant-runtime/test_writer_workflow.py
services/assistant-runtime/venv/bin/python tests/test_assistant_runtime_dispatch.py
python3 services/discord-bot/test_marketer_approval.py
```
## 相关文档
- [系统架构](docs/architecture.md)
- [生产中的 MarketingGraph](docs/langgraph_production.md)
- [可观察性](docs/observability.md)
- [Marketer 内存](docs/marketer-memory.md)
- [Marketer 潜在客户资格](docs/marketer-lead-qualification.md)
- [Marketer 趋势发现](docs/marketer-trend-discovery.md)
- [Marketer WhatsApp OpenWA](docs/marketer-whatsapp-openwa.md)
- [Picture 子代理](docs/picture-subagent.md)
- [Writer 子代理](docs/writer-subagent.md)
- [Coder web 子代理](docs/coder-web-subagent.md)
- [Email 子代理](docs/email-subagent.md)
- [Docker 命令](docker-commands.md)
## 路线图
- [x] FastAPI 运行时多代理。
- [x] LangGraph 和人类审批的营销图。
- [x] 兼容 Gemini/OpenAI 的工具调用通过适配器。
- [x] 按上下文的主动内存。
- [x] 用于配置和状态的管理 UI。
- [x] 带有 pgvector 和 Ollama 的摄入工作器。
- [x] MentisDB/Supabase 内存适配器,用于稳定读写,健康检查和 RLS 服务角色。
- [x] UI 中具有标准化合约的合并历史记录。
- [x] 具有风险限制,持久审计和锁定订单的 Kalshi 基础。
- [x] WhatsApp/OpenWA 基线,用于选择加入的联系人,草稿活动,UI 和来自 `!marketer whatsapp` 的访问。
- [x] 具有结构化合约,验证,轻量审计和持久性错误的 Writer。
- [x] Marketer 具有与 Zernio 对齐的 `MarketingPort` 合约和没有演示回退的生产路线。
- [ ] 人类审批的 WhatsApp/OpenWA 发送,速率限制,选择退出和交付 Webhooks。
- [ ] 具有 RSA-PSS 身份验证,真实订单提交和端到端幂等性的 Kalshi 直播适配器。
- [ ] Kalshi 订单,填充,取消和头寸漂移的协调。
- [ ] 交易审计,风险拒绝和每日暴露的操作仪表板。
- [ ] 用于 Mentis Memory 和交易审计的 Supabase/PostgREST 合约测试。
- [ ] 生产可观察性:指标,跟踪和 Mentis,合并和 Kalshi 的警报。
- [ ] 内存,交易和运行时配置的多租户策略。
- [ ] Supabase,Kalshi,Discord 和 LLM 提供商的秘密轮换和验证。
- [ ] 敏感内存的备份,保留和选择性编辑。
- [ ] 交易直播,审计丢失和合并故障的事件手册。
- [ ] 关键流程的端到端 UI/API:合并,内存,配置和交易预览。
- [ ] 每个服务的完整 CI。
## 项目状态
PC 代理正在积极开发中。架构已经将域,应用程序和适配器分开;一些外部集成仍然是占位符或依赖于私钥。要在生产中运行,请在启用具有实际影响的流程之前检查审批者,机密,机器人权限,LLM 限制和 Supabase 持久性。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器