Token导航 LogoToken导航TokenDH.com
Langchain Agent Example logo
AI代理stdio官方级别未说明来源级核验

Langchain Agent Example

MCP Server

一个基于AI的代理,通过自然语言描述生成Harness.io管道和连接器的YAML配置,提供REST API接口。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理自然语言处理PythonAPI集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fjunior87

提供方

fjunior87

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

线束管道代理

一个AI驱动的代理,使用LangChain、OpenAI和Harness.io MCP服务器生成Harness.i0管道和连接器YAML配置。代理通过使用FastAPI构建的REST API公开其功能。

特性

  • 从自然语言描述生成Harness.io管道YAML
  • 生成Harness.io连接器YAML配置
  • 查询现有管道和连接器
  • 通过MCP服务器集成与Harness.io交互
  • 带有交互式文档的RESTful API
  • 由OpenAI GPT-4和LangChain提供技术支持

建筑

┌─────────────┐      ┌──────────────┐      ┌─────────────────┐
│   FastAPI   │─────>│  LangChain   │─────>│  Harness MCP    │
│   REST API  │      │    Agent     │      │     Server      │
└─────────────┘      └──────────────┘      └─────────────────┘
                            │
                            ▼
                     ┌──────────────┐
                     │  OpenAI      │
                     │  GPT-4       │
                     └──────────────┘

先决条件

  • Python 3.9或更高版本
  • OpenAI API密钥
  • 具有API访问权限的Harness.io帐户
  • 安装并配置了Harness.io MCP服务器

快速开始

Docker(推荐)

运行应用程序最简单的方法是使用Docker:

# 1. Configure environment
cp .env.example .env
# Edit .env with your credentials

# 2. Place Harness MCP server binary
cp /path/to/harness-mcp mcp_server/harness-mcp

# 3. Build and run
./build-docker.sh
docker-compose up -d

医生.md 了解详细的Docker部署说明。

安装(本地开发)

  1. 克隆或导航到项目目录:
cd harness_agent
  1. 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env

编辑 .env 使用您的凭据:

OPENAI_API_KEY=your_openai_api_key_here
HARNESS_ACCOUNT_ID=your_harness_account_id
HARNESS_API_KEY=your_harness_api_key
HARNESS_API_URL=https://app.harness.io
HARNESS_DEFAULT_ORG_ID=default
HARNESS_DEFAULT_PROJECT_ID=default
MCP_SERVER_PATH=path_to_harness_mcp_server

# Optional: LangSmith Tracing
LANGCHAIN_TRACING_V2=false
LANGCHAIN_API_KEY=your_langsmith_api_key_here
LANGCHAIN_PROJECT=harness-agent

运行应用程序

选项1:使用启动脚本(Unix/Mac)

./run.sh

选项2:手动启动

source venv/bin/activate
python main.py

选项3:直接使用uvicorn

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

API将于 http://localhost:8000

文档

📚 完整的文件

📖 用户指南

  • 故障排除 -常见问题和解决方案
  • 例子 -使用示例和模式
  • **** -容器部署指南

✨ 特性

🔧 发展

API文档

应用程序运行后,您可以访问:

  • 交互式API文档(Swagger UI): http://localhost:8000/docs
  • API替代文件(ReDoc): http://localhost:8000/redoc

API终点

健康检查

GET /health

返回代理和MCP连接的运行状况。

生成管道

POST /api/v1/generate/pipeline
Content-Type: application/json

{
  "request": "Create a CI pipeline for a Python application with build, test, and deploy stages"
}

生成连接器

POST /api/v1/generate/connector
Content-Type: application/json

{
  "request": "Create a GitHub connector for my repository https://github.com/myorg/myrepo"
}

通用查询

POST /api/v1/query
Content-Type: application/json

{
  "request": "List all available pipelines in my Harness account"
}

使用示例

示例1:生成CI/CD管道

curl -X POST "http://localhost:8000/api/v1/generate/pipeline" \
  -H "Content-Type: application/json" \
  -d '{
    "request": "Create a CI/CD pipeline for a Node.js application with these stages: 1) Build and run tests, 2) Build Docker image, 3) Deploy to Kubernetes"
  }'

示例2:生成GitHub连接器

curl -X POST "http://localhost:8000/api/v1/generate/connector" \
  -H "Content-Type: application/json" \
  -d '{
    "request": "Create a GitHub connector named my-github with OAuth authentication"
  }'

示例3:查询现有资源

curl -X POST "http://localhost:8000/api/v1/query" \
  -H "Content-Type: application/json" \
  -d '{
    "request": "Show me all pipelines in the production project"
  }'

项目结构

harness_agent/
├── main.py              # FastAPI application
├── agent.py             # LangChain agent implementation
├── mcp_client.py        # Harness MCP client
├── models.py            # Pydantic models for API
├── config.py            # Configuration management
├── requirements.txt     # Python dependencies
├── Dockerfile           # Docker image definition
├── docker-compose.yml   # Docker Compose configuration
├── build-docker.sh      # Docker build script
├── .env.example         # Example environment variables
├── .dockerignore        # Docker build exclusions
├── .gitignore           # Git ignore rules
├── run.sh               # Local startup script
├── test_client.py       # API test client
├── mcp_server/          # Harness MCP server binary location
│   └── README.md        # MCP setup instructions
├── README.md            # This file
├── DOCKER.md            # Docker deployment guide
└── examples.md          # Usage examples

运作原理

  1. 用户请求:用户通过REST API发送请求
  2. 朗链代理:请求由OpenAI GPT-4支持的LangChain代理处理
  3. MCP集成:代理使用Harness MCP服务器中的工具与Harness.io进行交互
  4. YAML生成:代理生成或检索适当的YAML配置
  5. 回应:将YAML和任何其他信息返回给用户

发展

以开发模式运行

uvicorn main:app --reload --host 0.0.0.0 --port 8000

运行测试

pytest tests/

配置选项

可以在中配置以下环境变量 .env:

变量描述必填默认
OPENAI_API_KEY您的OpenAI API密钥-
HARNESS_ACCOUNT_ID线束帐户标识符-
HARNESS_API_KEY线束API键-
HARNESS_API_URL线束API URLhttps://app.harness.io
HARNESS_DEFAULT_ORG_ID管道的默认组织ID-
HARNESS_DEFAULT_PROJECT_ID管道的默认项目ID-
MCP_SERVER_PATH线束MCP服务器可执行文件的路径-
API_HOSTAPI服务器主机0.0.0.0
API_PORTAPI服务器端口8000
LANGCHAIN_TRACING_V2启用LangSmith跟踪false
LANGCHAIN_API_KEYLangSmith API密钥-
LANGCHAIN_PROJECTLangSmith项目名称线束代理

LangSmith追踪(可选)

LangSmith为您的AI代理提供可观察性和调试功能。启用后,它会自动跟踪:

  • 所有代理执行
  • LLM电话和回复
  • 工具调用和结果
  • 代币使用和成本
  • 执行时间

启用LangSmith

  1. 注册地址: smith.langchain.com
  2. 从“设置”获取API密钥→ API密钥
  3. 添加到您的 .env 文件:
   LANGCHAIN_TRACING_V2=true
   LANGCHAIN_API_KEY=your_langsmith_api_key
   LANGCHAIN_PROJECT=harness-agent
  1. 重新启动应用程序

就是这样!所有痕迹都将自动显示在您的LangSmith仪表板上。

你会看到什么

  • 完整的执行跟踪 每一步都有定时
  • LLM提示和响应 用于调试
  • 工具调用 显示使用了哪些线束工具
  • 令牌使用情况 用于成本跟踪
  • 错误痕迹 用于调试失败

禁用跟踪

LANGCHAIN_TRACING_V2=false 或从中删除变量 .env.

故障排除

代理初始化失败

  • 验证所有环境变量是否设置正确
  • 检查线束MCP服务器路径是否正确
  • 确保您的OpenAI API密钥有效

MCP连接错误

  • 验证MCP服务器是否可访问
  • 检查线束API证书
  • 查看MCP服务器日志

管道生成失败

  • 确保您的请求清晰具体
  • 检查代理日志以了解详细的错误消息
  • 验证线束帐户权限

安全注意事项

  • 永不承诺 .env 文件到版本控制
  • 定期旋转API键
  • 在生产环境中使用HTTPS
  • 在生产环境中为API实施身份验证/授权

贡献

欢迎投稿!请确保您的代码遵循现有样式,并包含适当的测试。

许可证

MIT许可证-您可以随意使用此项目。

支持

关于以下问题:

致谢

目录标签

目录标签

AI代理自然语言处理PythonAPI集成本地部署YAML生成CI/CD自动化RESTAPI

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP