feat: AGENT_NAME 占位符 + Step 6.2 自动获取 QQ 昵称
- AGENTS.md/SOUL.md/IDENTITY.md 中 'the Real' → AGENT_NAME 占位符 - Step 6.2 新增 NapCat /get_login_info 接口自动获取登录 QQ 昵称 - 获取失败时回退到 ADMIN_NAME - sed 替换新增 AGENT_NAME 占位符替换 - config/agent-templates/README.md 同步更新
This commit is contained in:
21
README.md
21
README.md
@ -540,6 +540,21 @@ source /tmp/env_vars.sh
|
||||
TEMPLATES_DIR="/opt/chatrebot_aireply_plug/config/agent-templates"
|
||||
|
||||
if [ -d "$TEMPLATES_DIR" ]; then
|
||||
# ─── 自动获取已登录 QQ 的昵称作为 agent 名字 ───
|
||||
echo "正在获取 QQ 昵称..."
|
||||
AGENT_NAME=$(curl -s -X POST "http://${NAPCAT_HOST}:${NAPCAT_API_PORT}/get_login_info" \
|
||||
-H "Content-Type: application/json" -d '{}' \
|
||||
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('data',{}).get('nickname',''))" 2>/dev/null)
|
||||
if [ -z "$AGENT_NAME" ]; then
|
||||
echo "⚠️ 无法获取 QQ 昵称,使用 ADMIN_NAME 代替"
|
||||
AGENT_NAME="${ADMIN_NAME}"
|
||||
else
|
||||
echo "✅ 获取到 QQ 昵称:$AGENT_NAME"
|
||||
fi
|
||||
|
||||
# ─── 持久化到 env_vars ───
|
||||
echo "export AGENT_NAME='${AGENT_NAME}'" >> /tmp/env_vars.sh
|
||||
|
||||
# 复制模板文件(不覆盖已有文件)
|
||||
for f in AGENTS.md SOUL.md IDENTITY.md USER.md TOOLS.md HEARTBEAT.md; do
|
||||
if [ ! -f "${AGENT_WORKSPACE}/${f}" ]; then
|
||||
@ -556,14 +571,16 @@ if [ -d "$TEMPLATES_DIR" ]; then
|
||||
sed -i "s|ADMIN_NAME|${ADMIN_NAME}|g" *.md
|
||||
sed -i "s|ADMIN_GAME_ID|${ADMIN_GAME_ID}|g" *.md
|
||||
sed -i "s|AGENT_WORKSPACE|${AGENT_WORKSPACE}|g" *.md
|
||||
sed -i "s|AGENT_NAME|${AGENT_NAME}|g" *.md
|
||||
|
||||
echo "✅ 角色文件已部署,占位符已替换"
|
||||
echo "✅ 角色文件已部署,占位符已替换(agent 昵称:$AGENT_NAME)"
|
||||
else
|
||||
echo "⚠️ 模板目录不存在:$TEMPLATES_DIR,请确认仓库已克隆到 /opt/chatrebot_aireply_plug"
|
||||
fi
|
||||
```
|
||||
|
||||
> ⚡ 这些模板文件从 `config/agent-templates/` 复制到 agent workspace 后,sed 自动将 `ADMIN_QQ`、`ADMIN_NAME`、`AGENT_WORKSPACE` 替换为实际值。
|
||||
> ⚡ `AGENT_NAME` 自动从 NapCat `/get_login_info` 接口获取已登录 QQ 的昵称。获取失败时回退到 `ADMIN_NAME`。
|
||||
> 其余占位符(`ADMIN_QQ`、`ADMIN_NAME`、`ADMIN_GAME_ID`、`AGENT_WORKSPACE`)由 sed 自动替换为实际值。
|
||||
> 如需自定义人设,可直接编辑 agent workspace 中的对应 `.md` 文件。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user