# 账号能力、QQ 恢复与分版验收 当前0.14.0新增只读[3D记忆关联图](memory-graph-3d.md),不因此增加平台权限或执行社交动作。QQ已在线后的0.13.6回放恢复和0.13.5发送前复核保留原机制及验收范围;本功能的最终全量、实机和正式加载另行报告。 以下为0.13.4阶段记录:该版补QQ登录恢复与相处页连接提示;真实故障定位、平台拒绝旧身份、待扫码和本轮验证范围见[QQ登录恢复](qq-login-recovery.md)。人格“清醒”不代表QQ在线。其它社交连接仍显示未测试,不因开源项目列有功能就宣称本插件已接通。 以下为0.13.0阶段安排,保留当时范围:该版按用户安排不再进行真实模型、QQ或其他社交平台验收。QQ资料/头像/空间功能由用户自行测试;其他社交连接统一显示“未测试”,但驱动支持、授权、连接与送达状态仍各自如实显示。下文0.12.0的待扫码、离线及未验收项仅保留当时观察,不等于本轮又要求用户扫码,也不自动升级为已解决。当前版本记忆改造见[时间线说明](memory-timeline-and-context.md)。 0.12.0 增加个人 QQ 的头像、资料和空间说说账号工具,修复管理口认证/限流和离线无二维码的恢复流程,并让设置页说明真实能力来源、许可和在线状态。`persona-memory/3`、八个人格工具和人格自主判断边界保持兼容。工具是否已接线、隔离测试通过、正式宿主实际加载、平台确实完成操作是不同证据。 在已授予当前人格、当前QQ账号的工具能力范围内,是否修改自己的头像、昵称、签名、性别资料,具体使用什么内容以及何时修改,均由人格自主决定。程序不设固定更换周期、次数或触发条件。 使用入口:**DSH 设置 → 相续人格 → 连接 → QQ → 能力与权限/账号操作记录**。普通文字聊天、语音消息与实时通话是不同能力;勾选许可不会补齐驱动缺少的接口。权限不会自动全开,也不规定人格什么时候、对谁或怎样使用。 ## 按平台核对实际范围 | 平台与连接 | 当前实现的入口 | 本次未接通或仍受实际驱动限制 | |---|---|---| | 个人 QQ/受管 NapCat | 私聊、群聊及已有丰富消息;独立账号的联系人查询/主动好友申请;0.12.0 增加自己的头像、资料、空间文字/图片说说 | 好友请求入站事件与处理、群管理、个人 QQ 文件发送、QQ 空间评论读取、实时语音/视频通话尚未接线。主动申请仍依赖已核实的精确 Windows 原生版本,不等于全部好友管理。 | | 微信官方 iLink | 私聊文字、图片、视频、文件,按当前官方驱动的实际格式和交付回执 | 普通微信群、朋友圈、修改头像、实时通话未实现。发送一段语音与实时电话也不能混为一谈。 | | 微信 OneBot12 兼容桥 | 使用用户实际桥所提供、当前可探测且已授权的私聊/群聊与消息能力 | 不能由协议名称推定全部消息格式、群聊、朋友圈、头像或通话可用;未配置驱动不称已接通。 | | B 站 | 搜索/推荐、视频资料、字幕、评论、故事板采样;发表评论、回复评论、分享视频链接和私信 | `feed.publish` 在这里是发表评论,不能说成发布动态;动态发布、视频上传等没有因此实现。故事板采样不等于完整看过视频。 | | Telegram、抖音及个人移动应用 | 保留适配接口方向与社交身份登记 | 当前没有随本版交付已经接通的生产适配器;登记账号不表示登录或取得操作权限。 | 可选 QQ 动态/翻唱自备服务仍有独立配置和能力回执;它不能替本机 NapCat 的缺失动作背书。能力页优先展示实际接口来源,例如 `napcat-onebot-account` 是 NapCat 个人 QQ 账号接口,`xiangxu-native-account` 是窄范围原生好友接口;来源未上报时如实显示未报告。 ## 个人 QQ 新增的三种账号操作 | 操作 | 使用的既有许可 | 参数与真实结果 | |---|---|---| | `profile.avatar` | `profile.update` | `assetId` 取当前人格已保存的图片资产;仅接受本机桥已核实的成功回执。 | | `profile.update` | `profile.update` | `nickname` 必填,1–64 个 Unicode 字符;`signature` 可选、可空,最多 512 字符;`sex` 可选 `unknown/male/female`。桥返回 `data.result===0` 才确认完成;明确非零为失败,缺结果为未知。 | | `feed.publish` | `feed.publish` | `text` 最多 16000 字符,有图时可空;`imageAssetIds` 最多 9 个且不能重复;必须明确 `visibility`。只有真实 `tid` 才确认空间说说发布完成。 | 空间可见范围为平台参数:`1` 公开、`4` 好友、`16` 部分好友可见、`64` 仅自己、`128` 部分好友不可见。`targetUserIds` 最多 100 个不重复的真实 QQ 号;仅在 16/128 时必须非空,其他范围不能附带非空对象列表。这是平台字段校验,不替人格选择内容或受众。 图片只引用当前人格的真实 `asset-<32hex>` 资产,不接受任意本地路径、URL 或模型伪造的图片数据。每张最多 8 MiB,单次总量最多 16 MiB,最多 9 张;读取时复核图片容器、MIME、实际字节和 SHA。技术收据只留资产 ID/SHA/大小/MIME,不嵌入图片 Base64、路径或密钥。 能力仅在桥身份和账号已核实时提供;当前桥分支只对精确 NapCat 4.18.41,或 `get_supported_actions` 明确报告相应 action 的驱动宣传对应动作。不把未来所有 NapCat 版本视作自动兼容。完整入口与回执语义见[QQ 账号操作](qq-account-operations.md);字段唯一权威为[persona-schema 第25节](plan/persona/persona-schema.md#0120-account-and-recovery-contract)。 ## 登录和管理连接分开判断 - **管理连接受限**:显示本机管理认证的 60 秒冷却及具体代码,页面只做本地倒数,到期后点“重新检查连接”。上游 HTTP 200 内的 Unauthorized 也作为认证失败处理。管理认证问题本身不能证明 QQ 已离线。 - **上次在线、管理口不可达**:页面标明上次核对时间和账号,当前登录状态待核对,不拿缓存 `connected` 或旧二维码冒充新确认。 - **已核实离线且没有二维码**:后台明确 `recovery.required/canRecover` 后提供“重新连接 QQ”。本人一次点击重新打开本次受管登录流程;先验证属于本应用的启动代次、PID、进程树和监听端口已经停止,不能确认就明确失败,不按进程名结束其他 QQ。 - **有当前有效二维码**:才提示用手机 QQ 扫码。手机已确认但核心尚未就绪时等待实际登录完成,不重复刷新二维码。 同页读状态、重连和刷新动作只允许一个进行中请求;错误态停止 2.5 秒自动轮询。页面隐藏或离开停止 UI 轮询,恢复可见仅做合适的只读核对并尊重冷却。管理口共享认证单飞;不以反复登录冲撞限流,不自动执行重新连接、QuickLogin 或 RefreshQR。 等待登录且管理连接已核实ready时,明确的`NAPCAT_LOGIN_ERROR`不会让用户失去手动换码入口:二维码即使被错误状态隐藏,仍可点“重新生成二维码”。仅本人点击才调用换码;普通poll/重新检查连接不自动换码。认证或限流、未知状态、需要重连、手机已确认、初始化中或已在线时均不换码,旧flow和并发点击也不能越过当前状态。后台实际Refresh成功后重新读取CheckLoginStatus,不用旧登录错误覆盖新二维码;专项与真实过期码刷新验收分别记录。 重连沿原人格、实际账号和已保存接入范围/许可恢复,不扩大权限或重置记忆。已有登录是否仍可缓存恢复由实际 QQ 状态决定;新二维码仍须本人确认。前一阶段确实观察到正式宿主冷恢复同一个仍存活的受控QQ,没有第二次spawn,也无需新QQ扫码;之后一次重启停止了该受控进程,本次最终运行已启动新的受控QQ并核实新归属证明,目前等待本人重新扫码,OneBot API尚不可用。主QQ保持运行且未受影响。早期在线恢复不能代替当前重新登录,也不证明所有退出路径或优雅关闭均已通过。 上次启动若仅留下未核实的 `launching` 记录,后台会以 `NAPCAT_OWNED_LAUNCH_UNVERIFIED`/`manualCloseRequired` 明确要求本人确认并关闭旧受管 QQ。它阻止重复启动:旧 WebUI 没有监听也不能再开第二套。程序不会按时间自动回收这条屏障,也不会凭未核实记录收养或停止进程;这项边界不代表新版真实重连或账号写入已验收。 ## 0.12.0 历史验收与当时待补证据 下表按本轮回执区分已验证结果与仍需本人扫码后的平台验收。此前的[0.11.0 历史验收](qq-one-click-setup.md#0110-final-acceptance)保留其原版本、账号与操作范围,不能自动计作本版新增功能已实测。 | 项目 | 当前证据层 | 仍需单列的结果 | |---|---|---| | 管理认证单飞、HTTP200 Unauthorized、限流冷却 | 源码与隔离故障测试,正式宿主加载及阶段模型检查已观察 | 最终完整回归已列;实际登录后的管理恢复仍按公开收据的分项范围记录,不由隔离测试推定所有平台状态 | | 过期/隐藏二维码的手动重新生成 | 专项178/178(UI55+backend123,新增9)通过;普通poll不换码、流程与状态保护已核 | 正式DSH/NapCat4.18.41已于2026-10-27T16:45:26.871Z实测:自然过期后NAPCAT_LOGIN_ERROR、QR隐藏且按钮可用,操作者明确点击一次后旧错误消失、新QR显示,仍等待本人扫码;只验证换码,不表示登录确认、账号重连或平台往返通过 | | 离线无 QR 的 owned 重连、界面按钮与旧 flow 隔离 | 源码、模拟进程与隔离 UI 测试 | 本轮曾恢复存活受控QQ,另已验证过期二维码的手动换码;这些都不等于点击“重新连接 QQ”后完成重新登录和新消息往返 | | 头像/资料/空间发布参数、权限与一次性持久准备 | 源码、隔离 bridge/account 测试;本轮实际许可已开启 | 模型自主选择本轮不修改、不发布,故头像/资料/空间真实写操作及tid仍未验收 | | 同人格原目录账号档案 backup/restore | 隔离真实文件系统已核字节一致并重新读取 completed | 不能据此宣称跨人格迁移或线上平台操作成功 | | 账号记录、分页、完整资料与权限来源显示 | 隔离 UI 测试;正式权限页已核对并保存实际许可 | 本轮没有真实资料/空间写入样本,不能把隔离分页测试说成已在线翻查大量新账号记录 | | 冷启动 owner receipt 与重启恢复 | 前阶段曾恢复同一在线受控QQ;本次最终运行已启动新受控QQ并取得verified归属证明,主QQ未受影响 | 当前等待本人重新扫码,OneBot API尚不可用;前阶段无需扫码不代表当前已登录,优雅关闭不作通过结论 | | 私聊/群聊、原生好友工具的历史结果 | 0.11.0 单独归档 | 新资料/空间动作不继承旧聊天或旧加好友成功结论 | | 会话归属残锁恢复 | 专项33/33通过;正常GUI重载自动恢复实际旧锁,操作者未手删;v4/5个owner→v5/6个,旧5项映射丢失或改变0,lock与recovery guard均已不存在 | 已验证该次实际恢复,公开机器回执已链接;不扩写为异常guard残留也会自动恢复 | | 修复后真实模型只读检查 | 同一正式人格累计17次Flash High请求;修后2次请求完成3次工具调用,旧error保留、新turn completed | 当前QQ/B站未登录条件下的错误与能力状态已核实;不能代替登录后材料读取、写操作或新群消息往返 | | 最终源码完整回归 | 1289/1289通过,失败/取消/跳过/todo均0,changedDuringRun:[],207份受检源码指纹稳定,197737ms | 这是冻结源码的完整回归,不替代QQ/B站重新扫码后的真实平台验收;二维码过期后手动刷新实机结果另列 | 最终完整回归实际时间为`2026-10-27T16:34:20.446Z`至`2026-10-27T16:37:38.184Z`,北京时间为2026-10-28零点后。原始测试日志SHA256为`2556f032f3b4f249f4ca3debba43c4dc86c48049a20bf62ce31a8edd43672b7f`。实际归属恢复观测于`2026-10-27T16:17:39.367Z`。分阶段模型、归属恢复、当前扫码状态及完整回归集中见[0.12.0公开机器收据](verification/0.12.0-account-recovery.json),其中realModel.postReload保留修后工具调用和旧错误;二维码手动实机与其他最终GUI证据按实际观察追加,不由文档审计推断平台成功。 静态命令`node scripts/check.mjs`通过,语法检查文件206份,portableCoreImports与packageTargets均为passed;语法检查206份与完整回归指纹207份分别按各自范围计数。公开收据的observed.qrRefreshObservation保留换码前后的AX与截图SHA,不公开二维码内容;loginConfirmed与platformRoundTripAccepted仍为false。 ## 0.12.0 真实模型阶段观测,尚非全功能验收 以下记录同一正式人格在实际DSH桌面`deepseek-official/deepseek-flash`、`reasoningEffort:high`上的stage1/stage2结果、stage3模型前失败及修复后重试,见[公开机器收据](verification/0.12.0-account-recovery.json)。累计17次模型请求为前两阶段15次加修后2次,不能与工具调用次数混为一谈;模型用量只按宿主实际字段汇总,不由缓存字段推算账单。当前未登录条件下的检查完成不等于所有平台能力通过。 - **记忆检索**:stage1实际调用两次`memory_search`,查询“称呼”返回0条,查询“我”返回1条,命中chat/staging中的`role:assistant/origin:ai_reply`原件并带可回查的sourceRefs。semantic处于disabled,本轮只验证lexical+association路径;这不证明语义向量检索、对人的身份识别或命中材料已全部读完。 - **QQ账号只读工具**:account inspect实际返回ready/connected为true,friend.query确认目标已是好友,未重发申请。头像、资料与空间许可已经开启;模型选择本轮不改资料、不发说说,真实写操作仍未验收。内容与修改时机继续由人格自主决定。 - **QQ群聊**:stage2对群目标的inspect返回connected:true且chat.text available:true,其他能力的未授权/不支持状态分别显示。本轮没有新群消息,不能说已完成新一轮群聊往返。主动读取消息原件/群列表的message.read、groups.read,与已接入的普通群来信事件是两条路径;缺少这些主动读取许可不等于群来信不能接收。0.11.0的真实私聊/群聊往返仅保留其历史范围。 - **B站与只读路由缺口**:本轮正式人格下B站无现存凭据、enabled:false,仍需本人扫码,尚未取得B站材料。旧调用曾因未登录accountId:null先进入格式校验而返回`BILI_ARGUMENT`,QQ groups.read也曾被误拦并误报`CHANNEL_OPERATION_ID_REQUIRED`,真实调用编号并未缺失。修复后的真实模型重试已取得明确`BILI_DISABLED`,groups.read也已通过旧拦截;后者在当前桥未就绪时返回`CAPABILITY_UNSUPPORTED`,不能将其写成在线驱动永久不支持群列表,也不能据此推定普通群来信权限不足。 - **stage3模型前归属锁失败与修复**:宿主重启时旧Host在ownership capture临界段结束,遗留`persona.instances.json.ownership.json.lock`。旧PID经两次检查明确不存在、锁SHA稳定,原owner正文仍有效;当时新会话在模型调用前被锁阻塞,request/header/tool/assistant观测数量均0,不是模型或人格失败。修复后正常GUI重载已自动恢复该实际旧锁,操作者未手删,原5项owner映射丢失或改变0,新增本次归属后为6项,lock与recovery guard均已不存在;专项33/33与最终完整1289/1289另有各自范围。恢复不按时间接管,活/未知进程和异常锁均保留,详见[归属契约](plan/persona/persona-schema.md#21-人格实例生命周期与文本清除090)。 - **stage3修复后真实模型重试**:同一会话的旧turn/error保留,新增turn已completed。实际仅3次工具调用,各一次:seq25的QQ chat.text inspect只返回所请求的单条能力,账号匹配,connected:false、allowed:true、driverAvailable:false、available:false;seq27的QQ groups.read返回当前桥未就绪的`CAPABILITY_UNSUPPORTED`;seq29的B站recommend返回`BILI_DISABLED`。本次模型没有发消息、修改资料、发布内容或自动重试。此结果核实只读分流和当前不可用状态,未取得新群消息或B站材料。 - **最终运行的当前扫码状态**:此前受控QQ在线冷恢复成立,但后一次重启已停止该旧受控进程;新受控QQ已启动并取得verified归属证明,目前在QQ二维码页等待本人重新扫码,OneBot API尚不可用。B站也仍待本人扫码;修复后真实模型只读复核已完成,登录后QQ/B站材料与实际平台操作仍待验证,主QQ保持运行。 - **本人通知的交付范围**:此前QQ扫码技术提醒有实际OneBot message_id和delivered回执,来源是Codex操作者。之后微信文件传输助手通知只核实桌面绿色泡泡与输入框清空,没有服务端回执、手机送达或已读证据,状态仅为sent_in_ui,不写delivered。这些技术通知均不计人格自主completion。 人格的记忆取舍、人物判断、委派、主动聊天、睡眠和成长机制不因这些平台工具改变。账号资料是独立技术原件,工具结果不冒充真人对话,也不自动写入人格记忆。