opc-agent 4.2.0 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opc/memory.db +0 -0
- package/COMPETITIVE-GAP.md +92 -92
- package/CONTRIBUTING.md +36 -36
- package/README.md +231 -290
- package/README.zh-CN.md +230 -269
- package/STUDIO-REWRITE-TASK.md +76 -0
- package/dist/channels/telegram.d.ts +5 -0
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +108 -0
- package/dist/channels/telegram.js.map +1 -1
- package/dist/channels/voice.d.ts +71 -97
- package/dist/channels/voice.d.ts.map +1 -1
- package/dist/channels/voice.js +369 -347
- package/dist/channels/voice.js.map +1 -1
- package/dist/channels/web.d.ts.map +1 -1
- package/dist/channels/web.js +8 -2
- package/dist/channels/web.js.map +1 -1
- package/dist/channels/wechat.js +6 -6
- package/dist/cli/chat.d.ts +4 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +680 -73
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +373 -280
- package/dist/cli.js.map +1 -1
- package/dist/core/a2a-http.d.ts +75 -0
- package/dist/core/a2a-http.d.ts.map +1 -0
- package/dist/core/a2a-http.js +217 -0
- package/dist/core/a2a-http.js.map +1 -0
- package/dist/core/a2a.d.ts +2 -0
- package/dist/core/a2a.d.ts.map +1 -1
- package/dist/core/a2a.js +6 -1
- package/dist/core/a2a.js.map +1 -1
- package/dist/core/agent.d.ts +1 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +3 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/gateway-registry.d.ts +116 -0
- package/dist/core/gateway-registry.d.ts.map +1 -0
- package/dist/core/gateway-registry.js +280 -0
- package/dist/core/gateway-registry.js.map +1 -0
- package/dist/core/model-recommender.d.ts +40 -0
- package/dist/core/model-recommender.d.ts.map +1 -0
- package/dist/core/model-recommender.js +186 -0
- package/dist/core/model-recommender.js.map +1 -0
- package/dist/core/priority-queue.d.ts +100 -0
- package/dist/core/priority-queue.d.ts.map +1 -0
- package/dist/core/priority-queue.js +181 -0
- package/dist/core/priority-queue.js.map +1 -0
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +192 -22
- package/dist/core/runtime.js.map +1 -1
- package/dist/deploy/index.js +56 -56
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +155 -10
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -13
- package/dist/index.js.map +1 -1
- package/dist/memory/deepbrain.d.ts +1 -1
- package/dist/memory/deepbrain.d.ts.map +1 -1
- package/dist/memory/deepbrain.js +95 -4
- package/dist/memory/deepbrain.js.map +1 -1
- package/dist/memory/evolve-engine.d.ts +113 -0
- package/dist/memory/evolve-engine.d.ts.map +1 -0
- package/dist/memory/evolve-engine.js +549 -0
- package/dist/memory/evolve-engine.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/sqlite-store.d.ts +40 -0
- package/dist/memory/sqlite-store.d.ts.map +1 -0
- package/dist/memory/sqlite-store.js +269 -0
- package/dist/memory/sqlite-store.js.map +1 -0
- package/dist/memory/user-profiler.d.ts +8 -0
- package/dist/memory/user-profiler.d.ts.map +1 -1
- package/dist/memory/user-profiler.js +89 -0
- package/dist/memory/user-profiler.js.map +1 -1
- package/dist/scheduler/cron-engine.d.ts.map +1 -1
- package/dist/scheduler/cron-engine.js +3 -36
- package/dist/scheduler/cron-engine.js.map +1 -1
- package/dist/scheduler/proactive.d.ts +62 -0
- package/dist/scheduler/proactive.d.ts.map +1 -0
- package/dist/scheduler/proactive.js +185 -0
- package/dist/scheduler/proactive.js.map +1 -0
- package/dist/skills/auto-learn.d.ts.map +1 -1
- package/dist/skills/auto-learn.js +65 -11
- package/dist/skills/auto-learn.js.map +1 -1
- package/dist/skills/builtin/index.d.ts.map +1 -1
- package/dist/skills/builtin/index.js +163 -30
- package/dist/skills/builtin/index.js.map +1 -1
- package/dist/skills/types.d.ts +1 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +1 -0
- package/dist/skills/types.js.map +1 -1
- package/dist/studio/server.d.ts +1 -0
- package/dist/studio/server.d.ts.map +1 -1
- package/dist/studio/server.js +148 -17
- package/dist/studio/server.js.map +1 -1
- package/dist/studio-ui/index.html +867 -2630
- package/dist/ui/components.js +105 -105
- package/examples/README.md +22 -22
- package/examples/basic-agent.ts +90 -90
- package/examples/brain-integration.ts +71 -71
- package/examples/multi-channel.ts +74 -74
- package/install.ps1 +127 -127
- package/install.sh +154 -154
- package/models.json +164 -164
- package/package.json +5 -2
- package/scripts/install.ps1 +31 -31
- package/scripts/install.sh +40 -40
- package/templates/ecommerce-assistant/README.md +45 -45
- package/templates/ecommerce-assistant/oad.yaml +47 -47
- package/templates/tech-support/README.md +43 -43
- package/templates/tech-support/oad.yaml +45 -45
package/README.zh-CN.md
CHANGED
|
@@ -1,269 +1,230 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# ⚡ OPC Agent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[ 了解详情。
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
git clone https://github.com/Deepleaper/opc-agent.git
|
|
249
|
-
cd opc-agent
|
|
250
|
-
npm install
|
|
251
|
-
npm run build
|
|
252
|
-
npm test
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## 📄 许可证
|
|
258
|
-
|
|
259
|
-
[Apache-2.0](LICENSE) © [Deepleaper 跃盟科技](https://github.com/Deepleaper)
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
<div align="center">
|
|
264
|
-
|
|
265
|
-
**觉得有用?给个 ⭐ 支持一下**
|
|
266
|
-
|
|
267
|
-
[GitHub](https://github.com/Deepleaper/opc-agent) · [npm](https://www.npmjs.com/package/opc-agent) · [文档](https://opc-agent.dev)
|
|
268
|
-
|
|
269
|
-
</div>
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# ⚡ OPC Agent — 瞬知 Studio
|
|
4
|
+
|
|
5
|
+
**你的 AI 劳动力,本地运行。零成本启动。**
|
|
6
|
+
|
|
7
|
+
一台电脑,一行命令,你的 AI 员工 7×24 小时上班。
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/opc-agent)
|
|
10
|
+
[](LICENSE)
|
|
11
|
+
[](https://nodejs.org/)
|
|
12
|
+
|
|
13
|
+
[快速开始](#-快速开始) · [为什么选 OPC](#-为什么选-opc) · [Studio](#-studio) · [功能](#-功能) · [架构](#-架构) · [CLI](#-命令行) · [English](README.md)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🚀 快速开始
|
|
20
|
+
|
|
21
|
+
**一行安装**(自动检测 Node.js + Ollama):
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# macOS / Linux
|
|
25
|
+
curl -fsSL https://raw.githubusercontent.com/Deepleaper/opc-agent/main/install.sh | bash
|
|
26
|
+
|
|
27
|
+
# Windows (PowerShell)
|
|
28
|
+
irm https://raw.githubusercontent.com/Deepleaper/opc-agent/main/install.ps1 | iex
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**或者 npx 免安装**:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx opc-agent@latest init
|
|
35
|
+
cd my-agent
|
|
36
|
+
npx opc-agent studio
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
打开 `http://localhost:4000`,你的 AI 劳动力管理 Studio 就绪了。
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 💡 为什么选 OPC
|
|
44
|
+
|
|
45
|
+
| 痛点 | OPC 解决方案 |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| AI Agent 需要昂贵的云端 API | **Ollama 优先**:100% 本地运行,零成本 |
|
|
48
|
+
| 安装复杂,只有开发者能用 | **一行命令** → Studio 图形界面,不需要写代码 |
|
|
49
|
+
| Agent 重启后丢失记忆 | **DeepBrain**:三层持久化知识,自动进化 |
|
|
50
|
+
| 一个 Agent 只能做一件事 | **202 个岗位模板**,覆盖 31 个行业 |
|
|
51
|
+
| 没法管理多个 Agent | **Studio 仪表盘** — 创建、聊天、配置、监控 |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 🎨 Studio
|
|
56
|
+
|
|
57
|
+
OPC Studio 是你管理整个 AI 劳动力的 Web 界面。
|
|
58
|
+
|
|
59
|
+
**5 大模块,一个界面:**
|
|
60
|
+
|
|
61
|
+
| 模块 | 功能 |
|
|
62
|
+
|------|------|
|
|
63
|
+
| 🧑💻 **OPC 助手** | 内置 AI 助理(始终置顶) |
|
|
64
|
+
| 🤖 **OPC Agent** | 创建 Agent、聊天、配置渠道 |
|
|
65
|
+
| 🧩 **AgentKits** | 模型配置 — Ollama 自动检测 + 云端 API Key |
|
|
66
|
+
| 🧠 **DeepBrain** | 知识库 — 拖拽上传文档,自动分类,三层浏览 |
|
|
67
|
+
| 🖥️ **Workstation** | 202 个岗位模板,31 个行业 — 选模板,部署 Agent |
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx opc-agent studio # → http://localhost:4000
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## ✨ 功能
|
|
76
|
+
|
|
77
|
+
### 🧠 知识进化引擎
|
|
78
|
+
- **三层知识体系**:行业 → 岗位 → 工位(自动向上蒸馏)
|
|
79
|
+
- **本地优先**:使用 Ollama 模型,零成本进化
|
|
80
|
+
- **记忆压缩**:对话自动蒸馏为持久化知识
|
|
81
|
+
- **DeepBrain**:拖拽文档,自动分类到三层
|
|
82
|
+
|
|
83
|
+
### 💬 20 个渠道
|
|
84
|
+
把你的 Agent 连接到用户所在的任何地方:
|
|
85
|
+
|
|
86
|
+
Telegram · Slack · Discord · 微信 · 飞书 · 邮件 · WhatsApp · Web · 语音 · IRC · Matrix · 短信 · Line · Nostr · Teams · Google Chat · 钉钉 · QQ · Twitch · Mattermost
|
|
87
|
+
|
|
88
|
+
### 🔧 53 个内置工具
|
|
89
|
+
|
|
90
|
+
| 分类 | 工具 |
|
|
91
|
+
|------|------|
|
|
92
|
+
| **核心** (8) | Shell、文件 I/O、网页抓取、搜索、浏览器、视觉、日期时间、计算器 |
|
|
93
|
+
| **开发** (12) | Git、GitHub、npm、代码执行、JSON、正则、文本分析… |
|
|
94
|
+
| **办公** (8) | 日历、邮件、Jira、Notion、Trello、Slack、摘要、翻译 |
|
|
95
|
+
| **集成** (13) | 数据库、PDF、CSV、Webhook、向量搜索、图片生成… |
|
|
96
|
+
| **知识** (7) | 记忆搜索、记忆存储、知识查询、知识学习、知识进化… |
|
|
97
|
+
| **媒体** (5) | 图片生成、文档处理、网页爬取、Home Assistant… |
|
|
98
|
+
|
|
99
|
+
### 🤝 协议支持
|
|
100
|
+
- **A2A**(Agent-to-Agent):Google 标准 + HTTP 传输
|
|
101
|
+
- **MCP**(Model Context Protocol):Anthropic 标准工具集成
|
|
102
|
+
- **AG-UI**:前端流式协议
|
|
103
|
+
|
|
104
|
+
### 🛡️ 企业级特性
|
|
105
|
+
- 沙箱执行、API Key 加密、速率限制
|
|
106
|
+
- 内容过滤、护栏、人机协同(HITL)
|
|
107
|
+
- 优先级队列 + 快速模式
|
|
108
|
+
- Gateway 注册中心(多 Agent 网络)
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 🏗️ 架构
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
┌─────────────────────────────────────┐
|
|
116
|
+
│ OPC Studio(管理界面) │
|
|
117
|
+
├─────────────────────────────────────┤
|
|
118
|
+
│ OPC Agent(CLI 运行时) │
|
|
119
|
+
├──────────┬──────────┬───────────────┤
|
|
120
|
+
│ AgentKits│ DeepBrain│ Workstation │
|
|
121
|
+
│ (模型) │ (知识) │ (模板) │
|
|
122
|
+
└──────────┴──────────┴───────────────┘
|
|
123
|
+
↕ ↕ ↕
|
|
124
|
+
Ollama SQLite/ 202 岗位
|
|
125
|
+
云端 API 记忆进化 31 行业
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 🖥️ 命令行
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
opc init # 创建 Agent 项目
|
|
134
|
+
opc run # 启动 Agent
|
|
135
|
+
opc studio # 打开 Studio 管理界面
|
|
136
|
+
opc chat # 终端聊天(TUI)
|
|
137
|
+
opc doctor # 健康检查(13 项)
|
|
138
|
+
opc memory-search <query> # 搜索 Agent 记忆
|
|
139
|
+
opc skills list # 查看可用 Skill
|
|
140
|
+
opc deploy # 部署到云端
|
|
141
|
+
opc publish # 发布到 OPC Hub
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## ⚙️ 配置
|
|
147
|
+
|
|
148
|
+
Agent 通过 `oad.yaml` 定义:
|
|
149
|
+
|
|
150
|
+
```yaml
|
|
151
|
+
name: customer-support
|
|
152
|
+
description: 24小时 AI 客服
|
|
153
|
+
model: auto # 自动选择最佳模型
|
|
154
|
+
language: zh
|
|
155
|
+
channels:
|
|
156
|
+
telegram:
|
|
157
|
+
token: ${TELEGRAM_BOT_TOKEN}
|
|
158
|
+
web:
|
|
159
|
+
port: 3000
|
|
160
|
+
tools:
|
|
161
|
+
- web-search
|
|
162
|
+
- memory-search
|
|
163
|
+
skills:
|
|
164
|
+
- customer-service
|
|
165
|
+
- product-knowledge
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 🏥 健康检查
|
|
171
|
+
|
|
172
|
+
13 项自动诊断:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
opc doctor
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
检查项:配置、模型连接、渠道认证、记忆持久化、工具可用性、Ollama 状态、磁盘空间、Node.js 版本等。
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 📊 竞品对比
|
|
183
|
+
|
|
184
|
+
| 特性 | OPC Agent | OpenClaw | Hermes Agent |
|
|
185
|
+
|------|-----------|----------|--------------|
|
|
186
|
+
| 图形管理界面 | ✅ Studio | ❌ 仅 CLI | ❌ 仅 CLI |
|
|
187
|
+
| 本地优先 (Ollama) | ✅ 自动检测 | ❌ 仅云端 | ⚠️ 手动 |
|
|
188
|
+
| 智能模型推荐 | ✅ 基于硬件 | ❌ | ❌ |
|
|
189
|
+
| 知识进化 | ✅ 三层 + 蒸馏 | ❌ | ⚠️ 手动 |
|
|
190
|
+
| 岗位模板 | ✅ 202 / 31 行业 | ❌ | ❌ |
|
|
191
|
+
| 内置工具 | ✅ 53 个 | ⚠️ ~20 | ⚠️ ~10 |
|
|
192
|
+
| 渠道 | ✅ 20 个 | ⚠️ 5 | ⚠️ 3 |
|
|
193
|
+
| A2A + MCP + AG-UI | ✅ 全部 | ⚠️ 仅 MCP | ❌ |
|
|
194
|
+
| 一行安装 | ✅ | ✅ | ❌ |
|
|
195
|
+
| 健康检查 | ✅ 13 项 | ❌ | ❌ |
|
|
196
|
+
| 记忆压缩 | ✅ 自动蒸馏 | ❌ | ❌ |
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 🤝 贡献
|
|
201
|
+
|
|
202
|
+
查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解贡献指南。
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
git clone https://github.com/Deepleaper/opc-agent.git
|
|
206
|
+
cd opc-agent
|
|
207
|
+
npm install
|
|
208
|
+
npm run build
|
|
209
|
+
npm run dev
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 📄 许可证
|
|
215
|
+
|
|
216
|
+
Apache-2.0 — 详见 [LICENSE](LICENSE)。
|
|
217
|
+
|
|
218
|
+
**开源组件许可:**
|
|
219
|
+
- `opc-agent` / `agentkits`:Apache-2.0
|
|
220
|
+
- `deepbrain` / `workstation`:LGPL-3.0
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
<div align="center">
|
|
225
|
+
|
|
226
|
+
**由 [跃盟科技 Deepleaper](https://www.deepleaper.com) 构建** · 驱动 AI 劳动力革命
|
|
227
|
+
|
|
228
|
+
⭐ 如果 OPC 对你有帮助,请给我们一颗星!
|
|
229
|
+
|
|
230
|
+
</div>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
你的任务是完全重写 OPC Studio 的前端 UI (src/studio-ui/index.html)。这是一个单文件 HTML(含 CSS + JS),不能拆分。
|
|
2
|
+
|
|
3
|
+
## 第一步:读取参考文件
|
|
4
|
+
1. 读 `C:\Users\mingjwan\.openclaw\agents\ray-cto\workspace\tmp\opc-studio-prd-v1.2.html` — PRD mockup 设计
|
|
5
|
+
2. 读 `src/studio/server.ts` — 后端 API 接口
|
|
6
|
+
3. 读当前 `src/studio-ui/index.html` — 了解现有结构
|
|
7
|
+
|
|
8
|
+
## 设计规范
|
|
9
|
+
|
|
10
|
+
### 视觉风格
|
|
11
|
+
- 亮色 Material 3 风格(白底 + Google Blue #1a73e8)
|
|
12
|
+
- 字体: system-ui, -apple-system, 'Segoe UI'
|
|
13
|
+
- 圆角: 12px
|
|
14
|
+
- 字体大小: >= 14px
|
|
15
|
+
- 卡片阴影: 0 1px 3px rgba(0,0,0,0.08)
|
|
16
|
+
- hover: 加深阴影 + 蓝色边框
|
|
17
|
+
|
|
18
|
+
### 侧边栏结构(固定不变)
|
|
19
|
+
```
|
|
20
|
+
⚡ OPC Studio(logo)
|
|
21
|
+
|
|
22
|
+
🧑💻 OPC 助手(置顶,全局助理)
|
|
23
|
+
─────────
|
|
24
|
+
🤖 OPC AGENT(section label)
|
|
25
|
+
[动态 Agent 列表]
|
|
26
|
+
➕ 新建 Agent
|
|
27
|
+
👥 新建群组
|
|
28
|
+
📡 渠道配置
|
|
29
|
+
─────────
|
|
30
|
+
🧩 AGENTKITS(section label)
|
|
31
|
+
模型配置
|
|
32
|
+
─────────
|
|
33
|
+
🧠 DEEPBRAIN(section label)
|
|
34
|
+
知识库浏览
|
|
35
|
+
─────────
|
|
36
|
+
🖥️ WORKSTATION(section label)
|
|
37
|
+
岗位模板库
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 页面列表
|
|
41
|
+
|
|
42
|
+
1. **OPC 助手聊天页** — SSE 流式聊天,首次打开默认进入
|
|
43
|
+
2. **Agent 聊天页** — 左 60% 聊天 + 右 40% 设置面板(可折叠,点 ⚙️ 展开)
|
|
44
|
+
- 设置面板 5 个 tab: 角色 / 模型 / 渠道 / 记忆 / 技能
|
|
45
|
+
- 模型 tab: 只显示已配通的模型供选择
|
|
46
|
+
3. **AgentKits 模型配置页** — 三区: Ollama 本地模型 / 云端 API Key(填Key→验证按钮→解锁)/ Agent 模型分配表
|
|
47
|
+
- 核心规则:没配通 Key 的 Provider,其模型不出现在 Agent 的模型选择列表
|
|
48
|
+
4. **DeepBrain 知识库页** — 拖拽上传区 + 统计卡片 + 搜索 + 三层浏览(行业/岗位/工位)
|
|
49
|
+
5. **Workstation 岗位模板库页** — 面包屑导航 + 三级钻取(行业→岗位→工位)+ 每层显示 Skill 标签 + 底部 Skill 自动叠加说明
|
|
50
|
+
6. **渠道配置页** — Telegram/微信/飞书/Slack 等 Token 配置
|
|
51
|
+
7. **新建 Agent 页** — 简单表单(名称+描述+选模板)
|
|
52
|
+
|
|
53
|
+
### 后端 API(已有)
|
|
54
|
+
- GET /api/agents — Agent 列表
|
|
55
|
+
- GET /api/agents/:id — Agent 详情
|
|
56
|
+
- PUT /api/agents/:id — 更新 Agent
|
|
57
|
+
- POST /api/agents — 创建 Agent
|
|
58
|
+
- DELETE /api/agents/:id — 删除 Agent
|
|
59
|
+
- POST /api/agents/:id/chat — 聊天(SSE 流式)
|
|
60
|
+
- GET /api/config — 全局配置
|
|
61
|
+
- PUT /api/config — 更新配置
|
|
62
|
+
- GET /api/skills — 技能列表
|
|
63
|
+
- GET /api/schedules — 调度列表
|
|
64
|
+
- GET /api/status — 系统状态
|
|
65
|
+
- GET /api/memory — 记忆
|
|
66
|
+
|
|
67
|
+
### 关键约束
|
|
68
|
+
1. 单文件 HTML,CSS 和 JS 全内联
|
|
69
|
+
2. `const API = '';` 开头(空字符串,相对路径)
|
|
70
|
+
3. 聊天用 SSE 流式(fetch + ReadableStream),打字机效果
|
|
71
|
+
4. 首次打开(无 Agent 时)自动导航到 OPC 助手
|
|
72
|
+
5. Agent 列表轮询刷新(5s)
|
|
73
|
+
6. 所有按钮必须有 onclick 处理
|
|
74
|
+
7. Markdown 渲染(代码块、列表、粗体等)
|
|
75
|
+
|
|
76
|
+
完成后不需要运行测试,直接告诉我你写完了。
|
|
@@ -29,6 +29,7 @@ export interface TelegramChannelConfig {
|
|
|
29
29
|
textChunkLimit?: number;
|
|
30
30
|
requireMention?: boolean;
|
|
31
31
|
botUsername?: string;
|
|
32
|
+
voiceReply?: boolean;
|
|
32
33
|
}
|
|
33
34
|
export declare class TelegramChannel extends BaseChannel {
|
|
34
35
|
readonly type = "telegram";
|
|
@@ -48,6 +49,8 @@ export declare class TelegramChannel extends BaseChannel {
|
|
|
48
49
|
private polling;
|
|
49
50
|
private server;
|
|
50
51
|
private streamHandler?;
|
|
52
|
+
private voice;
|
|
53
|
+
private voiceReply;
|
|
51
54
|
constructor(config?: TelegramChannelConfig);
|
|
52
55
|
setStreamHandler(handler: (msg: Message) => AsyncIterable<string>): void;
|
|
53
56
|
start(): Promise<void>;
|
|
@@ -63,6 +66,8 @@ export declare class TelegramChannel extends BaseChannel {
|
|
|
63
66
|
private streamResponse;
|
|
64
67
|
sendFormattedMessage(chatId: number | string, text: string, replyTo?: number, threadId?: number): Promise<any>;
|
|
65
68
|
sendMessage(chatId: number | string, text: string): Promise<void>;
|
|
69
|
+
/** Send a voice message (TTS) alongside or instead of text */
|
|
70
|
+
sendVoiceMessage(chatId: number | string, text: string, replyTo?: number): Promise<boolean>;
|
|
66
71
|
private setReaction;
|
|
67
72
|
private sendTyping;
|
|
68
73
|
private isGroupChat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAa;IAG5B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAU;IAGhC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAkB;IAGjC,OAAO,CAAC,MAAM,CAAsC;IAGpD,OAAO,CAAC,aAAa,CAAC,CAA0C;IAGhE,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAkB;gBAExB,MAAM,GAAE,qBAA0B;IA0B9C,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IAIlE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUb,YAAY;YAOZ,IAAI;YAmBJ,UAAU;YAmBV,YAAY;YA4CZ,WAAW;YASX,aAAa;YAuIb,aAAa;YA0Cb,mBAAmB;YAkCnB,cAAc;IAmEtB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA2C9G,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,8DAA8D;IACxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAyCnF,WAAW;YAcX,UAAU;IAUxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;OAGG;IACH,OAAO,CAAC,UAAU;YA0BJ,OAAO;CAqBtB"}
|