feat: 张大师完整部署 - 配置更新和 systemd 服务

master
Eason (陈医生) 1 month ago
parent c3b41bc1d0
commit 664d6e352d
  1. 2
      agents/life-agent.json
  2. 67
      scripts/start-life-agent.sh
  3. 59
      skills/mem0-integration/config-life.yaml
  4. 50
      systemd/agent-life.service

@ -37,7 +37,7 @@
"enabled": true,
"config": {
"provider": "tavily",
"api_key": "${TAVILY_API_KEY}",
"api_key": "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",
"daily_almanac_search": true
}
},

@ -0,0 +1,67 @@
#!/bin/bash
# 张大师 Agent 启动脚本
# 用法:source /root/.openclaw/workspace/scripts/start-life-agent.sh
set -e
AGENT_NAME="张大师 (Life)"
AGENT_ID="life"
AGENT_PORT="18790"
WORKSPACE="/root/.openclaw/workspace"
SYSTEMD_SERVICE="agent-life.service"
echo "🔮 正在启动 $AGENT_NAME..."
# 1. 设置环境变量
export NODE_ENV=production
export AGENT_ID=$AGENT_ID
export AGENT_PORT=$AGENT_PORT
export DASHSCOPE_API_KEY="sk-4111c9dba5334510968f9ae72728944e"
export TAVILY_API_KEY="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"
export XDG_RUNTIME_DIR=/run/user/0
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
# 2. 创建运行时目录
mkdir -p /run/user/0
chmod 700 /run/user/0
# 3. 创建日志目录
mkdir -p $WORKSPACE/logs/agents/life
# 4. 检查用户级 systemd 环境
if ! systemctl --user status > /dev/null 2>&1; then
echo "⚠ 用户级 systemd 不可用,启用 linger..."
loginctl enable-linger root
fi
# 5. 复制 systemd 服务文件
echo "📋 配置 systemd 服务..."
cp $WORKSPACE/systemd/$SYSTEMD_SERVICE /etc/systemd/system/
systemctl daemon-reload
# 6. 启用并启动服务
echo "🚀 启动 $AGENT_NAME 服务..."
systemctl enable $SYSTEMD_SERVICE
systemctl start $SYSTEMD_SERVICE
# 7. 验证状态
sleep 3
if systemctl is-active --quiet $SYSTEMD_SERVICE; then
echo "$AGENT_NAME 已成功启动!"
echo " - 端口:$AGENT_PORT"
echo " - Agent ID: $AGENT_ID"
echo " - 日志:journalctl -u $SYSTEMD_SERVICE -f"
echo " - 状态:systemctl status $SYSTEMD_SERVICE"
else
echo "$AGENT_NAME 启动失败!"
echo " 查看日志:journalctl -u $SYSTEMD_SERVICE -n 50"
exit 1
fi
# 8. 注册 cron 任务
echo "⏰ 注册定时任务..."
cp $WORKSPACE/agents/life-cron-jobs.json /root/.openclaw/cron/jobs-life.json
echo " 定时任务已配置:每天 21:00 推送运程"
echo ""
echo "🎉 张大师部署完成!"

@ -0,0 +1,59 @@
# mem0 Integration Configuration - 张大师专用
# Agent ID: life (生活与运程助手)
# 用户生辰:1984 年 5 月 16 日 23:00-24:00 (子时)
# 本地 Qdrant 配置
local:
vector_store:
provider: qdrant
config:
host: localhost
port: 6333
collection_name: mem0_v4_life # 张大师专用集合
llm:
provider: openai
config:
model: qwen-plus
api_base: https://dashscope.aliyuncs.com/compatible-mode/v1
api_key: ${DASHSCOPE_API_KEY}
embedder:
provider: openai
config:
model: text-embedding-v4
api_base: https://dashscope.aliyuncs.com/compatible-mode/v1
api_key: ${DASHSCOPE_API_KEY}
# 中心 Qdrant 配置(共享记忆 - 与陈医生共享)
master:
vector_store:
provider: qdrant
config:
host: 100.115.94.1
port: 6333
collection_name: mem0_v4_shared
# 同步配置
sync:
enabled: true
interval: 300
batch_size: 50
retry_attempts: 3
# 缓存配置
cache:
enabled: true
ttl: 300
max_size: 1000
# 元数据隔离
metadata:
user_id: wang_yuanzhang
agent_id: life
user_profile:
birthday: "1984-05-16"
birth_time: "23:00-24:00"
chinese_zodiac: "鼠"
birth_hour: "子时"
timezone: "Asia/Shanghai"

@ -0,0 +1,50 @@
[Unit]
Description=OpenClaw Agent - 张大师 (Life Assistant)
Documentation=https://docs.openclaw.ai
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/.openclaw
# Environment variables
Environment=NODE_ENV=production
Environment=AGENT_ID=life
Environment=AGENT_PORT=18790
Environment=DASHSCOPE_API_KEY=sk-4111c9dba5334510968f9ae72728944e
Environment=TAVILY_API_KEY=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
Environment=XDG_RUNTIME_DIR=/run/user/0
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
# Start the agent gateway on port 18790
ExecStart=/usr/bin/node /www/server/nodejs/v24.13.1/bin/openclaw gateway start --port 18790 --agent-id life
ExecReload=/bin/kill -HUP $MAINPID
# Auto-healing configuration
Restart=always
RestartSec=10
StartLimitInterval=300
StartLimitBurst=5
# Resource limits
MemoryLimit=1G
CPUQuota=40%
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=openclaw-agent-life
# Security hardening
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/root/.openclaw
# Watchdog for health monitoring
WatchdogSec=30
[Install]
WantedBy=multi-user.target
Loading…
Cancel
Save