langgraph-project-setup
npx skills add https://github.com/lubu-labs/langchain-agent-skills --skill langgraph-project-setup
Agent 安装分布
Skill 文档
LangGraph Project Setup
Initialize and configure LangGraph projects for local development and deployment.
Quick Start
Python Project
# Initialize new project
uv run scripts/init_langgraph_project.py my-agent
# Fallback if uv not available
python3 scripts/init_langgraph_project.py my-agent
# Or with options
uv run scripts/init_langgraph_project.py my-agent \
--pattern multiagent \
--python-version 3.12
# Fallback if uv not available
python3 scripts/init_langgraph_project.py my-agent \
--pattern multiagent \
--python-version 3.12
JavaScript Project
# Initialize new project
node scripts/init_langgraph_project.js my-agent
# TypeScript project
node scripts/init_langgraph_project.js my-agent --typescript
# Multi-agent pattern
node scripts/init_langgraph_project.js my-agent \
--pattern multiagent \
--typescript
Setup Workflow
Step 1: Choose Project Pattern
Simple Pattern: Single agent with straightforward workflow
- Best for: Getting started, prototypes, single-purpose agents
- Structure: Minimal files, agent.py/agent.ts at package root
Multi-Agent Pattern: Modular architecture with separated concerns
- Best for: Complex workflows, multiple agents, production applications
- Structure: utils/ directory with state.py, nodes.py, tools.py
Step 2: Initialize Project
Run the init script with your chosen pattern:
# Python - simple
uv run scripts/init_langgraph_project.py my-agent
# Fallback if uv not available
python3 scripts/init_langgraph_project.py my-agent
# Python - multi-agent
uv run scripts/init_langgraph_project.py my-agent --pattern multiagent
# Fallback if uv not available
python3 scripts/init_langgraph_project.py my-agent --pattern multiagent
# JavaScript/TypeScript - simple
node scripts/init_langgraph_project.js my-agent --typescript
# JavaScript/TypeScript - multi-agent
node scripts/init_langgraph_project.js my-agent --pattern multiagent --typescript
The script creates:
- Project directory structure
langgraph.jsonconfiguration.envtemplate- Dependency files (pyproject.toml or package.json)
.gitignore- Boilerplate code with TODO comments
Step 3: Install Dependencies
Python:
cd my-agent
uv venv --python 3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e '.[dev]'
# Fallback if uv not available
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e '.[dev]'
JavaScript:
cd my-agent
npm install # or: yarn install / pnpm install
Step 4: Configure Environment Variables
Option A: Interactive Setup (Recommended)
uv run scripts/setup_providers.py
Follow the prompts to configure:
- OpenAI
- Anthropic (Claude)
- Google (Gemini)
- AWS Bedrock
- LangSmith (tracing)
- Tavily (search)
Option B: Manual Configuration
Edit .env file directly:
# Required: Choose at least one LLM provider
OPENAI_API_KEY=sk-...
# or
ANTHROPIC_API_KEY=sk-ant-...
# Optional: Enable tracing
LANGSMITH_API_KEY=lsv2_...
LANGSMITH_TRACING=true
LANGSMITH_PROJECT=my-project
See references/provider-configuration.md for provider-specific setup.
Step 5: Implement Agent Logic
Replace TODO comments in generated files:
Python Simple:
- Edit
my_agent/agent.py - Configure LLM in
call_modelfunction
Python Multi-Agent:
- Define state schema in
my_agent/utils/state.py - Implement node logic in
my_agent/utils/nodes.py - Add tools in
my_agent/utils/tools.py - Build graph in
my_agent/agent.py
JavaScript/TypeScript:
- Similar structure in
src/directory - Import appropriate LangChain packages
Step 6: Configure langgraph.json
The init script creates a basic configuration. Customize as needed:
{
"dependencies": ["."],
"graphs": {
"agent": "./my_agent/agent.py:graph"
},
"env": ".env",
"python_version": "3.11"
}
Key configuration options:
dependencies: Package dependencies locationgraphs: Mapping of graph IDs to code pathsenv: Path to environment filepython_versionornode_version: Runtime version
For complete schema reference, see references/langgraph-json-schema.md.
Step 7: Start Development Server
Option A: langgraph dev (Recommended for development)
langgraph dev
- No Docker required
- In-memory state persistence
- Hot reloading enabled
- Default port: 2024
Option B: langgraph up (Production-like testing)
langgraph up
- Docker required
- PostgreSQL state persistence
- Production environment simulation
- Default port: 8123
Step 8: Connect to LangGraph Studio
Access Studio in your browser:
https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
Safari users: Use --tunnel flag:
langgraph dev --tunnel
Validation
Validate Configuration
uv run scripts/validate_langgraph_config.py
Checks:
- Required fields (dependencies, graphs)
- File paths and references
- Optional field formats
- Common configuration errors
Test Agent Locally
# Start server
langgraph dev
# In another terminal, test with curl
curl -X POST http://localhost:2024/invoke \
-H "Content-Type: application/json" \
-d '{"input": {"messages": [{"role": "user", "content": "Hello"}]}}'
Common Configurations
Python with OpenAI
# pyproject.toml
[project.optional-dependencies]
openai = ["langchain-openai>=1.1.0"]
# agent.py
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini")
Python with Anthropic
# pyproject.toml
[project.optional-dependencies]
anthropic = ["langchain-anthropic>=1.1.0"]
# agent.py
from langchain_anthropic import ChatAnthropic
model = ChatAnthropic(model="claude-haiku-4-5-20251001")
JavaScript with OpenAI
// package.json
{
"dependencies": {
"@langchain/openai": "^1.1.0"
}
}
// agent.ts
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({ model: "gpt-4o-mini" });
Project Structure Reference
- Python structures:
references/python-project-structure.md - JavaScript structures:
references/javascript-project-structure.md - langgraph.json schema:
references/langgraph-json-schema.md - Provider setup:
references/provider-configuration.md - Deployment options:
references/deployment-targets.md
Troubleshooting
“Module not found” errors
Ensure dependencies are installed:
# Python
uv pip install -e '.[dev]'
# Fallback if uv not available
pip install -e '.[dev]'
# JavaScript
npm install
“Graph not found” in langgraph.json
Check graph path format:
- Python:
./package_name/agent.py:graph - JavaScript:
./src/agent.ts:graph
Validate: uv run scripts/validate_langgraph_config.py (fallback: python3 scripts/validate_langgraph_config.py)
Environment variables not loading
- Check
.envfile exists in project root - Verify
"env": ".env"in langgraph.json - Ensure no quotes around values in .env
- Restart development server after changes
Studio connection issues
- Verify server is running:
langgraph dev - Check correct port (default: 2024)
- Safari users: use
--tunnelflag - Check firewall/security software
Hot reload not working
- Ensure using
langgraph dev(notlanggraph up) - Check file is in correct directory
- Try manual restart if needed
Next Steps
After setup:
- Implement agent logic (replace TODOs)
- Add tools and nodes as needed
- Test with Studio
- Write tests (see langgraph-testing-evaluation skill)
- Deploy to LangSmith (see langsmith-deployment skill)
Scripts Reference
init_langgraph_project.py
Initialize Python project:
uv run scripts/init_langgraph_project.py <name> [--pattern simple|multiagent] [--python-version 3.11|3.12|3.13]
# Fallback if uv not available
python3 scripts/init_langgraph_project.py <name> [--pattern simple|multiagent] [--python-version 3.11|3.12|3.13]
init_langgraph_project.js
Initialize JavaScript project:
node scripts/init_langgraph_project.js <name> [--pattern simple|multiagent] [--typescript]
validate_langgraph_config.py
Validate langgraph.json:
uv run scripts/validate_langgraph_config.py [path/to/langgraph.json]
# Fallback if uv not available
python3 scripts/validate_langgraph_config.py [path/to/langgraph.json]
setup_providers.py
Interactive provider setup:
uv run scripts/setup_providers.py [--output .env]
# Fallback if uv not available
python3 scripts/setup_providers.py [--output .env]