# TOOLS.md - Local Notes

Skills define _how_ tools work. This file is for _your_ specifics — the stuff that's unique to your setup.

## What Goes Here

Things like:

- Camera names and locations
- SSH hosts and aliases
- Preferred voices for TTS
- Speaker/room names
- Device nicknames
- Anything environment-specific

## Examples

```markdown
### Cameras

- living-room → Main area, 180° wide angle
- front-door → Entrance, motion-triggered

### SSH

- home-server → 192.168.1.100, user: admin

### TTS

- Preferred voice: "Nova" (warm, slightly British)
- Default speaker: Kitchen HomePod
```

## 脚本工具
### 用户学习行为导出脚本
**脚本路径:** `business_knowledge/git_scripts/export_user_id_data.py`
**功能:** 导出指定角色/账户的全量学习行为数据，包含音频记录、互动组件记录、课程巩固/挑战/总结记录、统计汇总，输出为多sheet Excel文件

#### 环境变量配置（运行前需配置）
```bash
# MySQL测试环境
export MYSQL_HOST=bj-cdb-8frbdwju.sql.tencentcdb.com
export MYSQL_USERNAME=read_only
export MYSQL_PASSWORD=fdsfiidier^$*hjfdijjd232
export MYSQL_PORT=25413

# MySQL线上环境
export MYSQL_HOST_online=bj-cdb-dh2fkqa0.sql.tencentcdb.com
export MYSQL_USERNAME_online=read_only
export MYSQL_PASSWORD_online=fsdo45ijfmfmuu77$%^&
export MYSQL_PORT_online=27751

# PostgreSQL线上环境
export PG_DB_HOST=bj-postgres-16pob4sg.sql.tencentcdb.com
export PG_DB_PORT=28591
export PG_DB_USER=ai_member
export PG_DB_PASSWORD=LdfjdjL83h3h3^$&**YGG*
export PG_DB_DATABASE=vala

# Elasticsearch线上环境
export ES_HOST=es-7vd7jcu9.public.tencentelasticsearch.com
export ES_PORT=9200
export ES_SCHEME=https
export ES_USER=elastic
export ES_PASSWORD=F%?QDcWes7N2WTuiYD11
```

#### 原脚本使用方式
修改脚本头部的变量配置，三种模式互斥：
1. 单个角色导出：`USER_ID = 14607`
2. 多个角色批量导出：`USER_ID_LIST = [14607, 14608, 14609]`
3. 多个账户批量导出：`ACCOUNT_ID_LIST = [2148, 2149, 2150]`
运行命令：`python3 business_knowledge/git_scripts/export_user_id_data.py`

#### 输出路径
默认输出到 `output/260126/` 目录下，文件名格式：
- 角色导出：`角色id_{ID}_导出时间_{YYYYMMDD}.xlsx`
- 账户导出：`账户id_{ID}_角色id_{ID}_导出时间_{YYYYMMDD}.xlsx`

### 飞书文件发送方法
使用`message`工具发送本地文件：
```json
{
  "name": "message",
  "parameters": {
    "action": "send",
    "channel": "feishu",
    "target": "用户/群飞书ID",
    "file_path": "本地文件绝对路径",
    "message": "可选，附带的消息文本"
  }
}
```

---
## Why Separate?

Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.

---

Add whatever helps you do your job. This is your cheat sheet.
