inspiration-agent 0.0.1

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/README.md ADDED
@@ -0,0 +1,368 @@
1
+ # Inspiration Agent - AI 智能助手
2
+
3
+ 一个功能强大的 AI 智能助手,支持多 LLM 提供商、飞书集成、定时任务、浏览器自动化等功能。通过自然语言交互,实现文件操作、网络搜索、命令执行、智能体管理等复杂任务。
4
+
5
+ ## 目录
6
+
7
+ - [项目概述](#项目概述)
8
+ - [核心功能](#核心功能)
9
+ - [环境要求](#环境要求)
10
+ - [安装](#安装)
11
+ - [快速开始](#快速开始)
12
+ - [CLI 命令](#cli-命令)
13
+ - [配置说明](#配置说明)
14
+ - [工具详解](#工具详解)
15
+ - [特殊命令](#特殊命令)
16
+ - [项目结构](#项目结构)
17
+ - [常见问题](#常见问题)
18
+ - [许可证](#许可证)
19
+
20
+ ## 项目概述
21
+
22
+ Inspiration Agent 是一个企业级 AI 智能助手解决方案:
23
+
24
+ - **多模型支持**:DeepSeek、Kimi、智谱 GLM、MiniMax
25
+ - **多渠道交互**:CLI 命令行 + 飞书即时通讯
26
+ - **工具调用**:文件操作、网络搜索、浏览器自动化、命令执行
27
+ - **智能记忆**:短期记忆 + 长期记忆,保持对话上下文连贯
28
+ - **定时任务**:Cron 表达式定时执行,结果自动推送飞书
29
+ - **Token 统计**:使用 tiktoken 精确计算 Token 消耗
30
+ - **安全控制**:命令白名单机制,危险操作拦截
31
+
32
+ ## 核心功能
33
+
34
+ | 功能模块 | 描述 |
35
+ |---------|------|
36
+ | 文件操作 | 读取、写入、列出、删除文件 |
37
+ | 网络搜索 | 搜索引擎查询、网页内容抓取 |
38
+ | 浏览器自动化 | 页面导航、元素操作、脚本执行 |
39
+ | 命令执行 | Shell 命令执行(白名单控制) |
40
+ | 定时任务 | 创建、查询、更新、删除定时任务 |
41
+ | 记忆管理 | 长期记忆 + 短期记忆智能管理 |
42
+ | 飞书集成 | 长连接消息接收、富文本推送 |
43
+
44
+ ## 环境要求
45
+
46
+ - **Node.js**: v18.0.0 或更高版本
47
+ - **操作系统**: macOS / Linux / Windows
48
+
49
+ ## 安装
50
+
51
+ ### 方式一:NPM 全局安装(推荐)
52
+
53
+ ```bash
54
+ npm install -g inspiration-agent
55
+ ```
56
+
57
+ ### 方式二:从源码安装
58
+
59
+ ```bash
60
+ git clone https://github.com/your-username/inspiration.git
61
+ cd inspiration
62
+ npm install
63
+ npm run build
64
+ npm link
65
+ ```
66
+
67
+ ## 快速开始
68
+
69
+ ### 1. 运行配置向导
70
+
71
+ 首次使用需要配置 API 密钥等信息:
72
+
73
+ ```bash
74
+ inspiration onboard
75
+ ```
76
+
77
+ 配置向导会引导你完成:
78
+ - LLM 提供商选择(DeepSeek/Kimi/智谱/MiniMax)
79
+ - API 密钥配置
80
+ - 飞书应用配置
81
+ - 服务端口和安全设置
82
+
83
+ ### 2. 启动服务
84
+
85
+ ```bash
86
+ inspiration start -d
87
+ ```
88
+
89
+ ### 3. 进入交互模式
90
+
91
+ ```bash
92
+ inspiration cli
93
+ ```
94
+
95
+ ## CLI 命令
96
+
97
+ ```
98
+ inspiration <command> [options]
99
+
100
+ 命令:
101
+ start 启动服务
102
+ -d, --daemon 后台运行
103
+ stop 停止服务
104
+ restart 重启服务
105
+ status 查看服务状态
106
+ version 查看版本号
107
+ onboard 配置向导
108
+ cli 打开命令行交互(需要服务运行中)
109
+ help 显示帮助信息
110
+ ```
111
+
112
+ ### 示例
113
+
114
+ ```bash
115
+ inspiration start # 前台启动
116
+ inspiration start -d # 后台启动
117
+ inspiration status # 查看状态
118
+ inspiration cli # 进入交互模式
119
+ inspiration stop # 停止服务
120
+ ```
121
+
122
+ ## 配置说明
123
+
124
+ 配置文件位置:`~/.inspiration/.env`
125
+
126
+ ### LLM 提供商配置
127
+
128
+ | 配置项 | 说明 | 默认值 |
129
+ |--------|------|--------|
130
+ | `LLM_PROVIDER` | LLM 提供商 (deepseek/kimi/zhipu/minimax) | `deepseek` |
131
+
132
+ ### DeepSeek 配置
133
+
134
+ | 配置项 | 说明 | 必填 |
135
+ |--------|------|------|
136
+ | `DEEPSEEK_API_KEY` | API 密钥 | ✅ |
137
+ | `DEEPSEEK_API_URL` | API 端点 | 默认值 |
138
+ | `DEEPSEEK_MODEL` | 模型名称 | `deepseek-chat` |
139
+
140
+ ### Kimi 配置
141
+
142
+ | 配置项 | 说明 | 必填 |
143
+ |--------|------|------|
144
+ | `KIMI_API_KEY` | API 密钥 | ✅ |
145
+ | `KIMI_API_URL` | API 端点 | 默认值 |
146
+ | `KIMI_MODEL` | 模型名称 | `moonshot-v1-8k` |
147
+
148
+ ### 智谱 GLM 配置
149
+
150
+ | 配置项 | 说明 | 必填 |
151
+ |--------|------|------|
152
+ | `ZHIPU_API_KEY` | API 密钥 | ✅ |
153
+ | `ZHIPU_API_URL` | API 端点 | 默认值 |
154
+ | `ZHIPU_MODEL` | 模型名称 | `glm-4-flash` |
155
+
156
+ ### MiniMax 配置
157
+
158
+ | 配置项 | 说明 | 必填 |
159
+ |--------|------|------|
160
+ | `MINIMAX_API_KEY` | API 密钥 | ✅ |
161
+ | `MINIMAX_GROUP_ID` | Group ID | ✅ |
162
+ | `MINIMAX_API_URL` | API 端点 | 默认值 |
163
+ | `MINIMAX_MODEL` | 模型名称 | `abab6.5s-chat` |
164
+
165
+ ### 飞书配置
166
+
167
+ | 配置项 | 说明 | 必填 |
168
+ |--------|------|------|
169
+ | `FEISHU_APP_ID` | 应用 ID | ✅ |
170
+ | `FEISHU_APP_SECRET` | 应用密钥 | ✅ |
171
+ | `FEISHU_VERIFICATION_TOKEN` | 验证 Token | ✅ |
172
+ | `FEISHU_ENCRYPT_KEY` | 加密密钥 | 可选 |
173
+ | `FEISHU_DEFAULT_CHAT_ID` | 默认聊天 ID | 可选 |
174
+
175
+ ### 服务配置
176
+
177
+ | 配置项 | 说明 | 默认值 |
178
+ |--------|------|--------|
179
+ | `PORT` | 服务端口 | `3000` |
180
+ | `ENABLE_STREAM` | 流式输出 | `true` |
181
+ | `DATABASE_PATH` | 数据库路径 | `./data/ai_agent.db` |
182
+
183
+ ### 安全配置
184
+
185
+ | 配置项 | 说明 | 默认值 |
186
+ |--------|------|--------|
187
+ | `COMMAND_WHITELIST_ENABLED` | 启用命令白名单 | `true` |
188
+
189
+ ## 工具详解
190
+
191
+ ### 文件工具
192
+
193
+ | 工具 | 功能 |
194
+ |------|------|
195
+ | `read_file` | 读取文件内容 |
196
+ | `write_file` | 写入文件 |
197
+ | `list_files` | 列出目录 |
198
+ | `delete_file` | 删除文件 |
199
+
200
+ ### 搜索工具
201
+
202
+ | 工具 | 功能 |
203
+ |------|------|
204
+ | `web_search` | 网络搜索 |
205
+ | `fetch_web_page` | 抓取网页 |
206
+
207
+ ### 浏览器工具
208
+
209
+ | 工具 | 功能 |
210
+ |------|------|
211
+ | `launch_browser` | 启动浏览器 |
212
+ | `navigate_to` | 导航页面 |
213
+ | `click_element` | 点击元素 |
214
+ | `fill_input` | 填写表单 |
215
+ | `get_page_content` | 获取内容 |
216
+ | `execute_script` | 执行脚本 |
217
+ | `close_browser` | 关闭浏览器 |
218
+
219
+ ### 命令工具
220
+
221
+ | 工具 | 功能 |
222
+ |------|------|
223
+ | `execute_command` | 执行 Shell 命令 |
224
+
225
+ > 默认启用白名单模式,仅允许安全命令执行。
226
+
227
+ ### 定时任务工具
228
+
229
+ | 工具 | 功能 |
230
+ |------|------|
231
+ | `create_scheduled_task` | 创建任务 |
232
+ | `get_all_scheduled_tasks` | 获取所有任务 |
233
+ | `get_scheduled_task` | 获取任务详情 |
234
+ | `update_scheduled_task` | 更新任务 |
235
+ | `delete_scheduled_task` | 删除任务 |
236
+ | `toggle_scheduled_task` | 启用/禁用 |
237
+
238
+ ### 记忆工具
239
+
240
+ | 工具 | 功能 |
241
+ |------|------|
242
+ | `save_memory` | 保存长期记忆 |
243
+ | `search_memories` | 搜索记忆 |
244
+ | `get_all_memories` | 获取所有记忆 |
245
+ | `delete_memory` | 删除记忆 |
246
+
247
+ #### 记忆类型
248
+
249
+ | 类型 | 说明 |
250
+ |------|------|
251
+ | `important` | 重要信息 |
252
+ | `identity` | 身份信息 |
253
+ | `preference` | 偏好设置 |
254
+ | `task` | 任务相关 |
255
+ | `general` | 一般信息 |
256
+
257
+ ### Cron 表达式
258
+
259
+ ```
260
+ 秒 分 时 日 月 星期
261
+
262
+ 示例:
263
+ 0 9 * * * - 每天早上 9 点
264
+ 0 */30 * * * * - 每 30 分钟
265
+ 0 9 * * 1-5 - 工作日早上 9 点
266
+ ```
267
+
268
+ ## 特殊命令
269
+
270
+ 在 CLI 或飞书中可使用:
271
+
272
+ | 命令 | 功能 |
273
+ |------|------|
274
+ | `/new` | 清空上下文 |
275
+ | `/tokens` | Token 统计 |
276
+ | `/status` | 服务状态 |
277
+ | `/shutdown` | 停止服务 |
278
+
279
+ ## 项目结构
280
+
281
+ ```
282
+ inspiration/
283
+ ├── src/
284
+ │ ├── agent/
285
+ │ │ └── ai.agent.js # AI 智能体核心
286
+ │ ├── channel/
287
+ │ │ ├── feishu-connection.js # 飞书长连接
288
+ │ │ └── feishu.service.js # 飞书服务
289
+ │ ├── config/
290
+ │ │ └── system.prompt.txt # 系统提示词
291
+ │ ├── model/
292
+ │ │ ├── base-llm.service.js # LLM 基类
293
+ │ │ ├── deepseek.service.js # DeepSeek
294
+ │ │ ├── kimi.service.js # Kimi
295
+ │ │ ├── minimax.service.js # MiniMax
296
+ │ │ └── zhipu.service.js # 智谱
297
+ │ ├── services/
298
+ │ │ ├── database.service.js # 数据库服务
299
+ │ │ ├── memory.manager.js # 记忆管理
300
+ │ │ └── message.queue.js # 消息队列
301
+ │ ├── tools/
302
+ │ │ ├── browser.tools.js # 浏览器工具
303
+ │ │ ├── command.tools.js # 命令工具
304
+ │ │ ├── file.tools.js # 文件工具
305
+ │ │ ├── memory.tools.js # 记忆工具
306
+ │ │ ├── scheduler.tools.js # 定时任务
307
+ │ │ └── search.tools.js # 搜索工具
308
+ │ ├── utils/
309
+ │ │ ├── logger.js # 日志
310
+ │ │ └── markdown-renderer.js # Markdown 渲染
311
+ │ ├── cli.js # CLI 入口
312
+ │ └── index.js # 服务入口
313
+ ├── data/ # 数据目录(自动创建)
314
+ │ └── ai_agent.db # SQLite 数据库
315
+ ├── .env.example # 配置模板
316
+ └── package.json
317
+ ```
318
+
319
+ ## 常见问题
320
+
321
+ ### Q: 如何获取 API Key?
322
+
323
+ | 提供商 | 获取地址 |
324
+ |--------|----------|
325
+ | DeepSeek | https://www.deepseek.com/ |
326
+ | Kimi | https://platform.moonshot.cn/ |
327
+ | 智谱 | https://open.bigmodel.cn/ |
328
+ | MiniMax | https://www.minimaxi.com/ |
329
+
330
+ ### Q: 如何切换 LLM 提供商?
331
+
332
+ 修改配置文件 `~/.inspiration/.env`:
333
+
334
+ ```env
335
+ LLM_PROVIDER=kimi # 切换到 Kimi
336
+ ```
337
+
338
+ ### Q: 飞书应用如何配置?
339
+
340
+ 1. 访问 [飞书开放平台](https://open.feishu.cn/)
341
+ 2. 创建企业自建应用
342
+ 3. 开启机器人能力
343
+ 4. 配置事件订阅
344
+ 5. 获取 App ID 和 App Secret
345
+
346
+ ### Q: 数据库文件在哪里?
347
+
348
+ 默认位置:`./data/ai_agent.db`
349
+
350
+ 可通过 `DATABASE_PATH` 环境变量修改。
351
+
352
+ ### Q: 命令执行被阻止?
353
+
354
+ 检查 `COMMAND_WHITELIST_ENABLED` 配置:
355
+ - `true`:仅白名单命令可执行
356
+ - `false`:可执行任意命令(不推荐)
357
+
358
+ ### Q: 浏览器自动化无法使用?
359
+
360
+ 确保已安装 Puppeteer 依赖,首次运行会自动下载 Chromium。
361
+
362
+ ## 许可证
363
+
364
+ MIT License
365
+
366
+ ---
367
+
368
+ **Made with ❤️ by Inspiration Team**
@@ -0,0 +1,53 @@
1
+ # LLM 提供商配置
2
+ # 必填项,可选值: deepseek, kimi, zhipu, minimax 默认值: deepseek
3
+ LLM_PROVIDER=deepseek
4
+
5
+ # DeepSeek API 配置
6
+ DEEPSEEK_API_KEY=your_deepseek_api_key
7
+ # DeepSeek API URL 默认值: https://api.deepseek.com/v1/chat/completions
8
+ DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions
9
+ DEEPSEEK_MODEL=deepseek-chat
10
+
11
+ # Kimi (月之暗面) API 配置
12
+ KIMI_API_KEY=your_kimi_api_key
13
+ # Kimi API URL 默认值: https://api.moonshot.cn/v1/chat/completions
14
+ KIMI_API_URL=https://api.moonshot.cn/v1/chat/completions
15
+ KIMI_MODEL=moonshot-v1-8k
16
+
17
+ # 智谱 GLM API 配置
18
+ ZHIPU_API_KEY=your_zhipu_api_key
19
+ # Zhipu API URL 默认值: https://open.bigmodel.cn/api/paas/v4/chat/completions
20
+ ZHIPU_API_URL=https://open.bigmodel.cn/api/paas/v4/chat/completions
21
+ ZHIPU_MODEL=glm-4-flash
22
+
23
+ # MiniMax API 配置
24
+ MINIMAX_API_KEY=your_minimax_api_key
25
+ MINIMAX_GROUP_ID=your_minimax_group_id
26
+ MINIMAX_API_URL=https://api.minimax.chat/v1/chat/completions
27
+ MINIMAX_MODEL=abab6.5s-chat
28
+
29
+ # 飞书应用配置
30
+ # 必填项
31
+ FEISHU_APP_ID=your_feishu_app_id
32
+ # 必填项
33
+ FEISHU_APP_SECRET=your_feishu_app_secret
34
+ # 必填项
35
+ FEISHU_VERIFICATION_TOKEN=your_feishu_verification_token
36
+ # 非必填项,根据飞书设置配置,默认值为空
37
+ FEISHU_ENCRYPT_KEY=your_feishu_encrypt_key
38
+ # 非必填项,默认值为空
39
+ FEISHU_DEFAULT_CHAT_ID=your_default_chat_id
40
+
41
+ # 服务配置
42
+ PORT=3000
43
+ ENABLE_STREAM=true
44
+
45
+ # 命令安全配置
46
+ # COMMAND_WHITELIST_ENABLED=true 表示启用命令白名单模式(推荐)
47
+ # COMMAND_WHITELIST_ENABLED=false 表示禁用白名单,可执行任意命令(仅用于可信环境)
48
+ # 必填项,默认值: true
49
+ COMMAND_WHITELIST_ENABLED=true
50
+
51
+ # 数据库配置
52
+ # 必填项,默认值: ./data/ai_agent.db
53
+ DATABASE_PATH=./data/ai_agent.db