Repository navigation
Looper v2.14.172
Looper v2.14.172
This is the patch release v2.14.172, a hotfix line in which each merged change ships at once. It documents one change: #1313 (Grok runs can turn off web search per Agent Profile).
Release Decision
Who should upgrade: Installations that run Grok and want an Agent Profile whose runs have no web search or web fetch tools. Others need not upgrade for behavior.
What this release solves: #1313 adds a web_search setting to Agent Profiles. It defaults to true, which keeps today's behavior; false adds --disable-web-search to Grok runs, and other runtimes refuse it.
Breaking changes: No. The new setting is an opt-in switch and every existing profile keeps web_search: true. The database gains one additive column, added on the next start (see Upgrading). The bridge boundary is unchanged: upgrade to v2.13.165 first if the installation is older.
How to verify: Check the installed version.
looper --version # looper 2.14.172Contributors: Maintainer @foolzzz authored #1313; no community contribution was included in this release.
Upgrading
The bridge boundary is unchanged: an installation older than v2.13.165 must upgrade to v2.13.165 first (upgrade to v2.13.165 first) and be started once; see the Upgrading section of the v2.14.0 release for the steps and rollback. An installation on v2.14.0 to v2.14.171 upgrades directly. The first start adds the column agent_profiles.web_search BOOLEAN NOT NULL DEFAULT true (looper/db/connection.py, recorded as the migration profile_web_search); existing rows read true.
Behavior changes
Read in the code of #1313:
- New profile setting (
looper/agents/profile_registry.py,looper/db/profile_registry.py,looper/db/schema.sql). Agent Profiles carryweb_search, defaulttrue. It can be set on create and update, is part of the profile's view and list, and is validated: a non-boolean is refused, andfalseis refused with a message for any runtime whose type is notgrok. - Grok commands (
looper/agents/runtimes/grok.py,grok_acp.py). Withweb_search: false, headless and ACP Grok commands add--disable-web-search, which removes Grok's web search and web fetch tools. It is not a network sandbox: shell commands can still reach the network. The run'smetadata.commandrecords the flag. A fallback uses the target profile's own setting, and the setting is part of the profile's settings fingerprint (agent_settings.py). - Config export and import (
looper/agents/config_transfer.py,looper/db/config_transfer.py). The v3 config carriesweb_searchper profile; an entry without it imports astrue, and a changed value counts as a change when comparing with the current profile. - API and dashboard (
looper/agents/v1_domains/*,web/src/components/agent-profiles.tsx). The v1 profile schemas accept and returnweb_search. The Agent Profiles form shows a "Web search" switch only for Grok runtimes, with a hint that shell commands can still reach the network; the list marks a profile "web search off". Switching to a non-Grok runtime resets it to on. - Model-visible changes: The Manager's profile tool (
looper/agents/ops/config.py) gains a booleanweb_searchargument for create and update, described as "Default true. Only Grok supports false; false disables web search and web fetch tools", and its profile list output includesweb_search. A Grok run on a profile withweb_search: falsehas no web search or web fetch tools. Prompts are otherwise unchanged, and nothing changes for profiles left at the default.
Optional Capability Activation & Use
No new optional capability activation is introduced in this release.
Validation
Reported by the pull request: #1313 reports the tests that cover the change (tests/test_api_v1_profiles.py, tests/test_api_v1_profiles_db.py, tests/test_config_v3_export_db.py, tests/test_config_v3_import_db.py, tests/test_profile_web_search_schema_db.py, tests/test_grok_runtime.py, tests/test_grok_acp.py, tests/test_grok_worker_launch.py, tests/test_worker_profile_fallback.py, web/src/components/agent-profiles.test.tsx, web/src/lib/api-profiles.test.ts), automated reviews, and CI before the merge. It does not report a local full suite or the result of the reviews.
CI: CI runs after the release is drafted; its result is not recorded here.
Not tested for this draft: a local full suite, a real Grok run with the flag and the built wheel. The release documentation gate checks the body only.
中文摘要
本版本是 patch release v2.14.172(热修线,每个合并的改动立即发布),说明一项改动:#1313(Grok 运行可按 Agent Profile 关闭网页搜索)。
升级决策
**谁需要升级:**运行 Grok、并希望某个 Agent Profile 的运行没有网页搜索和网页抓取工具的安装。其他安装没有行为上的升级需求。
解决了什么:#1313 为 Agent Profile 增加 web_search 设置,默认 true,行为不变;false 会给 Grok 运行加上 --disable-web-search,其他运行时拒绝该值。
**是否有破坏性变更:**否。新设置是可选开关,现有 profile 都保持 web_search: true。数据库增加一个向后兼容的新列,下次启动时添加(见升级)。桥接边界不变:早于 v2.13.165 的安装须先升级到 v2.13.165。
**如何验证:**核对版本为 2.14.172。
**贡献者:**维护者 @foolzzz 提交 #1313;本版本无社区贡献。
looper --version # looper 2.14.172升级
桥接边界不变:早于 v2.13.165 的安装必须先升级到 v2.13.165 并启动一次(upgrade to v2.13.165 first 即先升级到 v2.13.165),步骤与回退见 v2.14.0 发布说明的升级一节。v2.14.0 至 v2.14.171 上的安装可直接升级。首次启动会添加列 agent_profiles.web_search BOOLEAN NOT NULL DEFAULT true(looper/db/connection.py,迁移名 profile_web_search),已有行读取为 true。
行为变化与入口
以下在 #1313 的代码中可见:
- 新的 profile 设置(
looper/agents/profile_registry.py、looper/db/profile_registry.py、looper/db/schema.sql)。Agent Profile 带有web_search,默认true。创建和更新时可设置,出现在 profile 的详情和列表中,并受校验:非布尔值被拒绝;运行时类型不是grok时false被拒绝并给出提示。 - Grok 命令(
looper/agents/runtimes/grok.py、grok_acp.py)。web_search: false时,headless 和 ACP 的 Grok 命令加上--disable-web-search,移除 Grok 的网页搜索和网页抓取工具。它不是网络沙箱:shell 命令仍可访问网络。运行的metadata.command记录该参数。回退使用目标 profile 自己的设置,该设置也是 profile 设置指纹的一部分(agent_settings.py)。 - 配置导出与导入(
looper/agents/config_transfer.py、looper/db/config_transfer.py)。v3 配置按 profile 携带web_search;缺少该字段的条目按true导入,值变化在与当前 profile 比较时算作变更。 - API 与面板(
looper/agents/v1_domains/*、web/src/components/agent-profiles.tsx)。v1 的 profile 结构接受并返回web_search。Agent Profiles 表单仅对 Grok 运行时显示「Web search」开关,并提示 shell 命令仍可访问网络;列表会标出「web search off」。切换到非 Grok 运行时会重置为开启。 - **面向模型的变化:**Manager 的 profile 工具(
looper/agents/ops/config.py)在创建和更新时多了布尔参数web_search,描述为「Default true. Only Grok supports false; false disables web search and web fetch tools」,其 profile 列表输出也包含web_search。web_search: false的 profile 上的 Grok 运行没有网页搜索和网页抓取工具。提示词其余部分不变,保持默认值的 profile 不受影响。
可选能力启用与使用
本版本未新增可选能力启用入口。
验证
PR 报告的:#1313 报告了覆盖该改动的测试(tests/test_api_v1_profiles.py、tests/test_api_v1_profiles_db.py、tests/test_config_v3_export_db.py、tests/test_config_v3_import_db.py、tests/test_profile_web_search_schema_db.py、tests/test_grok_runtime.py、tests/test_grok_acp.py、tests/test_grok_worker_launch.py、tests/test_worker_profile_fallback.py、web/src/components/agent-profiles.test.tsx、web/src/lib/api-profiles.test.ts)、自动评审,以及合并前的 CI。未报告本地完整套件,也未报告评审结果。
**CI:**发布草稿后 CI 会运行,其结果未在此记录。
**本次草稿未测试:**本地完整套件、带该参数的真实 Grok 运行以及构建出的 wheel。发布文档 gate 只检查正文。