使用说明

项目简介

LinkedIn内容创作助手是一个开源项目,旨在利用AI自动化在LinkedIn上发布内容,以实现账号增长。它使用LangChain和LangGraph进行Agent编排,并集成了MCP(Model Context Protocol)用于工具管理和认证。项目中包含一个本地运行的MCP服务器,提供网页搜索工具,供Agent调用以获取最新资讯。

主要功能点

  • 自动化LinkedIn内容生成: Agent能够自主完成从信息搜集、文章撰写、质量检查到最终发布到LinkedIn的全流程。
  • 本地MCP服务器: 内置'linkedin_tools_stdio' MCP服务器,通过Stdio传输协议提供网页搜索工具 (Exa Web API),支持Agent获取最新的网络信息。
  • 多Agent协同: 采用监督者Agent和研究员、写作者、质量检查员、发布者等多个Agent协同工作,实现复杂的内容创作流程。
  • 内容质量控制: 通过向量搜索技术,确保发布内容的独特性,避免重复发布相似内容。
  • 灵活的MCP客户端配置: 支持连接本地MCP服务器和远程Composio MCP服务器,方便扩展工具和服务。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Guido1Alessandro1Trevisan/linkedin-ghostwriter.git
    cd linkedin-ghostwriter
  2. 创建并激活虚拟环境 (可选但推荐):
    python -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
  3. 安装依赖:
    pip install mcp-server exa-py langchain langchain-openai langgraph pymongo python-dotenv langchain-mcp-adapters langmem
  4. 配置环境变量:
    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 根据 '.env.example' 中的说明,配置以下环境变量:
      • 'EXA_API_KEY': Exa Web API 的 API 密钥。
      • 'MONGODB_URI': MongoDB 数据库连接 URI。
      • 'COMPOSIO_MCP_URL': (可选) Composio MCP 服务器的 URL,如果需要连接远程MCP服务器则配置。
      • 'ORGANIZATION_URN', 'VISIBILITY_ENUM', 'LIFECYCLE_STATE': LinkedIn 账号和发布相关的配置,请根据实际情况配置。

服务器配置

对于需要连接 'linkedin_tools_stdio' MCP 服务器的 MCP 客户端,例如本仓库中的 'MultiServerMCPClient',需要配置服务器连接信息。以下是一个JSON格式的配置示例,用于连接通过 Stdout/Stdin 运行的本地 MCP 服务器:

{
  "servers": [
    {
      "server_name": "linkedin_tools_stdio",
      "transport": "stdio",
      "command": "python",
      "args": ["linkedin_news_post/mcp_server.py"]
    }
  ]
}

配置参数说明:

  • 'server_name': MCP 服务器的名称,客户端通过此名称引用服务器。例如,本例中为 "linkedin_tools_stdio"。
  • 'transport': 传输协议,本例中使用标准输入输出流 "stdio"。
  • 'command': 启动 MCP 服务器的命令,通常是 Python 解释器路径。
  • 'args': 命令参数列表,指定要运行的 MCP 服务器脚本路径。

基本使用方法

  1. 运行 LinkedIn Ghostwriter Agent:
    python main.py
    运行 'main.py' 脚本将启动 LangGraph 工作流,通过配置的 MCP 客户端连接到本地 'linkedin_tools_stdio' MCP 服务器和/或远程 Composio MCP 服务器,并开始自动化的 LinkedIn 内容创作和发布流程。

注意: 确保已正确配置所有必要的环境变量,特别是 API 密钥和 LinkedIn 账号相关信息,才能成功运行 Agent 并发布内容。

信息

分类

AI与计算