Token导航 LogoToken导航TokenDH.com
开发external-servicegithub未标认证来源可访问许可证需确认审计异常

langchain-useLangChain USE 命令行

Agent Skill

langchain-use 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

371

周安装

15

GitHub Stars

53

下载量

116
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:langchain-use(LangChain USE 命令行)
来源仓库:https://github.com/nanmicoder/claude-code-skills
仓库路径:skills/langchain-use
安装命令:
npx skills add https://github.com/nanmicoder/claude-code-skills --skill langchain-use
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nanmicoder/claude-code-skills --skill langchain-use

简介

用于处理 LangChain 的使用场景与常见问题,适合在开发初期快速上手或排查故障时使用。

  • 可辅助理解核心概念、典型用例及调试技巧,提升开发效率。
  • 通过 GitHub 仓库安装,需确认是否会访问外部资源或修改本地环境变量。
  • 建议结合官方文档与社区案例进行交叉验证,避免依赖单一信息来源。
  • langchain-use 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

LangChain Use Skill

LangChain 是构建 LLM 驱动的智能体和应用程序的开源框架。

安装

使用 uv 安装 LangChain(推荐,需要 Python 3.10+):

# 安装核心包
uv add langchain

# 安装模型提供商集成
uv add langchain-anthropic  # Anthropic/Claude
uv add langchain-openai     # OpenAI

快速参考

核心工作流程

用户查询 -> create_agent() -> ReAct 循环 -> Tool 调用 -> 返回结果

创建 Agent

详见 Agent 基础

from langchain.agents import create_agent

agent = create_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

# 运行 agent
result = agent.invoke(
    {"messages": [{"role": "user", "content": "what is the weather in sf"}]}
)

定义 Tool

详见 Tool 基础

from langchain.tools import tool

@tool
def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

访问 Runtime Context

使用 ToolRuntime 访问 state、context、store:

from langchain.tools import tool, ToolRuntime
from dataclasses import dataclass

@dataclass
class Context:
    user_id: str

@tool
def get_user_location(runtime: ToolRuntime[Context]) -> str:
    """Retrieve user location based on user ID."""
    user_id = runtime.context.user_id
    return "Florida" if user_id == "1" else "SF"

管理 Memory

详见 短期记忆 详见 长期记忆

from langgraph.checkpoint.memory import InMemorySaver

agent = create_agent(
    model,
    tools,
    checkpointer=InMemorySaver(),  # 短期记忆
)

# 使用 thread_id 维护会话
config = {"configurable": {"thread_id": "1"}}
agent.invoke({"messages": [...]}, config)

添加 Middleware

详见 中间件概述

from langchain.agents.middleware import before_model, after_model

@before_model
def trim_messages(state, runtime):
    # 消息修剪逻辑
    return None

进阶主题

主题文档说明
StreamingStreaming实时输出流式更新
Structured Output结构化输出Pydantic/dataclass 输出格式
RuntimeRuntimeToolRuntime 和上下文访问
Guardrails安全护栏PII 检测、内容过滤
MCPMCPModel Context Protocol 集成

集成主题

主题文档说明
Models模型多提供商模型初始化
Messages消息消息类型和内容块
Retrieval检索RAG 和知识库构建

关键概念

Agent (智能体)

LangChain 1.0 的核心抽象,基于 LangGraph 构建。使用 create_agent() 创建。

Tool (工具)

使用 @tool 装饰器定义。可选 ToolRuntime 访问状态、上下文和存储。

Memory (记忆)

  • Checkpointer: 短期会话记忆 (InMemorySaver, PostgresSaver)
  • Store: 长期持久化存储 (InMemoryStore)

Middleware (中间件)

装饰器风格的扩展机制:

  • @before_model - 模型调用前处理
  • @after_model - 模型调用后处理
  • @wrap_tool_call - 工具调用包装
  • @dynamic_prompt - 动态系统提示

常见模式

基础 Agent

from langchain.agents import create_agent

agent = create_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[my_tool],
    system_prompt="You are helpful.",
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "hello"}]}
)

带记忆的 Agent(会话持久化)

from langgraph.checkpoint.memory import InMemorySaver

agent = create_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[my_tool],
    checkpointer=InMemorySaver(),
)

# 使用 thread_id 标识会话
config = {"configurable": {"thread_id": "1"}}
agent.invoke(
    {"messages": [{"role": "user", "content": "My name is Bob"}]},
    config
)
agent.invoke(
    {"messages": [{"role": "user", "content": "What's my name?"}]},
    config
)

生产环境 Memory(使用数据库)

from langgraph.checkpoint.postgres import PostgresSaver

DB_URI = "postgresql://postgres:postgres@localhost:5432/postgres"
with PostgresSaver.from_conn_string(DB_URI) as checkpointer:
    checkpointer.setup()  # 自动创建表
    agent = create_agent(
        model="claude-sonnet-4-5-20250929",
        tools=[my_tool],
        checkpointer=checkpointer,
    )

带上下文的 Agent(Runtime Context)

from dataclasses import dataclass
from langchain.tools import tool, ToolRuntime

@dataclass
class Context:
    user_id: str

@tool
def get_user_info(runtime: ToolRuntime[Context]) -> str:
    """Get user information."""
    user_id = runtime.context.user_id
    return f"User ID: {user_id}"

agent = create_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[get_user_info],
    context_schema=Context,
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "get my info"}]},
    context=Context(user_id="user_123")
)

带结构化输出的 Agent

from dataclasses import dataclass
from langchain.agents.structured_output import ToolStrategy

@dataclass
class Response:
    answer: str
    confidence: float

agent = create_agent(
    model="claude-sonnet-4-5-20250929",
    tools=[my_tool],
    response_format=ToolStrategy(Response),
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "what is 2+2?"}]}
)
print(result['structured_response'])
# Response(answer="4", confidence=1.0)

完整示例(生产级 Agent)

from dataclasses import dataclass
from langchain.agents import create_agent
from langchain.chat_models import init_chat_model
from langchain.tools import tool, ToolRuntime
from langgraph.checkpoint.memory import InMemorySaver
from langchain.agents.structured_output import ToolStrategy

@dataclass
class Context:
    user_id: str

@dataclass
class ResponseFormat:
    answer: str
    confidence: float | None = None

@tool
def get_weather(city: str) -> str:
    """Get weather for a city."""
    return f"Sunny in {city}"

@tool
def get_user_location(runtime: ToolRuntime[Context]) -> str:
    """Get user's location."""
    return "San Francisco" if runtime.context.user_id == "1" else "Unknown"

# 配置模型
model = init_chat_model(
    "claude-sonnet-4-5-20250929",
    temperature=0.5,
    max_tokens=1000
)

# 创建 agent
agent = create_agent(
    model=model,
    system_prompt="You are a weather assistant.",
    tools=[get_weather, get_user_location],
    context_schema=Context,
    response_format=ToolStrategy(ResponseFormat),
    checkpointer=InMemorySaver(),
)

# 运行 agent
config = {"configurable": {"thread_id": "1"}}
result = agent.invoke(
    {"messages": [{"role": "user", "content": "What's the weather?"}]},
    config=config,
    context=Context(user_id="1")
)

资源链接

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.92%
按下载量换算41

Claude

32.05%
按下载量换算37

Cursor

16.59%
按下载量换算19

Gemini CLI

9.51%
按下载量换算11

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills