腾讯电脑管家 QClaw 团队宣布,这款基于 OpenClaw 的本地 Agent 产品将在 2026 年 12 月 24 日 00:00 正式停止运营。公告发布后,新用户注册以及订阅购买、续费已经停止;已开启自动续费的用户无需手动取消,后续扣款会自动停止。现有注册用户和已购买订阅的用户,在停运前仍可继续使用。
这给用户留下了一段迁移窗口,但真正需要处理的不只是“换一个聊天工具”。本地 Agent 往往连接模型、提示词、知识库、插件、自动化脚本和工作目录。任何一层被锁在特定产品里,停服时都会变成迁移成本。
先看清停运影响的边界
从已披露的信息看,当前时间线可以拆成两个阶段:
- 公告发布后:停止新用户注册,停止订阅购买与续费。
- 2026 年 12 月 24 日 00:00:QClaw 正式停止运营。
- 停运之前:已注册及已购买订阅的用户仍可正常使用。
- 自动续费:无需用户手动取消,扣款将自动停止。
至于账号积分的具体有效期、是否支持导出、停运后客户端还能否离线运行,以及云端同步数据如何处理,应以完整公告和产品内提示为准。尤其不要把“现在还能打开”理解为“停运后仍能永久使用”:登录鉴权、模型转发、插件市场和配置同步都可能依赖服务端。
对团队用户而言,还应确认一件事:QClaw 是否进入了内部开发、测试或运营流程。如果某个定时任务、知识库问答入口或者脚本依赖它,停运影响的就不只是个人聊天记录。
被放弃的是产品路线,不等于本地 Agent 没有价值
QClaw 的关停说明这条具体的产品化路线被终止,但不能直接推导出“本地 Agent 不成立”。本地运行仍然有明确价值,例如数据不离开设备、内网工具接入、离线推理,以及对执行环境的精细控制。
问题通常出在产品与基础设施耦合过深。一个可迁移的 Agent 系统至少应该把下面四层分开:
- 模型层:本地模型、云端模型或企业模型网关可以替换。
- Agent 编排层:提示词、工具定义与工作流不依赖某个桌面客户端。
- 数据层:对话、知识库原文件和向量索引能够单独备份或重建。
- 执行层:Shell、浏览器、文件系统等高权限工具有独立的授权与审计机制。
迁移时不要急着寻找一个外观完全相同的替代品。更可靠的目标,是让下一套系统即使再次停运,也只需要更换模型地址或前端,而不用重写所有工作流。
现在可以做的备份与资产盘点
第一步是列出真正需要保留的资产:原始文档、提示词、工具配置、Agent 工作流、对话记录、模型参数,以及自动化任务。向量数据库通常可以从原始文档重建,因此原文档和切分规则往往比索引文件更重要。
如果 QClaw 的数据目录能够在本机找到,可以先做一份带校验值的归档。下面的命令不假设 QClaw 使用某个固定路径;运行前必须把 QC_DATA_DIR 改成实际目录,并检查其中是否包含令牌、Cookie 或其他敏感信息。
#!/usr/bin/env bash
set -euo pipefail
export QC_DATA_DIR="$HOME/path/to/qclaw-data"
export BACKUP_DIR="$HOME/qclaw-backups"
if [[ ! -d "$QC_DATA_DIR" ]]; then
echo "Data directory not found: $QC_DATA_DIR" >&2
exit 1
fi
mkdir -p "$BACKUP_DIR"
STAMP="$(date +%Y%m%d-%H%M%S)"
ARCHIVE="$BACKUP_DIR/qclaw-$STAMP.tar.gz"
tar \
--exclude='cache' \
--exclude='*.log' \
--exclude='.DS_Store' \
-czf "$ARCHIVE" \
-C "$(dirname "$QC_DATA_DIR")" \
"$(basename "$QC_DATA_DIR")"
sha256sum "$ARCHIVE" > "$ARCHIVE.sha256"
echo "Backup created: $ARCHIVE"
echo "Verify with: sha256sum -c $ARCHIVE.sha256"
归档前应先退出 QClaw,避免数据库文件正在写入。归档后还要实际解压一次,确认文件可读。若目录中包含访问令牌,备份文件应加密保存,不能直接上传到公共网盘或代码仓库。
对于无法直接导出的内容,可以手动保存为 Markdown、JSON 或 CSV,并记录导出日期。截图只能作为补充,不适合作为可搜索、可迁移的数据格式。
用兼容接口降低下一次迁移成本
如果新的本地模型服务或企业网关支持 OpenAI 风格的 Chat Completions 接口,可以把 Agent 调用收敛到一个很薄的适配层。下面是一个仅使用 Python 标准库的最小连通性测试。
这是一个通用迁移示例,不是 QClaw 官方接口,也不代表 QClaw 可以直接使用该 API。运行前需要把地址、模型名和令牌改成目标服务提供的值。
#!/usr/bin/env python3
import json
import os
import urllib.error
import urllib.request
base_url = os.getenv("AGENT_BASE_URL", "http://127.0.0.1:8000/v1").rstrip("/")
model = os.getenv("AGENT_MODEL", "local-model")
api_key = os.getenv("AGENT_API_KEY", "local-dev-key")
payload = {
"model": model,
"messages": [
{
"role": "system",
"content": "你是内部开发助手。回答时给出可执行步骤,并明确风险。"
},
{
"role": "user",
"content": "请用三点说明如何验证本地 Agent 的知识库迁移是否完整。"
}
],
"temperature": 0.2
}
request = urllib.request.Request(
f"{base_url}/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
method="POST"
)
try:
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
print(result["choices"][0]["message"]["content"])
except urllib.error.HTTPError as exc:
print(f"HTTP {exc.code}: {exc.read().decode('utf-8', errors='replace')}")
raise SystemExit(1)
except urllib.error.URLError as exc:
print(f"Connection failed: {exc.reason}")
raise SystemExit(1)
保存为 agent_smoke_test.py 后,可以这样运行:
export AGENT_BASE_URL="http://127.0.0.1:8000/v1"
export AGENT_MODEL="your-model-name"
export AGENT_API_KEY="your-token"
python3 agent_smoke_test.py
这种做法的重点不是绑定某一种接口标准,而是把模型地址、模型名和凭据移出业务代码。提示词、测试问题和预期结果也应进入版本控制,但真实密钥不能提交到仓库。
迁移知识库时,还可以建立一组固定测试题,分别覆盖:精确事实、跨文档关联、权限隔离和“文档中没有答案”的情况。只有新旧系统在同一测试集上的结果可对比,迁移才不只是“页面能打开”。
在停运日前完成这份清单
- 确认订阅、积分及账号数据的官方处理规则。
- 导出对话、提示词、知识库原文档和工具配置。
- 识别 QClaw 依赖的云端能力,避免误判为纯离线功能。
- 盘点团队脚本、定时任务和内部流程中的调用点。
- 为备份生成校验值,并进行一次恢复演练。
- 选择替代方案时,验证模型接口、数据格式和工具协议是否可替换。
- 对文件、Shell、浏览器等高权限工具重新设置最小权限。
- 在正式切换前并行运行新旧系统,用固定测试集比较结果。
QClaw 的停运窗口足够长,但迁移越晚,可验证的时间就越少。最值得吸取的经验不是押注另一款“永不关停”的 Agent,而是把数据、模型和工作流掌握在自己手里,让任何单一产品都成为可替换部件。