Files
persistent-chat-plugin/docs/INSTALL.md
卡若AI 62577508c9 feat: 持久对话 MCP 插件 v1.6.37 · Hub + Panel + MCP 三形态部署
- src/: server.js (MCP 4 工具) + hub.js (HTTP Hub) + cursor-title.js
- web/: panel.html (主面板) + panel.remote.html (远端 1637)
- scripts/: ensure-hub.sh (stdio→http 桥) + mongo_sync.py
- mcp-config/: trae.mcp.json + cursor.mcp.json
- docs/: INSTALL / DEPLOY / MCP_SETUP / ARCHITECTURE / QUICKSTART
- ZIP 原始安装包备查

关键机制:
- 4 MCP 工具:init / select / wait / merge
- 垂直绑定:workspace::cursorTitle@hostIp 三件指纹
- 真挂起:关闭 timedReply 后 wait 真正阻塞,agent turn 不结束
- 双 Hub 部署:远端 NAS 24×7 + 本地 launchd 守护备份
- 三形态组合:远端 + 本地 + Trae 插件,可同时跑
2026-06-26 13:01:08 +08:00

4.1 KiB
Raw Blame History

安装文档INSTALL.md

完整安装步骤 · 三种形态


前置条件

要求 验证
macOS 13+ sw_vers
Node v22 node --version
Git 2.30+ git --version
网络 能访问 192.168.110.101 ping -c1 192.168.110.101

安装形态 A远端 NAS公司 13458

步骤 1准备目录

ssh fnvtk@192.168.110.101
mkdir -p /volume1/homes/fnvtk/.persistent-chat-local
cd /volume1/homes/fnvtk/.persistent-chat-local

步骤 2上传文件

从本地 git 仓库:

# 本地
scp src/{server.js,hub.js,cursor-title.js} \
    web/panel.html \
    scripts/{ensure-hub.sh,mongo_sync.py} \
    fnvtk@192.168.110.101:/volume1/homes/fnvtk/.persistent-chat-local/

步骤 3安装依赖

无第三方依赖(纯 Node 22 标准库)。

步骤 4启动

# 远端
ssh fnvtk@192.168.110.101
cd /volume1/homes/fnvtk/.persistent-chat-local
chmod +x ensure-hub.sh
nohup /usr/local/opt/node@22/bin/node hub.js > logs/hub.log 2>&1 &

步骤 5验证

curl http://192.168.110.101:13458/api/health
# 期望:{"ok":true,"pid":<X>,"panelVersion":"1.6.37"}

安装形态 B本地备份launchd

步骤 1建目录

mkdir -p ~/.persistent-chat-local

步骤 2拷文件

cp src/server.js src/hub.js src/cursor-title.js ~/.persistent-chat-local/
cp web/panel.html ~/.persistent-chat-local/panel.html
cp scripts/ensure-hub.sh ~/.persistent-chat-local/
chmod +x ~/.persistent-chat-local/ensure-hub.sh

步骤 3写 launchd plist

cat > ~/Library/LaunchAgents/com.karuo.persistent-chat-hub.plist <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key><string>com.karuo.persistent-chat-hub</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/node@22/bin/node</string>
    <string>/Users/karuo/.persistent-chat-local/hub.js</string>
  </array>
  <key>WorkingDirectory</key><string>/Users/karuo/.persistent-chat-local</string>
  <key>RunAtLoad</key><true/>
  <key>KeepAlive</key><true/>
  <key>StandardOutPath</key><string>/Users/karuo/.persistent-chat-local/logs/launchd.log</string>
  <key>StandardErrorPath</key><string>/Users/karuo/.persistent-chat-local/logs/launchd.err</string>
</dict>
</plist>
EOF

步骤 4加载

launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.karuo.persistent-chat-hub.plist

步骤 5验证

launchctl print gui/$UID/com.karuo.persistent-chat-hub | head -5
curl http://127.0.0.1:13458/api/health

安装形态 CTrae/Cursor MCP 插件

步骤 1复制 mcp.json

# Trae
cp mcp-config/trae.mcp.json ~/.trae/mcp.json

# Cursor
cp mcp-config/cursor.mcp.json ~/Documents/个人/.cursor/mcp.json

步骤 2完全退出 IDE

  • Trae: Cmd+Q
  • Cursor: Cmd+Q

步骤 3重开 IDE

步骤 4验证

在 Trae / Cursor 看到 persistent-chat MCP server 绿色点。


升级

# 1. 拉新代码
cd /Users/karuo/Documents/个人/persistent-chat-plugin
git pull

# 2. 备份
cp -r ~/.persistent-chat-local ~/.persistent-chat-local.bak.$(date +%Y%m%d)

# 3. 覆盖核心(不动 data/
cp src/* ~/.persistent-chat-local/
cp web/panel.html ~/.persistent-chat-local/

# 4. 重启 Hub
launchctl bootout gui/$UID/com.karuo.persistent-chat-hub
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.karuo.persistent-chat-hub.plist

# 5. Trae Cmd+Q 重开

卸载

# 1. 停止 launchd
launchctl bootout gui/$UID/com.karuo.persistent-chat-hub

# 2. 删除文件
rm -rf ~/.persistent-chat-local
rm ~/Library/LaunchAgents/com.karuo.persistent-chat-hub.plist

# 3. 删除 MCP 配置
# Trae: 编辑 ~/.trae/mcp.json 删 persistent-chat 段
# Cursor: 编辑 ~/Documents/个人/.cursor/mcp.json 删 persistent-chat 段

# 4. 远端 NAS
ssh fnvtk@192.168.110.101
pkill -f "node hub.js"
# 不删数据可保留 ~/.persistent-chat-local 目录

最后更新2026-06-26 · 卡若AI