title: 搭建个人AI助理——手把手实战指南 author: Gamehu tags:
最近发现个项目叫 PAI(Personal AI Infrastructure),看了下挺有意思。
核心想法很简单:把 AI 从"临时工具"变成"持久基础设施"。
不像 ChatGPT 那种问完就忘,PAI 让 AI 记住你是谁、你在做什么、你之前怎么处理类似问题。用下来最大的感受是:AI 终于不用每次都当陌生人重新认识了。
这篇文章不谈虚的,直接讲怎么搭起来。
说明:以下步骤都是我实际搭建时验证过的,遇到的问题和解决方法也都记录在「踩坑」章节。
{% asset_img pai.jpg %}
| 方面 | ChatGPT | PAI |
|---|---|---|
| 记忆 | 对话结束就忘 | Hook 驱动的 Memory 系统(WORK/LEARNING/STATE/) |
| 身份 | 不知道你是谁 | TELOS 系统定义数字身份 |
| 扩展 | 无 | 39 个 Skills 可扩展 |
| 定制 | 提示词里重复 | 配置文件化 + Hooks 自动化 |
| 代理能力 | 单模型 | 13 个专用 Agents(Algorithm/Architect/Engineer 等) |
| 工具 | 作用 | 必需/可选 |
|---|---|---|
| Claude Code | AI 运行环境 | 必需 |
| Bun | TypeScript 运行时 | 必需 |
| 本地 Markdown | TELOS 和记忆存储 | 必需 |
| Obsidian | 可视化编辑 TELOS | 可选(推荐) |
| Git | 版本控制和同步 | 可选 |
关于 Obsidian:用 Obsidian 管理 TELOS 文件的好处是有双向链接和图谱视图,能更直观地看到各文件之间的关系。不过如果你习惯用 VS Code 或 vim,也没问题。
我的建议是:先跑起来,再慢慢调。别想着一次把所有配置都搞完美。
适合想要完整 PAI 功能的用户(Hooks、Skills、Agents、Voice Server 全套系统)。
# 1. 克隆仓库
git clone https://github.com/danielmiessler/PAI.git ~/Personal_AI_Infrastructure
# 2. 复制配置
cp -r ~/Personal_AI_Infrastructure/Releases/v3.0/.claude ~/
# 3. 运行安装器(8 步向导)
cd ~/.claude && bash install.sh
安装器会自动完成:
pai 命令别名适合只想快速上手核心身份功能的用户——手动创建 TELOS + 配置 CLAUDE.md + Obsidian 可视化。
# 创建 PAI 基础目录
mkdir -p ~/.claude/USER/identity
mkdir -p ~/.claude/MEMORY/WORK
mkdir -p ~/.claude/MEMORY/LEARNING/SYSTEM
mkdir -p ~/.claude/MEMORY/LEARNING/ALGORITHM
mkdir -p ~/.claude/MEMORY/LEARNING/SYNTHESIS
mkdir -p ~/.claude/MEMORY/LEARNING/SIGNALS
mkdir -p ~/.claude/MEMORY/RESEARCH
mkdir -p ~/.claude/MEMORY/SECURITY
mkdir -p ~/.claude/MEMORY/STATE
创建后的结构:
~/.claude/
├── CLAUDE.md # 主入口
├── settings.json # 配置文件
├── skills/ # PAI 技能系统
├── hooks/ # 20 个生命周期钩子
├── agents/ # 13 个专用代理
├── MEMORY/ # 记忆系统
│ ├── WORK/ # 工作跟踪
│ ├── LEARNING/ # 学习记录
│ ├── RESEARCH/ # 研究输出
│ ├── SECURITY/ # 安全审计
│ └── STATE/ # 运行时状态
└── USER/
└── identity/ # TELOS 文件
如果你用 Obsidian 管理 TELOS:
PAI-Identity(或其他你喜欢的)~/.claude/USER/identity{%asset_img obsidian.png Obsidian 创建 Vault %}
这样你的 TELOS 文件就能在 Obsidian 中可视化编辑,还能看到图谱关系。
TELOS 是 5 个核心 Markdown 文件,定义"你是谁"。
先填这 5 个核心文件。下面是我的示例,你可以参考着写自己的:
IDENTITY.md:
# Identity
## 基本信息
我是 Gamehu,技术 Leader / 架构师 / 全栈开发者。
## 技术栈
**核心能力**:
- 后端:Java 专家,多年架构设计经验
- 前端:React 为主,熟悉现代前端工程化
- 全栈:能独立完成从数据库到 UI 的完整开发
## 职业定位
- 技术 Leader:负责团队技术方向和决策
- 架构师:关注系统设计、可扩展性、代码质量
- 技术影响力:想建立个人技术 IP,做有影响力的人
## 兴趣领域
**技术前沿**:
- AI / LLM / Agent 开发
- 新技术趋势跟踪和评估
- 工具链优化和工程实践
## 性格特质
- 总想走在技术前沿
- 喜欢了解新事物,但注重实用性
- 不满足于"够用",追求"优秀"
- 想做一款属于自己的产品(网站/软件)
## 沟通风格
- 简洁直接,不绕弯子
- 实战导向,少谈理论多动手
- 喜欢用代码和示例说话
- 中文思考,中文对话
GOALS.md:
# Goals
## 长期愿景(3-5 年)
- 建立技术影响力,做有 IP 的人
- 做一款属于自己的产品
## 中期目标(1 年内)
- 掌握 AI 原生开发能力
- 持续输出高质量技术内容
## 当前项目
- [ ] 完成 PAI 搭建和优化
- [ ] AI Agent 开发实践
- [ ] 技术文章持续输出
SKILLS.md:
# Skills
## 技术能力
### 后端 - 专家级
- **Java**:多年实战经验,Spring 生态深入
- **架构设计**:DDD、微服务、分布式系统
- **数据库**:PostgreSQL、MySQL、Redis
- **DevOps**:Docker、K8s、CI/CD
### 前端 - 精通
- **React**:主技术栈,Hooks 生态
- **前端工程化**:Webpack、构建优化
- **CSS**:Styled Components、Tailwind
### 全栈
- 能独立完成完整功能开发
- 前后端联调、部署都在行
## 正在学习
### AI / LLM
- Prompt Engineering
- Agent 开发(Claude Code、自定义 Agent)
- RAG 原理和实现
### 技术前沿
- 持续关注新框架、新工具
VALUES.md:
# Values
## 核心价值观
- **实用主义**:不折腾,快速验证想法
- **技术追求**:关注代码质量而非炫技
- **影响力**:通过技术输出建立个人品牌
## 决策原则
- **简单优于复杂**:能用简单方案就不过度设计
- **实用优于完美**:先跑起来再优化
BELIEFS.md:
# Beliefs
## 关于技术
- 技术是手段,不是目的
- 架构比实现重要
- 代码质量是长期价值
## 关于学习
- 深度大于广度
- 实践驱动学习
- 记笔记,建立知识体系
## 关于 AI
- AI 是增强,不是替代
- 上下文是关键
- 个人 AI 基础设施是未来方向
在 ~/.claude/CLAUDE.md 开头添加 TELOS 引导:
# 你是 Gamehu 的个人 AI 助理
## 你的身份
- 我是 Gamehu,技术 Leader / 架构师 / 全栈开发者
- 核心技术栈:Java(专家级)、React(精通)、架构设计
- 目标:建立技术影响力,做有 IP 的人,梦想做一款自己的产品
## TELOS 数字身份
**在每次对话开始时,先阅读以下 TELOS 文件了解我**:
1. `~/.claude/USER/identity/IDENTITY.md` - 我是谁
2. `~/.claude/USER/identity/SKILLS.md` - 我会什么
3. `~/.claude/USER/identity/GOALS.md` - 我想达成什么
4. `~/.claude/USER/identity/VALUES.md` - 我重视什么
5. `~/.claude/USER/identity/BELIEFS.md` - 我相信什么
## Memory 记忆系统
- 对话中的重要决策和学习,由 Hooks 自动捕获并保存到 `~/.claude/MEMORY/LEARNING/`
- 主动从我过去的对话中学习,记住我的偏好和决策模式
- 当我重复问类似问题时,参考我之前的答案
---
# 任何项目都务必遵守的规则(极其重要!!!)
在 ~/.zshrc 末尾追加:
# PAI 命令别名
alias pai='cd ~/.claude && claude'
然后重新加载配置:
source ~/.zshrc
重启 Claude Code,然后问:
你知道我是谁吗?
如果 AI 能正确回应你的身份信息(根据 IDENTITY.md),说明配置成功了。
PAI v3.0 使用新的 Memory 架构(取代旧的 hot/warm/cold 模型):
| 目录 | 用途 | 格式 |
|---|---|---|
| WORK/ | 工作跟踪,每次会话自动创建 | 目录 + YAML |
| LEARNING/ | 从对话中提炼的学习记录 | Markdown + JSONL |
| RESEARCH/ | Agents 输出捕捉 | Markdown |
| SECURITY/ | 安全审计事件 | JSONL |
| STATE/ | 快速运行时数据 | JSON |
数据流:
用户请求
↓
Claude Code projects/ (原生会话存储)
↓
Hooks 自动捕获:
├── AutoWorkCreation → WORK/
├── ResponseCapture → WORK/, LEARNING/
├── RatingCapture → LEARNING/SIGNALS/
└── WorkCompletionLearning → LEARNING/
PAI 内置 39 个 Skills,涵盖思考、研究、开发、安全等全领域:
| 类别 | 代表 Skills |
|---|---|
| 核心系统 | PAI, PAIUpgrade, Telos |
| 思考分析 | Science, FirstPrinciples, IterativeDepth, BeCreative |
| 研究工具 | Research, OSINT, Recon, Parser |
| 开发工具 | CreateSkill, CreateCLI, Cloudflare |
| 内容处理 | Fabric, Documents, ExtractWisdom, WebAssessment |
| 安全工具 | RedTeam, PromptInjection, SECUpdates |
| 专用代理 | Agents - 13 个命名 Agent(Algorithm/Architect/Engineer 等) |
使用方式:在对话中直接调用,例如 /science、/telos、/fabric。
Hooks 在特定生命周期事件时触发,自动执行相应逻辑。PAI v3.0 有 20 个 Hooks:
| Hook 类型 | 触发时机 | 典型 Hooks |
|---|---|---|
| SessionStart | 会话开始 | StartupGreeting, LoadContext, CheckVersion |
| UserPromptSubmit | 提交问题时 | RatingCapture, AutoWorkCreation, SessionAutoName |
| PreToolUse | 调用工具前 | SecurityValidator, AgentExecutionGuard, SkillGuard |
| PostToolUse | 工具调用后 | AlgorithmTracker, QuestionAnswered |
| SessionEnd | 会话结束 | WorkCompletionLearning, SessionSummary, UpdateCounts |
Hooks 是 TypeScript 脚本,需要 Bun 运行时来执行。这就是为什么安装 Bun 是必需的。
PAI 提供 13 个专用 Agent,每个都有明确的 persona 和专长:
| Agent | 专长 | 用途 |
|---|---|---|
| Algorithm | ISC 专家,验证纯粹主义者 | 系统化问题解决 |
| Architect | 系统设计 | 架构规划和设计 |
| Engineer | 构建和实现 | 代码实现 |
| Designer | 设计决策 | UI/UX 设计 |
| QATester | 质量保证 | 测试和验证 |
| Intern | 学习和初级任务 | 辅助性任务 |
| 命令 | 作用 |
|---|---|
/science |
科学方法思考和迭代 |
/telos |
管理 TELOS(个人 + 项目分析) |
/fabric |
240+ 种提示词模式(提取、总结等) |
/brainstorm |
创意风暴和需求分析 |
启动 Claude Code → AI 加载 TELOS → 执行任务 → Hooks 自动捕获学习
问题:Hooks 是 TypeScript 脚本,执行需要 Bun。如果 Bun 没有安装,Hooks 无法运行。
解决:
curl -fsSL https://bun.sh/install | bash
source ~/.zshrc
bun --version # 验证安装
问题:首次使用时,MEMORY/ 下的子目录(WORK/、LEARNING/ 等)不存在,Hooks 会报错。
解决:
# 创建完整的 Memory v7.0 目录结构
mkdir -p ~/.claude/MEMORY/WORK
mkdir -p ~/.claude/MEMORY/LEARNING/SYSTEM
mkdir -p ~/.claude/MEMORY/LEARNING/ALGORITHM
mkdir -p ~/.claude/MEMORY/LEARNING/SYNTHESIS
mkdir -p ~/.claude/MEMORY/LEARNING/SIGNALS
mkdir -p ~/.claude/MEMORY/RESEARCH
mkdir -p ~/.claude/MEMORY/SECURITY
mkdir -p ~/.claude/MEMORY/STATE
问题:Hooks 文件存在但没有在 settings.json 中注册,导致不会触发。
解决:确保 settings.json 中包含完整的 hooks 配置(参考官方模板)。
问题:CLAUDE.md 中引用的 TELOS 文件路径与实际位置不符。
检查:
ls ~/.claude/USER/identity/
# 应该看到 IDENTITY.md, SKILLS.md, GOALS.md, VALUES.md, BELIEFS.md
问题:Hexo 的 asset_img 标签引用的文件名与实际文件名不一致。
解决:确保引用名称与实际文件名完全一致(包括扩展名)。
如果你用 Obsidian 管理 TELOS,有几个插件值得装:
| 插件 | 作用 |
|---|---|
| Graph Analysis | 可视化 TELOS 各文件的关系 |
| Dataview | 查询和汇总 TELOS 内容 |
| Templates | 快速创建新 TELOS 条目 |
一个小技巧:在 Obsidian 中设置 [[GOALS]] 为首页,每次打开都能看到当前目标。
PAI 让我重新思考了 AI 的使用方式。
以前把 AI 当"临时工",用完就扔。现在更像"长期助理",相处越久越懂你。
关键区别:不是模型更强,而是上下文更完整。
当 AI 知道你的背景、理解你的目标、记住你的决策历史,它给出的建议就不再泛泛而谈,而是真正贴合你的情况。
这才是"个人" AI 的含义。
没有银弹。
PAI 不是万能药,它只是一个框架,让你更系统地使用 AI。
真正有价值的是:你有意识地构建自己的数字基础设施,而不是每次都从头开始。