mcpField
L
langchain-init

langchain-init

github.com/laurigatesAgent 工作流5951 次安装1 天前更新
代码仓库

关于 langchain-init

langchain-init 是用于从零搭建 LangChain TypeScript 项目的技能,面向开发 AI Agent 的开发者。它生成依赖、配置、项目结构和示例 Agent。

主要功能

  1. 01初始化 TypeScript 项目
  2. 02安装 LangChain 依赖
  3. 03生成 TypeScript 配置
  4. 04创建示例 Agent 与工具
  5. 05设置环境变量模板和脚本

适用场景

  1. 01从零开始创建 LangChain 项目
  2. 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

后续操作

  1. 显示成功消息,并提供后续步骤:

    • 将 .env.example 复制为 .env 并添加 API 密钥
    • 运行 bun dev 或 npm run dev 以启动
    • 查看 LangChain 文档,获取更多示例
  2. 如有需要,建议安装其他模型提供程序:

    • 用于 Claude 的 @langchain/anthropic
    • 用于 Gemini 的 @langchain/google-genai

评论

支持 Markdown