Skip to content

velamints2/MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Second Brain & Shadow Employee - 个人生产力“影子员工”系统

基于 LangChain + MCP + Obsidian + Playwright 的本地全能自主智能体。

本项目旨在构建一个高度本地化、私有化的“第二大脑”与“影子员工”,不仅能实现知识的全自动管理,更能自主执行复杂的办公任务(文档解析、模板生成、表单填报、浏览器自动化等)。


🌟 核心能力

🆕 0. 深度增强功能 (Second Brain 2.0) ⭐

系统现已从"被动记录者"升级为"主动思考伙伴",提供5大认知增强能力:

  • 🔗 思想连接者 (The Connector): 自动发现笔记之间的异质连接,将孤立知识编织成网络
  • 🧠 批判性思考伙伴 (The Devil's Advocate): 挑战假设、揭示认知偏差、提供对立视角
  • 🤔 元认知监控器 (Metacognition Monitor): 监控AI助手的思考质量,持续优化回答深度
  • 📈 思想演化追踪器 (Thought Evolution Tracker): 追踪你对特定主题的认知如何随时间变化
  • 💾 增强记忆结构: 建立认知指纹和思维特征档案

📚 查看完整使用指南 →

1. 📂 影子员工任务引擎 (Agent Task Engine) - Claude Skills 架构 🚀

系统已全面重构为声明式技能生态 (Declarative Skills Ecosystem),主智能体从“脚本执行者”升级为“技能规划者”:

  • 技能包规范 (Claude Skills): 仿照 Claude 范式,每个技能包含 SKILL.md 指令手册与 skill.py 执行驱动,实现任务驱动的自由组合。
  • 任务编排 (LangGraph): 采用有向无环图结构,实现“规划(Planner)-执行(Executor)-总结(Summarizer)”的闭环任务处理。
  • 动态寻址库 (Skills Hub): 支持技能热插拔,Agent 能够根据任务语义自动发现并加载匹配的技能(如:fill-word-template, ssh_cluster_executor)。
  • 无损填充 (WordFiller): 100% 还原排版,支持复杂嵌套对象、列表及条件格式填充。
  • 表单专家 (WebFiller): 基于 Playwright 自动填写网页表单,内置截图存证与错误回退机制。
  • 经验长效记忆 (Experience): 将任务执行过程存入 SQLite,支持 RAG 检索以复现成功路径。
  • 远程算力调度 (Remote SSH): 内置 GPU 集群管理技能,支持远程执行命令、监控状态及任务提交。

2. 🤖 自主计算机控制 (Computer Use) - 新增

打破传统 AI 的限制,直接操控物理环境:

  • 浏览器代理 (browser-use): 接收自然语言指令,自主在浏览器中完成搜索、总结、购票或比价。
  • 操作系统交互 (open-interpreter): 自主操控键鼠、运行脚本、管理本地磁盘文件。

3. 🧠 模块化知识中枢 (The Brain)

  • 知识自动化 (Archivist): 自动将乱序对话整理为标准的 Obsidian 原子笔记。
  • 深度复盘 (Reflector): 每日/每周扫描知识库,结合“长期记忆”生成复盘洞察。
  • 语义搜索: 基于 FAISS 的本地向量检索,支持秒级全库语义查询。- 🆕 执行日志查看: 在仪表盘查看 Agent 执行日志和采集的 AI 对话记录(DeepSeek/ChatGPT 等)。

🏗️ Skills 架构与仓库 (Skills Hub)

项目采用 Claude Skills 范式,将核心功能解耦为独立的技能包:

  • 声明式指令 (SKILL.md): 每个技能包包含一份给 LLM 读的“说明书”,定义了技能的范围、输入参数示例及执行逻辑。
  • 热插拔技能包: 只需在 second_brain/skills/ 放入新的技能文件夹(包含 SKILL.mdskill.py),系统无需重启即可在下次任务规划时自动调用。
  • 动态规划: Agent 会根据当前拥有的技能集,自动分解任务步骤。

📁 项目结构

MCP/
├── second_brain/              # 🧠 核心业务逻辑
│   ├── api/                   # 🆕 服务端 API (FastAPI)
│   ├── agent_engine/          # 影子员工引擎 (Planner, Executor, Graph)
│   ├── skills/                # 🧩 技能仓库 (Claude Skills 标准包)
│   └── ...
├── frontend/                  # 🖥️ 影子员工管理控制台 (Vue 3 + Naive UI)
│   ├── src/app/views/agent/   # 核心业务页面 (控制台、状态看板)
│   └── ...
├── src/obsidian_mcp/          # MCP Server 实现
│   ├── storage/               # Vault 扫描器与文件操作
│   ├── core/                  # LLM 与 Embedding 适配器
│   └── config/                # Prompt 模板与系统设置
├── src/obsidian_mcp/          # MCP Server 实现
├── Agent_test/                 # AI 智能体 (LangChain Agent 实验区)
├── tests/                      # 自动化测试
└── requirements.txt            # 项目依赖

🚀 快速开始

1. 环境准备与虚拟环境

⚠️ 重要提示: 本项目中包含 browser-use 等高级功能,这些库 需要 Python 3.11+。如果您已有合适的虚拟环境(Python ≥ 3.11),可跳过此步骤,直接进行依赖安装。

方案 A:已有 Python 3.11+ 虚拟环境

# 直接激活已有的虚拟环境(以 conda 为例)
conda activate your_existing_env

# 然后安装依赖
pip install -r requirements.txt

方案 B:需要创建新的虚拟环境

使用 Conda 创建 Python 3.12+ 环境(推荐,性能更优):

# 创建一个新的 Python 3.12 环境
conda create -n mcp_agent python=3.12 -y

# 激活新环境
conda activate mcp_agent

# 安装所有依赖项(包括自动化工具)
pip install -r requirements.txt

或使用 venv 创建虚拟环境:

# 创建虚拟环境(需要本地 Python ≥ 3.11)
python3 -m venv venv

# 激活虚拟环境 (macOS/Linux)
source venv/bin/activate

# 激活虚拟环境 (Windows)
# venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

2. 配置环境变量

在项目根目录创建 .env 文件:

# 路径配置
OBSIDIAN_VAULT_PATH="/你的/Obsidian/库路径"
FAISS_DIR="/向量库/存储路径"

# LLM 配置 (支持 OpenAI 或本地兼容 API)
OPENAI_API_KEY="your-api-key"
BASE_URL="https://api.openai.com/v1"
MODEL="gpt-4-turbo"

# Embedding 配置 (可选)
EMBED_BACKEND="st"  # 使用本地 sentence-transformers

3. 初始化库结构

该命令会按照规范在你的 Obsidian Vault 中创建必要的文件夹(inbox, daily, notes, memory 等):

python -m second_brain.cli init

🚀 快速启动前后端(推荐)

一条命令启动完整的影子员工系统

自动化启动脚本

项目根目录包含智能启动脚本 start-all.sh,可以自动:

  • ✅ 清理所有残留的进程和端口占用
  • ✅ 启动 FastAPI 后端服务(Python)
  • ✅ 启动 Vite 前端开发服务(Vue 3)
  • ✅ 验证两个服务是否成功启动
  • ✅ 自动处理端口冲突(前端会自动选择 5100-5104 中可用端口)
  • ✅ 显示完整的访问地址和日志位置

使用方法(三步)

第 1 步:给脚本执行权限

chmod +x start-all.sh

第 2 步:运行启动脚本

./start-all.sh

第 3 步:按照脚本输出的地址访问 脚本会自动显示:

╔════════════════════════════════════════════════════════╗
║         🚀 前后端启动完成,访问以下地址              ║
╠════════════════════════════════════════════════════════╣
📊 仪表盘(推荐):
📊 仪表盘: `http://localhost:5100/agent/dashboard`
📋 任务管理器: `http://localhost:5100/agent/manager`
📚 知识库: `http://localhost:5100/agent/knowledge`
🛠️ 工具箱: `http://localhost:5100/agent/tools`
💻 测试台: `http://localhost:5100/test-console`
📝 执行日志: `http://localhost:5100/agent/logs` 🆕

🔌 后端 API:
   Swagger: http://localhost:8000/docs
╚════════════════════════════════════════════════════════╝

脚本内部工作流程

  1. 强制清理残留进程

    • 杀死占用 8000(后端)、5100-5104(前端)端口的所有进程
    • 清理所有 Node.js 和 Python 后端进程
    • 等待 2 秒确保端口真正释放
  2. 启动后端服务

    • mcp_agent Conda 环境中运行 python -m second_brain.api.server
    • 等待 FastAPI 在 8000 端口启动
    • 验证 /docs 端点可响应
  3. 启动前端服务

    • 运行 npm run dev(使用 Vite)
    • 自动适配可用端口(5100-5104)
    • 验证前端成功启动
  4. 持续监控

    • 脚本启动后会持续监控两个服务状态
    • Ctrl+C 退出监控(服务会继续在后台运行)

查看运行日志

脚本运行时会输出日志到临时文件,可以在新开的终端中查看:

# 查看后端日志
tail -f /tmp/backend.log

# 查看前端日志
tail -f /tmp/frontend.log

常见问题排查

问题:某个端口仍然被占用

# 手动杀死占用该端口的进程
lsof -ti:8000 | xargs kill -9    # 杀死后端
lsof -ti:5100 | xargs kill -9    # 杀死前端

问题:conda 找不到 mcp_agent 环境

# 确认环境存在
conda env list | grep mcp_agent

# 如果不存在,创建环境
conda create -n mcp_agent python=3.12
conda activate mcp_agent
pip install -r requirements.txt

问题:npm 命令找不到

# 确认 Node.js 已安装
node --version
npm --version

# 如果未安装,请先安装 Node.js

4. 运行核心功能 (CLI)

整理对话为笔记 (Archivist)

python -m second_brain.cli archive "今天学习了 RAG 原理,重点是..."

生成今日复盘 (Reflector)

python -m second_brain.cli daily

生成本周复盘

python -m second_brain.cli weekly

启动影子员工任务 (Experimental)

# 执行涉及文档解析与自动生成的复合任务
python -m second_brain.agent_engine.run_task "帮我解析 inbox/schema.pdf,并根据 context.json 填充对应的 Word 模板"

5. 启动智能体管理控制台 (Web UI) 🖥️

系统现配备了基于 vue-bag-admin 的可视化管理界面:

后端 API 服务:

# 启动 API 服务器 (默认端口 8000)
python -m second_brain.api.server

前端开发环境:

cd frontend
npm install
npm run dev

访问 http://localhost:5100/agent/dashboard 即可进入仪表盘。

🆕 查看 Agent 执行日志: 访问 http://localhost:5100/agent/logs 可以查看:

  • 🤖 Agent 执行日志:任务规划、步骤执行、工具调用等
  • 💬 AI 对话快照:从浏览器自动采集的 DeepSeek、ChatGPT 等对话内容
  • 📝 每日小结:任务统计、成功率、关键记录等

🔧 模块详解

Second Brain 核心

  • Archivist: 负责知识入库。它会调用 LLM 对文本进行清洗,生成符合元数据规范的 Markdown 文件。
  • Reflector: 负责知识内化。通过扫描文件修改时间戳,它能精准定位“今天”发生的所有变化。
  • VaultScanner: 本地化的文件系统扫描器,不依赖插件即可获取库内动态。

MCP Server

位于 src/obsidian_mcp/,提供标准工具集:

  • list_notes, read_note, create_note, search_vault 等。

⚠️ 注意事项

  1. Obsidian REST API: 虽本项目核心功能 (second_brain) 优先使用文件系统操作以保证稳定性,但部分 Agent 功能仍需安装 obsidian-local-rest-api 插件。
  2. 长期记忆: 建议在 memory/persona.md 中记录你的角色设定,在 memory/principles.md 中记录你的原则,AI 在复盘时会参考这些内容。
  3. ⚠️ 安全使用: 为避免 Obsidian 崩溃,请定期清理 inbox/ 目录,避免单次处理过长文本。详见 使用说明

📖 详细文档


📄 许可证

MIT License

About

my second brain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors