inspiration-agent
v0.1.1
Published
Personal AI Assistant with multi-channel support
Downloads
1,011
Maintainers
Readme
Inspiration Agent - AI 智能助手
一个功能强大的 AI 智能助手,支持多 LLM 提供商、飞书集成、定时任务、浏览器自动化等功能。通过自然语言交互,实现文件操作、网络搜索、命令执行、智能体管理等复杂任务。
目录
项目概述
Inspiration Agent 是一个企业级 AI 智能助手解决方案:
- 多模型支持:DeepSeek、Kimi、智谱 GLM、MiniMax
- 多渠道交互:CLI 命令行 + 飞书即时通讯
- 工具调用:文件操作、网络搜索、浏览器自动化、命令执行
- 智能记忆:短期记忆 + 长期记忆,保持对话上下文连贯
- 定时任务:Cron 表达式定时执行,结果自动推送飞书
- Token 统计:使用 tiktoken 精确计算 Token 消耗
- 安全控制:命令白名单机制,危险操作拦截
核心功能
| 功能模块 | 描述 | |---------|------| | 文件操作 | 读取、写入、列出、删除文件 | | 网络搜索 | 搜索引擎查询、网页内容抓取 | | 浏览器自动化 | 页面导航、元素操作、脚本执行 | | 命令执行 | Shell 命令执行(白名单控制) | | 定时任务 | 创建、查询、更新、删除定时任务 | | 记忆管理 | 长期记忆 + 短期记忆智能管理 | | 飞书集成 | 长连接消息接收、富文本推送 |
环境要求
- Node.js: v18.0.0 或更高版本
- 操作系统: macOS / Linux / Windows
安装
方式一:NPM 全局安装(推荐)
npm install -g inspiration-agent方式二:从源码安装
git clone https://github.com/your-username/inspiration.git
cd inspiration
npm install
npm run build
npm link快速开始
1. 运行配置向导
首次使用需要配置 API 密钥等信息:
inspiration onboard配置向导会引导你完成:
- LLM 提供商选择(DeepSeek/Kimi/智谱/MiniMax)
- API 密钥配置
- 飞书应用配置
- 服务端口和安全设置
2. 启动服务
inspiration start -d3. 进入交互模式
inspiration cliCLI 命令
inspiration <command> [options]
命令:
start 启动服务
-d, --daemon 后台运行
stop 停止服务
restart 重启服务
status 查看服务状态
version 查看版本号
onboard 配置向导
cli 打开命令行交互(需要服务运行中)
help 显示帮助信息示例
inspiration start # 前台启动
inspiration start -d # 后台启动
inspiration status # 查看状态
inspiration cli # 进入交互模式
inspiration stop # 停止服务配置说明
配置文件位置:~/.inspiration/.env
LLM 提供商配置
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| LLM_PROVIDER | LLM 提供商 (deepseek/kimi/zhipu/minimax) | deepseek |
DeepSeek 配置
| 配置项 | 说明 | 必填 |
|--------|------|------|
| DEEPSEEK_API_KEY | API 密钥 | ✅ |
| DEEPSEEK_API_URL | API 端点 | 默认值 |
| DEEPSEEK_MODEL | 模型名称 | deepseek-chat |
Kimi 配置
| 配置项 | 说明 | 必填 |
|--------|------|------|
| KIMI_API_KEY | API 密钥 | ✅ |
| KIMI_API_URL | API 端点 | 默认值 |
| KIMI_MODEL | 模型名称 | moonshot-v1-8k |
智谱 GLM 配置
| 配置项 | 说明 | 必填 |
|--------|------|------|
| ZHIPU_API_KEY | API 密钥 | ✅ |
| ZHIPU_API_URL | API 端点 | 默认值 |
| ZHIPU_MODEL | 模型名称 | glm-4-flash |
MiniMax 配置
| 配置项 | 说明 | 必填 |
|--------|------|------|
| MINIMAX_API_KEY | API 密钥 | ✅ |
| MINIMAX_GROUP_ID | Group ID | ✅ |
| MINIMAX_API_URL | API 端点 | 默认值 |
| MINIMAX_MODEL | 模型名称 | abab6.5s-chat |
飞书配置
| 配置项 | 说明 | 必填 |
|--------|------|------|
| FEISHU_APP_ID | 应用 ID | ✅ |
| FEISHU_APP_SECRET | 应用密钥 | ✅ |
| FEISHU_VERIFICATION_TOKEN | 验证 Token | ✅ |
| FEISHU_ENCRYPT_KEY | 加密密钥 | 可选 |
| FEISHU_DEFAULT_CHAT_ID | 默认聊天 ID | 可选 |
服务配置
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| PORT | 服务端口 | 3000 |
| ENABLE_STREAM | 流式输出 | true |
| DATABASE_PATH | 数据库路径 | ./data/ai_agent.db |
安全配置
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| COMMAND_WHITELIST_ENABLED | 启用命令白名单 | true |
浏览器配置
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| BROWSER_EXECUTABLE_PATH | 浏览器可执行文件路径 | macOS Chrome |
不同系统默认值:
- macOS:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome - Linux:
/usr/bin/google-chrome - Windows:
C:\Program Files\Google\Chrome\Application\chrome.exe
安装时会自动跳过 Chromium 下载,使用系统已安装的 Chrome 浏览器。
工具详解
文件工具
| 工具 | 功能 |
|------|------|
| read_file | 读取文件内容 |
| write_file | 写入文件 |
| list_files | 列出目录 |
| delete_file | 删除文件 |
搜索工具
| 工具 | 功能 |
|------|------|
| web_search | 网络搜索 |
| fetch_web_page | 抓取网页 |
浏览器工具
| 工具 | 功能 |
|------|------|
| launch_browser | 启动浏览器 |
| navigate_to | 导航页面 |
| click_element | 点击元素 |
| fill_input | 填写表单 |
| get_page_content | 获取内容 |
| execute_script | 执行脚本 |
| close_browser | 关闭浏览器 |
命令工具
| 工具 | 功能 |
|------|------|
| execute_command | 执行 Shell 命令 |
默认启用白名单模式,仅允许安全命令执行。
定时任务工具
| 工具 | 功能 |
|------|------|
| create_scheduled_task | 创建任务 |
| get_all_scheduled_tasks | 获取所有任务 |
| get_scheduled_task | 获取任务详情 |
| update_scheduled_task | 更新任务 |
| delete_scheduled_task | 删除任务 |
| toggle_scheduled_task | 启用/禁用 |
记忆工具
| 工具 | 功能 |
|------|------|
| save_memory | 保存长期记忆 |
| search_memories | 搜索记忆 |
| get_all_memories | 获取所有记忆 |
| delete_memory | 删除记忆 |
记忆类型
| 类型 | 说明 |
|------|------|
| important | 重要信息 |
| identity | 身份信息 |
| preference | 偏好设置 |
| task | 任务相关 |
| general | 一般信息 |
Cron 表达式
秒 分 时 日 月 星期
示例:
0 9 * * * - 每天早上 9 点
0 */30 * * * * - 每 30 分钟
0 9 * * 1-5 - 工作日早上 9 点特殊命令
在 CLI 或飞书中可使用:
| 命令 | 功能 |
|------|------|
| /new | 清空上下文 |
| /tokens | Token 统计 |
| /status | 服务状态 |
| /shutdown | 停止服务 |
项目结构
inspiration/
├── src/
│ ├── agent/
│ │ └── ai.agent.js # AI 智能体核心
│ ├── channel/
│ │ ├── feishu-connection.js # 飞书长连接
│ │ └── feishu.service.js # 飞书服务
│ ├── config/
│ │ └── system.prompt.txt # 系统提示词
│ ├── model/
│ │ ├── base-llm.service.js # LLM 基类
│ │ ├── deepseek.service.js # DeepSeek
│ │ ├── kimi.service.js # Kimi
│ │ ├── minimax.service.js # MiniMax
│ │ └── zhipu.service.js # 智谱
│ ├── services/
│ │ ├── database.service.js # 数据库服务
│ │ ├── memory.manager.js # 记忆管理
│ │ └── message.queue.js # 消息队列
│ ├── tools/
│ │ ├── browser.tools.js # 浏览器工具
│ │ ├── command.tools.js # 命令工具
│ │ ├── file.tools.js # 文件工具
│ │ ├── memory.tools.js # 记忆工具
│ │ ├── scheduler.tools.js # 定时任务
│ │ └── search.tools.js # 搜索工具
│ ├── utils/
│ │ ├── logger.js # 日志
│ │ └── markdown-renderer.js # Markdown 渲染
│ ├── cli.js # CLI 入口
│ └── index.js # 服务入口
├── data/ # 数据目录(自动创建)
│ └── ai_agent.db # SQLite 数据库
├── .env.example # 配置模板
└── package.json常见问题
Q: 如何获取 API Key?
| 提供商 | 获取地址 | |--------|----------| | DeepSeek | https://www.deepseek.com/ | | Kimi | https://platform.moonshot.cn/ | | 智谱 | https://open.bigmodel.cn/ | | MiniMax | https://www.minimaxi.com/ |
Q: 如何切换 LLM 提供商?
修改配置文件 ~/.inspiration/.env:
LLM_PROVIDER=kimi # 切换到 KimiQ: 飞书应用如何配置?
- 访问 飞书开放平台
- 创建企业自建应用
- 开启机器人能力
- 配置事件订阅
- 获取 App ID 和 App Secret
Q: 数据库文件在哪里?
默认位置:./data/ai_agent.db
可通过 DATABASE_PATH 环境变量修改。
Q: 命令执行被阻止?
检查 COMMAND_WHITELIST_ENABLED 配置:
true:仅白名单命令可执行false:可执行任意命令(不推荐)
Q: 浏览器自动化无法使用?
确保已安装 Puppeteer 依赖,首次运行会自动下载 Chromium。
许可证
MIT License
Made with ❤️ by Inspiration Team
