# nanoPencil 重构任务清单

> 生成日期：2026-03-13
> 基于文档：架构优化.md, 重构计划.md

---

## 任务总览

| 阶段 | 任务数 | 状态 |
|------|--------|------|
| 一、packages/ 重命名 | 2 | 待执行 |
| 二、extensions/ 目录重组 | 6 | 待执行 |
| 三、core/ 目录重组 | 7 | 待执行 |
| 四、清理与简化 | 3 | 待执行 |
| 五、引用更新 | 4 | 待执行 |
| **总计** | **22** | - |

---

## 一、packages/ 重命名

### T1-1: packages/nano-mem → packages/mem-core
- [x] 重命名目录 `packages/nano-mem` → `packages/mem-core`
- [x] 修改 package.json 中的 name: `@pencil-agent/nano-mem` → `@pencil-agent/mem-core`
- [x] 修改 repository directory
- [x] 重新构建包
- [x] 更新 builtin-extensions.ts 引用

### T1-2: packages/soul → packages/soul-core
- [x] 重命名目录 `packages/soul` → `packages/soul-core`
- [x] 修改 package.json 中的 name: `@pencil-agent/soul` → `@pencil-agent/soul-core`
- [x] 修改 repository directory
- [x] 重新构建包
- [x] 更新 soul-integration.ts 引用
- [x] 更新 sdk.ts 引用
- [x] 更新 extensions/defaults/soul/index.ts 引用
- [x] 更新 bundle-deps.js

---

## 二、extensions/ 目录重组

### T2-1: 创建 extensions/defaults/nano-mem/ 适配层
- [x] 参考 `extensions/defaults/soul/` 结构创建适配层
- [x] 创建 index.ts 导出扩展入口
- [x] 在 `builtin-extensions.ts` 中注册
- [x] packages/nano-mem 已重命名为 mem-core（见 T1-1）

### T2-2: 移动 link-world → extensions/defaults/link-world
- [x] 移动 `extensions/link-world/` → `extensions/defaults/link-world/`
- [x] 更新内部 import 路径引用
- [x] 验证扩展正常工作

### T2-3: 移动 security-audit → extensions/defaults/security-audit
- [x] 移动 `extensions/security-audit/` → `extensions/defaults/security-audit/`
- [x] 更新内部 import 路径引用
- [x] 验证扩展正常工作

### T2-4: 创建 extensions/optional/ 目录
- [x] 创建 `extensions/optional/` 目录结构
- [x] 创建 index.ts 导出

### T2-5: 移动 simplify → extensions/optional/simplify
- [x] 移动 `extensions/simplify/` → `extensions/optional/simplify/`
- [x] 更新内部 import 路径引用
- [x] 验证扩展正常工作

### T2-6: 移动 export-html → extensions/optional/export-html
- [x] 移动 `extensions/export-html/` → `extensions/optional/export-html/`
- [x] 更新内部 import 路径引用
- [x] 验证 /export 命令正常工作

---

## 三、core/ 目录重组

### T3-1: 创建 core/runtime/ 目录
- [x] 创建 `core/runtime/` 目录
- [x] 创建 `core/runtime/index.ts` 导出

### T3-2: 移动 agent-session.ts → core/runtime/
- [x] 移动 `core/agent-session.ts` → `core/runtime/agent-session.ts`
- [x] 更新所有 import 引用
- [x] 验证构建成功

### T3-3: 移动 event-bus.ts → core/runtime/
- [x] 移动 `core/event-bus.ts` → `core/runtime/event-bus.ts`
- [x] 更新所有 import 引用

### T3-4: 移动 sdk.ts → core/runtime/
- [x] 移动 `core/sdk.ts` → `core/runtime/sdk.ts`
- [x] 更新所有 import 引用

### T3-5: 创建 core/session/ 并移入相关文件
- [x] 创建 `core/session/` 目录
- [x] 移动 `core/session-manager.ts` → `core/session/session-manager.ts`
- [x] 移动 `core/compaction/` → `core/session/compaction/`
- [x] 更新所有 import 引用

### T3-6: 创建 core/config/ 并移入相关文件
- [x] 创建 `core/config/` 目录
- [x] 移动 `core/settings-manager.ts` → `core/config/settings-manager.ts`
- [x] 移动 `core/auth-storage.ts` → `core/config/auth-storage.ts`
- [x] 移动 `core/resource-loader.ts` → `core/config/resource-loader.ts`
- [x] 更新所有 import 引用

### T3-7: 创建 core/prompt/ 并移入相关文件
- [x] 创建 `core/prompt/` 目录
- [x] 移动 `core/system-prompt.ts` → `core/prompt/system-prompt.ts`
- [x] 移动 `core/prompt-templates.ts` → `core/prompt/prompt-templates.ts`
- [x] 更新所有 import 引用

---

## 四、清理与简化

### T4-1: 简化 core/runtime/sdk.ts - 移除 Soul 初始化分支
- [x] 分析当前 Soul 初始化逻辑 → 决定保留（扩展层+后备机制）
- [x] 将 Soul 初始化完全迁移到扩展层 → 已通过扩展层加载
- [x] 移除 sdk.ts 中的 Soul 相关代码 → 决定保留作为后备
- [x] 验证功能正常（通过扩展加载）→ 构建成功

### T4-2: 清理 core/soul-integration.ts
- [x] 保留工具函数（toSoulContext, extractSessionContext）
- [x] 或完全移除，迁移到扩展层 → 决定保留（仍被使用）

### T4-3: 决定 core/export-html/ 去留
- [x] 方案A：完全移出到 extensions/optional/export-html/（核心导出API也移出）
- [x] 方案B：保留核心导出API（因为被 AgentSession 程序化调用），只移除扩展层 → 已执行方案B
- [x] 执行选定方案

---

## 五、引用更新

### T5-1: 更新 nano-mem → mem-core 引用
- [x] 更新 `builtin-extensions.ts` 引用
- [x] 更新所有 extensions/ 内部引用
- [x] 更新所有 core/ 内部引用
- [x] 更新 package.json dependencies

### T5-2: 更新 soul → soul-core 引用
- [x] 更新 `extensions/defaults/soul/index.ts` 引用
- [x] 更新 `core/soul-integration.ts` 引用
- [x] 更新 package.json dependencies

### T5-3: 更新 extensions 内部路径引用
- [x] 更新 moved extensions 的内部 import 路径
- [x] 验证所有扩展正常工作

### T5-4: 更新 core 内部路径引用
- [x] 更新 moved files 的内部 import 路径
- [x] 验证构建成功

---

## 六、验收检查

### 构建验证
- [x] `npm run build` 成功
- [x] 无 TypeScript 编译错误
- [x] 无 import 路径错误

### 功能验证
- [ ] 基础对话流程正常（需手动测试）
- [ ] 文件读写编辑工具正常（需手动测试）
- [ ] Bash 执行工具正常（需手动测试）
- [ ] 模型切换正常（需手动测试）
- [ ] 扩展加载/卸载正常（需手动测试）
- [ ] 内置扩展（link-world、security-audit、nano-mem、soul）正常（需手动测试）
- [ ] 会话持久化正常（需手动测试）
- [ ] compaction 触发和执行正常（需手动测试）
- [ ] /export 命令正常（需手动测试）

### 架构验证
- [x] core/ 目录下无平铺文件（除 index.ts）
- [x] extensions/defaults/ 包含所有默认扩展
- [x] extensions/optional/ 包含所有可选扩展
- [x] packages/ 包含 mem-core 和 soul-core
- [x] core/runtime/ 仅包含 3 个核心文件
