zero-ai-cli 1.1.0__tar.gz
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.
- zero_ai_cli-1.1.0/PKG-INFO +475 -0
- zero_ai_cli-1.1.0/README.md +439 -0
- zero_ai_cli-1.1.0/pyproject.toml +63 -0
- zero_ai_cli-1.1.0/setup.cfg +4 -0
- zero_ai_cli-1.1.0/tui_agent.py +11900 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/PKG-INFO +475 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/SOURCES.txt +9 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/dependency_links.txt +1 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/entry_points.txt +2 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/requires.txt +20 -0
- zero_ai_cli-1.1.0/zero_ai_cli.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: zero-ai-cli
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: ZeroAI - 终端 AI 编程助手(多专家协作·语音对话·文档生成·安全审计)
|
|
5
|
+
Author: ZeroAI Team
|
|
6
|
+
License: Proprietary
|
|
7
|
+
Keywords: ai,cli,assistant,coding,terminal,zeroai
|
|
8
|
+
Classifier: Environment :: Console
|
|
9
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Requires-Dist: textual>=0.47
|
|
19
|
+
Requires-Dist: openai>=1.0
|
|
20
|
+
Requires-Dist: python-docx>=0.8
|
|
21
|
+
Requires-Dist: openpyxl>=3.1
|
|
22
|
+
Requires-Dist: reportlab>=4.0
|
|
23
|
+
Requires-Dist: Pillow>=10.0
|
|
24
|
+
Requires-Dist: psutil>=5.9
|
|
25
|
+
Requires-Dist: pyyaml>=6.0
|
|
26
|
+
Requires-Dist: requests>=2.28
|
|
27
|
+
Requires-Dist: matplotlib>=3.5
|
|
28
|
+
Requires-Dist: numpy>=1.20
|
|
29
|
+
Provides-Extra: voice
|
|
30
|
+
Requires-Dist: sherpa-onnx>=1.9; extra == "voice"
|
|
31
|
+
Requires-Dist: faster-whisper>=0.9; extra == "voice"
|
|
32
|
+
Requires-Dist: av>=12.0; extra == "voice"
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: pyinstaller>=5.13; extra == "dev"
|
|
35
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
36
|
+
|
|
37
|
+
<div align="center">
|
|
38
|
+
|
|
39
|
+
# ZeroAI
|
|
40
|
+
|
|
41
|
+
### 终端 AI 编程助手 + AI 远程运维
|
|
42
|
+
|
|
43
|
+
**多专家协作 · 语音对话 · 文档生成 · 安全审计 · SSH 远程部署 · AI 运维**
|
|
44
|
+
|
|
45
|
+
[](https://www.python.org/)
|
|
46
|
+
[]()
|
|
47
|
+
[]()
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 简介
|
|
54
|
+
|
|
55
|
+
ZeroAI 是一个功能完整的终端 AI 助手,对标 OpenCode,专为开发者和研究人员设计。集成 7 位 AI 专家协同工作,支持语音对话、文档生成、安全审计、文献检索等功能,**并具备 SSH 远程部署 + AI 远程运维能力**,可远程帮用户部署项目、诊断服务器、管理服务/Docker/防火墙等,开箱即用。
|
|
56
|
+
|
|
57
|
+
## 核心特性
|
|
58
|
+
|
|
59
|
+
### 🤖 多专家协作
|
|
60
|
+
- **7 位专家**:项目经理(GLM-4V 多模态)、编程(GLM-4.7)、推理、通用知识、中文写作、多模态视觉、学术研究
|
|
61
|
+
- **自动路由**:根据问题关键词自动分配到最合适的专家
|
|
62
|
+
- **混合思考**:多专家协作处理同一问题,项目经理汇总
|
|
63
|
+
- **手动模式**:可手动指定模型(GLM / OpenRouter / Ollama)
|
|
64
|
+
|
|
65
|
+
### 🚀 SSH 远程部署(7 个工具)
|
|
66
|
+
- **多服务器并行连接**:通过 `conn_id` 区分不同服务器,支持密码/密钥认证
|
|
67
|
+
- **远程命令执行**:危险命令(rm -rf /、mkfs、dd 等 11 类)二次确认
|
|
68
|
+
- **SFTP 文件传输**:上传/下载文件,自动设置权限
|
|
69
|
+
- **一键自动化部署**:`ssh_deploy` 7 步骤(pre_check → mkdir → upload → install → restart → health_check → post_cmds)
|
|
70
|
+
- **审计日志**:所有 SSH 操作自动记录(最多 200 条),可追溯
|
|
71
|
+
- **安全设计**:主机地址校验、危险命令黑名单、内网IP可选阻断、输出截断保护
|
|
72
|
+
|
|
73
|
+
### 🛠️ AI 远程运维(8 个语义化工具)
|
|
74
|
+
**核心升级**:把"AI 拼命令"升级为"AI 调用语义化工具",减少幻觉、统一错误处理、自动分析结果。
|
|
75
|
+
- **服务管理** `ssh_service_manage`:systemd 封装(status/start/stop/restart/enable)
|
|
76
|
+
- **日志分析** `ssh_log_view`:journalctl 封装,自动统计错误密度
|
|
77
|
+
- **进程查看** `ssh_process_check`:按 CPU/内存排序 Top N
|
|
78
|
+
- **磁盘分析** `ssh_disk_analyze`:df + du Top10,自动标注危急/警告
|
|
79
|
+
- **网络诊断** `ssh_network_diag`:端口/连接/ping/统计
|
|
80
|
+
- **Docker 管理** `ssh_docker_manage`:容器/镜像/日志/资源
|
|
81
|
+
- **防火墙管理** `ssh_firewall_manage`:自动识别 ufw/firewalld/iptables
|
|
82
|
+
- **一键体检** `ssh_health_check`:综合报告 + AI 健康分析 + 异常项标注
|
|
83
|
+
|
|
84
|
+
### 🧠 AI 运维决策链(自主诊断)
|
|
85
|
+
- **模糊问题处理**:"服务器卡了" → 先体检 → 再深入 → 定位 → 给建议
|
|
86
|
+
- **明确故障排错**:"nginx 挂了" → 看 status → 若 failed → 查 error 日志 → 定位根因
|
|
87
|
+
- **AI 主动分析**:体检报告自动识别负载/磁盘/Swap/失败服务/错误日志异常项
|
|
88
|
+
|
|
89
|
+
### 🎙️ 语音对话
|
|
90
|
+
- **离线语音识别**:基于 SenseVoice(阿里达摩院),支持中英日韩粤 5 语言,无需 API Key
|
|
91
|
+
- **语音合成**:Edge TTS,支持男女声切换、语速调节
|
|
92
|
+
- **实时字幕**:对话模式下显示实时字幕
|
|
93
|
+
- **快捷操作**:Ctrl+T 单次语音输入,Ctrl+D 持续对话模式
|
|
94
|
+
|
|
95
|
+
### 📄 文档生成
|
|
96
|
+
- **国标格式**:按 GB/T 7713.1-2025 生成 Word/PDF 文档
|
|
97
|
+
- **四级标题**:支持 `#` 到 `####` 四级标题渲染
|
|
98
|
+
- **学术公式**:LaTeX → Unicode 渲染(分数、根号、矩阵、极限、求和、积分等)
|
|
99
|
+
- **PDF 公式图片**:独立公式 `$$...$$` 通过 matplotlib mathtext 渲染为高清图片
|
|
100
|
+
- **参考文献**:自动格式化引用
|
|
101
|
+
|
|
102
|
+
### 🔒 安全审计
|
|
103
|
+
- **漏洞扫描**:SQL 注入、XSS、硬编码密钥、路径遍历等
|
|
104
|
+
- **依赖检查**:扫描依赖包已知漏洞
|
|
105
|
+
- **配置审计**:检查配置文件安全问题
|
|
106
|
+
- **非侵入式**:仅扫描自身项目,不进行渗透测试
|
|
107
|
+
|
|
108
|
+
### 📚 文献检索
|
|
109
|
+
- **Semantic Scholar**:集成 2 亿+学术论文数据库
|
|
110
|
+
- **智能筛选**:按年份、引用数、影响力排序
|
|
111
|
+
- **免费无需 Key**:直接使用
|
|
112
|
+
|
|
113
|
+
### ⚡ 其他特性
|
|
114
|
+
- **流式输出**:实时显示 AI 思考过程和回复
|
|
115
|
+
- **上下文压缩**:长对话自动压缩,节省 Token
|
|
116
|
+
- **图片输入**:粘贴剪贴板图片或输入图片路径(多模态)
|
|
117
|
+
- **代码工具**:读写文件、执行命令、代码搜索
|
|
118
|
+
|
|
119
|
+
## 安装
|
|
120
|
+
|
|
121
|
+
### 方式一:pip 安装(推荐)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
pip install zero-ai-cli
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 方式二:从源码安装
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
git clone <仓库地址>
|
|
131
|
+
cd zero-ai-cli
|
|
132
|
+
pip install -e .
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 可选:安装语音功能
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
pip install zero-ai-cli[voice]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
语音功能包含:sherpa-onnx(语音识别)、faster-whisper(备用识别)、av(音频处理)。
|
|
142
|
+
|
|
143
|
+
首次使用语音功能时,会自动从 HuggingFace 镜像下载 SenseVoice 模型(约 220MB),下载后离线运行。
|
|
144
|
+
|
|
145
|
+
## 使用
|
|
146
|
+
|
|
147
|
+
安装后在任意终端输入:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
zeroai
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 首次使用配置
|
|
154
|
+
|
|
155
|
+
首次启动需要配置 AI 模型的 API Key:
|
|
156
|
+
|
|
157
|
+
1. **获取 GLM API Key**(免费):
|
|
158
|
+
- 访问 https://open.bigmodel.cn/
|
|
159
|
+
- 注册账号,在 API Keys 页面创建 Key
|
|
160
|
+
- 免费额度充足,无需付费
|
|
161
|
+
|
|
162
|
+
2. **配置 Key**:
|
|
163
|
+
- 启动 ZeroAI 后按 `Ctrl+P` 打开设置面板
|
|
164
|
+
- 填入 GLM API Key 并保存
|
|
165
|
+
- 或设置环境变量:`ZEROAI_API_KEY_GLM=你的Key`
|
|
166
|
+
|
|
167
|
+
### 命令列表
|
|
168
|
+
|
|
169
|
+
#### 基础命令
|
|
170
|
+
|
|
171
|
+
| 命令 | 说明 |
|
|
172
|
+
|------|------|
|
|
173
|
+
| `/帮助` | 显示帮助 |
|
|
174
|
+
| `/清屏` | 清空屏幕 |
|
|
175
|
+
| `/新对话` | 开始新对话 |
|
|
176
|
+
| `/退出` | 退出程序 |
|
|
177
|
+
|
|
178
|
+
#### 模式切换
|
|
179
|
+
|
|
180
|
+
| 命令 | 说明 |
|
|
181
|
+
|------|------|
|
|
182
|
+
| `/专家` | 切换到专家模式(自动路由) |
|
|
183
|
+
| `/混合` | 切换到混合思考(多专家协作) |
|
|
184
|
+
| `/手动` | 切换到手动模式(指定模型) |
|
|
185
|
+
| `/模型` | 查看当前模型和专家团队 |
|
|
186
|
+
| `/模型 glm` | 切换到智谱 GLM |
|
|
187
|
+
| `/模型 glm-v` | 切换到智谱 GLM-4V(多模态) |
|
|
188
|
+
| `/模型 openrouter` | 切换到 OpenRouter |
|
|
189
|
+
| `/模型 ollama` | 切换到 Ollama(本地模型) |
|
|
190
|
+
|
|
191
|
+
#### 语音交互
|
|
192
|
+
|
|
193
|
+
| 命令 | 说明 |
|
|
194
|
+
|------|------|
|
|
195
|
+
| `/语音` | 开启/关闭 AI 回复自动朗读 |
|
|
196
|
+
| `/对话` | 开启语音对话模式 |
|
|
197
|
+
| `/停止` | 停止语音对话模式 |
|
|
198
|
+
| `/女声` | 切换为女声(晓晓) |
|
|
199
|
+
| `/男声` | 切换为男声(云希) |
|
|
200
|
+
| `/语速 +10%` | 设置语速 |
|
|
201
|
+
| `Ctrl+T` | 单次语音输入 |
|
|
202
|
+
| `Ctrl+D` | 语音对话模式 |
|
|
203
|
+
|
|
204
|
+
#### 其他功能
|
|
205
|
+
|
|
206
|
+
| 命令 | 说明 |
|
|
207
|
+
|------|------|
|
|
208
|
+
| `/图片` | 粘贴剪贴板图片 |
|
|
209
|
+
| `/复制` | 复制最近回复 |
|
|
210
|
+
| `/安全` | 安全审计 |
|
|
211
|
+
| `/ssh` | 查看 SSH 远程部署 + AI 运维工具集(15 个工具) |
|
|
212
|
+
| `Ctrl+G` | 粘贴图片快捷键 |
|
|
213
|
+
| `Ctrl+N` | 新对话 |
|
|
214
|
+
| `Ctrl+P` | 设置面板 |
|
|
215
|
+
| `Ctrl+W` | 伴随模式 |
|
|
216
|
+
| `Ctrl+Y` | 复制 |
|
|
217
|
+
|
|
218
|
+
### 专家团队
|
|
219
|
+
|
|
220
|
+
| 专家 | 模型 | 职责 |
|
|
221
|
+
|------|------|------|
|
|
222
|
+
| 项目经理 | GLM-4V | 任务分析、调度、多模态(支持图片) |
|
|
223
|
+
| 编程 | GLM-4.7 | 代码生成、调试、重构 |
|
|
224
|
+
| 推理 | 内置免费模型 | 深度推理、数学、逻辑 |
|
|
225
|
+
| 通用知识 | GLM-4.7 | 通用问答、翻译、百科 |
|
|
226
|
+
| 中文写作 | 内置免费模型 | 中文写作、文案、报告 |
|
|
227
|
+
| 多模态 | GLM-4V | 图片理解、图文分析 |
|
|
228
|
+
| 学术研究 | GLM-4.7 | 学术研究、公式推导、论文写作 |
|
|
229
|
+
|
|
230
|
+
## 系统要求
|
|
231
|
+
|
|
232
|
+
- **Python** >= 3.10
|
|
233
|
+
- **操作系统**:Windows / macOS / Linux
|
|
234
|
+
- **网络**:需要访问智谱 GLM API(`open.bigmodel.cn`)
|
|
235
|
+
- **语音功能**:需要麦克风(仅语音对话模式)
|
|
236
|
+
- **多模态**:支持 png/jpg/jpeg/gif/bmp/webp 格式图片
|
|
237
|
+
|
|
238
|
+
## 配置
|
|
239
|
+
|
|
240
|
+
### 配置文件位置
|
|
241
|
+
|
|
242
|
+
- **Windows**:`%USERPROFILE%\.zeroai\config.json`
|
|
243
|
+
- **macOS/Linux**:`~/.zeroai/config.json`
|
|
244
|
+
|
|
245
|
+
### 环境变量
|
|
246
|
+
|
|
247
|
+
| 环境变量 | 说明 |
|
|
248
|
+
|---------|------|
|
|
249
|
+
| `ZEROAI_API_KEY_GLM` | 智谱 GLM API Key |
|
|
250
|
+
| `ZEROAI_API_KEY_OPENROUTER` | OpenRouter API Key |
|
|
251
|
+
| `ZEROAI_HOME` | ZeroAI 资源目录(libs/models 所在位置) |
|
|
252
|
+
|
|
253
|
+
### 资源目录
|
|
254
|
+
|
|
255
|
+
语音模型等资源文件查找顺序:
|
|
256
|
+
|
|
257
|
+
1. 脚本所在目录(开发模式)
|
|
258
|
+
2. `ZEROAI_HOME` 环境变量指定的目录
|
|
259
|
+
3. 用户主目录 `~/.zeroai/`(pip 安装模式)
|
|
260
|
+
|
|
261
|
+
## 技术栈
|
|
262
|
+
|
|
263
|
+
| 组件 | 技术 |
|
|
264
|
+
|------|------|
|
|
265
|
+
| UI 框架 | Textual TUI |
|
|
266
|
+
| AI 接口 | OpenAI SDK(兼容 GLM API) |
|
|
267
|
+
| **SSH 远程** | **asyncssh(纯 Python 异步 SSH)** |
|
|
268
|
+
| 语音识别 | sherpa-onnx + SenseVoice(离线) |
|
|
269
|
+
| 语音合成 | Edge TTS |
|
|
270
|
+
| 文档生成 | python-docx + reportlab + matplotlib |
|
|
271
|
+
| 学术公式 | LaTeX → Unicode + matplotlib mathtext |
|
|
272
|
+
| 文献检索 | Semantic Scholar API |
|
|
273
|
+
|
|
274
|
+
## 功能演示
|
|
275
|
+
|
|
276
|
+
### 多专家协作
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
用户:帮我写一个 Python 函数计算斐波那契数列,并分析时间复杂度
|
|
280
|
+
|
|
281
|
+
→ 项目经理·GLM-4V 分析任务
|
|
282
|
+
→ 编程·GLM-4.7 生成代码
|
|
283
|
+
→ 推理·内置 分析复杂度
|
|
284
|
+
→ 项目经理·GLM-4V 汇总结果
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### 语音对话
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
按 Ctrl+D 进入语音对话模式
|
|
291
|
+
→ 说话:"什么是递归"
|
|
292
|
+
→ AI 语音回答 + 实时字幕显示
|
|
293
|
+
→ 继续说话或按 ESC 退出
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### 文档生成
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
用户:请生成一份关于机器学习的学术报告,Word 格式
|
|
300
|
+
|
|
301
|
+
→ 学术研究·GLM-4.7 生成内容
|
|
302
|
+
→ 自动按 GB/T 7713.1-2025 格式排版
|
|
303
|
+
→ 保存为 .docx 文件
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### SSH 远程部署
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
用户:连接到 192.168.10.22,用户 root,密码 xxx,把 D:/项目/myapp 部署到 /opt/myapp
|
|
310
|
+
|
|
311
|
+
→ ssh_connect 建立连接(conn_id=default)
|
|
312
|
+
→ ssh_deploy 一键部署:
|
|
313
|
+
1. pre_check → 检查磁盘空间/Python版本
|
|
314
|
+
2. mkdir → 创建 /opt/myapp 目录
|
|
315
|
+
3. upload → SFTP 上传项目文件
|
|
316
|
+
4. install → pip install -r requirements.txt
|
|
317
|
+
5. restart → systemctl restart myapp
|
|
318
|
+
6. health_check → curl localhost:8080/health
|
|
319
|
+
7. post_cmds → 清理临时文件
|
|
320
|
+
→ 生成部署报告
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### AI 远程运维(语义化工具)
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
用户:服务器卡了,看看怎么回事
|
|
327
|
+
|
|
328
|
+
→ ssh_health_check 一键体检
|
|
329
|
+
→ 系统信息、CPU、内存、磁盘、网络、负载、失败服务、错误日志
|
|
330
|
+
→ AI 分析:发现 3 个问题
|
|
331
|
+
1. ⚠️ 1分钟负载 5.2 偏高
|
|
332
|
+
2. ⚠️ 磁盘使用率 92%(危急)
|
|
333
|
+
3. ⚠️ 最近1小时有 15 条错误日志
|
|
334
|
+
→ 建议深入排查
|
|
335
|
+
|
|
336
|
+
用户:mysql 状态怎么样
|
|
337
|
+
|
|
338
|
+
→ ssh_service_manage(action=status, service=mysql)
|
|
339
|
+
→ 自动状态解读:✅ 服务运行中 / ⚠️ 服务未运行 / ❌ 异常退出
|
|
340
|
+
|
|
341
|
+
用户:查 nginx 的 error 日志
|
|
342
|
+
|
|
343
|
+
→ ssh_log_view(service=nginx, keyword=error)
|
|
344
|
+
→ 返回日志 + 自动统计:错误密度高,建议深入排查
|
|
345
|
+
|
|
346
|
+
用户:开放 8080 端口
|
|
347
|
+
|
|
348
|
+
→ ssh_firewall_manage(action=open, port=8080)
|
|
349
|
+
→ 自动识别防火墙类型(ufw/firewalld/iptables)并执行
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## 开发
|
|
353
|
+
|
|
354
|
+
### 开发模式安装
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
git clone <仓库地址>
|
|
358
|
+
cd zero-ai-cli
|
|
359
|
+
pip install -e .
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
开发模式下修改 `tui_agent.py` 即时生效,无需重新安装。
|
|
363
|
+
|
|
364
|
+
### 构建
|
|
365
|
+
|
|
366
|
+
#### 方式一:pip 包构建
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
pip install build
|
|
370
|
+
python -m build
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
生成的包在 `dist/` 目录。
|
|
374
|
+
|
|
375
|
+
#### 方式二:PyInstaller 单文件 EXE
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
pip install pyinstaller
|
|
379
|
+
pyinstaller ZeroAI.spec
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
打包后生成 `dist/ZeroAI.exe` 单文件,包含所有依赖(含 asyncssh、语音模型、文档生成库等)。
|
|
383
|
+
|
|
384
|
+
### 项目结构
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
zero-ai-cli/
|
|
388
|
+
├── tui_agent.py # 主程序(单文件架构,含 48 个工具)
|
|
389
|
+
├── ollama_chat.py # Ollama 集成
|
|
390
|
+
├── ollama_agent.py # Ollama Agent
|
|
391
|
+
├── terminal_agent.py # 终端 Agent
|
|
392
|
+
├── pyproject.toml # 包配置
|
|
393
|
+
├── ZeroAI.spec # PyInstaller 打包配置
|
|
394
|
+
├── README.md # 说明文档
|
|
395
|
+
├── install.bat # Windows 一键安装脚本
|
|
396
|
+
├── assets/ # 图标资源
|
|
397
|
+
│ └── icons/
|
|
398
|
+
├── libs/ # 语音依赖库(开发模式)
|
|
399
|
+
└── models/ # 语音识别模型(开发模式)
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
## 常见问题
|
|
403
|
+
|
|
404
|
+
### Q: 启动后提示"请配置 GLM API Key"?
|
|
405
|
+
|
|
406
|
+
A: 按 `Ctrl+P` 打开设置面板,填入智谱 GLM API Key。免费获取:https://open.bigmodel.cn/
|
|
407
|
+
|
|
408
|
+
### Q: 语音功能无法使用?
|
|
409
|
+
|
|
410
|
+
A: 1. 确认已安装语音依赖:`pip install zero-ai-cli[voice]`
|
|
411
|
+
2. 首次使用会自动下载模型(约 220MB)
|
|
412
|
+
3. 确认麦克风权限已开启
|
|
413
|
+
|
|
414
|
+
### Q: 提示 RateLimitError(限流)?
|
|
415
|
+
|
|
416
|
+
A: GLM 免费额度有限,系统会自动降级到其他模型。如频繁限流,可:
|
|
417
|
+
- 在智谱平台升级额度
|
|
418
|
+
- 配置 OpenRouter 作为备用
|
|
419
|
+
- 使用自己的 GLM API Key
|
|
420
|
+
|
|
421
|
+
### Q: 支持 macOS / Linux 吗?
|
|
422
|
+
|
|
423
|
+
A: 核心功能支持。语音功能在 macOS/Linux 上可能需要额外配置音频驱动。
|
|
424
|
+
|
|
425
|
+
### Q: SSH 远程运维怎么使用?
|
|
426
|
+
|
|
427
|
+
A: 1. 直接用自然语言告诉 AI:"连接到 192.168.10.22,用户 root,密码 xxx"
|
|
428
|
+
2. AI 会自动调用 `ssh_connect` 建立连接
|
|
429
|
+
3. 之后可以这样说:"看 nginx 状态"、"服务器卡了体检一下"、"查 mysql 错误日志"、"开放 8080 端口"、"重启 web 容器"
|
|
430
|
+
4. AI 会自动调用对应的语义化运维工具(`ssh_service_manage` / `ssh_health_check` / `ssh_log_view` / `ssh_firewall_manage` / `ssh_docker_manage` 等)
|
|
431
|
+
5. 输入 `/ssh` 查看完整的 15 个 SSH/运维工具列表
|
|
432
|
+
|
|
433
|
+
### Q: SSH 操作安全吗?
|
|
434
|
+
|
|
435
|
+
A: 设计了多重安全保障:
|
|
436
|
+
- **危险命令黑名单**:rm -rf /、mkfs、dd、shutdown 等 11 类必须 `confirm_dangerous=true` 二次确认
|
|
437
|
+
- **注入防护**:服务名/容器名白名单校验,拒绝 `nginx; rm -rf /` 这类命令注入
|
|
438
|
+
- **审计日志**:所有 SSH 操作自动记录(最多 200 条),可通过 `ssh_list` 查询
|
|
439
|
+
- **主机校验**:IP/域名格式校验,可选阻断内网 IP
|
|
440
|
+
- **输出截断**:命令输出超 8000 字符自动截断,防止刷屏
|
|
441
|
+
|
|
442
|
+
### Q: 一键部署 `ssh_deploy` 怎么用?
|
|
443
|
+
|
|
444
|
+
A: 直接告诉 AI 部署需求,AI 会自动构造 deploy_config:
|
|
445
|
+
```
|
|
446
|
+
"把 D:/项目/myapp 部署到 192.168.10.22 的 /opt/myapp,
|
|
447
|
+
安装依赖 pip install -r requirements.txt,
|
|
448
|
+
重启命令 systemctl restart myapp,
|
|
449
|
+
健康检查 curl localhost:8080/health"
|
|
450
|
+
```
|
|
451
|
+
AI 会自动执行 7 步骤并生成部署报告。
|
|
452
|
+
|
|
453
|
+
## 许可证
|
|
454
|
+
|
|
455
|
+
专有软件(Proprietary)。未经授权不得商用。
|
|
456
|
+
|
|
457
|
+
## 作者
|
|
458
|
+
|
|
459
|
+
ZeroAI Team
|
|
460
|
+
|
|
461
|
+
## 致谢
|
|
462
|
+
|
|
463
|
+
- [智谱 AI](https://open.bigmodel.cn/) - GLM 系列模型
|
|
464
|
+
- [Textual](https://textual.textualize.io/) - TUI 框架
|
|
465
|
+
- [asyncssh](https://asyncssh.readthedocs.io/) - 异步 SSH 客户端
|
|
466
|
+
- [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) - 语音识别
|
|
467
|
+
- [Semantic Scholar](https://www.semanticscholar.org/) - 学术文献数据
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
<div align="center">
|
|
472
|
+
|
|
473
|
+
**如果觉得有用,请给个 Star ⭐**
|
|
474
|
+
|
|
475
|
+
</div>
|