zhimeng-agent

zhimeng's Agent 是基于 Obsidian 知识库的 RAG 智能问答助手,由 Claude Opus 4.5 驱动。支持知识库问答、日报同步、飞书消息推送等功能。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "zhimeng-agent" with this command: npx skills add muzhicaomingwang/ai-ideas/muzhicaomingwang-ai-ideas-zhimeng-agent

zhimeng's Agent 操作技能

概述

zhimeng's Agent 是基于 Obsidian 知识库的 RAG 智能问答助手,由 Claude Opus 4.5 驱动。支持知识库问答、日报同步、飞书消息推送等功能。

服务信息

项目 值

服务地址 http://localhost:8001

项目路径 /Users/qitmac001395/workspace/QAL/ideas/apps/zhimeng-agent

知识库路径 /Users/qitmac001395/Documents/Obsidian Vault

向量数据库 ChromaDB (data/chroma/ )

LLM 模型 anthropic/claude-sonnet-4-20250514

核心能力

能力 端点 用途 示例触发词

知识问答 POST /ask

基于知识库的 RAG 问答 "问知识库"、"查一下"

健康检查 GET /health

检查服务状态和文档数量 "检查Agent"、"服务状态"

重建索引 POST /index

重新索引 Obsidian 文档 "重建索引"、"更新知识库"

飞书Webhook POST /webhook/feishu

接收飞书消息事件

API 详细说明

  1. 问答接口 (POST /ask )

请求体:

{ "question": "用户问题", "top_k": 5, "include_sources": true, "filter_folder": null, "user_id": "用户唯一标识" }

响应体:

{ "answer": "回答内容", "sources": [ {"file": "文件名.md", "folder": "文件夹", "relevance": 0.85} ], "tokens_used": 1234 }

参数说明:

  • question (必填): 用户问题

  • top_k (可选, 默认5): 检索文档数量 (1-20)

  • include_sources (可选, 默认true): 是否返回来源

  • filter_folder (可选): 限定搜索的文件夹

  • user_id (可选): 用户标识,用于对话记忆

  1. 健康检查 (GET /health )

响应体:

{ "status": "healthy", "vectorstore_loaded": true, "document_count": 1316 }

  1. 重建索引 (POST /index )

请求体:

{ "paths": ["Journal", "Projects"], "force": false }

响应体:

{ "status": "success", "chunks_indexed": 1500 }

标准操作流程 (SOP)

SOP 1: 知识库问答

步骤1: 检查服务状态 curl http://localhost:8001/health

步骤2: 发送问题 curl -X POST http://localhost:8001/ask
-H "Content-Type: application/json"
-d '{"question": "你的问题", "top_k": 5}'

步骤3: 解析响应中的 answer 和 sources

SOP 2: 日报同步到飞书

步骤1: 读取今日日报 读取 ~/Documents/Obsidian Vault/Journal/YYYYMMDD.md

步骤2: 提取关键内容

  • 完成的工作
  • 代码变更统计
  • AI 消耗统计

步骤3: 格式化为飞书消息 使用 feishu-messaging 技能发送

步骤4: 发送到目标用户 调用 mcp__feishu__im_v1_message_create 收件人: 王植萌 (open_id: ou_18b8063b232cbdec73ea1541dfb74890)

SOP 3: 重建知识库索引

步骤1: 停止正在进行的查询

步骤2: 调用索引接口 curl -X POST http://localhost:8001/index
-H "Content-Type: application/json"
-d '{"force": true}'

步骤3: 验证索引结果 curl http://localhost:8001/health 确认 document_count 已更新

SOP 4: 启动/停止服务

启动服务:

cd /Users/qitmac001395/workspace/QAL/ideas/apps/zhimeng-agent poetry run uvicorn src.main:app --host 0.0.0.0 --port 8001 --reload

启动飞书长连接 (本地开发,无需公网IP):

cd /Users/qitmac001395/workspace/QAL/ideas/apps/zhimeng-agent poetry run python src/feishu_ws.py

后台启动:

主服务

nohup poetry run uvicorn src.main:app --host 0.0.0.0 --port 8001 > /tmp/zhimeng-agent.log 2>&1 &

飞书长连接

nohup poetry run python src/feishu_ws.py > feishu_ws.log 2>&1 &

与其他技能的集成

集成 feishu-messaging

日报同步工作流:

  • 本技能读取 Obsidian 日报

  • 格式化内容

  • 调用 feishu-messaging 技能发送消息

集成 obsidian-organize

知识库维护工作流:

  • 使用 obsidian-organize 整理文档结构

  • 触发本技能的 /index 重建索引

  • 验证检索质量

常见问题

Q: 服务无法启动?

检查:

  • Python 环境: poetry install

  • 端口占用: lsof -i :8001

  • 环境变量: config/.env 是否存在

Q: 检索结果不准确?

尝试:

  • 重建索引: POST /index {"force": true}

  • 增加 top_k 值

  • 使用 filter_folder 限定范围

Q: 飞书长连接断开?

检查:

  • 网络连接

  • App 凭证是否过期

  • 查看日志: tail -f feishu_ws.log

配置文件

config/.env

LLM 配置

LLM_PROVIDER=anthropic LLM_MODEL=claude-sonnet-4-20250514 ANTHROPIC_API_KEY=sk-ant-xxx

飞书配置

FEISHU_APP_ID=cli_xxx FEISHU_APP_SECRET=xxx

服务配置

HOST=0.0.0.0 PORT=8001 DEBUG=true

config/settings.py

主要配置项:

  • obsidian_vault_path : 知识库路径

  • chroma_persist_dir : 向量数据库持久化目录

  • chunk_size : 文档分块大小 (默认1000)

  • chunk_overlap : 分块重叠 (默认200)

监控与日志

日志位置

  • 主服务: 标准输出 或 /tmp/zhimeng-agent.log

  • 飞书长连接: feishu_ws.log

关键日志模式

INFO:src.retriever:检索到 X 个相关文档 # 检索成功 INFO:httpx:HTTP Request: POST https://api.anthropic.com/v1/messages # LLM 调用 INFO:src.smart_agent:已更新用户 xxx 的对话历史 # 对话记忆更新

注意事项

  • API 密钥安全: .env 文件不要提交到 Git

  • 成本控制: 每次问答约消耗 Claude API $0.01-0.05

  • 索引时间: 完整重建约需 2-5 分钟 (取决于文档数量)

  • 对话记忆: 基于 user_id 隔离,无 user_id 时不保留历史

  • 飞书长连接: 需要 App 开启"机器人消息长连接"能力

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

feishu-messaging

No summary provided by upstream source.

Repository SourceNeeds Review
General

miniapp-design

No summary provided by upstream source.

Repository SourceNeeds Review
Research

research-by-reddit

No summary provided by upstream source.

Repository SourceNeeds Review
General

podcast-publish-xiaoyuzhou

No summary provided by upstream source.

Repository SourceNeeds Review