关于 langchain-init
langchain-init 是用于从零搭建 LangChain TypeScript 项目的技能,面向开发 AI Agent 的开发者。它生成依赖、配置、项目结构和示例 Agent。
主要功能
- 01初始化 TypeScript 项目
- 02安装 LangChain 依赖
- 03生成 TypeScript 配置
- 04创建示例 Agent 与工具
- 05设置环境变量模板和脚本
适用场景
- 01从零开始创建 LangChain 项目
- 02为 Agent 开发准备标准项目结构
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill langchain-init安装后在 Claude Code 中输入/langchain-init确认已加载。
详细介绍
/langchain:init
初始化新的 LangChain TypeScript 项目,并为构建 AI Agent 配置最佳设置。
适用场景
| 在以下场景使用此技能…… | 在以下场景改用同系列的其他技能…… |
|---|---|
| 从头搭建全新的 LangChain TypeScript 项目 | 将 LangChain 添加到现有项目中——使用 langchain-development |
| 生成样板代码、依赖项和起始配置 | 构建有状态图工作流——使用 langgraph-agents |
| 设置其他技能默认依赖的标准项目布局 | 构建分层编排器——使用 deep-agents |
上下文
检测环境:
node --version- Node.js 版本which bun- 检查是否有 Bun
参数
| 参数 | 描述 | 默认值 |
|---|---|---|
project-name | 项目目录的名称 | 必填 |
执行
1. 创建项目目录
mkdir -p $1 && cd $1
2. 初始化包
如果有 Bun:
bun init -y
否则:
npm init -y
3. 安装依赖项
核心包:
# Package manager: bun or npm
bun add langchain @langchain/core @langchain/langgraph
bun add @langchain/openai # Default model provider
# Dev dependencies
bun add -d typescript @types/node tsx
4. 创建 TypeScript 配置
创建 tsconfig.json:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true,
"outDir": "dist",
"declaration": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
5. 创建项目结构
mkdir -p src
6. 创建示例 Agent
创建 src/agent.ts:
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { tool } from "@langchain/core/tools";
import { z } from "zod";
// Example tool
const greetTool = tool(
async ({ name }) => `Hello, ${name}!`,
{
name: "greet",
description: "Greet someone by name",
schema: z.object({
name: z.string().describe("The name to greet"),
}),
}
);
// Create the agent
const model = new ChatOpenAI({
model: "gpt-4o",
temperature: 0,
});
export const agent = createReactAgent({
llm: model,
tools: [greetTool],
});
// Run if executed directly
if (import.meta.url === `file://${process.argv[1]}`) {
const result = await agent.invoke({
messages: [{ role: "user", content: "Say hello to Claude" }],
});
console.log(result.messages[result.messages.length - 1].content);
}
7. 创建环境变量模板
创建 .env.example:
# OpenAI (default)
OPENAI_API_KEY=sk-...
# Optional: Anthropic
# ANTHROPIC_API_KEY=sk-ant-...
# Optional: LangSmith tracing
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_API_KEY=ls__...
# LANGCHAIN_PROJECT=my-project
8. 更新 package.json 脚本
添加到 package.json:
{
"scripts": {
"dev": "tsx watch src/agent.ts",
"start": "tsx src/agent.ts",
"build": "tsc",
"typecheck": "tsc --noEmit"
}
}
9. 创建 .gitignore
node_modules/
dist/
.env
*.log
后续操作
-
显示成功消息,并提供后续步骤:
- 将
.env.example复制为.env并添加 API 密钥 - 运行
bun dev或npm run dev以启动 - 查看 LangChain 文档,获取更多示例
- 将
-
如有需要,建议安装其他模型提供程序:
- 用于 Claude 的
@langchain/anthropic - 用于 Gemini 的
@langchain/google-genai
- 用于 Claude 的
评论
支持 Markdown