mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
@memohome/cli
MemoHome 的命令行工具,使用 Elysia Eden 与 API 服务器通信。
功能特性
- 🔐 用户认证 - 登录、登出、查看当前用户
- 👥 用户管理 - 完整的用户 CRUD 操作(管理员)
- 🤖 模型管理 - AI 模型配置管理
- 💬 Agent 对话 - 与 AI Agent 进行对话,支持流式响应
- 🧠 记忆管理 - 搜索、添加、查看对话记忆
- ⚙️ 设置管理 - 个性化配置
- 📅 日程管理 - 定时任务管理
安装
# 在项目根目录
pnpm install
# 进入 CLI 目录
cd packages/cli
快速开始
1. 配置 API 地址(可选)
默认连接到 http://localhost:7002,如需修改:
bun run src/index.ts auth config --set http://your-api-url:port
2. 登录
bun run src/index.ts auth login
# 或直接提供用户名和密码
bun run src/index.ts auth login -u admin -p password
3. 开始使用
# 查看帮助
bun run src/index.ts --help
# 与 Agent 对话
bun run src/index.ts agent chat "你好"
# 进入交互模式
bun run src/index.ts agent interactive
命令参考
认证命令 (auth)
# 登录
memohome auth login [-u username] [-p password]
# 登出
memohome auth logout
# 查看当前登录用户
memohome auth whoami
# 查看/设置 API 配置
memohome auth config [--set <url>]
用户管理 (user) 🔒 需要管理员权限
# 列出所有用户
memohome user list
# 创建用户
memohome user create [-u username] [-p password] [-r role]
# 获取用户详情
memohome user get <id>
# 删除用户
memohome user delete <id>
# 更新用户密码
memohome user update-password <id> [-p password]
模型管理 (model)
# 列出所有模型
memohome model list
# 创建聊天模型配置
memohome model create \
-n "GPT-4" \
-m "gpt-4" \
-u "https://api.openai.com/v1" \
-k "sk-xxx" \
-c "openai" \
-t "chat"
# 创建 Embedding 模型配置
memohome model create \
-n "Text Embedding 3 Small" \
-m "text-embedding-3-small" \
-u "https://api.openai.com/v1" \
-k "sk-xxx" \
-c "openai" \
-t "embedding" \
-d 1536
# 获取模型详情
memohome model get <id>
# 删除模型
memohome model delete <id>
# 查看默认模型配置
memohome model defaults
Agent 对话 (agent)
# 发送单条消息
memohome agent chat "你好,介绍一下你自己" \
[-t 60] \
[-l Chinese]
# 进入交互模式
memohome agent interactive
memohome agent i # 简写
# 交互模式命令:
# /exit, /quit - 退出
# /help - 帮助
记忆管理 (memory)
# 搜索记忆
memohome memory search "关键词" [-l 10]
# 添加记忆
memohome memory add "这是一条记忆"
# 查看消息历史
memohome memory messages [-p 1] [-l 20]
memohome memory msg # 简写
# 按日期过滤消息
memohome memory filter \
-s 2024-01-01T00:00:00Z \
-e 2024-12-31T23:59:59Z
设置管理 (settings)
# 查看当前设置
memohome settings get
# 更新设置
memohome settings set \
[--language Chinese] \
[--max-context-time 60] \
[--chat-model <id>] \
[--summary-model <id>] \
[--embedding-model <id>]
# 交互式设置向导
memohome settings setup
日程管理 (schedule)
# 列出所有定时任务
memohome schedule list
# 创建定时任务
memohome schedule create \
-t "每日提醒" \
-d "每天早上9点的提醒" \
-c "0 9 * * *" \
-e
# 获取任务详情
memohome schedule get <id>
# 更新任务
memohome schedule update <id> \
[-t title] \
[-d description] \
[-c cron] \
[-e true/false]
# 删除任务
memohome schedule delete <id>
# 切换任务启用状态
memohome schedule toggle <id>
使用示例
完整工作流程
# 1. 登录
memohome auth login -u admin -p password
# 2. 创建模型配置(聊天模型)
memohome model create \
-n "GPT-4" \
-m "gpt-4" \
-u "https://api.openai.com/v1" \
-k "your-api-key" \
-c "openai" \
-t "chat"
# 如果需要 embedding 模型
memohome model create \
-n "Text Embedding" \
-m "text-embedding-3-small" \
-u "https://api.openai.com/v1" \
-k "your-api-key" \
-c "openai" \
-t "embedding" \
-d 1536
# 3. 配置设置(使用模型ID)
memohome settings set \
--language Chinese \
--max-context-time 60 \
--chat-model <model-id-from-step-2>
# 4. 开始对话
memohome agent chat "你好"
# 5. 进入交互模式
memohome agent i
Agent 交互模式示例
$ memohome agent interactive
🤖 MemoHome Agent 交互模式
输入 /exit 或 /quit 退出,输入 /help 查看帮助
You: 你好
Agent: 你好!我是 MemoHome AI 助手,很高兴为你服务...
You: 帮我总结一下今天的对话
Agent: [🔧 使用工具: search_memory]
根据我们的对话记录...
You: /exit
再见!👋
搜索记忆示例
$ memohome memory search "项目计划"
✓ 找到 3 条记忆
[1] 相似度: 92.50%
时间: 2024-01-15 10:30:00
讨论了项目的初步计划和时间线...
[2] 相似度: 85.20%
时间: 2024-01-14 15:20:00
确定了项目的主要里程碑...
[3] 相似度: 78.90%
时间: 2024-01-13 09:00:00
项目启动会议记录...
配置文件
CLI 配置保存在 ~/.memohome/config.json:
{
"apiUrl": "http://localhost:7002",
"token": "your_jwt_token"
}
开发
# 开发模式(带热重载)
pnpm run dev
# 直接运行
pnpm run start
技术栈
- Bun - JavaScript 运行时
- Elysia Eden - 类型安全的 HTTP 客户端
- Commander - 命令行参数解析
- Chalk - 终端颜色输出
- Inquirer - 交互式提示
- Ora - 加载动画
- Table - 表格输出
注意事项
- 认证要求: 大部分命令需要先登录
- 管理员权限: 用户管理命令需要管理员角色
- 模型配置: 使用 Agent 前需要配置模型
- 流式响应: Agent 对话使用 SSE 流式传输
相关文档
许可证
MIT