本文档用于把当前网站部署到一台局域网内的 MacBook 上,供公司内部用户访问。
建议在 MacBook 上使用固定目录:
/Users/ops/lan-reader-chat
目录约定:
/Users/ops/lan-reader-chat
├─ app/
├─ components/
├─ data/
├─ docs/
├─ lib/
├─ scripts/
├─ storage/
│ ├─ agents/
│ ├─ chat-uploads/
│ └─ chat.sqlite
├─ .next/
├─ package.json
└─ next.config.ts
说明:
storage/chat.sqlite:聊天记录数据库storage/chat-uploads/:图片和文件上传目录storage/agents/openclaw-agents.json:OpenClaw agent 状态文件MacBook 上建议准备:
Node.js LTSnpmops建议先确认:
node -v
npm -v
把项目放到目标目录:
cd /Users/ops
git clone <your-repo> lan-reader-chat
cd /Users/ops/lan-reader-chat
安装依赖:
npm install
创建存储目录:
mkdir -p storage/agents
mkdir -p storage/chat-uploads
首次构建:
npm run build
本机验证:
npm run start -- --hostname 0.0.0.0 --port 3000
浏览器访问:
http://localhost:3000
局域网其他设备访问:
http://MacBook局域网IP:3000
网站默认读取:
storage/agents/openclaw-agents.json
如果 OpenClaw 的输出文件不在这个路径,可以通过环境变量指定:
OPENCLAW_AGENT_FEED_PATH=/some/path/openclaw-agents.json
推荐方式:
示例:
node scripts/sync-openclaw-agent-feed.mjs /tmp/openclaw-agents.json
建议使用 launchd。
你可以参考:
安装方式示例:
mkdir -p ~/Library/LaunchAgents
cp deploy/macos/com.lan-reader-chat.web.plist ~/Library/LaunchAgents/
cp deploy/macos/com.lan-reader-chat.agentfeed.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.lan-reader-chat.web.plist
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.lan-reader-chat.agentfeed.plist
launchctl enable gui/$(id -u)/com.lan-reader-chat.web
launchctl enable gui/$(id -u)/com.lan-reader-chat.agentfeed
每次更新建议按这个顺序:
示例:
cd /Users/ops/lan-reader-chat
cp storage/chat.sqlite storage/chat.sqlite.bak
git pull
npm install
npm run build
launchctl kickstart -k gui/$(id -u)/com.lan-reader-chat.web
至少检查:
/agents 是否能显示真实 OpenClaw 状态如果更新后异常:
chat.sqlite重点保护目录:
storage/chat.sqlitestorage/chat-uploads/storage/agents/openclaw-agents.json