# PCode 依赖安装检查指南 - Linux (LLM 提示词)

## 目的

本文档为 AI/LLM 系统提供统一的依赖检查和安装指导。LLM 应根据本文档提供的内容，引导用户完成依赖检查和安装。

## 检查流程

1. 确认当前 Linux 发行版与架构满足包内系统要求。
2. 检查 Node.js 版本：运行 `node --version`
3. 检查 OpenSpec 版本：运行 `openspec --version`

## 安装指南

### Node.js 安装

使用华为云镜像安装 Node.js：

```bash
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
    NODE_ARCH="x64"
elif [ "$ARCH" = "aarch64" ]; then
    NODE_ARCH="arm64"
else
    echo "Unsupported architecture: $ARCH"
    exit 1
fi

curl -fsSL https://mirrors.huaweicloud.com/nodejs/v当前版本/node-v当前版本-linux-${NODE_ARCH}.tar.xz -o /tmp/node.tar.xz
mkdir -p ~/.local
rm -rf ~/.local/node-current
mkdir -p ~/.local/node-current
tar -xJf /tmp/node.tar.xz -C ~/.local/node-current --strip-components=1
rm /tmp/node.tar.xz
export PATH="$HOME/.local/node-current/bin:$PATH"
echo 'export PATH="$HOME/.local/node-current/bin:$PATH"' >> ~/.bashrc
```

验证安装：`node --version`

### OpenSpec 安装

OpenSpec 使用 Node.js 自带的包管理能力完成安装，无需单独准备 npm。

```bash
npm install @fission-ai/openspec@最低版本 -g --registry=https://registry.npmmirror.com
```

验证安装：`openspec --version`

## 依赖要求

以下依赖的版本要求已在本提示词中预置，可直接使用：

### node
- 最低版本: 20.11.0
- 推荐版本: 24.12.0
- 安装提示: Install from https://nodejs.org/ or use nvm
- 描述: Node.js runtime

### openspec
- 最低版本: 1.0.0
- 最高版本: 2.0.0
- 描述: OpenSpec proposal management system

### system
- 描述: System requirements for Hagicode platform



## 故障排除

### 版本不匹配

根据本提示词中的版本要求，结合依赖的 installHint 进行升级或降级。

**Node.js 版本不匹配**：
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 推荐版本
nvm use 推荐版本
```

**OpenSpec 版本不匹配**：
```bash
npm install @fission-ai/openspec@最低版本 -g --registry=https://registry.npmmirror.com
```

### 网络问题

- Node.js：已使用华为云镜像 (mirrors.huaweicloud.com)
- OpenSpec：已使用 npmmirror 镜像 (registry.npmmirror.com)

### 权限问题

```bash
sudo npm install @fission-ai/openspec@最低版本 -g --registry=https://registry.npmmirror.com
```

## 验证清单

完成安装后，运行以下命令验证所有依赖：

```bash
uname -m
node --version
openspec --version
```

## 执行边界（必须遵守）

- 安装完成后的唯一必要动作是检查依赖状态。
- 不尝试启动任何服务。
- 不进行额外初始化任务。
- 不触发与依赖检查无关的后置流程。
- 在非交互式模式下，不提出交互式问题；使用确定性默认值并在输出中记录假设。
- 最终输出必须为：安装完成 + 依赖检查结果。

## 输出安装结果报告

**重要**：在完成所有依赖的检查和安装后，必须向用户输出一个清晰的表格报告，汇总所有依赖的状态。

报告格式如下：

```markdown
## 依赖安装结果报告

| 依赖项 | 状态 | 当前值 | 要求 | 备注 |
|--------|------|--------|------|------|
| 系统兼容性 | ✓ 已确认 | Linux x64 | 与包要求一致 | |
| Node.js | ✓ 已安装 | 24.12.0 | >= 20.11.0 | |
| OpenSpec | ✓ 已安装 | 1.0.5 | 1.0.0 - < 2.0.0 | |

## 总结
- 必需依赖：3/3 已满足 ✓
```

**说明**：
- **状态**：使用 "✓ 已安装"、"✗ 未安装"、"⚠ 版本不匹配"
- **当前值**：运行检查命令获取的实际系统信息或版本
- **要求**：本提示词中列出的依赖要求
- **备注**：补充说明后续是否还需要人工处理

在输出报告后，如果存在未安装或版本不匹配的依赖，应提供具体的安装或升级建议。

## 重要说明

1. **版本号**：本指南中的版本信息已在本提示词的依赖章节中预置
2. **包管理能力**：OpenSpec 安装使用 Node.js 环境自带的包管理能力，无需单独安装独立 npm
