Repository navigation
Releases
Releases · AI-for-anyone/loop-now
v0.2.6
控制台改版继续:Agent 的配置、文件夹、收件箱,项目的概览、任务、设置,以及五个全局页面都放到了纸张上;宽窗口里对话占的地方更大;任务有了项目内编号(#12);修复回复刚结束时马上发消息会被当成 Agent 正忙。
控制台改版(第 2 步)
- Agent 的“配置、文件夹、收件箱”三个页签也放到纸张上,与对话页同一套样式。
- 配置页按编号分区(01 基本信息、02 Prompt……),右侧票根里是目录尺,当前所在的分区用黄色记号笔标出;顶部的生效说明改成黄色便签;思考等级改成分段按钮(新建 Agent 的对话框里也是)。全站的输入框统一改成粗描边。
- 文件夹页:工具条放在纸张顶部,“还没有 AGENTS.md”做成醒目的卡片,文件列表用等宽字显示大小和时间,票根里显示文件夹数、文件数和总大小(还没读完时数字后面带“+”)。项目文件夹页用同一套样式。
- 收件箱页:未读是倾斜的印章,已读是带读取时间的小标签,票根里显示未读数和总数。
- 纸张里的滚动条改成细的藏青色。
对话页加宽
- 宽窗口里对话占的地方更大:回复正文最宽从 760px 放到 1100px,代码块、表格和图片跟着变宽;Agent 对话里你发的消息最宽占到对话栏的 88%。
- Agent 页头变矮:标题缩小,身份、运行时、状态、模型和地址并到标题右侧一行,四个页签都一样。
- 左侧的轮次编号栏变窄,输入区上下的空白收紧。
- 窄窗口(侧栏收起时)不变。
控制台改版(第 3 步)
- 项目的概览、任务列表和项目设置也放到纸张上;项目页和全局页的页头统一成紧凑的一行:面包屑、大标题,说明和实时状态放在标题旁边。
- 概览:运行状态、用量、异常与失败按 01–03 编号分区;状态卡片用粗描边和大号数字;用量条改成网点填充(输入蓝、输出粉),用得最多的一行标黄色“最多”;时间范围和分组改成分段按钮。“待你处理”的消息仍在最上面。
- 任务列表:状态筛选(全部、进行中、受阻、已完成)做成纸张上沿的索引标签,带数量;每个任务一行,显示状态、当前节点、负责的 Agent 和更新时间,受阻是倾斜的红色印章;票根里是进行中、受阻、已完成三个大数字。筛选只作用于已加载的任务,全部和已完成没加载完时数字后面带“+”。
- 项目设置:八个部分按 01–08 编号分区,右侧票根里是目录尺。
- 侧栏:选中的 Agent 名称不再被截断(标记放不下时换到第二行);窗口较矮时侧栏的滚动条改成蓝底上的细白条。
控制台改版(第 4 步)
- 全局设置、外部身份、插件市场、Skills 库和统计五个全局页面也放到纸张上,页头和项目页一样紧凑。
- 全局设置:七个部分按编号分区,右侧票根里是目录尺;可以改什么写在顶部的黄色便签里;语言改成分段按钮。开关打开时是黄色,全站一致。
- 外部身份:列表和详情在同一张纸上,选中的身份是黄色色块;令牌的风险提示改成黄色便签;令牌表直接铺在纸上,“吊销”是红色。
- 插件市场:已安装、官方市场、其他市场改成纸张上沿的索引标签;插件卡片顶部有蓝、粉、黄轮换的网点色带;“官方”标记改成深色小胶囊,全站一致。
- Skills 库:模板卡片去掉了倾斜,空状态重新画过,“在线新建”是唯一的粉色按钮。
- 统计:关键指标做成大号数字卡片,投影颜色区分含义(失败和中断粉色、等你回复黄色、token 总数蓝色);每张图表是一个编号分区,图表和数字一个不少。
任务编号
- 每个任务有了项目内的编号,显示为 #12:任务列表最前面多了一列“编号”,任务详情的标题前也有。
- 编号在每个项目里从 1 开始,创建任务时分配,之后不变;任务删掉了,它的编号也不会再给别的任务用。升级时已有的任务按创建顺序补上编号。
- 接口里的任务对象多了
number字段(控制台接口和 Agent 接口都有)。
修复
- Agent 回复刚结束(或
/compact刚返回)时马上发消息,偶尔会被当成 Agent 还在忙,白白排一次队;这时发会话命令会直接报“Agent 不空闲”。现在要等 Agent 真正空出来才通知回复结束(PR #54)。 - 接口:
AgentBusyDetails.currentRunId在没有进行中或排队中的执行时为 null,不再给全零的 ID。
v0.2.5
控制台开始改版(第 1 步:外壳和 Agent 的对话页),对话页有了带轮次编号的新刻度尺;对话框里可以用内置命令管理会话;修复 Agent 偶尔一直显示“回复中”。
控制台改版(第 1 步)
- 控制台开始按新设计改版,风格仍是孔版印刷,颜色和字体不变,这一步改了外壳和 Agent 的对话页。
- 页面主体放在一张“纸”上:白色纸面、藏青描边、蓝色实色投影,底色带一点纸张颗粒。Agent 的“对话、配置、文件夹、收件箱”改成贴在纸张上沿的索引标签。
- 页头的标题更大,右上角多了一组蓝、粉、黄叠印的装饰;模型和地址并成一行,复制地址改成图标按钮。
- 对话页的刻度尺重新设计成一把尺子,放在纸张右侧的“票根”里:一轮一条刻度,每 5 轮一条长刻度带数字,底部是总轮数;当前看到的位置用一笔黄色记号笔标出。它同时代替了滚动条,滚轮、触控板和键盘滚动不变。悬停看预览、点击跳转照旧。
- 每一轮左侧显示它是第几轮。编号在整个对话里连续,会话重开也不重新计数;往上翻加载更早的消息时已有的编号不变。
- 输入区并入纸张底部,发送按钮是粉色圆章;按键说明移到输入框下面一行。
- “会话已切换”的分隔线改成带剪刀的裁切线;“运行记录”做成分段的小票;回复里列表项开头的加粗词显示成黄色小标签。
- 侧栏的项目卡片、选中行统一了描边和投影,空白处多了一片网点装饰。
对话里的会话命令
- Agent 的对话框里可以用内置命令管理会话(外部贡献者 airob0t 提交,PR #25):
/session查看当前会话、模型和进程状态;/new开新会话,页面历史保留;/compact [说明]压缩上下文;/reload停掉当前进程,下一条消息重新加载;/copy复制最近一条有内容的回复;/export [html|jsonl]导出会话;/resume [会话 ID]列出并恢复保留下来的旧会话,只切换模型上下文,不回滚文件和配置。任务节点的对话里没有这些命令。 - 输入“/”会列出命令;当前不能用的单独列在“现在不能用”一组并写明原因。选中只是填进输入框,不直接执行;
/new和恢复会话前会先确认。 - 用 Claude Code 运行的 Agent 支持
/session、/new、/reload、/copy;/compact、/export、/resume需要 Pi 的会话,会直接提示不支持。 - 压缩时内容太少或刚压缩过,会说明“不用压缩”,不算失败;压缩结果记在这次执行上,刷新页面后仍能看到。压缩用掉的 token 在统计里算作“你发的消息”。
- 导出 HTML 用 Pi 自带的导出,不再为此启动 Agent;导出的页面里只有对话内容,没有系统提示词和工具定义。
- 浏览器不允许写剪贴板时(例如用 http 的局域网地址打开控制台),
/copy把内容放在一个只读框里,可以再点一次“复制”或手动选中复制。 - 概览的“异常与失败”里,失败的手动压缩标为“压缩失败”;点“查看压缩”会在对话页它发生的位置显示一张说明卡片,带这次的运行记录。
- Agent 从 Pi 换成 Claude Code 后,命令菜单不再列出之前留下的 Pi 命令。
修复
- Agent 偶尔会在回复结束后一直显示“回复中”:发给它的消息被拒绝或排队不动,要重启 Loop Now 才恢复。原因是后台对账给刚结束的回复补上了忙碌标记、之后没人撤掉;现在补上后会再确认一次,已经结束就立刻撤掉,并接着处理排队的消息。
v0.2.4
Agent 对话页多了一条消息刻度尺:一眼看出对话有多少轮、现在看到哪,点一下跳到某一轮。
控制台
- Agent 对话页的消息列表右侧多了一条刻度尺:一条刻度是一轮对话,屏幕上能看到的那几轮刻度加深。鼠标悬停或用键盘移到某条刻度上,会显示那一轮你发的消息开头;点一下跳到那一轮。轮次很多时刻度先变密,再多刻度尺自己滚动并跟着当前位置走。只包含已加载的轮次,往上翻加载更早的消息后刻度会增加。少于两轮或窗口较窄(左侧栏收起)时不显示。
v0.2.3
Agent 可以用这台电脑上安装的 Claude Code 运行;插件可以带来模型提供方和订阅登录,首个是社区扩展 pi-grok-cli;平台交给模型的固定文字改为英文。
Agent 可以用本机的 Claude Code 运行
- Agent 除了随包的 Pi,还可以由这台电脑上安装的 Claude Code 执行。在 Agent 的模型提供方里选"Claude Code"即可,模型是 fable、opus、sonnet、haiku(随 Claude Code 指向各系列最新的模型),思考等级 low 到 max。项目里的 Agent 和不属于项目的 Agent 都支持。
- 用的是你本人在这台电脑上的 Claude Code 登录:Loop Now 只启动本机未经修改的
claude,不读取、不保存它的登录信息,也不提供"在 Loop Now 里登录 Claude"。环境里的ANTHROPIC_API_KEY等变量不会传给它。需要先在本机装好 Claude Code 并在终端里登录;"全局设置 › Agent 运行时"显示是否找到、版本和登录状态。 - 这类 Agent 以你真实的家目录运行:它执行 gh、git 等命令时用的是你本人的登录,相当于对它单独开启了"用本机的登录状态"(与那个全局开关无关)。和 Pi 的 Agent 一样不经确认直接执行命令。Agent 自己的文件夹、任务副本和回收不变。
- 不加载你个人的 Claude Code 设置(CLAUDE.md、hooks、MCP、插件、自带技能、自动记忆),Agent 看到的技能只有平台给的。只保留作用在 Agent 自身的工具(执行命令、读写文件、技能、子任务、联网搜索);给本机其他 Claude 会话发消息、手机推送、云端例行任务、定时唤醒等不提供,定时和通知用 Loop Now 自己的 sleep 与收件箱。
- 插件:技能与 MCP 工具可用;Pi 扩展不适用,所以没有
/pi:命令和插件带来的模型提供方,经扩展注入的规则也拿不到。只含 Pi 扩展的插件在 Agent 的插件授权里会标出。 - 在 Pi 与 Claude Code 之间切换模型提供方会开始新会话:原会话保留但不带过去,等待中的 sleep 取消。保存前会确认;Agent 正在回复时不能切换。
- Claude Code 的会话记录由它自己写在
~/.claude/projects/下,按 Agent 的工作目录分开。删除 Agent 或任务回收时,Loop Now 先把这份记录归档到自己的数据目录,再用claude purge清掉对应的那一份,不动你平时使用 Claude Code 的记录。 - 运行记录里显示订阅额度的状态(如 5 小时额度与重置时间)。用量按每轮每个模型记一条,被打断的那一轮不计用量。
- 已知限制:只在 macOS 上用 Claude Code 2.1.322 验证过,Windows 未验证;任务里的 Claude Code Agent 和插件的 MCP 工具只通过了自动测试,没有用真实的 Claude Code 验证;Claude Code 升级后参数或输出若有变化,可能需要更新 Loop Now。
本机模式
- 新增第四个开关"用本机的登录状态",默认关闭(升级后也是关闭),打开时要确认一次。开启后,Agent 直接用你在这台电脑上各个工具的登录,等同以你本人的身份操作,所有 Agent 共用(任务里的 Agent 也一样);Loop Now 里已为 Agent 配了账号的 CLI 仍用配置的账号。它与"用本机的 CLI"互相独立:只开这一项时,只有 Agent 原本就能调用的命令用得上这些登录。
插件带来的模型提供方
- 插件市场里的 Pi 扩展可以带来模型提供方和订阅登录。安装(或更新)确认后,Loop Now 读取扩展注册的提供方和模型,在插件详情的"模型提供方"里列出;带登录的提供方进入模型目录。
- 订阅账号按项目管理:在项目设置的"模型账号"里选插件的提供方登录(浏览器登录或设备码,由扩展决定有哪些方式),再在 Agent 配置里选用。Agent 要先被授权该插件,才能在模型配置里选它的提供方;新建 Agent 时不能直接选,建好后再改。
- 登录状态由扩展自己保存和刷新,放在 Loop Now 的数据目录里(只有当前用户可读),不进数据库,也不进备份;同一项目里选用同一账号的 Agent 共用一份。任务沿用开始时的那次登录,重新登录不影响进行中的任务。
- 卸载插件默认保留各项目的订阅账号,重新安装后恢复;勾选"同时删除数据"时一并删除。
- 开着"用本机的登录状态"时,这类提供方用的是这台电脑上该扩展自己的登录,而不是项目账号;本机没有这份登录时 Agent 启动会直接报错并说明原因。
- 首个可用的是社区扩展 pi-grok-cli(SuperGrok 或 X Premium 订阅,非 xAI 官方),在官方插件市场里安装。
- 不属于任何项目的 Agent 暂不支持这类提供方。
给模型的固定文字改为英文
- 平台交给模型的固定文字全部改成英文:系统提示里平台追加的段落(文件夹与上下文、本机目录、本机登录等)、每条消息开头的运行 ID 行、平台发给 Agent 的通知和提醒(sleep 到期、任务节点开始、Inbox 提醒、提问状态、给 Manager 的任务通知等)、loopctl 的技能说明与命令描述、官方插件给模型的提示。此前这些是中文,用英文和 Agent 说话时它常常回中文;现在新开的会话会跟随你用的语言。已有的对话里历史还是中文,模型可能继续用中文回复。
- 错误信息、失败原因和界面文案不变。
- 副作用:既给模型读又显示在控制台里的几处平台文字(对话里的平台提醒正文、任务通知、"提问已到期"、转发时的原收件人标注)在中文界面里也显示英文。
控制台
- 对话输入框输入 "/" 时弹出 Pi 的命令列表(扩展命令、技能、提示模板),显示为
/pi:<名称>;用 ↑↓ 选择,Enter 或 Tab 补全。发送/pi:<名称> 参数会让 Pi 执行这条命令;命令自己处理完、没有模型回复时,这一轮显示"命令已执行,没有回复"。列表在 Agent 运行过一次后才有。不带pi:的/xxx和以前一样:先交给插件认领,没人认领就作为普通文字发给模型。 - 项目里左侧栏的"任务"旁显示正在运行的任务数(准备中、等待和阻塞的不算),为 0 时不显示。任务开始或结束后几秒内自动更新,打开任务页时即时更新,不用刷新页面。
- 总览的"Pi 进程"一列改名为"进程",统计页的"Pi 冷启动/Pi 异常退出"改为"冷启动/进程异常退出":这些数字包含两种运行时的进程。
修复
- Windows:Agent 进程刚退出时偶尔被误判为仍在运行,导致停止或交接报
runtime_stop_unconfirmed。 - 执行时间线:最后一次工具调用与结束落在同一时刻时,"结束"不再排到工具调用前面。
服务端
- 新增
GET /agents/{agentId}/commands(Pi 上次启动时的命令列表)、POST /projects/{projectId}/model-auth/operations/{operationId}/input(回答登录中途的问题);GET /model-providers可带agentId,返回插件提供方对该 Agent 是否可用及原因。 - 插件清单与市场条目新增可选的
providerState:声明提供方有哪些 HOME 下的路径随项目账号保存。 - 新增
GET /projects/{projectId}/tasks/counts(仅控制台):按状态返回项目里未结束的任务数。 - 新增
GET /runtimes(仅控制台):各运行时是否可用、版本,以及本机 Claude Code 的路径与登录状态(不含邮箱和组织)。Agent 新增只读的runtime(pi/claude-code,由模型提供方决定);模型提供方新增runtime,source新增local_cli。 - 失败原因新增
runtime_unavailable、runtime_login_required、runtime_start_failed、runtime_exited、runtime_error(Claude Code 运行时用,Pi 的pi_*不变);时间线的进程条目新增可选的runtime,新增model_rate_limit条目。
v0.2.2
新增"本机模式":让 Agent 直接用这台电脑上已有的目录、git 凭证和命令。三项各有开关,在"全局设置 › 本机模式"里,默认全部开启,升级后也是。
本机模式
- 绑定本机目录:在项目设置和 Agent 配置里登记本机目录(绝对路径加备注),项目登记的对项目里所有 Agent 有效。Agent 自己的文件夹不变,这些目录是另外告诉它可以去干活的地方。Agent 在里面的改动直接落在真实文件上,任务里也一样,不走任务副本;这份清单只是告知,不是访问隔离。目录不存在时会标出来,暂不告诉 Agent。
- 用本机的 git 身份:"从 Git 拉取"时,HTTPS 地址可以用这台电脑上已保存的 git 凭证(如钥匙串),SSH 地址可以用 ssh-agent 里的密钥,GitHub 以外的私有仓库因此可以拉取。SSH 地址用
~/.ssh下的密钥一直可用,不受这个开关影响。Agent 配了 GitHub 账号时,github.com 仍只用该账号。 - 用本机的 CLI:Agent 能调用这台电脑上安装的命令(你的 PATH 接在 Agent 的 PATH 之后);这些命令的登录状态仍用 Loop Now 里配置的账号。PATH 在服务端启动时读取一次,新装的工具要重启 Loop Now 才看得到。
- 拉取失败时区分"认证失败"和"SSH 主机密钥未确认",并给出下一步怎么做。
服务端
loop-server import-postgres改为先建到基线结构、导入并核对后再应用后续迁移。
v0.2.1
修复桌面版里外部身份和 loopctl 用不了的问题。
桌面版
- 外部身份和
loopctl可以用了:桌面版自动在本机(127.0.0.1)开对外 TLS 端口,端口第一次由系统选、之后沿用,证书是服务端自己维护的自签证书(~/Library/Application Support/Loop Now/<配置>/shell/tls/cert.pem)。菜单栏图标多了"外部身份连接方式…",显示地址、证书位置和把令牌配进loopctl的命令,可以一键复制。之前创建的lne_令牌不用重发。目前只接受本机的连接。
服务端
- 新增
LOOP_NOW_EXTERNAL_TLS_SELF_SIGNED=<目录>:对外端口改用服务端在该目录里维护的自签证书(cert.pem、key.pem,没有或临近过期时生成,覆盖回环地址与对外监听的主机),与LOOP_NOW_EXTERNAL_TLS_CERT/LOOP_NOW_EXTERNAL_TLS_KEY互斥。开了对外端口时就绪文件多一项externalUrl。
v0.2.0
这一版把存储换成了 SQLite,不再需要 PostgreSQL 和 Redis,并推出 macOS 桌面版。从 v0.1.0 升级要做一次数据导入,见下文"从 v0.1.0 升级"。
桌面版(macOS Apple Silicon)
- 一个 DMG 里带着服务端、控制台、Node 24.21 和 Pi 1.4.0,不需要另装任何东西。下载
loop-now-desktop-<版本>-mac-arm64.dmg,拖进"应用程序"即可。 - 菜单栏图标显示运行状态,可以打开窗口、在浏览器中打开、设置登录时启动、查看日志、重启和退出。关掉窗口时服务端和 Agent 继续在后台运行。
- 页面的提醒以系统通知和 Dock 未读数显示;外部链接在系统浏览器中打开。
- 数据与源码安装分开:数据库和每日备份在
~/Library/Application Support/Loop Now/default/data,Agent 工作区在/Users/Shared/loop-now-desktop/default,日志在~/Library/Logs/Loop Now/default。用open -a "Loop Now" --args --profile=<名字>可以另用一套独立的数据。 - 安装包尚未经过 Apple 公证:第一次打开时,到"系统设置 › 隐私与安全性"点"仍要打开"。菜单栏的"检查更新"只提示新版本并打开下载页,不会自动安装。
- 目前只有 Apple Silicon 版。外部身份和
loopctl需要的对外 TLS 端口,桌面版暂时还不能开启。
存储只用 SQLite
- 运行只需要一个
loop-server和一个数据目录(LOOP_NOW_DATA_DIR,默认~/.loop_now)。数据库在其中的db/下,首次启动时自动创建。 - 每天自动备份到
<数据目录>/backups,保留最近 7 份(LOOP_NOW_BACKUP_DIR、LOOP_NOW_BACKUP_KEEP可改);loop-server backup <目录>可以随时手动备份,服务运行中也可以。 - 凭证仍以明文保存在数据目录的数据库文件里,同一用户的其他进程可以直接读取。请保护好数据目录和备份。
发行包
- 每个版本在 GitHub Releases 提供服务端发行包,平台有 macOS(Apple Silicon、Intel)和 Linux(x86_64、ARM64)。包里有内嵌控制台的
loop-server、loopctl、插件宿主、官方插件,以及 Node 24.21.0 和 Pi 1.4.0,解开后不用另装 Node 和 Pi。控制台就在服务端口的根路径(默认http://127.0.0.1:8780/)。 - 全部文件的校验和在
SHA256SUMS里。
控制台
- 项目设置 › 模型账号:提供方改为可搜索的选择面板。按用途分组,显示名称、别名和地区版本;已有账号的提供方排在前面。只需 API Key 的提供方直接打开填写表单,Codex 直接进入登录。账号行显示提供方名称、id 和认证方式,更新时间按控制台的语言格式显示。
- 插件详情页和安装、更新前的预览会显示插件的 README(按控制台语言选择);来自 git 的插件显示仓库链接。官方插件都有中英文 README。
- 控制台支持英文:默认跟随浏览器语言,可以在"全局设置"里切换,也可以用
?lang=指定。 - 全局设置 › 模型配置可以编辑固定版本 Pi 的原生
models.json,添加自定义 Provider 或覆盖内置 Provider。apiKey和headers只接受$NAME形式的环境变量引用,真实凭证仍在项目的模型账号里配置。
插件与工具
- 插件清单的
mcpServers支持 streamable HTTP 条目(http://或https://地址)。 - 插件的
displayName、description可以按语言分别写,控制台按当前语言显示。 - Agent 在插件的线索里回复时可以带选项提问,插件用 SDK 的
api.channels.answer作答;插件拿到的config.projects只包含启用了它的项目。 - mysql、gcloud 两个 CLI 工具支持 Linux/arm64。
- 新增 Docker Compose 一体化运行,端口只绑定本机回环地址。
从 v0.1.0 升级
v0.1.0 的数据在 PostgreSQL 里,v0.2.0 要一次性导入到 SQLite。导入只读旧库、不改动它,需要回退时旧版本仍可以用旧库运行(切换后产生的数据不会回到旧库)。
- 导入要求旧库已经迁移到 PostgreSQL 版的最后一个迁移,而 v0.1.0 还差两个迁移。先检出 tag
pg-final(PostgreSQL 版的最后一个提交),从源码构建,用原来的配置启动一次,迁移完成后停掉服务。 - 用 v0.2.0 的
loop-server:让LOOP_NOW_DATA_DIR指向一个还没有数据库的数据目录(默认的~/.loop_now里只要还没有db/就可以),把LOOP_NOW_DATABASE_URL设为旧库,运行一次loop-server import-postgres。它在一个一致的快照里复制全部数据,核对行数、外键与完整性,并打印每张表的行数;任何一步失败都不会留下新库。 - 保持原来的
LOOP_NOW_WORK_ROOT,在这个数据目录上启动 v0.2.0。之后不再需要 Redis。
不兼容的变化
- 不再使用 PostgreSQL 和 Redis。
LOOP_NOW_REDIS_URL、LOOP_NOW_REDIS_KEY_PREFIX、LOOP_NOW_LOCK_TTL、LOOP_NOW_LOCK_RENEW_INTERVAL、LOOP_NOW_RUN_TEXT_TTL已删除,设置了也不再读取;LOOP_NOW_DATABASE_URL只在loop-server import-postgres导入时读取。 - 健康接口
GET /api/v1/health改为{ok, database}:去掉了postgres、redis字段,database里带数据库状态、WAL 大小和告警。loopctl health也改为显示数据库状态。 - 一个数据目录、一个工作根同时只能由一个服务端使用。启动失败的退出码固定为:2 配置错误,3 数据目录或工作根被另一个服务端占用,4 监听地址被占用,其他错误为 1。
- 进行中的回复只保存在内存里:正常停止服务时,回复以已经生成的内容结束并标为中断;服务端崩溃时这部分内容会丢失(以前保存在 Redis 里)。
- 生命周期事件、工具调用事件和审计日志只保留最近 90 天,每天清理一次。
- 新安装创建的默认组织和默认项目都叫
default(原来是"默认组织""默认项目"),已有数据不受影响。