# ATOM-ANALYSIS-015 - 识别项目关键词

> 版本：V1.0  
> 状态：🟡 待规范  
> 最后更新：2026-03-07

---

## 📋 动作定义

**名称：** 识别项目关键词  
**分类：** 分析层（Analysis Layer）  
**编号：** ATOM-ANALYSIS-015

**一句话描述：** 从文本中提取项目相关关键词，匹配到具体项目

---

## 🎯 输入输出

### 输入
- **类型：** 文本
- **内容：** 待分析的文本

### 输出
- **类型：** 文本列表
- **内容：** 项目名称列表

---

## ⚙️ 偏好设置

### 关键词匹配规则
| 关键词 | 匹配项目 | 优先级 |
|--------|----------|--------|
| 感知/行动中心 | 感知与行动中心项目 | P0 |
| 产能/SDC/GP9 | 产能监控系统 | P0 |
| 豆包 | 豆包会话自动化 | P1 |
| 地理/地图/KML | 地理知识库 | P1 |
| 周报/worklog | 周报系统 | P2 |

### 匹配策略
- **精确匹配：** 项目全名
- **模糊匹配：** 关键词（感知/产能/豆包）
- **多项目：** 返回所有匹配项目

---

## 📝 操作步骤

```powershell
# 1. 定义关键词映射
$projectKeywords = @{
    "感知" = "感知与行动中心项目"
    "行动中心" = "感知与行动中心项目"
    "产能" = "产能监控系统"
    "SDC" = "产能监控系统"
    "豆包" = "豆包会话自动化"
}

# 2. 提取关键词
$text = "今天聊了感知与行动中心项目"
$matchedProjects = @()

foreach ($kv in $projectKeywords.GetEnumerator()) {
    if ($text -match $kv.Key) {
        $matchedProjects += $kv.Value
    }
}

# 3. 返回结果
return $matchedProjects | Select-Object -Unique
```

---

## 🔄 使用场景

### 场景 1：豆包会话归档
```
触发：用户发送"豆包 [内容]"
  ↓
调用：ATOM-ANALYSIS-015
  ↓
输出：匹配的项目名称
  ↓
下一步：ATOM-DATA-004 更新项目进度
```

### 场景 2：worklog 分析
```
触发：每周三生成周报
  ↓
调用：ATOM-ANALYSIS-015
  ↓
输出：本周涉及的项目列表
```

---

## 🔗 关联动作

### 前置动作
- 无（可独立执行）

### 后置动作
- ATOM-DATA-004：更新项目进度

### 常组合使用
- ATOM-ANALYSIS-015 + ATOM-DATA-004
  （识别项目 → 更新进度）

---

## ✅ 检查清单

执行前确认：
- [ ] 关键词映射表完整
- [ ] 文本非空
- [ ] 返回去重结果

---

_模块化定义 | 可独立调用 | 2026-03-07_
