fdk-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFDK Setup Skill
FDK 安装配置工具
Complete automated FDK lifecycle management for macOS and Windows using subagents for complex multi-step operations.
通过子代理完成macOS和Windows系统上FDK的全生命周期自动化管理,处理复杂的多步骤操作。
Usage
使用方法
bash
/fdk-setup install # Install FDK with Node.js 18
/fdk-setup upgrade # Upgrade to latest
/fdk-setup downgrade 9.6.0 # Downgrade to specific version
/fdk-setup uninstall # Remove FDK completely
/fdk-setup # Check FDK statusbash
/fdk-setup install # 安装搭配Node.js 18的FDK
/fdk-setup upgrade # 升级至最新版本
/fdk-setup downgrade 9.6.0 # 降级至指定版本
/fdk-setup uninstall # 完全卸载FDK
/fdk-setup # 检查FDK状态Execution Mode: SUBAGENT-BASED
执行模式:基于子代理
When invoked, spawn specialized subagents for each operation:
- Parse command arguments ()
$ARGUMENTS - Launch appropriate subagent with Task tool
- Subagent handles the complete operation autonomously
- Report results when subagent completes
Why Subagents:
- Complex multi-step operations (nvm + Node.js 18 + FDK setup)
- Parallel execution of independent checks
- Isolated error handling per operation
- Better progress tracking and logging
- Autonomous execution without context pollution
How to Invoke:
When user requests FDK setup, immediately call the Task tool:
javascript
// Example for install operation
Task({
subagent_type: "shell",
model: "fast",
description: "Install FDK with Node.js 18",
prompt: "..." // See operation-specific prompts below
})The subagent will:
- Execute all shell commands autonomously
- Handle errors and retries
- Report progress via terminal output
- Return final status and summary
DO NOT:
- Execute shell commands directly from the main agent
- Ask for confirmation before spawning subagent
- Provide manual instructions instead of automation
DO:
- Spawn subagent immediately when skill is invoked
- Let subagent handle all complexity
- Report subagent results to user when complete
调用时,为每个操作生成专用子代理:
- 解析命令参数()
$ARGUMENTS - 通过Task工具启动对应的子代理
- 子代理自主完成完整操作流程
- 子代理完成后反馈结果
使用子代理的原因:
- 处理复杂多步骤操作(nvm + Node.js 18 + FDK 环境搭建)
- 并行执行独立检查项
- 为每个操作提供独立的错误处理机制
- 更清晰的进度跟踪与日志记录
- 自主执行,避免上下文污染
调用方式:
当用户请求FDK环境搭建时,立即调用Task工具:
javascript
// 安装操作示例
Task({
subagent_type: "shell",
model: "fast",
description: "Install FDK with Node.js 18",
prompt: "..." // 详见下方各操作对应的提示内容
})子代理将:
- 自主执行所有Shell命令
- 处理错误并自动重试
- 通过终端输出报告进度
- 返回最终状态与总结
禁止操作:
- 直接从主代理执行Shell命令
- 生成子代理前向用户确认
- 提供手动操作说明而非自动执行
推荐操作:
- 工具被调用后立即生成子代理
- 让子代理处理所有复杂流程
- 子代理完成后向用户反馈结果
Argument Parsing and Routing
参数解析与路由
Parse to determine operation:
$ARGUMENTSjavascript
// Extract operation and version from arguments
const args = $ARGUMENTS.trim().split(/\s+/);
const operation = args[0] || 'status'; // Default to status check
const version = args[1]; // Optional version for downgrade
// Route to appropriate subagent
switch(operation) {
case 'install':
// Spawn install subagent (see Operation 1)
break;
case 'upgrade':
// Spawn upgrade subagent (see Operation 2)
break;
case 'downgrade':
// Spawn downgrade subagent with version (see Operation 3)
if (!version) {
// Ask user for version before spawning
return "Please specify version: /fdk-setup downgrade 9.6.0";
}
break;
case 'uninstall':
// Spawn uninstall subagent (see Operation 4)
break;
case 'status':
default:
// Spawn status check subagent (see Operation 5)
break;
}解析以确定操作类型:
$ARGUMENTSjavascript
// 从参数中提取操作类型与版本号
const args = $ARGUMENTS.trim().split(/\s+/);
const operation = args[0] || 'status'; // 默认执行状态检查
const version = args[1]; // 降级操作可选的版本号
// 路由至对应的子代理
switch(operation) {
case 'install':
// 启动安装子代理(见操作1)
break;
case 'upgrade':
// 启动升级子代理(见操作2)
break;
case 'downgrade':
// 启动带版本号的降级子代理(见操作3)
if (!version) {
// 若未指定版本号,提示用户补充
return "请指定版本号:/fdk-setup downgrade 9.6.0";
}
break;
case 'uninstall':
// 启动卸载子代理(见操作4)
break;
case 'status':
default:
// 启动状态检查子代理(见操作5)
break;
}Operations
操作说明
1. Install (/fdk-setup install
)
/fdk-setup install1. 安装(/fdk-setup install
)
/fdk-setup installLaunch subagent with Task tool:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Install FDK with Node.js 18",
prompt: `Install Freshworks Development Kit (FDK) with complete Node.js 18 setup.
REQUIREMENTS:
1. Install nvm (Node Version Manager) if not present
2. Install Node.js 18 (latest 18.x version) via nvm
3. Set Node.js 18 as default for FDK (keep other versions intact)
4. Install FDK CLI via npm
5. Configure PATH and shell environment
6. Verify installation
STEPS TO EXECUTE:
1. CHECK EXISTING SETUP (parallel):
- Check if nvm exists: command -v nvm
- Check current Node.js: node --version
- Check if FDK installed: fdk version
- Detect OS: uname
- Detect shell: echo $SHELL
2. INSTALL NVM (if missing):
macOS/Linux:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Then source the nvm script:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Windows (PowerShell as Administrator):
# Download nvm-windows installer
# Note: Cannot be automated via script, must inform user
If Windows detected and nvm not found:
Report: "Please install nvm-windows manually from: https://github.com/coreybutler/nvm-windows/releases"
Report: "Download nvm-setup.exe, run as Administrator, then retry /fdk-setup install"
Exit with instructions
3. INSTALL NODE.JS 18:
nvm install 18
nvm alias fdk 18
nvm use 18
Verify: node --version (should show v18.x.x)
4. CONFIGURE NVM FOR FDK:
Create/update ~/.nvmrc in the FDK project directories with:
18
Add to shell config (~/.zshrc or ~/.bash_profile):
# FDK uses Node.js 18
export FDK_NODE_VERSION=18
alias fdk-env='nvm use $FDK_NODE_VERSION'
5. INSTALL FDK:
npm install https://cdn.freshdev.io/fdk/latest.tgz -g
If using Homebrew (macOS only):
brew tap freshworks-developers/homebrew-tap
brew install fdk
echo 'source "$(brew --repository freshworks-developers/homebrew-tap)/path.bash.inc"' >> ~/.zshrc
6. VERIFY INSTALLATION:
fdk version
node --version
npm --version
nvm current
7. OUTPUT SUMMARY:
Report installed versions, paths, and next steps.
ERROR HANDLING:
- If nvm install fails, provide manual installation URL
- If Node.js 18 install fails, check disk space and network
- If FDK install fails, try alternative method (Homebrew vs npm)
- If PATH issues, provide manual PATH configuration
Execute all steps autonomously. Report progress and final status.`
})通过Task工具启动子代理:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Install FDK with Node.js 18",
prompt: `Install Freshworks Development Kit (FDK) with complete Node.js 18 setup.
REQUIREMENTS:
1. Install nvm (Node Version Manager) if not present
2. Install Node.js 18 (latest 18.x version) via nvm
3. Set Node.js 18 as default for FDK (keep other versions intact)
4. Install FDK CLI via npm
5. Configure PATH and shell environment
6. Verify installation
STEPS TO EXECUTE:
1. CHECK EXISTING SETUP (parallel):
- Check if nvm exists: command -v nvm
- Check current Node.js: node --version
- Check if FDK installed: fdk version
- Detect OS: uname
- Detect shell: echo $SHELL
2. INSTALL NVM (if missing):
macOS/Linux:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Then source the nvm script:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Windows (PowerShell as Administrator):
# Download nvm-windows installer
# Note: Cannot be automated via script, must inform user
If Windows detected and nvm not found:
Report: "Please install nvm-windows manually from: https://github.com/coreybutler/nvm-windows/releases"
Report: "Download nvm-setup.exe, run as Administrator, then retry /fdk-setup install"
Exit with instructions
3. INSTALL NODE.JS 18:
nvm install 18
nvm alias fdk 18
nvm use 18
Verify: node --version (should show v18.x.x)
4. CONFIGURE NVM FOR FDK:
Create/update ~/.nvmrc in the FDK project directories with:
18
Add to shell config (~/.zshrc or ~/.bash_profile):
# FDK uses Node.js 18
export FDK_NODE_VERSION=18
alias fdk-env='nvm use $FDK_NODE_VERSION'
5. INSTALL FDK:
npm install https://cdn.freshdev.io/fdk/latest.tgz -g
If using Homebrew (macOS only):
brew tap freshworks-developers/homebrew-tap
brew install fdk
echo 'source "$(brew --repository freshworks-developers/homebrew-tap)/path.bash.inc"' >> ~/.zshrc
6. VERIFY INSTALLATION:
fdk version
node --version
npm --version
nvm current
7. OUTPUT SUMMARY:
Report installed versions, paths, and next steps.
ERROR HANDLING:
- If nvm install fails, provide manual installation URL
- If Node.js 18 install fails, check disk space and network
- If FDK install fails, try alternative method (Homebrew vs npm)
- If PATH issues, provide manual PATH configuration
Execute all steps autonomously. Report progress and final status.`
})2. Upgrade (/fdk-setup upgrade
)
/fdk-setup upgrade2. 升级(/fdk-setup upgrade
)
/fdk-setup upgradeLaunch subagent with Task tool:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Upgrade FDK to latest",
prompt: `Upgrade Freshworks Development Kit (FDK) to the latest version.
REQUIREMENTS:
1. Check current FDK version
2. Detect installation method (Homebrew vs npm)
3. Ensure Node.js 18 is active
4. Upgrade FDK
5. Verify upgrade success
STEPS TO EXECUTE:
1. CHECK CURRENT STATE (parallel):
- fdk version
- brew list fdk 2>/dev/null (check if Homebrew install)
- node --version (ensure 18.x)
- nvm current (check active Node version)
2. ENSURE NODE.JS 18 ACTIVE:
If not on Node 18:
nvm use 18 || nvm use fdk
3. UPGRADE FDK:
If Homebrew installation:
brew upgrade fdk
If npm installation:
npm install https://cdn.freshdev.io/fdk/latest.tgz -g
4. VERIFY UPGRADE:
fdk version
5. OUTPUT SUMMARY:
Report: Old version → New version
Confirm Node.js version used
ERROR HANDLING:
- If upgrade fails, try uninstall + reinstall
- If network error, retry once
- If permission error, suggest sudo (macOS) or Administrator (Windows)
Execute autonomously. Report old and new versions.`
})通过Task工具启动子代理:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Upgrade FDK to latest",
prompt: `Upgrade Freshworks Development Kit (FDK) to the latest version.
REQUIREMENTS:
1. Check current FDK version
2. Detect installation method (Homebrew vs npm)
3. Ensure Node.js 18 is active
4. Upgrade FDK
5. Verify upgrade success
STEPS TO EXECUTE:
1. CHECK CURRENT STATE (parallel):
- fdk version
- brew list fdk 2>/dev/null (check if Homebrew install)
- node --version (ensure 18.x)
- nvm current (check active Node version)
2. ENSURE NODE.JS 18 ACTIVE:
If not on Node 18:
nvm use 18 || nvm use fdk
3. UPGRADE FDK:
If Homebrew installation:
brew upgrade fdk
If npm installation:
npm install https://cdn.freshdev.io/fdk/latest.tgz -g
4. VERIFY UPGRADE:
fdk version
5. OUTPUT SUMMARY:
Report: Old version → New version
Confirm Node.js version used
ERROR HANDLING:
- If upgrade fails, try uninstall + reinstall
- If network error, retry once
- If permission error, suggest sudo (macOS) or Administrator (Windows)
Execute autonomously. Report old and new versions.`
})3. Downgrade (/fdk-setup downgrade <version>
)
/fdk-setup downgrade <version>3. 降级(/fdk-setup downgrade <version>
)
/fdk-setup downgrade <version>Arguments: Version number required (e.g., , )
9.6.09.7.4Launch subagent with Task tool:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Downgrade FDK to version X",
prompt: `Downgrade Freshworks Development Kit (FDK) to version ${VERSION}.
REQUIREMENTS:
1. Parse target version from arguments
2. Check current FDK version
3. Ensure Node.js 18 is active
4. Uninstall current FDK
5. Install target version
6. Verify downgrade success
STEPS TO EXECUTE:
1. PARSE VERSION:
Target version: ${VERSION}
If no version provided, ask user for version number
2. CHECK CURRENT STATE (parallel):
- fdk version (get current)
- node --version (ensure 18.x)
- nvm current (check active Node)
3. ENSURE NODE.JS 18 ACTIVE:
nvm use 18 || nvm use fdk
4. UNINSTALL CURRENT FDK:
Detect method and uninstall:
brew uninstall fdk 2>/dev/null || npm uninstall fdk -g
5. INSTALL TARGET VERSION:
IMPORTANT: CDN URL requires 'v' prefix
npm install https://cdn.freshdev.io/fdk/v${VERSION}.tgz -g
Example: For version 9.6.0, use:
npm install https://cdn.freshdev.io/fdk/v9.6.0.tgz -g
6. VERIFY DOWNGRADE:
fdk version
Should show: ${VERSION}
7. OUTPUT SUMMARY:
Report: Old version → ${VERSION}
Confirm Node.js version
ERROR HANDLING:
- If version not found (404), list available versions
- If network error, retry once
- If permission error, suggest sudo
Execute autonomously. Report version change.`
})Important: CDN URL requires prefix:
vhttps://cdn.freshdev.io/fdk/v9.7.4.tgz参数: 必须指定版本号(例如:, )
9.6.09.7.4通过Task工具启动子代理:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Downgrade FDK to version X",
prompt: `Downgrade Freshworks Development Kit (FDK) to version ${VERSION}.
REQUIREMENTS:
1. Parse target version from arguments
2. Check current FDK version
3. Ensure Node.js 18 is active
4. Uninstall current FDK
5. Install target version
6. Verify downgrade success
STEPS TO EXECUTE:
1. PARSE VERSION:
Target version: ${VERSION}
If no version provided, ask user for version number
2. CHECK CURRENT STATE (parallel):
- fdk version (get current)
- node --version (ensure 18.x)
- nvm current (check active Node)
3. ENSURE NODE.JS 18 ACTIVE:
nvm use 18 || nvm use fdk
4. UNINSTALL CURRENT FDK:
Detect method and uninstall:
brew uninstall fdk 2>/dev/null || npm uninstall fdk -g
5. INSTALL TARGET VERSION:
IMPORTANT: CDN URL requires 'v' prefix
npm install https://cdn.freshdev.io/fdk/v${VERSION}.tgz -g
Example: For version 9.6.0, use:
npm install https://cdn.freshdev.io/fdk/v9.6.0.tgz -g
6. VERIFY DOWNGRADE:
fdk version
Should show: ${VERSION}
7. OUTPUT SUMMARY:
Report: Old version → ${VERSION}
Confirm Node.js version
ERROR HANDLING:
- If version not found (404), list available versions
- If network error, retry once
- If permission error, suggest sudo
Execute autonomously. Report version change.`
})注意: CDN URL需要添加前缀:
vhttps://cdn.freshdev.io/fdk/v9.7.4.tgz4. Uninstall (/fdk-setup uninstall
)
/fdk-setup uninstall4. 卸载(/fdk-setup uninstall
)
/fdk-setup uninstallLaunch subagent with Task tool:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Uninstall FDK completely",
prompt: `Uninstall Freshworks Development Kit (FDK) completely from the system.
REQUIREMENTS:
1. Check if FDK is installed
2. Detect installation method
3. Remove FDK
4. Clean up shell configurations
5. Verify removal
6. Keep Node.js and nvm intact
STEPS TO EXECUTE:
1. CHECK IF INSTALLED:
fdk version
If not found, report "FDK not installed" and exit
2. DETECT INSTALLATION METHOD:
brew list fdk 2>/dev/null && METHOD="homebrew" || METHOD="npm"
3. UNINSTALL FDK:
If Homebrew:
brew uninstall fdk
brew untap freshworks-developers/homebrew-tap
# Clean shell configs (create backups)
sed -i.bak '/freshworks-developers\/homebrew-tap\/path.bash.inc/d' ~/.zshrc
sed -i.bak '/freshworks-developers\/homebrew-tap\/path.bash.inc/d' ~/.bash_profile
If npm:
npm uninstall fdk -g
4. CLEAN UP FDK ALIASES (optional):
Remove FDK-related aliases from shell config:
sed -i.bak '/FDK_NODE_VERSION/d' ~/.zshrc
sed -i.bak '/fdk-env/d' ~/.zshrc
5. VERIFY REMOVAL:
fdk version
Should output: command not found
6. OUTPUT SUMMARY:
Report: FDK uninstalled successfully
Note: Node.js 18 and nvm remain installed
ERROR HANDLING:
- If permission denied, suggest sudo
- If files locked, check for running FDK processes
Execute autonomously. Report completion status.`
})通过Task工具启动子代理:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Uninstall FDK completely",
prompt: `Uninstall Freshworks Development Kit (FDK) completely from the system.
REQUIREMENTS:
1. Check if FDK is installed
2. Detect installation method
3. Remove FDK
4. Clean up shell configurations
5. Verify removal
6. Keep Node.js and nvm intact
STEPS TO EXECUTE:
1. CHECK IF INSTALLED:
fdk version
If not found, report "FDK not installed" and exit
2. DETECT INSTALLATION METHOD:
brew list fdk 2>/dev/null && METHOD="homebrew" || METHOD="npm"
3. UNINSTALL FDK:
If Homebrew:
brew uninstall fdk
brew untap freshworks-developers/homebrew-tap
# 清理Shell配置(创建备份)
sed -i.bak '/freshworks-developers\/homebrew-tap\/path.bash.inc/d' ~/.zshrc
sed -i.bak '/freshworks-developers\/homebrew-tap\/path.bash.inc/d' ~/.bash_profile
If npm:
npm uninstall fdk -g
4. CLEAN UP FDK ALIASES (optional):
Remove FDK-related aliases from shell config:
sed -i.bak '/FDK_NODE_VERSION/d' ~/.zshrc
sed -i.bak '/fdk-env/d' ~/.zshrc
5. VERIFY REMOVAL:
fdk version
Should output: command not found
6. OUTPUT SUMMARY:
Report: FDK uninstalled successfully
Note: Node.js 18 and nvm remain installed
ERROR HANDLING:
- If permission denied, suggest sudo
- If files locked, check for running FDK processes
Execute autonomously. Report completion status.`
})5. Status Check (/fdk-setup
)
/fdk-setup5. 状态检查(/fdk-setup
)
/fdk-setupLaunch subagent with Task tool:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Check FDK installation status",
prompt: `Check Freshworks Development Kit (FDK) installation status and environment.
REQUIREMENTS:
1. Check if FDK is installed and version
2. Check Node.js version and nvm status
3. Check PATH configuration
4. Verify FDK can run basic commands
5. Report any issues or recommendations
STEPS TO EXECUTE:
1. CHECK VERSIONS (parallel):
- fdk version
- node --version
- npm --version
- nvm current
- nvm list
- which fdk
- which node
2. CHECK ENVIRONMENT:
- echo $PATH | grep -o '[^:]*node[^:]*'
- echo $NVM_DIR
- cat ~/.nvmrc 2>/dev/null || echo "No .nvmrc"
3. TEST FDK FUNCTIONALITY:
fdk --help
4. ANALYZE AND REPORT:
✓ FDK: version X.X.X
✓ Node.js: vX.X.X (via nvm)
✓ Active nvm alias: fdk → 18.x.x
✓ PATH configured correctly
Or report issues:
✗ FDK not found
✗ Node.js version < 18.13.0
⚠ Multiple Node versions but no nvm
5. RECOMMENDATIONS:
If issues found, suggest:
- Run /fdk-setup install
- Upgrade Node.js to 18.x
- Configure nvm
Execute autonomously. Report comprehensive status.`
})通过Task工具启动子代理:
javascript
Task({
subagent_type: "shell",
model: "fast",
description: "Check FDK installation status",
prompt: `Check Freshworks Development Kit (FDK) installation status and environment.
REQUIREMENTS:
1. Check if FDK is installed and version
2. Check Node.js version and nvm status
3. Check PATH configuration
4. Verify FDK can run basic commands
5. Report any issues or recommendations
STEPS TO EXECUTE:
1. CHECK VERSIONS (parallel):
- fdk version
- node --version
- npm --version
- nvm current
- nvm list
- which fdk
- which node
2. CHECK ENVIRONMENT:
- echo $PATH | grep -o '[^:]*node[^:]*'
- echo $NVM_DIR
- cat ~/.nvmrc 2>/dev/null || echo "No .nvmrc"
3. TEST FDK FUNCTIONALITY:
fdk --help
4. ANALYZE AND REPORT:
✓ FDK: version X.X.X
✓ Node.js: vX.X.X (via nvm)
✓ Active nvm alias: fdk → 18.x.x
✓ PATH configured correctly
Or report issues:
✗ FDK not found
✗ Node.js version < 18.13.0
⚠ Multiple Node versions but no nvm
5. RECOMMENDATIONS:
If issues found, suggest:
- Run /fdk-setup install
- Upgrade Node.js to 18.x
- Configure nvm
Execute autonomously. Report comprehensive status.`
})Template Variables
模板变量
Use Maestro template variables for context:
- - Current working directory
{{CWD}} - - Current date
{{DATE}} - - Project path
{{AGENT_PATH}} - - Current git branch
{{GIT_BRANCH}}
Example: in project at
/fdk-setup install{{AGENT_PATH}}使用Maestro模板变量获取上下文信息:
- - 当前工作目录
{{CWD}} - - 当前日期
{{DATE}} - - 项目路径
{{AGENT_PATH}} - - 当前Git分支
{{GIT_BRANCH}}
示例:在路径下执行
{{AGENT_PATH}}/fdk-setup installNode.js 18 and nvm Strategy
Node.js 18 与 nvm 部署策略
Why nvm:
- FDK requires Node.js 18.13.0 or later
- Users may have other Node versions for different projects
- nvm allows switching between versions seamlessly
- Keeps existing Node installations intact
Implementation:
- Install nvm if not present
- Install Node.js 18 (latest 18.x) via nvm
- Create nvm alias pointing to Node 18
fdk - Set Node 18 as default when working with FDK
- Keep other Node versions available (20, 22, etc.)
Usage after setup:
bash
nvm use fdk # Switch to Node 18 for FDK work
nvm use 20 # Switch to Node 20 for other projects
nvm use default # Switch to system defaultShell Configuration:
Add to or :
~/.zshrc~/.bash_profilebash
undefined选择nvm的原因:
- FDK要求Node.js 18.13.0或更高版本
- 用户可能需要为不同项目使用不同的Node版本
- nvm支持无缝切换Node版本
- 保留现有Node版本不受影响
实现方案:
- 若未安装nvm则自动安装
- 通过nvm安装Node.js 18(最新18.x版本)
- 创建nvm别名指向Node 18
fdk - 在使用FDK时默认启用Node 18
- 保留Node 20、22等其他版本
环境搭建完成后的使用方式:
bash
nvm use fdk # 切换至Node 18用于FDK开发
nvm use 20 # 切换至Node 20用于其他项目
nvm use default # 切换至系统默认版本Shell配置:
将以下内容添加至或:
~/.zshrc~/.bash_profilebash
undefinedFDK uses Node.js 18
FDK uses Node.js 18
export FDK_NODE_VERSION=18
alias fdk-env='nvm use $FDK_NODE_VERSION'
undefinedexport FDK_NODE_VERSION=18
alias fdk-env='nvm use $FDK_NODE_VERSION'
undefinedError Handling
错误处理
| Error | Action |
|---|---|
| nvm not installed | Install nvm automatically via curl script |
| Node.js < 18.13.0 | Install Node 18 via nvm |
| FDK already installed | Report version, ask if upgrade needed |
| Permission denied | Suggest: |
| Network error | Retry once, then report |
| Invalid version | List common versions: 9.7.4, 9.6.0, 9.4.1 |
| nvm install fails | Provide manual installation URL |
| 错误类型 | 处理方式 |
|---|---|
| nvm未安装 | 通过curl脚本自动安装nvm |
| Node.js版本低于18.13.0 | 通过nvm安装Node 18 |
| FDK已安装 | 报告当前版本,询问用户是否需要升级 |
| 权限不足 | 建议使用 |
| 网络错误 | 自动重试一次,若失败则反馈 |
| 版本号无效 | 列出常用版本:9.7.4, 9.6.0, 9.4.1 |
| nvm安装失败 | 提供手动安装链接 |
Success Output
成功输出示例
✓ Detected: macOS (darwin)
✓ nvm installed: v0.40.1
✓ Node.js 18 installed: v18.20.8
✓ nvm alias 'fdk' → 18.20.8
✓ FDK installed via npm: 9.7.4
✓ Configured PATH in ~/.zshrc
✓ Environment variables set
FDK Setup Complete!
Node.js versions available:
→ v18.20.8 (default for FDK)
v20.11.0
v22.1.0
Ready to use: fdk create, fdk run, fdk validate
To switch to FDK environment: nvm use fdk
To switch to other Node versions: nvm use 20✓ Detected: macOS (darwin)
✓ nvm installed: v0.40.1
✓ Node.js 18 installed: v18.20.8
✓ nvm alias 'fdk' → 18.20.8
✓ FDK installed via npm: 9.7.4
✓ Configured PATH in ~/.zshrc
✓ Environment variables set
FDK Setup Complete!
Node.js versions available:
→ v18.20.8 (default for FDK)
v20.11.0
v22.1.0
Ready to use: fdk create, fdk run, fdk validate
To switch to FDK environment: nvm use fdk
To switch to other Node versions: nvm use 20Subagent Execution Pattern
子代理执行模式
Each operation spawns a dedicated shell subagent using the Task tool:
Benefits:
- Isolation - Each operation runs in its own context
- Parallel checks - Multiple commands run simultaneously
- Error recovery - Subagent can retry and handle failures
- Progress tracking - Clear status updates throughout
- Autonomy - No user intervention required
Pattern:
javascript
Task({
subagent_type: "shell", // Shell specialist for command execution
model: "fast", // Fast model for straightforward tasks
description: "Brief summary", // 3-5 words
prompt: `Detailed instructions with:
- Requirements
- Step-by-step workflow
- Error handling
- Output format
`
})每个操作都会通过Task工具生成一个专用的Shell子代理:
优势:
- 隔离性 - 每个操作在独立上下文运行
- 并行检查 - 同时执行多个命令
- 错误恢复 - 子代理可自动重试并处理失败
- 进度跟踪 - 全程提供清晰的状态更新
- 自主性 - 无需用户干预
模式示例:
javascript
Task({
subagent_type: "shell", // 用于命令执行的Shell专用子代理
model: "fast", // 针对简单任务使用快速模型
description: "Brief summary", // 3-5字的简短描述
prompt: `Detailed instructions with:
- Requirements
- Step-by-step workflow
- Error handling
- Output format
`
})Important Notes
重要说明
Node.js 18 Requirement
Node.js 18 版本要求
- FDK requires Node.js 18.13.0 or later
- Node.js 18 is LTS (Long Term Support) until April 2025
- Recommended: Use latest 18.x version (18.20.x as of 2024)
- FDK要求Node.js 18.13.0或更高版本
- Node.js 18的长期支持(LTS)将持续至2025年4月
- 推荐使用最新18.x版本(截至2024年为18.20.x)
nvm Benefits
nvm 优势
- Version isolation - Keep Node 18 for FDK, other versions for other projects
- Easy switching - vs
nvm use 18nvm use 20 - No conflicts - Each version has its own global npm packages
- Project-specific - files auto-switch versions per project
.nvmrc
- 版本隔离 - 为FDK保留Node 18,其他项目使用其他版本
- 快速切换 - 与
nvm use 18无缝切换nvm use 20 - 无冲突 - 每个版本拥有独立的全局npm包
- 项目专属配置 - 通过文件实现项目级版本自动切换
.nvmrc
PATH and Environment
PATH 与环境变量
After nvm + Node 18 + FDK installation:
macOS/Linux:
- nvm manages Node.js binaries in
~/.nvm/versions/node/v18.x.x/bin/ - npm global packages in
~/.nvm/versions/node/v18.x.x/lib/node_modules/ - FDK binary at
~/.nvm/versions/node/v18.x.x/bin/fdk
Windows:
- nvm-windows manages Node.js in
C:\Users\<User>\AppData\Roaming\nvm\v18.x.x\ - npm global packages in
%APPDATA%\npm\ - FDK binary at
%APPDATA%\npm\fdk.cmd
nvm + Node 18 + FDK安装完成后:
macOS/Linux:
- nvm在管理Node.js二进制文件
~/.nvm/versions/node/v18.x.x/bin/ - npm全局包存储于
~/.nvm/versions/node/v18.x.x/lib/node_modules/ - FDK二进制文件路径为
~/.nvm/versions/node/v18.x.x/bin/fdk
Windows:
- nvm-windows在管理Node.js
C:\Users\<User>\AppData\Roaming\nvm\v18.x.x\ - npm全局包存储于
%APPDATA%\npm\ - FDK二进制文件路径为
%APPDATA%\npm\fdk.cmd
Keeping Other Node Versions
保留其他Node版本
The subagent will:
- Never remove existing Node installations
- Never change default Node version (unless user has no default)
- Create alias pointing to Node 18
fdk - Keep Node 20, 22, or any other versions intact
Users can switch anytime:
bash
nvm use fdk # Node 18 for FDK
nvm use 20 # Node 20 for other work
nvm use 22 # Node 22 for cutting-edge projects子代理将:
- 绝不删除已有的Node版本
- 绝不修改默认Node版本(除非用户未设置默认版本)
- 创建别名指向Node 18
fdk - 保留Node 20、22等其他版本
用户可随时切换版本:
bash
nvm use fdk # 使用Node 18进行FDK开发
nvm use 20 # 使用Node 20处理其他工作
nvm use 22 # 使用Node 22进行前沿项目开发References
参考资料
- macOS Setup - Homebrew and npm installation with nvm
- Windows Setup - npm and PATH configuration with nvm-windows
- nvm Documentation - Node Version Manager for macOS/Linux
- nvm-windows - Node Version Manager for Windows
- macOS 环境搭建 - 结合nvm使用Homebrew与npm安装
- Windows 环境搭建 - 结合nvm-windows配置npm与PATH
- nvm 官方文档 - 适用于macOS/Linux的Node版本管理器
- nvm-windows - 适用于Windows的Node版本管理器