7.2 KiB
7.2 KiB
name, description
| name | description |
|---|---|
| langgraph-vivado-install | 在 Windows 原生环境下自动化配置基于 Conda 的 LangGraph 开发环境,并强制完成 Vivado 链路的闭环验证。当用户提到"配置langgraph"、"安装langgraph"、"LangGraph环境"、"langgraph vivado"、"配置开发环境 langgraph"、"LangGraph+Vivado"、"搭建langgraph"时,必须触发此技能。即使用户未明确说"用这个技能",只要涉及在 Windows 上安装或配置 LangGraph(含与 Vivado 集成),都应触发。 |
LangGraph + Vivado 环境配置技能
本技能在 Windows 原生环境(Git Bash / 命令提示符)中自动完成以下工作:
- 检测并安装 Conda
- 创建
langgraph虚拟环境并安装所需包 - 迭代检测 Vivado 链路直至成功
- 写出配置文件与冒烟测试脚本并运行验证
整体流程
Step 1: Conda 检测与安装
Step 2: 创建 langgraph 环境,安装依赖
Step 3: Vivado 链路迭代检测(循环直到成功)
Step 4: 写出 env_config.json,提示持久化
Step 5: 生成并运行 smoke_test.py
Step 1 — Conda 检测与安装
运行:
conda --version
- 若成功:记录版本,进入 Step 2。
- 若失败:执行安装命令:
安装完成后,提示用户:
winget install -e --id Anaconda.Miniconda3"Miniconda 安装完成。请重启 Shell 或运行
conda init bash使 conda 命令生效,然后重新触发本技能。"
在用户确认 conda 可用之前,不继续执行后续步骤。
Step 2 — 创建 langgraph Conda 环境
2a. 检查环境是否已存在
conda env list | grep "^langgraph"
- 若已存在:跳过创建,直接进入 2b。
- 若不存在:
conda create -n langgraph python=3.11 -y
2b. 安装所需 Python 包
conda run -n langgraph pip install langgraph langchain-anthropic pandas
验证安装:
conda run -n langgraph python -c "import langgraph; print('LangGraph OK:', langgraph.__version__)"
若导入失败,报告错误并停止,请用户检查网络或 pip 源配置。
Step 3 — Vivado 链路迭代检测循环
这是本技能的核心环节。目标是确保在 langgraph 环境中可以调用 Vivado。
Step A:首次尝试检测
conda run -n langgraph vivado -version
Step B:若成功
- 打印版本信息(取输出第一行)。
- 进入 Step 4。
Step C:若失败(命令未找到)— 交互式路径收集
停止自动化,向用户提问:
"未能检测到 Vivado 环境。请输入 Vivado 的 bin 文件夹完整路径(例如:
C:\Xilinx\Vivado\2023.2\bin):"
收到用户输入后执行:
-
验证路径有效性 — 检查该目录下
vivado.bat是否存在:# 将用户输入的 Windows 路径转换为 bash 路径后检查 # 例:C:\Xilinx\Vivado\2023.2\bin → /c/Xilinx/Vivado/2023.2/bin ls "<converted_path>/vivado.bat"- 若不存在:提示 "路径无效或找不到 vivado.bat,请重新输入。" 并重复 Step C。
- 若存在:继续。
-
将路径临时加入当前会话 PATH(Windows 反斜杠转为正斜杠):
export PATH="<converted_path>:$PATH" -
记录该路径供后续 Step 4/5 使用(内部变量
VIVADO_BIN_PATH)。 -
重试检测:
vivado -version- 若成功:打印版本,进入 Step 4。
- 若再次失败:回到 Step C 顶部,重新向用户询问路径。
循环逻辑:重复 Step C 直到
vivado -version执行成功为止。不要跳过,不要假设路径正确。
Step 4 — 持久化配置
vivado -version 成功后:
4a. 提示用户持久化
向用户说明:
"为了在每次新开 Shell 时自动识别 Vivado,建议将该路径永久添加到 Windows 系统环境变量 PATH 中。操作方法:系统属性 → 高级 → 环境变量 → 编辑 PATH → 新建,粘贴路径。"
4b. 写出 env_config.json
在当前工作目录创建:
{
"VIVADO_BIN_PATH": "<Step 3 确认的 Windows 格式路径>",
"conda_env": "langgraph",
"python_version": "3.11",
"packages": ["langgraph", "langchain-anthropic", "pandas"]
}
Step 5 — 生成冒烟测试脚本并运行
在当前工作目录创建 smoke_test.py,内容如下:
import subprocess
import sys
import json
import os
def test_langgraph():
try:
import langgraph
import importlib.metadata
version = importlib.metadata.version("langgraph")
print(f"[OK] LangGraph import OK, version: {version}")
return True
except ImportError as e:
print(f"[FAIL] LangGraph import failed: {e}")
return False
def test_vivado():
config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "env_config.json")
env = os.environ.copy()
vivado_bin = ""
if os.path.exists(config_path):
with open(config_path, encoding="utf-8") as f:
config = json.load(f)
vivado_bin = config.get("VIVADO_BIN_PATH", "").strip()
if vivado_bin:
env["PATH"] = vivado_bin + os.pathsep + env["PATH"]
# On Windows use the full path to vivado.bat to avoid shell PATH issues
if vivado_bin and (os.name == "nt" or sys.platform == "win32"):
cmd = [os.path.join(vivado_bin, "vivado.bat"), "-version"]
else:
cmd = ["vivado", "-version"]
try:
result = subprocess.run(cmd, capture_output=True, text=True, timeout=30, env=env)
if result.returncode == 0:
first_line = (result.stdout.strip().splitlines() or ["(no output)"])[0]
print(f"[OK] Vivado detected: {first_line}")
return True
else:
print(f"[FAIL] vivado -version non-zero exit: {result.stderr.strip()}")
return False
except FileNotFoundError:
print(f"[FAIL] vivado not found. CMD tried: {cmd}")
return False
except subprocess.TimeoutExpired:
print("[FAIL] vivado -version timed out (30s)")
return False
if __name__ == "__main__":
print("=" * 50)
print("LangGraph + Vivado smoke test")
print("=" * 50)
ok_lg = test_langgraph()
ok_vv = test_vivado()
print("=" * 50)
if ok_lg and ok_vv:
print("[PASS] All checks passed. LangGraph + Vivado pipeline OK!")
sys.exit(0)
else:
print("[FAIL] Some checks failed. See above.")
sys.exit(1)
运行冒烟测试
conda run -n langgraph python smoke_test.py
- 全部通过:向用户报告"环境配置完成,LangGraph + Vivado 链路闭环成功。"
- 有失败项:读取具体错误,向用户说明原因(路径问题、包未安装等),并提供修复建议。
注意事项
- Windows 路径转换规则:
C:\Xilinx\Vivado\2023.2\bin→/c/Xilinx/Vivado/2023.2/bin(首字母小写,冒号去掉,反斜杠换正斜杠)。 conda run -n langgraph vivado -version需要 PATH 在 conda 激活前已包含 Vivado bin 目录,若不行则用export PATH=... && conda run ...形式或直接用绝对路径调用。- 本技能产生的文件:
env_config.json、smoke_test.py(均在调用时的当前目录)。