Prism Logo

Prism (棱镜) 使用手册

🌈 Prism (棱镜):光的折射与思维的绚烂
随手丢进 Memos 的笔记穿过 Prism,被 AI 折射为标签、结构化 Markdown 和清晰的知识脉络。

第一部分:部署与配置

以下为一次性操作,完成后即可日常使用。

1. 依赖的外部服务

服务用途必需环境变量获取方式
🧠 推理大模型 AI 整理、标签总结、提醒提取 ✅ 至少一个 DEEPSEEK_API_KEY(默认)
OPENROUTER_API_KEY
OPENAI_API_KEY
DeepSeek(推荐)
OpenRouter
OpenAI
📄 MinerU 文档解析 Office/PDF 附件转 Markdown ❌ 可选 MINERU_API_TOKEN MinerU
📐 嵌入大模型 向量语义检索(默认关闭) ❌ 可选 SILICONFLOW_API_KEY SiliconFlow

🧠 推荐先配 DEEPSEEK_API_KEY 即可跑通核心功能。Office/PDF 附件解析需额外配 MINERU_API_TOKEN

2. 环境变量

cp .env.example .env
变量必需说明
SIDECAR_ADMIN_TOKEN管理接口 Bearer 令牌,建议 16 字节随机字符串
MEMOS_BASE_URLMemos 地址(Docker 内自动设为 http://memos:5230
MEMOS_API_TOKENMemos Personal Access Token(见第 5 节创建)
DEEPSEEK_API_KEY默认推理大模型 Key
MEMOS_WEBHOOK_URLWebhook 回调地址(poll 模式无需配置)
REMINDER_WEBHOOK_URL提醒推送地址(Bark 兼容,如 https://api.day.app/your-key/
MINERU_API_TOKENMinerU 文档解析 Token
SILICONFLOW_API_KEY向量检索 Key(默认关闭)
OPENROUTER_API_KEY / OPENAI_API_KEY备选推理模型 Key

切勿将包含真实密钥的 .env 提交到 Git。

3. 配置文件

以下 YAML 文件位于 config/ 目录,Compose 已自动挂载到容器:

文件作用主要配置项
app.yaml应用主配置Memos 连接、入口模式、文档解析、Worker 参数、附件限制
models.yaml大模型 Provider默认 provider、各 provider 的 base_url / model / temperature
prompts.yamlAI 提示词整理 memo、标签总结、提醒提取的 system/user 提示词
taxonomy.yaml标签体系系统标签、正式业务标签、别名、禁用标签

多数配置也可在管理页面 /admin/ui 在线修改。详见 配置说明

4. Docker 部署

开发环境(源码热重载):

npx nx build sidecar
npx nx up sidecar

生产环境(prebuilt 镜像):

docker compose -f docker-compose.release.yml up -d

或使用一键部署脚本:

bash <(curl -s -L https://raw.githubusercontent.com/nabule/Prism/master/deploy.sh)

启动后通过 Caddy 网关访问 Memos 和管理端:开发 Compose 默认是 http://localhost:8080http://localhost:8080/admin/ui,一键生产部署默认是 http://localhost:8085deploy.sh 会把实际公开网关地址写入 PRISM_PUBLIC_BASE_URL,worker 会用它刷新 Memos 里的管理入口 memo;如需手机或其他电脑访问,建议用 PRISM_PUBLIC_HOST=<局域网IP或域名> bash deploy.shPRISM_PUBLIC_BASE_URL=https://your.domain bash deploy.sh 显式指定。

开发环境映射了本地 ./src 目录,修改 Python 源码后容器内 Uvicorn 自动重载,无需重新构建镜像。

Memos 初始账号与密码保存位置:一键部署脚本会自动创建 Memos host 账号(默认 admin),登录后签发长期 PAT,并把凭据写入部署目录的 .env

# Sidecar 管理后台 /admin/ui 使用
SIDECAR_ADMIN_TOKEN=...

# Sidecar / worker 调用 Memos API 使用,不是人工登录密码
MEMOS_API_TOKEN=memos_pat_...

# Memos 前端登录使用(注意:这两行是注释,但就是初始账号和密码)
# MEMOS_HOST_USER=admin
# MEMOS_HOST_PASSWORD=<deploy.sh 随机生成的密码>

登录 Memos 前端时使用 MEMOS_HOST_USER / MEMOS_HOST_PASSWORD;登录 Sidecar 管理端时使用 SIDECAR_ADMIN_TOKEN 或部署 banner 中的一次性登录链接。忘记 Memos 密码时,在部署目录运行:

grep -E '^# MEMOS_HOST_(USER|PASSWORD)=' .env

5. 创建 Memos PAT

npx nx run sidecar:probe-memos -- \
  --bootstrap-username test \
  --bootstrap-password testtest \
  --create-pat \
  --pat-output-env-file /tmp/memosima-pat.env

将输出的 MEMOS_API_TOKEN 写入 .env

6. 选择内容入口模式

config/app.yaml 中设置 memos.ingestion_mode

7. 多用户隔离

⚠️ 单个 Sidecar 实例仅绑定一个 Memos 账号,不支持多用户共享。

如需为多人部署,为每个用户创建独立的目录和容器栈:

第二部分:日常使用

以下为部署完成后反复使用的功能。

1. 打开管理页面

访问 http://localhost:8080/admin/ui,输入 SIDECAR_ADMIN_TOKEN 登录。

管理页面支持锚点直达:#overview#jobs#tag-candidates#tag-summary#prompts#models#reminders#qa

2. AI 智能整理

用法:在 Memos 中正常记录笔记。Sidecar 自动发现新 memo 并创建整理任务。

效果

查看任务

curl -H "Authorization: Bearer $SIDECAR_ADMIN_TOKEN" \
  "http://localhost:8080/admin/jobs"

重试失败任务

curl -X POST -H "Authorization: Bearer $SIDECAR_ADMIN_TOKEN" \
  "http://localhost:8080/admin/jobs/1/retry"

待澄清:当 AI 认为内容不明确时,会在原 memo 下写澄清评论,任务进入 waiting_user 状态。

附件解析

3. 标签管理

候选标签审核:AI 提议的新标签进入候选队列,在管理页面 #tag-candidates 人工审核通过后生效。

按标签生成总结:在管理页面 #tag-summary 选择标签,生成该标签下所有 memo 的整体总结。

业务标签按最后一级名称唯一。例如已有 #项目/数管,不会出现 #数管#其他/数管

4. 离线问答

管理页面 #qa 提供隐私安全的本地问答面板:

5. 提醒通知

在 memo 中使用 #提醒 标签并写明时间,Sidecar 自动提取并通过 Webhook 推送。

示例:#提醒 明天上午 10:00 提交周报

6. 开发验证

npx nx test sidecar          # 运行测试
npx nx run sidecar:compile   # 语法检查
npx nx build sidecar         # 构建镜像

更多文档