Files
skills-win/tools-sync/references/skills_env_template.md
T
2026-09-25 13:40:11 -05:00

6.5 KiB
Raw Blame History

skills_env — 本机环境档案(模板)

复制本文件到 ~\skills_env.md 后逐项核对。此文件只留在本机,不进 git: 每台电脑的路径/IP/凭据不同。skills 中凡是机器相关的参数都从这里取值。 值为 KEY = value 形式,方便脚本和模型直接检索。

同步仓库

SKILLS_REPO_URL   = http://git.rpchannel.com/bowei/skills-win.git
SKILLS_REPO_USER  = bowei
SKILLS_REPO_PASS  = <填写,或留空表示已存入 Windows 凭据管理器>
CLAUDE_SKILLS_DIR = C:\Users\<user>\.claude\skills      # 唯一 git 检出(主副本)
CODEX_SKILLS_DIR  = C:\Users\<user>\.codex\skills       # 全量镜像,全是 junction
AGENTS_SKILLS_DIR = C:\Users\<user>\.agents\skills      # 跨工具别名目录;只做发现/修复,不全量铺

凭据说明:首次 clone 成功后运行 git config --global credential.helper manager, 让 Windows 凭据管理器接管,此后 SKILLS_REPO_PASS 可以清空。

gitea 服务端(tools-sync 的 gitea_doctor 用;不自建 gitea 就整节留空)

GITEA_SSH_HOST     = <gitea 宿主机地址,同网段/VPN 内的直连地址优先>
GITEA_SSH_PORT     = 22
GITEA_SSH_HOST_ALT = <走公网跳板时的地址,没有就留空>
GITEA_SSH_PORT_ALT = <跳板端口,没有就留空>
GITEA_SSH_USER     = <登录用户>
GITEA_HOST_KEY_FP  = <SHA256:... 主机公钥指纹,用于确认连对了机器>
GITEA_CONTAINER    = gitea
GITEA_DOCKER_BIN   = /usr/local/bin/docker
GITEA_DATA_DIR     = <宿主机上 bind 到容器 /data 的目录>
GITEA_COMPOSE_FILE = <docker-compose.yml 路径,没用 compose 就留空>
GITEA_HTTP_LOCAL   = http://localhost:3000

填写要点:脚本要免密登录,先把本机公钥加进服务端的 authorized_keys 并实测一次。 GITEA_DOCKER_BIN 写绝对路径——ssh 非交互登录通常不加载登录 shell 的 PATH, docker 会找不到。GITEA_HOST_KEY_FP 不是可选项:有跳板时它是你唯一能确认 "连上的确实是那台机器"的凭据。

Python / Conda

CONDA_ROOT              = C:\ProgramData\miniconda3
CONDA_LANGGRAPH_PYTHON  = C:\Users\<user>\.conda\envs\langgraph\python.exe

LangGraph 工作流仓库(各 flow skill 的 driver 从这里取项目根)

LANGGRAPH_DESIGN_ROOT   = <LangGraph 工程总目录,如 E:\LangGraph_Design>
SIM_RTL_FLOW_ROOT       = {LANGGRAPH_DESIGN_ROOT}\sim-rtl-flow
ZYNQ_IMX6_FLOW_ROOT     = {LANGGRAPH_DESIGN_ROOT}\zynq-imx6-flow
FPGA_IMX6_FLOW_ROOT     = {LANGGRAPH_DESIGN_ROOT}\FPGA-imx6-flow
FPGA_GOLDENREF_ROOT     = {LANGGRAPH_DESIGN_ROOT}\fpga-goldenref-flow
DPD_MIG_FLOW_ROOT       = {LANGGRAPH_DESIGN_ROOT}\dpd-mig-flow
KICAD_FLOW_ROOT         = {LANGGRAPH_DESIGN_ROOT}\kicad-flow
XILINX_SMOD_ROOT        = <SMOD 各制式工程的父目录,如 E:\Xilinx_design\smod(dpd-mig-flow 在此下找移植目标)>

EDA / 硬件工具

VIVADO_ROOT   = <Vivado 安装根目录,如 C:\Xilinx\Vivado\2018.1 —— 必须实测,不同机器盘符不同>
VIVADO_PATH   = <上一行 + \bin\vivado.bat>
SDK_ROOT      = <Xilinx SDK 安装根,如 D:\Xilinx\SDK\2018.1;含 bin\bootgen.bat / bin\program_flash.bat>
KICAD_PYTHONPATH = C:\Program Files\KiCad\10.0\bin\Lib\site-packages
MATLAB_ROOT         = <MATLAB 安装根目录,如 D:\MATLAB\R2025b>
MATLAB_AGENTIC_ROOT = C:\Users\<user>\.matlab\agentic-toolkits
MATLAB_MCP_EXE      = {MATLAB_AGENTIC_ROOT}\bin\matlab-mcp-server.exe

板卡 / 仪器 IP

N9320B_HOST   = 192.168.1.147    # Keysight N9320B 频谱仪
SMOD_BOARD_IP = 192.168.1.143    # SMOD 板(ATSC 激励器远程升级)

SMOD imx6 设备与交叉编译 VM(smod_atsc_dev / fpga_update 使用)

SMOD_REPO_ROOT = <ATSC 激励器 Vivado 工程根,同时是 git 仓库根>
SMOD_SSH_USER  = root            # imx6 SSH/网页登录名(老 dropbear)
SMOD_SSH_PASS  = <填写>
SMOD_WEB_USER  = <网页 Remote Update 账号,与 SSH 不同>
SMOD_WEB_PASS  = <填写>
CROSS_VM_HOST  = <交叉编译 VM 的 IP —— 随 VMware 网段变化,必须实测>
CROSS_VM_USER  = <填写>
CROSS_VM_PASS  = <填写>

MCP 注册配置(真源:MCP_DESIGN_ROOT\mcp_list.md)

MCP_DESIGN_ROOT = E:\MCP_design

每个 MCP 在 Claude Code(~\.claude.json 的 mcpServers)和 Codex(codex mcp add, 读用 codex mcp list --json)中应使用同一份 command/args/env。注意 Codex 侧 ~\.codex\config.toml 的 [mcp_servers.*] 节不生效,手写无用;且它的注册存储 不跨 codex-cli 升级存活,所以下表是 Codex 侧唯一可重建的真源,每次同步都要核对。 同步时对两侧用户级注册表取并集,确保任一侧新增的可移植 MCP 都同步到另一侧; mcp_list.md 继续用于发现“两侧都漏装”的本地工程。托管连接器、插件动态 MCP、 Codex 内置运行时 MCP(node_repl / cua_repl)不进入这个并集。 标准配置如下(路径变量引用上文条目):

name command args env
vivado-mcp {CONDA_LANGGRAPH_PYTHON} E:\MCP_design\vivado-mcp-main\run_server.py(Codex)/ -m vivado_mcp(Claude) VIVADO_PATH={VIVADO_PATH}
mcp_n9320b {CONDA_LANGGRAPH_PYTHON} E:\MCP_design\mcp_n9320b\n9320b_mcp.py N9320B_HOST={N9320B_HOST}
cubemx E:\MCP_design\MCP_cubemx\cubemx-mcp.venv\Scripts\python.exe E:\MCP_design\MCP_cubemx\cubemx-mcp\server\main.py PYTHONPATH=E:\MCP_design\MCP_cubemx\cubemx-mcp\server
kicad node E:\MCP_design\KiCAD-MCP-Server\dist\index.js NODE_ENV=production; PYTHONPATH={KICAD_PYTHONPATH}; KICAD_AUTO_LAUNCH=false
simetrix \Scripts\mcp-simetrix.exe SIMETRIX_PROJECT_ROOT=E:\
matlab {MATLAB_MCP_EXE} --matlab-session-mode=existing --extension-file=...\simulink\tools\tools.json

Codex 侧所有 stdio MCP 额外加 PYTHONIOENCODING=utf-8、PYTHONUTF8=1。 MathWorks matlab MCP 是特例:Claude 侧要设 alwaysLoad=true;Codex 侧本应有 tool_timeout_sec=600 与 env_vars=["WINDIR"],但 codex-cli 0.150.1 无接口可设, 属已知缺口(记录在 tools-sync 的 references/codex_mcp_wanted_keys.json)。 MATLAB 与 Simulink 共用该条目。

本机状态备注(同步时更新)

LAST_SYNC = <日期>
TODO      = <遗留事项>