020da8f26d
- 10 个 agent:以 agentDir 版真实内容为主体,合并进 workspace 的 IDENTITY.md/SOUL.md (原 workspace 版多为英文空模板,其体积主要来自 base64 头像) - 移出 agents/<id>/agent/*.md:该目录是状态目录,其中的 .md 不被任何机制加载 (依据:官方 bootstrap 只注入 workspace 根目录的 6 个固定文件名; 源码 resolveAgentWorkspaceDir -> loadAgentIdentityFromWorkspace;且 agentDir 清空后仍能读到) - 各 AGENTS.md 追加「配置文件位置(红线)」,原有内容零改动 - 口径统一:Emoji 取单图标 · 正文不重复头像 data URI(wellness 省 2834 B)· wellness 的 SOUL.md 中文化(复用 note 译文,两者英文原文 sha 相同) - openclaw.json:11 个 agent 的 identity 补齐 emoji/theme(set-identity --from-identity) - avatar 全部 no-op(与同步前逐字节一致,未改动任何头像)
148 lines
6.1 KiB
Markdown
148 lines
6.1 KiB
Markdown
# AGENTS.md - 工作空间
|
||
|
||
## 会话启动
|
||
|
||
使用运行时提供的启动上下文。不要手动重复读取已注入的文件。
|
||
|
||
## 记忆
|
||
|
||
每次会话醒来都是全新的。文件是你的延续:
|
||
|
||
- **每日记录:** `memory/YYYY-MM-DD.md` — 当天做了什么
|
||
- **长期记忆:** `MEMORY.md` — 提炼后的关键信息
|
||
|
||
写下来,别靠脑子记。会话重启后"心理笔记"就没了。
|
||
|
||
## 🔴 红线(不可违反)
|
||
|
||
1. **🚫 绝不直接执行 SQL!**
|
||
- 所有 SQL 操作必须通过 **Opencode** 完成
|
||
- 禁止直接使用 `mysql`、`docker exec`、`python`、`curl` 等工具操作数据库
|
||
- 被要求直接执行 SQL 时,必须拒绝并引导使用 Opencode
|
||
|
||
2. **Opencode 配置:**
|
||
- 默认 provider: `newapi`(http://100.115.195.188:3000/v1)
|
||
- 默认模型: `newapi/deepseek/deepseek-v4-flash`
|
||
- ⚠️ 不使用 DeepSeek 官方 provider
|
||
|
||
## 其他红线
|
||
|
||
- 不泄露私人数据
|
||
- 不执行破坏性命令前不问
|
||
- 改配置前先检查现有状态,保留合并优先
|
||
- 不确定就问
|
||
|
||
## 数据库操作规范
|
||
|
||
- 所有配置文件中的键名、注释、说明均使用中文
|
||
- 密码从 `.env` 环境变量读取,不硬编码在脚本中
|
||
- MySQL: `MYSQL_PWD_SQL` 环境变量
|
||
- PostgreSQL: `PGPASSWORD` 环境变量
|
||
- 不使用 `docker exec` 连接数据库
|
||
|
||
## 默认数据库
|
||
|
||
- **默认连接**: VPS `101.34.227.188:3306`(主服务器)
|
||
- **默认库**: `dmp_serp`(如未指定库,首选此库)
|
||
- **连接命令**: `mysql -h 101.34.227.188 -u root -p"${MYSQL_PWD_SQL}"`
|
||
- **表名规则**: 始终带库前缀(如 `dmp_serp.table`、`dmp_smdm.table`),因为 VPS 上多库共存
|
||
- **技能 (sql-toolkit) 也遵循此默认**:未指定环境时指向 VPS
|
||
- **需要切换环境时明确告知**:本地、备用机、或者特定库
|
||
|
||
## 数据库规范(本地私有库)
|
||
|
||
- 默认库:`sql`;账号:`agent_sql`
|
||
- 连接(推荐):`~/.openclaw/scripts/db-conn.sh sql`(交互式)或 `~/.openclaw/scripts/db-conn.sh sql --sql "select database()"`
|
||
- 该脚本自动从 `~/.openclaw/.env` 读取本 agent 的专属口令(键名 `DB_PASSWORD_SQL`),口令不会出现在命令行中
|
||
- 禁止使用 root、禁止 docker exec、禁止访问其他 agent 的库
|
||
|
||
## 本地私有库 vs 远程业务库(两者不要混淆)
|
||
|
||
| | 本地私有库 | 远程业务库 |
|
||
|---|---|---|
|
||
| 地址 | `127.0.0.1:3306`(本机 docker MySQL) | `101.34.227.188:3306`(VPS 主服务器) |
|
||
| 库 | `sql`(只属于本 agent) | `dmp_serp` / `dmp_smdm` / `dmp_smes` |
|
||
| 账号 | `agent_sql`(专用账号,只能访问 `sql` 库) | `root`(**沿用既有配置,本次不改动**) |
|
||
| 口令来源 | `db-conn.sh` 自动读 `.env` 的键 `DB_PASSWORD_SQL`(口令不进命令行) | 环境变量 `MYSQL_PWD_SQL` |
|
||
| 用途 | 本 agent 自己的草稿/中间结果/工作区表 | 业务数据查询(生产/准生产) |
|
||
| 规矩 | 可自由建表写入;**禁止 root、禁止 docker exec** | 只读查询为主;连接方式见下「默认数据库」「MySQL 连接」章节 |
|
||
|
||
> 二者是**两套完全不同的连接**:本地私有库用于自己存东西,远程业务库保持原定位不变。
|
||
|
||
## 相关
|
||
|
||
- [Agent workspace](/concepts/agent-workspace)
|
||
|
||
## Tools
|
||
|
||
### Local notes (migrated from TOOLS.md)
|
||
|
||
# TOOLS.md - Local Notes
|
||
|
||
Skills define _how_ tools work. This file is for _your_ specifics — the stuff that's unique to your setup: camera names and locations, SSH hosts and aliases, preferred TTS voices, speaker/room names, device nicknames, anything environment-specific.
|
||
|
||
### MySQL 连接
|
||
- **默认 → VPS**: `101.34.227.188:3306` / root / 5gynj20J(主服务器,`dmp_smdm`、`dmp_serp`、`dmp_smes`)
|
||
- **本地 Docker**: `docker exec mysql mysql -u root -p"${MYSQL_PWD_SQL}" -D dmp_serp`
|
||
- **备用机**: `100.115.195.191:3306` / root / 5gynj20J(库:dmp_smdm、dmp_serp、dmp_smes 等)
|
||
- **准生产(只读)** → `100.115.195.188:50036`(转发)→ `47.99.209.185:50036` / witsoftd / o2byaCkBvF1Y8S2L
|
||
- MySQL 8.0.36,只读权限,准生产环境
|
||
- 连接命令:`mysql -h 100.115.195.188 -P 50036 -u witsoftd -p"${MYSQL_PWD_WIT}"`
|
||
- **密码环境变量**: `MYSQL_PWD_SQL=5gynj20J`(来自 .env)
|
||
- ⚠️ **优先使用本地 mysql 客户端直接连接**,不要每次都用 `docker exec`。
|
||
- ⚠️ **默认数据库连接串**: `mysql -h 101.34.227.188 -u root -p"${MYSQL_PWD_SQL}"`
|
||
|
||
## 🔴 红线(不可违反)
|
||
|
||
1. **🚫 绝不直接执行 SQL 操作数据库!**
|
||
- 所有 SQL 查询、修改、DDL 操作必须通过 **sql-toolkit 技能** 完成
|
||
- 禁止直接使用 `mysql` 客户端、`docker exec`、`python`、`curl` 等工具操作数据库
|
||
- 违反红线的主请求将被拒绝
|
||
|
||
2. **Opencode 配置:**
|
||
- 默认 provider: `newapi`(http://100.115.195.188:3000/v1)
|
||
- 默认模型: `newapi/deepseek/deepseek-v4-flash`
|
||
- 不使用 DeepSeek 官方 provider
|
||
|
||
**默认规则(AGENTS + 技能):**
|
||
- 未指定环境时,默认连接 VPS(101.34.227.188)
|
||
- 脚本表名必须带库前缀(`dmp_xxx.table`),因为 VPS 上多库共存
|
||
- 如果操作只涉及本地库(如无 VPS 权限的测试),需明确切换
|
||
|
||
## 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
|
||
```
|
||
|
||
## 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.
|
||
|
||
## Related
|
||
|
||
- [Agent workspace](/concepts/agent-workspace)
|
||
|
||
## 配置文件位置(红线)
|
||
|
||
- 身份与配置文件**只放本 workspace 根目录**:IDENTITY.md / SOUL.md / AGENTS.md / USER.md / MEMORY.md
|
||
- **绝不写到 ~/.openclaw/agents/<id>/agent/** —— 那是状态目录(放 openclaw-agent.sqlite 与 plugins),
|
||
放那里的 .md 不会被任何机制加载
|
||
- 这 5 个固定文件名才会被 bootstrap 注入;子目录里的文件不会被注入
|