{"meta": {"schemaVersion": "18.0.4", "captureVersion": "18.0.4", "capturesFresh": true, "captured": "2026-08-24", "grid": {"cols": 164, "rows": 73}, "terminal": "Ghostty", "schemaSha256": "cea89a81389dfe2137839c90861f888c4ffcc6b6eb1eddd3c8fe27c459dbb49e", "sourceRevision": "4854db856c20e000a3760d793c56d78065dcf83f", "settingCount": 355, "coverage": {"placed": 326, "hidden": 29}, "official": false}, "tabs": [{"id": "appearance", "label": "外观", "icon": "🎨"}, {"id": "model", "label": "模型", "icon": "🤖"}, {"id": "interaction", "label": "交互", "icon": "⌨"}, {"id": "context", "label": "上下文", "icon": "📋"}, {"id": "memory", "label": "记忆", "icon": "🧠"}, {"id": "files", "label": "文件", "icon": "📁"}, {"id": "shell", "label": "Shell", "icon": "💻"}, {"id": "tools", "label": "工具", "icon": "🔧"}, {"id": "tasks", "label": "任务", "icon": "📦"}, {"id": "providers", "label": "提供方", "icon": "🌐"}, {"id": "plugins", "label": "插件", "icon": "📦"}], "groups": {"appearance": ["主题", "Composer", "状态栏", "显示", "图片"], "model": ["思考", "采样", "提示词", "重试与回退", "顾问", "Prewalk", "视觉"], "interaction": ["输入", "审批", "通知", "语音", "协作", "魔法关键词", "启动与更新", "电源（macOS）", "Agent", "Git"], "context": ["通用", "压缩", "规则（TTSR）", "实验性"], "memory": ["通用", "自动学习", "Mnemopi", "Hindsight"], "files": ["编辑", "阅读", "阅读摘要", "LSP"], "shell": ["Bash", "评估与运行时"], "tools": ["可用工具", "待办事项", "Grep 与浏览器", "计算机", "GitHub", "输出限制", "执行", "发现与 MCP", "扩展", "开发者"], "tasks": ["模式", "子代理", "隔离", "命令与技能"], "providers": ["服务", "Fireworks", "微型模型", "协议", "超时", "隐私"]}, "shots": [{"variant": "default", "variantLabel": "随附默认值", "tab": "appearance", "png": "default/appearance.png", "webp": "default/appearance.webp", "overlay": {}, "width": 2198, "height": 1525, "cols": 164, "rows": 73, "cellH": 0.019026, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.063274, "1": 0.0823, "2": 0.101325, "3": 0.120351, "4": 0.139376, "5": 0.158402, "6": 0.177427, "7": 0.196453, "8": 0.215478, "9": 0.234504, "10": 0.253529, "11": 0.272555, "12": 0.29158, "13": 0.310606, "14": 0.329631, "15": 0.348657, "16": 0.367682, "17": 0.386708, "18": 0.405733, "19": 0.424759, "20": 0.443784, "21": 0.46281, "22": 0.481835, "23": 0.500861, "24": 0.519886, "25": 0.538912, "26": 0.557937, "27": 0.576963, "28": 0.595988, "29": 0.615014, "30": 0.634039, "31": 0.653065, "32": 0.67209, "33": 0.691116, "34": 0.710141, "35": 0.729167, "36": 0.748192, "37": 0.767218, "38": 0.786243, "39": 0.805269, "40": 0.824294, "64": 0.843529, "65": 0.862555, "68": 0.881598, "69": 0.900624, "70": 0.919649, "71": 0.938675, "72": 0.9577}, "droppedRows": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 67], "assetVersion": "f338fc18ecb9", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "主题", "row": 3, "col": 4, "cells": 5}, {"group": "Composer", "row": 4, "col": 4, "cells": 8}, {"group": "状态栏", "row": 5, "col": 4, "cells": 11}, {"group": "显示", "row": 6, "col": 4, "cells": 7}, {"group": "图片", "row": 7, "col": 4, "cells": 6}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "model", "png": "default/model.png", "webp": "default/model.webp", "overlay": {}, "width": 2198, "height": 1757, "cols": 164, "rows": 73, "cellH": 0.016513, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.054919, "1": 0.071433, "2": 0.087946, "3": 0.104459, "4": 0.120972, "5": 0.137486, "6": 0.153999, "7": 0.170512, "8": 0.187026, "9": 0.203539, "10": 0.220052, "11": 0.236566, "12": 0.253079, "13": 0.269592, "14": 0.286106, "15": 0.302619, "16": 0.319132, "17": 0.335646, "18": 0.352159, "19": 0.368672, "20": 0.385185, "21": 0.401699, "22": 0.418212, "23": 0.434725, "24": 0.451239, "25": 0.467752, "26": 0.484265, "27": 0.500779, "28": 0.517292, "29": 0.533805, "30": 0.550319, "31": 0.566832, "32": 0.583345, "33": 0.599859, "34": 0.616372, "35": 0.632885, "36": 0.649398, "37": 0.665912, "38": 0.682425, "39": 0.698938, "40": 0.715452, "41": 0.731965, "42": 0.748478, "43": 0.764992, "44": 0.781505, "45": 0.798018, "46": 0.814532, "47": 0.831045, "48": 0.847558, "49": 0.864071, "50": 0.880585, "67": 0.897225, "68": 0.913738, "70": 0.930259, "71": 0.946772, "72": 0.963286}, "droppedRows": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "25c17a6afb5c", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "思考", "row": 3, "col": 4, "cells": 8}, {"group": "采样", "row": 4, "col": 4, "cells": 8}, {"group": "提示词", "row": 5, "col": 4, "cells": 6}, {"group": "重试与回退", "row": 6, "col": 4, "cells": 16}, {"group": "顾问", "row": 7, "col": 4, "cells": 7}, {"group": "Prewalk", "row": 8, "col": 4, "cells": 7}, {"group": "视觉", "row": 9, "col": 4, "cells": 6}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "interaction", "png": "default/interaction.png", "webp": "default/interaction.webp", "overlay": {}, "width": 2198, "height": 1960, "cols": 164, "rows": 73, "cellH": 0.014803, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.049231, "1": 0.064034, "2": 0.078837, "3": 0.09364, "4": 0.108443, "5": 0.123246, "6": 0.138049, "7": 0.152852, "8": 0.167655, "9": 0.182458, "10": 0.197261, "11": 0.212064, "12": 0.226867, "13": 0.24167, "14": 0.256473, "15": 0.271276, "16": 0.286079, "17": 0.300882, "18": 0.315685, "19": 0.330488, "20": 0.345291, "21": 0.360094, "22": 0.374897, "23": 0.3897, "24": 0.404503, "25": 0.419306, "26": 0.434109, "27": 0.448912, "28": 0.463715, "29": 0.478518, "30": 0.493321, "31": 0.508124, "32": 0.522927, "33": 0.53773, "34": 0.552533, "35": 0.567336, "36": 0.582139, "37": 0.596942, "38": 0.611745, "39": 0.626548, "40": 0.641351, "41": 0.656154, "42": 0.670957, "43": 0.68576, "44": 0.700563, "45": 0.715366, "46": 0.730169, "47": 0.744972, "48": 0.759775, "49": 0.774578, "50": 0.789381, "51": 0.804184, "52": 0.818987, "53": 0.83379, "54": 0.848593, "55": 0.863396, "56": 0.878199, "57": 0.893002, "67": 0.907869, "68": 0.922672, "70": 0.937482, "71": 0.952285, "72": 0.967088}, "droppedRows": [58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "f4412c3ed309", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "输入", "row": 3, "col": 4, "cells": 5}, {"group": "审批", "row": 4, "col": 4, "cells": 9}, {"group": "通知", "row": 5, "col": 4, "cells": 13}, {"group": "语音", "row": 6, "col": 4, "cells": 6}, {"group": "协作", "row": 7, "col": 4, "cells": 6}, {"group": "魔法关键词", "row": 8, "col": 4, "cells": 14}, {"group": "启动与更新", "row": 9, "col": 4, "cells": 17}, {"group": "电源（macOS）", "row": 10, "col": 4, "cells": 13}, {"group": "Agent", "row": 11, "col": 4, "cells": 5}, {"group": "Git", "row": 12, "col": 4, "cells": 3}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "context", "png": "default/context.png", "webp": "default/context.webp", "overlay": {}, "width": 2198, "height": 1264, "cols": 164, "rows": 73, "cellH": 0.022954, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.076339, "1": 0.099293, "2": 0.122247, "3": 0.145202, "4": 0.168156, "5": 0.19111, "6": 0.214064, "7": 0.237018, "8": 0.259972, "9": 0.282926, "10": 0.30588, "11": 0.328834, "12": 0.351788, "13": 0.374742, "14": 0.397696, "15": 0.42065, "16": 0.443604, "17": 0.466558, "18": 0.489512, "19": 0.512466, "20": 0.53542, "21": 0.558374, "22": 0.581328, "23": 0.604282, "24": 0.627236, "25": 0.65019, "26": 0.673144, "27": 0.696098, "28": 0.719052, "29": 0.742006, "30": 0.76496, "31": 0.787914, "32": 0.810868, "33": 0.833822, "67": 0.857139, "68": 0.880093, "70": 0.903058, "71": 0.926012, "72": 0.948966}, "droppedRows": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "28d3fd842320", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "通用", "row": 3, "col": 4, "cells": 7}, {"group": "压缩", "row": 4, "col": 4, "cells": 10}, {"group": "规则（TTSR）", "row": 5, "col": 4, "cells": 12}, {"group": "实验性", "row": 6, "col": 4, "cells": 12}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "memory", "png": "default/memory.png", "webp": "default/memory.webp", "overlay": {}, "width": 2198, "height": 510, "cols": 164, "rows": 73, "cellH": 0.05689, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.189202, "1": 0.246092, "2": 0.302982, "3": 0.359872, "4": 0.416762, "5": 0.473652, "6": 0.530542, "7": 0.587432, "67": 0.645929, "68": 0.702819, "70": 0.759736, "71": 0.816626, "72": 0.873516}, "droppedRows": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "80a056788884", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "通用", "row": 3, "col": 4, "cells": 7}, {"group": "自动学习", "row": 4, "col": 4, "cells": 10}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "files", "png": "default/files.png", "webp": "default/files.webp", "overlay": {}, "width": 2198, "height": 1119, "cols": 164, "rows": 73, "cellH": 0.025928, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.086232, "1": 0.11216, "2": 0.138088, "3": 0.164017, "4": 0.189945, "5": 0.215874, "6": 0.241802, "7": 0.26773, "8": 0.293659, "9": 0.319587, "10": 0.345516, "11": 0.371444, "12": 0.397372, "13": 0.423301, "14": 0.449229, "15": 0.475158, "16": 0.501086, "17": 0.527014, "18": 0.552943, "19": 0.578871, "20": 0.6048, "21": 0.630728, "22": 0.656656, "23": 0.682585, "24": 0.708513, "25": 0.734442, "26": 0.76037, "27": 0.786299, "28": 0.812227, "67": 0.838627, "68": 0.864555, "70": 0.890496, "71": 0.916425, "72": 0.942353}, "droppedRows": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "d785fbc50422", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "编辑", "row": 3, "col": 4, "cells": 7}, {"group": "阅读", "row": 4, "col": 4, "cells": 7}, {"group": "阅读摘要", "row": 5, "col": 4, "cells": 14}, {"group": "LSP", "row": 6, "col": 4, "cells": 3}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "shell", "png": "default/shell.png", "webp": "default/shell.webp", "overlay": {}, "width": 2198, "height": 887, "cols": 164, "rows": 73, "cellH": 0.03271, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.108786, "1": 0.141496, "2": 0.174206, "3": 0.206916, "4": 0.239626, "5": 0.272337, "6": 0.305047, "7": 0.337757, "8": 0.370467, "9": 0.403177, "10": 0.435887, "11": 0.468597, "12": 0.501307, "13": 0.534018, "14": 0.566728, "15": 0.599438, "16": 0.632148, "17": 0.664858, "18": 0.697568, "19": 0.730278, "20": 0.762989, "67": 0.796419, "68": 0.829129, "70": 0.861855, "71": 0.894565, "72": 0.927275}, "droppedRows": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "c0403d2dd932", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "Bash", "row": 3, "col": 4, "cells": 4}, {"group": "评估与运行时", "row": 4, "col": 4, "cells": 15}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "tools", "png": "default/tools.png", "webp": "default/tools.webp", "overlay": {}, "width": 2198, "height": 2163, "cols": 164, "rows": 73, "cellH": 0.013414, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.044611, "1": 0.058024, "2": 0.071438, "3": 0.084852, "4": 0.098266, "5": 0.111679, "6": 0.125093, "7": 0.138507, "8": 0.151921, "9": 0.165334, "10": 0.178748, "11": 0.192162, "12": 0.205575, "13": 0.218989, "14": 0.232403, "15": 0.245817, "16": 0.25923, "17": 0.272644, "18": 0.286058, "19": 0.299472, "20": 0.312885, "21": 0.326299, "22": 0.339713, "23": 0.353126, "24": 0.36654, "25": 0.379954, "26": 0.393368, "27": 0.406781, "28": 0.420195, "29": 0.433609, "30": 0.447023, "31": 0.460436, "32": 0.47385, "33": 0.487264, "34": 0.500677, "35": 0.514091, "36": 0.527505, "37": 0.540919, "38": 0.554332, "39": 0.567746, "40": 0.58116, "41": 0.594574, "42": 0.607987, "43": 0.621401, "44": 0.634815, "45": 0.648228, "46": 0.661642, "47": 0.675056, "48": 0.68847, "49": 0.701883, "50": 0.715297, "51": 0.728711, "52": 0.742124, "53": 0.755538, "54": 0.768952, "55": 0.782366, "56": 0.795779, "57": 0.809193, "58": 0.822607, "59": 0.836021, "60": 0.849434, "61": 0.862848, "62": 0.876262, "63": 0.889675, "64": 0.903089, "67": 0.916516, "68": 0.929929, "70": 0.94335, "71": 0.956763, "72": 0.970177}, "droppedRows": [65, 66, 69], "assetVersion": "a9bf2f2ce556", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "可用工具", "row": 3, "col": 4, "cells": 15}, {"group": "待办事项", "row": 4, "col": 4, "cells": 5}, {"group": "Grep 与浏览器", "row": 5, "col": 4, "cells": 14}, {"group": "计算机", "row": 6, "col": 4, "cells": 8}, {"group": "GitHub", "row": 7, "col": 4, "cells": 6}, {"group": "输出限制", "row": 8, "col": 4, "cells": 13}, {"group": "执行", "row": 9, "col": 4, "cells": 9}, {"group": "发现与 MCP", "row": 10, "col": 4, "cells": 15}, {"group": "开发者", "row": 11, "col": 4, "cells": 9}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "tasks", "png": "default/tasks.png", "webp": "default/tasks.webp", "overlay": {}, "width": 2198, "height": 1264, "cols": 164, "rows": 73, "cellH": 0.022954, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.076339, "1": 0.099293, "2": 0.122247, "3": 0.145202, "4": 0.168156, "5": 0.19111, "6": 0.214064, "7": 0.237018, "8": 0.259972, "9": 0.282926, "10": 0.30588, "11": 0.328834, "12": 0.351788, "13": 0.374742, "14": 0.397696, "15": 0.42065, "16": 0.443604, "17": 0.466558, "18": 0.489512, "19": 0.512466, "20": 0.53542, "21": 0.558374, "22": 0.581328, "23": 0.604282, "24": 0.627236, "25": 0.65019, "26": 0.673144, "27": 0.696098, "28": 0.719052, "29": 0.742006, "30": 0.76496, "31": 0.787914, "32": 0.810868, "33": 0.833822, "67": 0.857139, "68": 0.880093, "70": 0.903058, "71": 0.926012, "72": 0.948966}, "droppedRows": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "2fddb6d9c676", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "模式", "row": 3, "col": 4, "cells": 5}, {"group": "子代理", "row": 4, "col": 4, "cells": 9}, {"group": "隔离", "row": 5, "col": 4, "cells": 9}, {"group": "命令与技能", "row": 6, "col": 4, "cells": 17}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "providers", "png": "default/providers.png", "webp": "default/providers.webp", "overlay": {}, "width": 2198, "height": 1525, "cols": 164, "rows": 73, "cellH": 0.019026, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.063274, "1": 0.0823, "2": 0.101325, "3": 0.120351, "4": 0.139376, "5": 0.158402, "6": 0.177427, "7": 0.196453, "8": 0.215478, "9": 0.234504, "10": 0.253529, "11": 0.272555, "12": 0.29158, "13": 0.310606, "14": 0.329631, "15": 0.348657, "16": 0.367682, "17": 0.386708, "18": 0.405733, "19": 0.424759, "20": 0.443784, "21": 0.46281, "22": 0.481835, "23": 0.500861, "24": 0.519886, "25": 0.538912, "26": 0.557937, "27": 0.576963, "28": 0.595988, "29": 0.615014, "30": 0.634039, "31": 0.653065, "32": 0.67209, "33": 0.691116, "34": 0.710141, "35": 0.729167, "36": 0.748192, "37": 0.767218, "38": 0.786243, "39": 0.805269, "40": 0.824294, "41": 0.84332, "67": 0.862573, "68": 0.881598, "69": 0.900624, "70": 0.919649, "71": 0.938675, "72": 0.9577}, "droppedRows": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "assetVersion": "b9e12d495b5d", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "服务", "row": 3, "col": 4, "cells": 8}, {"group": "Fireworks", "row": 4, "col": 4, "cells": 9}, {"group": "微型模型", "row": 5, "col": 4, "cells": 10}, {"group": "协议", "row": 6, "col": 4, "cells": 8}, {"group": "超时", "row": 7, "col": 4, "cells": 8}, {"group": "隐私", "row": 8, "col": 4, "cells": 7}]}, {"variant": "default", "variantLabel": "随附默认值", "tab": "plugins", "png": "default/plugins.png", "webp": "default/plugins.webp", "overlay": {}, "width": 2198, "height": 568, "cols": 164, "rows": 73, "cellH": 0.051081, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.169882, "1": 0.220963, "2": 0.272044, "3": 0.323125, "4": 0.374205, "5": 0.425286, "6": 0.476367, "7": 0.527448, "8": 0.578528, "9": 0.629609, "10": 0.68069, "11": 0.731771, "70": 0.78427, "71": 0.835351, "72": 0.886431}, "droppedRows": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "assetVersion": "63ef77cec285", "splitCol": 2, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": []}, {"variant": "expanded", "variantLabel": "已显示条件设置", "tab": "model", "png": "expanded/model.png", "webp": "expanded/model.webp", "overlay": {"advisor.enabled": true, "retry.usageAwareFallback": true, "defaultThinkingLevel": "auto", "autolearn.enabled": true, "memory.backend": "mnemopi", "features.unexpectedStopDetection": true}, "width": 2198, "height": 1960, "cols": 164, "rows": 73, "cellH": 0.014803, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.049231, "1": 0.064034, "2": 0.078837, "3": 0.09364, "4": 0.108443, "5": 0.123246, "6": 0.138049, "7": 0.152852, "8": 0.167655, "9": 0.182458, "10": 0.197261, "11": 0.212064, "12": 0.226867, "13": 0.24167, "14": 0.256473, "15": 0.271276, "16": 0.286079, "17": 0.300882, "18": 0.315685, "19": 0.330488, "20": 0.345291, "21": 0.360094, "22": 0.374897, "23": 0.3897, "24": 0.404503, "25": 0.419306, "26": 0.434109, "27": 0.448912, "28": 0.463715, "29": 0.478518, "30": 0.493321, "31": 0.508124, "32": 0.522927, "33": 0.53773, "34": 0.552533, "35": 0.567336, "36": 0.582139, "37": 0.596942, "38": 0.611745, "39": 0.626548, "40": 0.641351, "41": 0.656154, "42": 0.670957, "43": 0.68576, "44": 0.700563, "45": 0.715366, "46": 0.730169, "47": 0.744972, "48": 0.759775, "49": 0.774578, "50": 0.789381, "51": 0.804184, "52": 0.818987, "53": 0.83379, "54": 0.848593, "55": 0.863396, "56": 0.878199, "57": 0.893002, "67": 0.907869, "68": 0.922672, "70": 0.937482, "71": 0.952285, "72": 0.967088}, "droppedRows": [58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "0e4b13ebf00b", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "思考", "row": 3, "col": 4, "cells": 8}, {"group": "采样", "row": 4, "col": 4, "cells": 8}, {"group": "提示词", "row": 5, "col": 4, "cells": 6}, {"group": "重试与回退", "row": 6, "col": 4, "cells": 16}, {"group": "顾问", "row": 7, "col": 4, "cells": 7}, {"group": "Prewalk", "row": 8, "col": 4, "cells": 7}, {"group": "视觉", "row": 9, "col": 4, "cells": 6}]}, {"variant": "expanded", "variantLabel": "已显示条件设置", "tab": "memory", "png": "expanded/memory.png", "webp": "expanded/memory.webp", "overlay": {"advisor.enabled": true, "retry.usageAwareFallback": true, "defaultThinkingLevel": "auto", "autolearn.enabled": true, "memory.backend": "mnemopi", "features.unexpectedStopDetection": true}, "width": 2198, "height": 1090, "cols": 164, "rows": 73, "cellH": 0.026618, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.088526, "1": 0.115144, "2": 0.141762, "3": 0.16838, "4": 0.194999, "5": 0.221617, "6": 0.248235, "7": 0.274853, "8": 0.301472, "9": 0.32809, "10": 0.354708, "11": 0.381326, "12": 0.407945, "13": 0.434563, "14": 0.461181, "15": 0.487799, "16": 0.514418, "17": 0.541036, "18": 0.567654, "19": 0.594272, "20": 0.620891, "21": 0.647509, "22": 0.674127, "23": 0.700745, "24": 0.727364, "25": 0.753982, "26": 0.7806, "27": 0.807218, "67": 0.834334, "68": 0.860952, "70": 0.887583, "71": 0.914201, "72": 0.940819}, "droppedRows": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "7d7a4ee52ea7", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "通用", "row": 3, "col": 4, "cells": 7}, {"group": "自动学习", "row": 4, "col": 4, "cells": 10}, {"group": "Mnemopi", "row": 5, "col": 4, "cells": 7}]}, {"variant": "expanded", "variantLabel": "已显示条件设置", "tab": "providers", "png": "expanded/providers.png", "webp": "expanded/providers.webp", "overlay": {"advisor.enabled": true, "retry.usageAwareFallback": true, "defaultThinkingLevel": "auto", "autolearn.enabled": true, "memory.backend": "mnemopi", "features.unexpectedStopDetection": true}, "width": 2198, "height": 1554, "cols": 164, "rows": 73, "cellH": 0.01867, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.062093, "1": 0.080764, "2": 0.099434, "3": 0.118105, "4": 0.136775, "5": 0.155446, "6": 0.174116, "7": 0.192787, "8": 0.211457, "9": 0.230127, "10": 0.248798, "11": 0.267468, "12": 0.286139, "13": 0.304809, "14": 0.32348, "15": 0.34215, "16": 0.360821, "17": 0.379491, "18": 0.398162, "19": 0.416832, "20": 0.435502, "21": 0.454173, "22": 0.472843, "23": 0.491514, "24": 0.510184, "25": 0.528855, "26": 0.547525, "27": 0.566196, "28": 0.584866, "29": 0.603537, "30": 0.622207, "31": 0.640877, "32": 0.659548, "33": 0.678218, "34": 0.696889, "35": 0.715559, "36": 0.73423, "37": 0.7529, "38": 0.771571, "39": 0.790241, "40": 0.808912, "41": 0.827582, "42": 0.846253, "67": 0.865137, "68": 0.883808, "69": 0.902478, "70": 0.921149, "71": 0.939819, "72": 0.95849}, "droppedRows": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "assetVersion": "df88d6c24564", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "服务", "row": 3, "col": 4, "cells": 8}, {"group": "Fireworks", "row": 4, "col": 4, "cells": 9}, {"group": "微型模型", "row": 5, "col": 4, "cells": 10}, {"group": "协议", "row": 6, "col": 4, "cells": 8}, {"group": "超时", "row": 7, "col": 4, "cells": 8}, {"group": "隐私", "row": 8, "col": 4, "cells": 7}]}, {"variant": "hindsight", "variantLabel": "Hindsight 记忆后端", "tab": "memory", "png": "hindsight/memory.png", "webp": "hindsight/memory.webp", "overlay": {"memory.backend": "hindsight"}, "width": 2198, "height": 800, "cols": 164, "rows": 73, "cellH": 0.036267, "cellW": 0.005878, "gridLeft": 0.017743, "rowTop": {"0": 0.120616, "1": 0.156884, "2": 0.193151, "3": 0.229418, "4": 0.265686, "5": 0.301953, "6": 0.33822, "7": 0.374488, "8": 0.410755, "9": 0.447023, "10": 0.48329, "11": 0.519557, "12": 0.555825, "13": 0.592092, "14": 0.628359, "15": 0.664627, "16": 0.700894, "17": 0.737161, "67": 0.77428, "68": 0.810547, "70": 0.846832, "71": 0.883099, "72": 0.919366}, "droppedRows": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69], "assetVersion": "4c78f575b2fe", "splitCol": 23, "navRow": 1, "tabBands": [{"tab": "appearance", "col": 3, "cells": 13}, {"tab": "model", "col": 20, "cells": 8}, {"tab": "interaction", "col": 32, "cells": 13}, {"tab": "context", "col": 49, "cells": 10}, {"tab": "memory", "col": 63, "cells": 9}, {"tab": "files", "col": 76, "cells": 8}, {"tab": "shell", "col": 88, "cells": 8}, {"tab": "tools", "col": 100, "cells": 8}, {"tab": "tasks", "col": 112, "cells": 8}, {"tab": "providers", "col": 124, "cells": 12}, {"tab": "plugins", "col": 140, "cells": 10}], "groupBands": [{"group": "通用", "row": 3, "col": 4, "cells": 7}, {"group": "自动学习", "row": 4, "col": 4, "cells": 10}, {"group": "Hindsight", "row": 5, "col": 4, "cells": 9}]}], "settings": [{"path": "theme.dark", "tab": "appearance", "group": "主题", "label": "深色主题", "description": "终端为深色背景时使用的主题", "type": "string", "default": "titanium", "values": null, "options": null, "runtimeOptions": true, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "当 OMP 检测到深色终端背景时选择的主题。选项由运行时主题注册表提供。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 4, "value": "titanium"}}}, {"path": "theme.light", "tab": "appearance", "group": "主题", "label": "浅色主题", "description": "终端为浅色背景时使用的主题", "type": "string", "default": "light", "values": null, "options": null, "runtimeOptions": true, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "当 OMP 检测到浅色终端背景时选择的主题。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 5, "value": "light"}}}, {"path": "symbolPreset", "tab": "appearance", "group": "主题", "label": "符号预设", "description": "图标与符号的字符集（Unicode、Nerd Font 或 ASCII）", "type": "enum", "default": "unicode", "values": ["unicode", "nerd", "ascii"], "options": [{"value": "unicode", "label": "Unicode", "description": "标准符号（默认）"}, {"value": "nerd", "label": "Nerd Font", "description": "需要 Nerd Font"}, {"value": "ascii", "label": "ASCII", "description": "最大兼容性"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择整个 TUI 中使用的字符集。Nerd Font 模式使用私有区字符，因此依赖于终端字体。", "impacts": ["compatibility", "ergonomics"], "guidance": {"level": "consider", "value": "nerd", "why": "只要终端字体包含 Nerd Font 字符即可。"}, "shown": {"default": {"row": 6, "value": "unicode"}}}, {"path": "colorBlindMode", "tab": "appearance", "group": "主题", "label": "色盲模式", "description": "差异新增用蓝色替代绿色", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "用蓝色调替代以绿色为主的正面/差异新增提示，避免状态仅依赖红绿对比来传达。", "impacts": ["accessibility"], "guidance": null, "shown": {"default": {"row": 7, "value": "false"}}}, {"path": "composer.shape", "tab": "appearance", "group": "Composer", "label": "编辑器形状", "description": "输入编辑器与状态行的视觉布局", "type": "string", "default": "box", "values": null, "options": null, "runtimeOptions": true, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择提示编辑器的视觉框架。可用形状取决于当前 TUI 运行时。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 9, "value": "box"}}}, {"path": "statusLine.preset", "tab": "appearance", "group": "状态栏", "label": "状态行预设", "description": "预置的状态行配置", "type": "enum", "default": "default", "values": ["default", "minimal", "compact", "full", "nerd", "ascii", "custom"], "options": [{"value": "default", "label": "默认", "description": "模型、路径、Git、上下文、令牌、成本"}, {"value": "minimal", "label": "精简", "description": "仅路径和 Git"}, {"value": "compact", "label": "紧凑", "description": "模型、Git、成本、上下文"}, {"value": "full", "label": "完整", "description": "全部片段，含时间"}, {"value": "nerd", "label": "Nerd", "description": "使用 Nerd Font 图标展示最多信息"}, {"value": "ascii", "label": "ASCII", "description": "无特殊字符"}, {"value": "custom", "label": "自定义", "description": "用户自定义片段"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "加载预定义的有序状态行片段；选择自定义可在配置中指定片段数组。", "impacts": ["observability", "ergonomics"], "guidance": {"level": "consider", "value": "nerd", "why": "适合大量代理工作流的高信息量预设。"}, "shown": {"default": {"row": 11, "value": "default"}}}, {"path": "statusLine.separator", "tab": "appearance", "group": "状态栏", "label": "状态行分隔符", "description": "片段之间分隔符的样式", "type": "enum", "default": "powerline-thin", "values": ["powerline", "powerline-thin", "slash", "pipe", "block", "none", "ascii"], "options": [{"value": "powerline", "label": "Powerline", "description": "实心箭头（Nerd Font）"}, {"value": "powerline-thin", "label": "细尖括号", "description": "细箭头（Nerd Font）"}, {"value": "slash", "label": "斜杠", "description": "正斜杠"}, {"value": "pipe", "label": "竖线", "description": "垂直竖线"}, {"value": "block", "label": "方块", "description": "实心方块"}, {"value": "none", "label": "无", "description": "仅空格"}, {"value": "ascii", "label": "ASCII", "description": "大于号"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制状态行片段间绘制的字形；Powerline 变体依赖兼容的字形渲染。", "impacts": ["compatibility", "ergonomics"], "guidance": null, "shown": {"default": {"row": 12, "value": "powerline-thin"}}}, {"path": "statusLine.contextLine", "tab": "appearance", "group": "状态栏", "label": "上下文响应线条", "description": "左右分段之间的线条如何反映上下文使用情况（仅限 box composer）", "type": "enum", "default": "embedded", "values": ["off", "percentage", "annotated", "embedded"], "options": [{"value": "off", "label": "关闭", "description": "纯色强调线，无上下文反馈"}, {"value": "percentage", "label": "百分比", "description": "已用部分用强调色显示，其余部分变暗"}, {"value": "annotated", "label": "带标注", "description": "百分比外加推测与自动压缩边界处的刻度线"}, {"value": "embedded", "label": "内嵌", "description": "带标注的线条，上下文百分比和窗口内嵌在量规中"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "使用 box composer 的边框显示上下文消耗，可带可选的压缩边界刻度线和内嵌窗口标签。", "impacts": ["context", "observability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 13, "value": "embedded"}}}, {"path": "statusLine.sessionAccent", "tab": "appearance", "group": "状态栏", "label": "会话强调色", "description": "使用会话名称颜色作为编辑器边框和状态行间隙的颜色", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "从会话标识派生强调色，使并行的 OMP 会话在视觉上可区分。", "impacts": ["observability"], "guidance": null, "shown": {"default": {"row": 14, "value": "true"}}}, {"path": "statusLine.transparent", "tab": "appearance", "group": "状态栏", "label": "透明状态行", "description": "状态行使用终端的默认背景，而非主题的 `statusLineBg`。Powerline 端帽被移除，因为它们需要对比填充来衔接周围终端。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "移除填充的状态行背景和端帽；仅影响视觉，不改变状态数据。", "impacts": ["ergonomics"], "guidance": {"level": "consider", "value": "true", "why": "纯外观调整；除视觉分隔减弱外无任何操作影响。"}, "shown": {"default": {"row": 15, "value": "false"}}}, {"path": "statusLine.compactThinkingLevel", "tab": "appearance", "group": "状态栏", "label": "紧凑思维等级", "description": "在模型名称上以单个图标显示思维等级，而非单独的 ` · <level>` 后缀。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "缩写显示的推理强度标签以节省横向空间。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 16, "value": "false"}}}, {"path": "statusLine.showHookStatus", "tab": "appearance", "group": "状态栏", "label": "显示钩子状态", "description": "在状态行下方显示钩子状态消息", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "显示扩展钩子当前是否处于活动/运行状态，使不可见的自动化保持可观察。", "impacts": ["observability", "reliability"], "guidance": null, "shown": {"default": {"row": 17, "value": "true"}}}, {"path": "tui.resizeScrollback", "tab": "appearance", "group": "显示", "label": "调整回滚大小", "description": "终端尺寸调整结束后如何刷新终端回滚中保留的转录行", "type": "enum", "default": "rebuild", "values": ["append", "rebuild", "preserve"], "options": [{"value": "append", "label": "追加", "description": "在保留历史下方以新宽度重放转录"}, {"value": "rebuild", "label": "重建", "description": "清除所有终端回滚，然后重放一份当前宽度的转录"}, {"value": "preserve", "label": "保留", "description": "仅重绘视口，并按旧宽度保持历史换行"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制终端尺寸调整结束后是追加重排的转录、清除并重建回滚，还是按旧宽度保留历史。", "impacts": ["compatibility", "reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 19, "value": "rebuild"}}}, {"path": "terminal.showProgress", "tab": "appearance", "group": "显示", "label": "原生终端进度", "description": "在代理或上下文维护运行时发出 OSC 9;4 不确定进度", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在回合运行期间发出终端原生进度通知（OSC 9;4）。不支持的终端会忽略该序列。", "impacts": ["observability", "compatibility"], "guidance": {"level": "consider", "value": "true", "why": "当终端支持 OSC 9;4 时，作为后台标签页的有效信号。"}, "shown": {"default": {"row": 20, "value": "false"}}}, {"path": "tui.textSizing", "tab": "appearance", "group": "显示", "label": "大标题（Kitty）", "description": "使用 Kitty 的 OSC 66 文字缩放协议，以 2 倍尺寸渲染 Markdown H1 标题。仅对 Kitty 终端生效，其他环境忽略。默认关闭。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "使用 Kitty OSC 66 文字缩放转义序列渲染更大标题。其他终端可能忽略或错误渲染。", "impacts": ["compatibility", "ergonomics"], "guidance": null, "shown": {"default": {"row": 21, "value": "false"}}}, {"path": "tui.renderMermaid", "tab": "appearance", "group": "显示", "label": "渲染 Mermaid 图表", "description": "将 Mermaid 围栏代码块渲染为 ASCII 图表", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将 Mermaid 围栏代码块转换为适合终端的图表，而非仅保留源代码文本。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 22, "value": "true"}}}, {"path": "tui.codexResetFireworks", "tab": "appearance", "group": "显示", "label": "Codex 重置烟花", "description": "以顶部三分之一的烟花覆盖层庆祝 Codex 非计划周用量重置和新存入的已保存重置，直至按下 Escape。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当已保存的 Codex 限速重置被兑现时，显示庆祝性的终端动画。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 23, "value": "false"}}}, {"path": "tui.titleState", "tab": "appearance", "group": "显示", "label": "终端标题运行状态", "description": "在终端标题的分隔符中显示代理运行状态：工作中为动画旋转指示器（Windows 上为静态 ':'），轮到您时显示 '>'，代理等待您时显示 '!'", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "用 OMP 运行状态更新终端/窗口标题，使后台标签页可显示空闲/运行/需关注状态。", "impacts": ["observability"], "guidance": null, "shown": {"default": {"row": 24, "value": "true"}}}, {"path": "tui.hyperlinks", "tab": "appearance", "group": "显示", "label": "终端超链接", "description": "将路径和 URL 包装为 OSC 8 超链接，实现终端原生点击打开（auto：检测支持；off：永不；always：无条件）", "type": "enum", "default": "auto", "values": ["off", "auto", "always"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制 OSC 8 超链接。仅在终端能力检测确认安全时，自动模式才启用它们。", "impacts": ["compatibility", "ergonomics"], "guidance": null, "shown": {"default": {"row": 25, "value": "auto"}}}, {"path": "tui.tight", "tab": "appearance", "group": "显示", "label": "紧凑布局", "description": "移除终端输出左右各 1 个字符的水平内边距", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "减少渲染块之间的垂直内边距，提高信息密度。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 26, "value": "false"}}}, {"path": "display.shimmer", "tab": "appearance", "group": "显示", "label": "微光", "description": "工作/加载消息的动画样式", "type": "enum", "default": "classic", "values": ["classic", "kitt", "disabled"], "options": [{"value": "classic", "label": "经典", "description": "柔和的余弦波扫过文本"}, {"value": "kitt", "label": "KITT 扫描灯", "description": "《霹雳游侠》1982 红色指示灯左右摆动"}, {"value": "disabled", "label": "禁用", "description": "无动画；静态弱化文本"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择动画等待指示器或将其禁用。KITT 是扫描灯样式变体。", "impacts": ["ergonomics"], "guidance": {"level": "consider", "value": "kitt", "why": "纯装饰效果。"}, "shown": {"default": {"row": 27, "value": "classic"}}}, {"path": "display.smoothStreaming", "tab": "appearance", "group": "显示", "label": "平滑流式输出", "description": "在数据块到达时平滑地显示助手文本和流式工具输入", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "对流式文本进行缓冲/合并，实现更平滑的视觉更新，而非立即重绘每个提供方数据块。", "impacts": ["ergonomics", "latency"], "guidance": null, "shown": {"default": {"row": 28, "value": "true"}}}, {"path": "display.hideToolActivity", "tab": "appearance", "group": "显示", "label": "隐藏工具活动", "description": "从记录中隐藏模型发起的工具调用及其结果", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "从记录中隐藏实时工具调用活动；工具执行仍会进行。", "impacts": ["o", "b", "s", "e", "r", "v", "a", "b", "i", "l", "i", "t", "y"], "guidance": null, "shown": {"default": {"row": 29, "value": "false"}}}, {"path": "display.showTokenUsage", "tab": "appearance", "group": "显示", "label": "显示 Token 用量", "description": "在助手消息上显示每轮 Token 用量", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "显示每轮 Token 数量，使工作中的上下文增长和花费一目了然。", "impacts": ["observability", "cost"], "guidance": {"level": "consider", "value": "true", "why": "良好的成本/上下文可见性。"}, "shown": {"default": {"row": 30, "value": "false"}}}, {"path": "display.cacheMissMarker", "tab": "appearance", "group": "显示", "label": "缓存未命中标记", "description": "在未命中提示缓存的助手回合上方显示分隔线", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "标记未命中提供商提示/前缀缓存的请求，使破坏缓存的上下文变化清晰可见。", "impacts": ["observability", "cost", "latency"], "guidance": {"level": "consider", "value": "true", "why": "提示缓存回退的良好信号。"}, "shown": {"default": {"row": 31, "value": "false"}}}, {"path": "display.collapseCompacted", "tab": "appearance", "group": "显示", "label": "折叠压缩历史", "description": "在实时记录中，将压缩前历史折叠到摘要分隔线后；禁用则保留完整记录，并在每个压缩点显示分隔线", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在视觉上折叠被压缩取代的记录范围，同时保留会话树记录。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {"default": {"row": 32, "value": "true"}}}, {"path": "showHardwareCursor", "tab": "appearance", "group": "显示", "label": "显示硬件光标", "description": "为 IME 支持显示终端光标", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "提示符使用终端原生光标，而非仅使用软件渲染光标。", "impacts": ["compatibility", "accessibility"], "guidance": null, "shown": {"default": {"row": 33, "value": "true"}}}, {"path": "tui.imeSafeCursor", "tab": "appearance", "group": "显示", "label": "IME 安全提示布局", "description": "将提示符底部边框移至独立一行，避免 macOS IME 预编辑将其挤开", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "采用专为配合输入法编辑器处理中日韩及其他组合文本而设计的提示/光标布局。", "impacts": ["accessibility", "compatibility"], "guidance": null, "shown": {"default": {"row": 34, "value": "false"}}}, {"path": "task.showResolvedModelBadge", "tab": "appearance", "group": "显示", "label": "显示解析后的模型徽章", "description": "在任务组件状态行中显示每个子代理实际使用的模型 ID", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "显示经任务角色、回退及提供商解析后选定的具体模型。", "impacts": ["observability", "reliability"], "guidance": {"level": "consider", "value": "true", "why": "涉及角色、回退链和提供商别名时具有良好的可观测性。"}, "shown": {"default": {"row": 35, "value": "false"}}}, {"path": "terminal.showImages", "tab": "appearance", "group": "图片", "label": "内联显示图片", "description": "在终端中内联渲染图片", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hasImageProtocol", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当终端支持兼容的图像协议时，内联渲染支持的图像输出。", "impacts": ["ergonomics", "privacy"], "guidance": null, "shown": {"default": {"row": 37, "value": "true"}}}, {"path": "images.autoResize", "tab": "appearance", "group": "图片", "label": "自动调整图片大小", "description": "将大图最大调整为 2000×2000，以提高模型兼容性", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "内联渲染前缩小大图，实现上限约为 2000×2000。", "impacts": ["performance", "ergonomics"], "guidance": null, "shown": {"default": {"row": 38, "value": "true"}}}, {"path": "images.blockImages", "tab": "appearance", "group": "图片", "label": "屏蔽图片", "description": "阻止将图片发送给 LLM 提供商", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "阻止会话中的图片显示/处理，适用于纯文本或敏感数据配置。", "impacts": ["privacy", "safety"], "guidance": {"level": "consider", "value": "true in strict work overlay", "why": "当截图可能包含客户端数据时，避免意外的图片处理/渲染。"}, "shown": {"default": {"row": 39, "value": "false"}}}, {"path": "defaultThinkingLevel", "tab": "model", "group": "思考", "label": "思考级别", "description": "支持思考模型的推理深度", "type": "enum", "default": "high", "values": ["minimal", "low", "medium", "high", "xhigh", "max", "auto"], "options": [{"value": "auto", "label": "auto", "description": "按提示自动检测"}, {"value": "minimal", "label": "min", "description": "极简短推理（约 1k tokens）"}, {"value": "low", "label": "low", "description": "轻度推理（约 2k tokens）"}, {"value": "medium", "label": "medium", "description": "中等推理（约 8k tokens）"}, {"value": "high", "label": "high", "description": "深度推理（约 16k tokens）"}, {"value": "xhigh", "label": "xhigh", "description": "扩展推理（约 32k tokens）"}, {"value": "max", "label": "max", "description": "模型支持的最大推理"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "设置经由 OMP 模型元数据传递的默认推理强度档位。自动模式将强度选择委托给已配置的自动思考路径。", "impacts": ["quality", "cost", "latency"], "guidance": {"level": "consider", "value": "auto or medium globally", "why": "高适合困难任务，但会给常规编辑增加延迟/成本。可使用 ultrathink 逐轮升级。"}, "shown": {"default": {"row": 4, "value": "high"}, "expanded": {"row": 4, "value": "auto"}}}, {"path": "hideThinkingBlock", "tab": "model", "group": "思考", "label": "隐藏思考块", "description": "隐藏助手回复中的思考块", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在 TUI 中隐藏渲染的推理块，但保持模型执行行为不变。", "impacts": ["privacy", "ergonomics"], "guidance": null, "shown": {"default": {"row": 5, "value": "false"}, "expanded": {"row": 5, "value": "false"}}}, {"path": "proseOnlyThinking", "tab": "model", "group": "思考", "label": "仅散文推理", "description": "从思考摘要中省略代码块，并以省略号代替", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "保持推理输出以文本为主，并抑制推理通道中的工具调用语法或结构化产物。", "impacts": ["reliability", "compatibility"], "guidance": null, "shown": {"default": {"row": 6, "value": "true"}, "expanded": {"row": 6, "value": "true"}}}, {"path": "omitThinking", "tab": "model", "group": "思考", "label": "省略思考摘要", "description": "指示上游提供商在响应中完全省略思考摘要（在受支持时）", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "请求受支持的提供商完全省略返回的推理内容。这可减少转录暴露，但也移除了调试信号。", "impacts": ["privacy", "observability"], "guidance": null, "shown": {"default": {"row": 7, "value": "false"}, "expanded": {"row": 7, "value": "false"}}}, {"path": "externalThinking", "tab": "model", "group": "思考", "label": "外部推理", "description": "私有草稿区；不对用户显示。禁用受支持的 GPT、Claude 和 Gemini 推理", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": "风险自负：提供商已将此类请求形式标记为滥用，最高可导致账户级处罚", "ordered": false, "widget": "boolean", "mechanics": "在受支持时使用 OMP 的私有草稿区路径而非提供商原生推理；启用它可能禁用原生推理行为。", "impacts": ["privacy", "quality", "compatibility"], "guidance": null, "shown": {"default": {"row": 8, "value": "false"}, "expanded": {"row": 8, "value": "false"}}}, {"path": "model.loopGuard.enabled", "tab": "model", "group": "思考", "label": "循环防护", "description": "为模型推理和散文启用自动流循环检测", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "检测重复的助手行为，并在模型耗尽轮次反复重复之前进行干预。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {"default": {"row": 9, "value": "true"}, "expanded": {"row": 9, "value": "true"}}}, {"path": "model.loopGuard.checkAssistantContent", "tab": "model", "group": "思考", "label": "循环防护扫描散文", "description": "除思考日志外，还将循环防护应用于助手散文消息", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将助手散文纳入循环检测，而不仅是工具调用结构。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {"default": {"row": 10, "value": "true"}, "expanded": {"row": 10, "value": "true"}}}, {"path": "model.loopGuard.toolCallReminder", "tab": "model", "group": "思考", "label": "循环防护工具调用提醒", "description": "当 Gemini 推理流连续输出多个规划标题却未调用工具时，中断该流并注入提醒以发起工具调用（需要循环防护）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当模型看似无限规划却未发出所需工具调用时，加入一条纠偏提醒。", "impacts": ["r", "e", "l", "i", "a", "b", "i", "l", "i", "t", "y"], "guidance": null, "shown": {"default": {"row": 11, "value": "true"}, "expanded": {"row": 11, "value": "true"}}}, {"path": "model.toolCallLoopGuard.enabled", "tab": "model", "group": "思考", "label": "工具调用循环防护", "description": "检测跨轮次的连续相同工具调用并注入纠偏引导", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "检测工具名/参数实质相同的重复调用，并停止或推动循环。", "impacts": ["reliability", "cost", "safety"], "guidance": null, "shown": {"default": {"row": 12, "value": "true"}, "expanded": {"row": 12, "value": "true"}}}, {"path": "providers.autoThinkingModel", "tab": "model", "group": "思考", "label": "自动思考模型", "description": "`auto` 思考级别的难度分类器：默认在线（来自 /models 的 TINY 角色，否则为 smol），或本地端上模型", "type": "enum", "default": "online", "values": ["online", "qwen3-1.7b", "llama3.2:3b", "gemma-3-1b", "qwen2.5-1.5b", "lfm2-1.2b"], "options": [{"value": "online", "label": "在线（TINY 角色，否则为 @smol）", "description": "使用 TINY 角色模型（在 /models 中设置一个）或 @smol 在线分类提示难度；无需本地下载或端上推理。"}, {"value": "qwen3-1.7b", "label": "Qwen3 1.7B", "description": "本地推理已禁用：onnxruntime-node 无法运行此 ONNX 导出的 RotaryEmbedding 缓存更新。"}, {"value": "llama3.2:3b", "label": "Llama 3.2 3B", "description": "面向本地记忆/分类器任务的更大 Llama 3.2 选项；质量潜力更高，但磁盘/内存/延迟成本也更高。"}, {"value": "gemma-3-1b", "label": "Gemma 3 1B", "description": "最佳合并/去重；占用更小，但提取时会泄露闲聊内容。"}, {"value": "qwen2.5-1.5b", "label": "Qwen2.5 1.5B", "description": "最佳提取粒度（原子事实）；合并能力较弱。"}, {"value": "lfm2-1.2b", "label": "LFM2 1.2B", "description": "加载最快；均衡全面，但提取标签略为嘈杂。"}], "runtimeOptions": false, "secret": false, "condition": "autoThinkingActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择用于在默认思考级别为 Auto 时决定推理力度的小型分类器/模型。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"expanded": {"row": 13, "value": "online"}}}, {"path": "providers.autoThinkingMaxEffort", "tab": "model", "group": "思考", "label": "自动思考上限", "description": "`auto` 分类器可解析的最高力度。`xhigh` 使分类器保持最高档以下一档，因此只有显式 `ultrathink` 才能达到 `max`；`max` 允许在支持最高档的模型上，被分类器判定为异常的轮次计入最高档。", "type": "enum", "default": "xhigh", "values": ["xhigh", "max"], "options": [{"value": "xhigh", "label": "xhigh", "description": "分类器在 xhigh 处停止（默认）"}, {"value": "max", "label": "max", "description": "在模型支持的情况下，分类器可将上限解析为 max"}], "runtimeOptions": false, "secret": false, "condition": "autoThinkingActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "限制自动思维选择可选用到的最高努力层级。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"expanded": {"row": 14, "value": "xhigh"}}}, {"path": "model.toolCallLoopGuard.threshold", "tab": "model", "group": "思考", "label": "工具调用循环阈值", "description": "注入纠正干预前所需的连续相同工具调用次数", "type": "number", "default": 5, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "护栏触发前可容忍的重复等效工具调用次数。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {}}, {"path": "model.toolCallLoopGuard.exemptTools", "tab": "model", "group": "思考", "label": "工具调用循环豁免工具", "description": "可连续重复而不会触发跨轮循环护栏的工具名称", "type": "array", "default": ["hub"], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "允许重复而不触发工具调用循环护栏的工具有序/列表设置；hub 默认豁免，因为轮询是合理的。", "impacts": ["reliability"], "guidance": null, "shown": {}}, {"path": "temperature", "tab": "model", "group": "采样", "label": "温度", "description": "采样温度（0 = 确定性，1 = 创意，-1 = 提供商默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "0", "label": "0", "description": "确定性"}, {"value": "0.2", "label": "0.2", "description": "专注"}, {"value": "0.5", "label": "0.5", "description": "均衡"}, {"value": "0.7", "label": "0.7", "description": "创意"}, {"value": "1", "label": "1", "description": "最大多样性"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "采样温度。-1 表示不设置该参数，使用提供商/模型默认值。", "impacts": ["quality", "reliability"], "guidance": {"level": "keep", "value": "-1/provider default", "why": "未经受控评估，请勿全局调整采样。"}, "shown": {"default": {"row": 14, "value": "-1"}, "expanded": {"row": 16, "value": "-1"}}}, {"path": "topP", "tab": "model", "group": "采样", "label": "Top P", "description": "核采样截断值（0-1，-1 = 提供商默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "0.1", "label": "0.1", "description": "非常专注"}, {"value": "0.3", "label": "0.3", "description": "专注"}, {"value": "0.5", "label": "0.5", "description": "均衡"}, {"value": "0.9", "label": "0.9", "description": "广泛"}, {"value": "1", "label": "1", "description": "不进行核过滤"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "核采样截断值。-1 交给提供商默认处理。除非进行基准测试，否则避免与温度同时调整。", "impacts": ["quality", "reliability"], "guidance": {"level": "keep", "value": "-1/provider default", "why": "同时更改多个采样参数会让质量回退难以归因。"}, "shown": {"default": {"row": 15, "value": "-1"}, "expanded": {"row": 17, "value": "-1"}}}, {"path": "topK", "tab": "model", "group": "采样", "label": "Top K", "description": "从 Top-K 词元中采样（-1 = 提供商默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "1", "label": "1", "description": "贪婪取最高词元"}, {"value": "20", "label": "20", "description": "专注"}, {"value": "40", "label": "40", "description": "均衡"}, {"value": "100", "label": "100", "description": "广泛"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "在支持的情况下将采样限制为前 K 个候选；-1 表示不设置。", "impacts": ["quality", "compatibility"], "guidance": null, "shown": {"default": {"row": 16, "value": "-1"}, "expanded": {"row": 18, "value": "-1"}}}, {"path": "minP", "tab": "model", "group": "采样", "label": "Min P", "description": "最小概率阈值（0-1，-1 = 提供商默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "0.01", "label": "0.01", "description": "非常宽松"}, {"value": "0.05", "label": "0.05", "description": "均衡"}, {"value": "0.1", "label": "0.1", "description": "严格"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "在支持的情况下使用最小概率采样过滤；-1 表示不设置。", "impacts": ["quality", "compatibility"], "guidance": null, "shown": {"default": {"row": 17, "value": "-1"}, "expanded": {"row": 19, "value": "-1"}}}, {"path": "presencePenalty", "tab": "model", "group": "采样", "label": "存在惩罚", "description": "引入已存在词元的惩罚（-1 = 提供商默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "0", "label": "0", "description": "无惩罚"}, {"value": "0.5", "label": "0.5", "description": "轻度新颖性"}, {"value": "1", "label": "1", "description": "鼓励新意"}, {"value": "2", "label": "2", "description": "强烈新意"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "与提供商兼容的新颖度惩罚。-1 使用模型的默认行为。", "impacts": ["quality", "compatibility"], "guidance": null, "shown": {"default": {"row": 18, "value": "-1"}, "expanded": {"row": 20, "value": "-1"}}}, {"path": "repetitionPenalty", "tab": "model", "group": "采样", "label": "重复惩罚", "description": "对重复 token 的惩罚（-1 = 提供方默认）", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "默认", "description": "使用提供商默认"}, {"value": "0.8", "label": "0.8", "description": "允许重复"}, {"value": "1", "label": "1", "description": "无惩罚"}, {"value": "1.1", "label": "1.1", "description": "轻微惩罚"}, {"value": "1.2", "label": "1.2", "description": "均衡"}, {"value": "1.5", "label": "1.5", "description": "强烈惩罚"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "兼容提供方的重复惩罚。设为 -1 时使用模型默认行为。", "impacts": ["quality", "compatibility"], "guidance": null, "shown": {"default": {"row": 19, "value": "-1"}, "expanded": {"row": 21, "value": "-1"}}}, {"path": "textVerbosity", "tab": "model", "group": "采样", "label": "文本详细度", "description": "OpenAI Responses 与 Codex 的回复详细度（low、medium 或 high）", "type": "enum", "default": "medium", "values": ["low", "medium", "high"], "options": [{"value": "low", "label": "Low", "description": "偏好简洁回复"}, {"value": "medium", "label": "Medium", "description": "在简洁与详细之间取得平衡（默认）"}, {"value": "high", "label": "High", "description": "偏好详细回复"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "OpenAI Responses/Codex 输出详细度提示；不支持的提供方会忽略它。", "impacts": ["cost", "latency", "ergonomics"], "guidance": null, "shown": {"default": {"row": 20, "value": "medium"}, "expanded": {"row": 22, "value": "medium"}}}, {"path": "tier.openai", "tab": "model", "group": "采样", "label": "服务层级 — OpenAI", "description": "OpenAI / OpenAI-Codex 请求以及经 OpenRouter 路由的 OpenAI 系模型的处理层级（none = 省略）。以 `service_tier` 字段发送。", "type": "enum", "default": "none", "values": ["none", "auto", "default", "flex", "scale", "priority"], "options": [{"value": "none", "label": "无", "description": "省略 service_tier（标准处理）"}, {"value": "auto", "label": "Auto", "description": "由提供方选择默认层级"}, {"value": "default", "label": "默认", "description": "标准优先级处理"}, {"value": "flex", "label": "Flex", "description": "成本更低，延迟更高（如有）"}, {"value": "scale", "label": "Scale", "description": "可用时使用 Scale Tier 点数"}, {"value": "priority", "label": "Priority", "description": "更快，成本更高（高级请求）"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "可选的提供方服务层级覆盖。设为 none 表示不强制指定层级。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 21, "value": "none"}, "expanded": {"row": 23, "value": "none"}}}, {"path": "tier.anthropic", "tab": "model", "group": "采样", "label": "服务层级 — Anthropic", "description": "Claude 请求的处理层级。`priority` 在受支持的直接 Anthropic 模型上启用快速模式（`speed: \"fast\"`）；在 Bedrock/Vertex Claude 及经 OpenRouter 时被忽略。", "type": "enum", "default": "none", "values": ["none", "priority"], "options": [{"value": "none", "label": "无", "description": "标准处理"}, {"value": "priority", "label": "Priority", "description": "在受支持的直接 Claude 模型上启用快速模式（`speed: \"fast\"`）；在 Bedrock/Vertex 上被忽略"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "可选的 Anthropic 服务层级覆盖。设为 none 表示不指定层级。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 22, "value": "none"}, "expanded": {"row": 24, "value": "none"}}}, {"path": "tier.google", "tab": "model", "group": "采样", "label": "服务层级 — Google", "description": "Gemini（Google AI Studio + Vertex）请求以及经 OpenRouter 路由的 Google 系模型的处理层级（none = 省略）。以顶层 `serviceTier` 字段发送。", "type": "enum", "default": "none", "values": ["none", "flex", "priority"], "options": [{"value": "none", "label": "无", "description": "标准处理"}, {"value": "flex", "label": "Flex", "description": "成本更低，延迟更高（Gemini API + Vertex）"}, {"value": "priority", "label": "Priority", "description": "更快，可靠性更高（Gemini API + Vertex）"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "可选的 Google 服务层级覆盖。设为 none 表示不指定层级。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 23, "value": "none"}, "expanded": {"row": 25, "value": "none"}}}, {"path": "tier.subagent", "tab": "model", "group": "采样", "label": "服务层级 — 子代理", "description": "用于派生的任务/评估子代理的服务层级。Inherit = 与主代理当前的按家族层级保持一致（追踪 /fast）；选择某个值则将其应用到子代理模型所属的家族。", "type": "enum", "default": "inherit", "values": ["inherit", "none", "auto", "default", "flex", "scale", "priority"], "options": [{"value": "inherit", "label": "继承", "description": "与主代理当前的按家族层级保持一致"}, {"value": "none", "label": "无", "description": "标准处理"}, {"value": "auto", "label": "Auto", "description": "提供商默认层级选择（OpenAI 家族）"}, {"value": "default", "label": "默认", "description": "标准优先级处理（OpenAI 家族）"}, {"value": "flex", "label": "Flex", "description": "灵活容量层级（OpenAI/Google 家族）"}, {"value": "scale", "label": "Scale", "description": "Scale Tier 积分（OpenAI 家族）"}, {"value": "priority", "label": "Priority", "description": "对派生模型支持的每个家族给予优先级"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制子代理请求是继承主请求的服务层级，还是使用显式层级。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 24, "value": "inherit"}, "expanded": {"row": 26, "value": "inherit"}}}, {"path": "tier.advisor", "tab": "model", "group": "采样", "label": "服务层级 — 顾问", "description": "顾问模型的服务层级。None = 标准处理；Inherit = 与主代理当前的按家族层级保持一致；选择某个值则将其应用到顾问模型所属的家族。", "type": "enum", "default": "none", "values": ["inherit", "none", "auto", "default", "flex", "scale", "priority"], "options": [{"value": "inherit", "label": "继承", "description": "与主代理当前的按家族层级保持一致"}, {"value": "none", "label": "无", "description": "标准处理"}, {"value": "auto", "label": "Auto", "description": "提供商默认层级选择（OpenAI 家族）"}, {"value": "default", "label": "默认", "description": "标准优先级处理（OpenAI 家族）"}, {"value": "flex", "label": "Flex", "description": "灵活容量层级（OpenAI/Google 家族）"}, {"value": "scale", "label": "Scale", "description": "Scale Tier 积分（OpenAI 家族）"}, {"value": "priority", "label": "Priority", "description": "对派生模型支持的每个家族给予优先级"}], "runtimeOptions": false, "secret": false, "condition": "advisorEnabled", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "顾问模型请求的可选服务层级覆盖。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"expanded": {"row": 27, "value": "none"}}}, {"path": "modelRoleStorage", "tab": "model", "group": "提示词", "label": "模型角色存储", "description": "模型选择器角色分配的保存位置", "type": "enum", "default": "global", "values": ["global", "project"], "options": [{"value": "global", "label": "全局", "description": "将角色模型保存在当前配置文件中（当前行为）"}, {"value": "project", "label": "按项目", "description": "将项目角色模型保存在 .omp/config.yml 中；缺失的项目角色使用全局默认值"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "决定 default/smol/slow/plan/advisor 角色分配是全局持久化，还是保存在当前项目的 .omp/config.yml 下。", "impacts": ["reliability", "privacy"], "guidance": {"level": "change", "value": "project", "why": "避免某个仓库的模型角色选择悄悄改变无关工作的路由。"}, "shown": {"default": {"row": 26, "value": "global"}, "expanded": {"row": 29, "value": "global"}}}, {"path": "inlineToolDescriptors", "tab": "model", "group": "提示词", "label": "内联工具描述", "description": "在系统提示词中渲染完整工具描述，并从提供商工具架构中剥离顶层/嵌套描述，使描述文本只发送一次。Auto 对 Gemini 模型启用此功能，否则禁用。", "type": "enum", "default": "auto", "values": ["auto", "on", "off"], "options": [{"value": "auto", "label": "Auto", "description": "对 Gemini 模型内联描述；否则保留在工具架构中"}, {"value": "on", "label": "开启", "description": "始终在系统提示词中内联描述"}, {"value": "off", "label": "关闭", "description": "仅在提供商工具架构中保留描述"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制工具架构/描述是内联到提示词中，还是依赖原生工具 API。Auto 使用提供商特定的兼容性规则。", "impacts": ["context", "compatibility", "cost"], "guidance": null, "shown": {"default": {"row": 27, "value": "auto"}, "expanded": {"row": 30, "value": "auto"}}}, {"path": "includeModelInPrompt", "tab": "model", "group": "提示词", "label": "在提示词中包含模型", "description": "在系统提示词中展示当前模型标识，让代理知道自己是哪个模型。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将解析后的模型身份加入系统上下文，使代理能推断自身的能力与特性。", "impacts": ["context", "reliability"], "guidance": null, "shown": {"default": {"row": 28, "value": "true"}, "expanded": {"row": 31, "value": "true"}}}, {"path": "includeWorkspaceTree", "tab": "model", "group": "提示词", "label": "包含工作区目录树", "description": "在系统提示词中渲染工作区目录树。警告：文件被修改时，这会破坏跨会话的提示词缓存。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "向提示词注入工作区目录树。它有助于导航，但会消耗 token 且频繁变化，降低前缀缓存命中率。", "impacts": ["context", "cost", "latency"], "guidance": {"level": "keep", "value": "false", "why": "目录树频繁变动会严重破坏提示词缓存，且通常与 glob/search 工具重复。"}, "shown": {"default": {"row": 29, "value": "false"}, "expanded": {"row": 32, "value": "false"}}}, {"path": "personality", "tab": "model", "group": "提示词", "label": "个性", "description": "渲染到系统提示词个性模块中的沟通风格", "type": "enum", "default": "default", "values": ["default", "friendly", "pragmatic", "none"], "options": [{"value": "default", "label": "默认", "description": "简洁、证据优先的工程师风格；紧凑、行动导向的回复"}, {"value": "friendly", "label": "友好", "description": "温暖、鼓励型协作伙伴，注重进展与士气"}, {"value": "pragmatic", "label": "务实", "description": "直接、高效的工程师，注重清晰与严谨"}, {"value": "none", "label": "无", "description": "完全省略个性设置块"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "应用内置的对话风格层而不改变工具策略。None 移除个性层。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {"default": {"row": 30, "value": "default"}, "expanded": {"row": 33, "value": "default"}}}, {"path": "retry.maxRetries", "tab": "model", "group": "重试与回退", "label": "重试次数", "description": "API 错误时的最大重试次数", "type": "number", "default": 10, "values": null, "options": [{"value": "1", "label": "1 次重试", "description": null}, {"value": "2", "label": "2 次重试", "description": null}, {"value": "3", "label": "3 次重试", "description": null}, {"value": "5", "label": "5 次重试", "description": null}, {"value": "10", "label": "10 次重试", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "在报错或耗尽回退逻辑前，针对可重试的提供商故障自动重试的最大次数。", "impacts": ["reliability", "cost", "latency"], "guidance": null, "shown": {"default": {"row": 32, "value": "10"}, "expanded": {"row": 35, "value": "10"}}}, {"path": "retry.modelFallback", "tab": "model", "group": "重试与回退", "label": "重试模型回退", "description": "允许重试恢复切换到已配置的回退模型", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当所选模型无法完成请求时，允许 OMP 依次使用已配置/默认的回退模型。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {"default": {"row": 33, "value": "true"}, "expanded": {"row": 36, "value": "true"}}}, {"path": "retry.usageAwareFallback", "tab": "model", "group": "重试与回退", "label": "用量感知回退", "description": "在触达硬性用量上限前，优先依据可靠的编码套餐配额报告选择同提供商账户，再使用已配置的回退模型。普通配置的 API 密钥不参与。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "选择回退路由时采用已观测到的提供商/账户配额状态，而非等待硬性耗尽。", "impacts": ["reliability", "cost", "latency"], "guidance": {"level": "consider", "value": "true", "why": "当你轮换付费提供商/账户并希望按配额优雅路由时很有用。"}, "shown": {"default": {"row": 34, "value": "false"}, "expanded": {"row": 37, "value": "true"}}}, {"path": "retry.fallbackChains", "tab": "model", "group": "重试与回退", "label": "重试回退链", "description": "将模型角色、模型选择器（\"provider/model-id\"）或提供商通配符（\"provider/*\"）映射到有序回退选择器的 JSON 对象，例如 {\"default\":[\"openai/gpt-4o-mini\"],\"google-antigravity/*\":[\"google/*\",\"google-vertex/*\"]}。模型相关键在该模型/提供商激活时始终生效，与角色无关；\"provider/*\" 条目保留失败模型的 id 并更换提供商。带 id 前缀的通配符（\"openrouter/google/*\"）会为失败模型的裸 id 重新添加前缀（google-antigravity/gemini-x -> openrouter/google/gemini-x），作为键使用时仅匹配该前缀下该提供商的 id。", "type": "record", "default": {}, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "从模型/角色到有序回退模型 ID 序列的显式映射。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {"default": {"row": 35, "value": "{}"}, "expanded": {"row": 40, "value": "{}"}}}, {"path": "retry.fallbackRevertPolicy", "tab": "model", "group": "重试与回退", "label": "回退还原策略", "description": "回退后何时恢复到主模型", "type": "enum", "default": "cooldown-expiry", "values": ["cooldown-expiry", "never"], "options": [{"value": "cooldown-expiry", "label": "冷却期结束", "description": "在抑制窗口结束后恢复到主模型"}, {"value": "never", "label": "从不", "description": "保持回退模型，直到手动更改"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制暂时失败的路线何时重新可用。", "impacts": ["r", "e", "l", "i", "a", "b", "i", "l", "i", "t", "y"], "guidance": null, "shown": {"default": {"row": 36, "value": "cooldown-expiry"}, "expanded": {"row": 41, "value": "cooldown-expiry"}}}, {"path": "providers.anthropic.serverSideFallback", "tab": "model", "group": "重试与回退", "label": "Anthropic 服务端回退（Fable 5）", "description": "当 Claude Fable 5 / Mythos 5 请求被 Anthropic 的安全分类器拦截时，在服务端用 Claude Opus 4.8 重试（Anthropic `server-side-fallback-2026-06-01` beta）。选择启用——关闭此选项可为每个请求保留回退前的行为。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "针对特定经 Anthropic 路由的模型族，在安全分类器拦截主路线时，可选择启用的提供商侧回退。", "impacts": ["reliability", "quality", "privacy"], "guidance": null, "shown": {"default": {"row": 37, "value": "false"}, "expanded": {"row": 42, "value": "false"}}}, {"path": "retry.usageReservePct", "tab": "model", "group": "重试与回退", "label": "预留余量", "description": "当剩余百分比低于此值时，将编码套餐模型视为接近上限。未知或未映射的用量保持主模型。", "type": "number", "default": 10, "values": null, "options": [{"value": "5", "label": "5%", "description": "仅在接近耗尽时启用"}, {"value": "10", "label": "10%", "description": "均衡的安全余量"}, {"value": "15", "label": "15%", "description": "保守"}, {"value": "20", "label": "20%", "description": "早期保护"}, {"value": "25", "label": "25%", "description": "非常保守"}], "runtimeOptions": false, "secret": false, "condition": "usageAwareFallbackEnabled", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "在用量感知回退将路线视为不可用之前，预留的用量窗口百分比。", "impacts": ["reliability", "cost"], "guidance": {"level": "consider", "value": "10–15", "why": "为紧急/手动轮次保留足够余量，而不是让自动化耗尽最后配额。"}, "shown": {"expanded": {"row": 38, "value": "10"}}}, {"path": "retry.usageReservePolicy", "tab": "model", "group": "重试与回退", "label": "保留策略", "description": "当同一提供商的所有编码计划账户都处于保留余量内时该如何处理。", "type": "enum", "default": "confirm", "values": ["confirm", "auto", "fail-closed"], "options": [{"value": "confirm", "label": "交互式确认", "description": "在确认前让交互式会话保留在主账户上；后台代理自动回退"}, {"value": "auto", "label": "自动回退", "description": "始终选择下一个符合条件的已配置回退"}, {"value": "fail-closed", "label": "关闭即失败", "description": "不消耗保留配额，也不选择回退"}], "runtimeOptions": false, "secret": false, "condition": "usageAwareFallbackEnabled", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "需要使用保留容量时的行为：确认模式会询问，自动模式继续执行，关闭即失败则拒绝。", "impacts": ["safety", "reliability"], "guidance": null, "shown": {"expanded": {"row": 39, "value": "confirm"}}}, {"path": "retry.maxDelayMs", "tab": "model", "group": "重试与回退", "label": "最大重试延迟", "description": "重试之间的最长等待时间（毫秒）。当提供商要求等待超过此时间且凭据或模型回退均未成功时，请求将快速失败而不是休眠等待（例如 3 小时的 Anthropic 限流窗口）。", "type": "number", "default": 300000, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "重试退避延迟的上限（毫秒）。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {}}, {"path": "advisor.enabled", "tab": "model", "group": "顾问", "label": "启用顾问", "description": "配对第二个模型（分配给“顾问”角色），被动审查每一轮并注入备注。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "并行运行分配给顾问角色的第二个模型；它审查各轮次，并将关注点或备注注入主循环。", "impacts": ["quality", "cost", "latency"], "guidance": {"level": "consider", "value": "enable per high-stakes review, not globally", "why": "第二个模型能发现错误，但大致会额外增加一条成本与延迟的审查流。"}, "shown": {"default": {"row": 39, "value": "false"}, "expanded": {"row": 44, "value": "true"}}}, {"path": "advisor.syncBacklog", "tab": "model", "group": "顾问", "label": "顾问同步积压", "description": "当顾问落后这么多轮时，暂停主代理最多 30 秒。关闭可禁用追赶延迟。", "type": "enum", "default": "off", "values": ["off", "1", "3", "5"], "options": null, "runtimeOptions": false, "secret": false, "condition": "advisorEnabled", "warning": null, "ordered": false, "widget": "enum", "mechanics": "当顾问落后于所选轮数时，将主代理暂停最多约 30 秒。", "impacts": ["quality", "latency"], "guidance": null, "shown": {"expanded": {"row": 45, "value": "off"}}}, {"path": "advisor.immuneTurns", "tab": "model", "group": "顾问", "label": "顾问免打扰轮数", "description": "顾问的关注点或阻碍中断后，在此数量的主轮次内以非中断方式路由后续关注点/阻碍。", "type": "number", "default": 3, "values": null, "options": [{"value": "0", "label": "0 轮", "description": "允许每个关注点/阻碍都进行中断。"}, {"value": "1", "label": "1 轮", "description": null}, {"value": "2", "label": "2 轮", "description": null}, {"value": "3", "label": "3 轮", "description": "默认。"}, {"value": "4", "label": "4 轮", "description": null}, {"value": "5", "label": "5 轮", "description": null}], "runtimeOptions": false, "secret": false, "condition": "advisorEnabled", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "顾问中断后，在此数量的主轮次内以非中断方式路由后续关注点，以避免反复抖动。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"expanded": {"row": 46, "value": "3"}}}, {"path": "prewalk.enabled", "tab": "model", "group": "Prewalk", "label": "启用预走查", "description": "从活动模型开始，然后在计划提示的待办列表生成后的第一次编辑/写入时切换到快速/廉价模型（默认为“smol”角色）——强模型负责规划、提交待办并开始实现，然后再交接。每个会话可通过 --prewalk / --no-prewalk 覆盖。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "让强活动模型进行规划、建立待办并开始第一次写入/编辑，然后将实现交给快速/廉价的 smol 角色。", "impacts": ["cost", "latency", "quality"], "guidance": {"level": "consider", "value": "enable per implementation-heavy repo", "why": "将执行交给 smol 可降低成本，但质量差异取决于工作负载。"}, "shown": {"default": {"row": 41, "value": "false"}, "expanded": {"row": 48, "value": "false"}}}, {"path": "images.describeForTextModels", "tab": "model", "group": "视觉", "label": "为文本模型描述图片", "description": "当图片附加到不支持视觉的模型时，将其保存到 `local://` 下，并从具备视觉能力的模型注入描述，而不是直接丢弃。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当当前模型不具备视觉能力时，使用支持图片的路径为纯文本模型生成文字描述。", "impacts": ["cost", "privacy", "compatibility"], "guidance": null, "shown": {"default": {"row": 43, "value": "true"}, "expanded": {"row": 50, "value": "true"}}}, {"path": "images.urls.enabled", "tab": "model", "group": "视觉", "label": "以 URL 形式提供图片", "description": "通过配置的后端链发布外发图片，向需要抓取 URL 的提供商发送短 URL，而不是内联 base64。当所有后端或提供商抓取均失败时，自动回退到内联。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "通过配置的后端链，为需要可抓取 URL 的提供商发布外发图片，并以内联投递作为回退。", "impacts": ["privacy", "reliability", "compatibility"], "guidance": null, "shown": {"default": {"row": 44, "value": "false"}, "expanded": {"row": 51, "value": "false"}}}, {"path": "images.urls.backends", "tab": "model", "group": "视觉", "label": "图片 URL 后端", "description": "为提供商访问发布图片时按顺序尝试的目标", "type": "array", "default": ["provider-files", "tailscale", "cloudflared", "litterbox"], "values": null, "options": [{"value": "imgur", "label": "Imgur", "description": "上传需要 Imgur 访问令牌或客户端 ID。"}, {"value": "imageshack", "label": "ImageShack", "description": "该 API 需要付费订阅。"}, {"value": "flickr", "label": "Flickr", "description": "image-host"}, {"value": "chevereto", "label": "Chevereto", "description": "自托管"}, {"value": "vgyme", "label": "vgy.me", "description": "image-host"}, {"value": "dropbox", "label": "Dropbox", "description": "cloud-files"}, {"value": "ftp", "label": "FTP / FTPS / SFTP", "description": "file-transfer"}, {"value": "onedrive", "label": "OneDrive", "description": "cloud-files"}, {"value": "google-drive", "label": "Google Drive", "description": "cloud-files"}, {"value": "puush", "label": "兼容 puush 的端点", "description": "该公共服务已停运；需要提供替代端点。"}, {"value": "box", "label": "Box", "description": "cloud-files"}, {"value": "amazon-s3", "label": "Amazon S3", "description": "s3"}, {"value": "google-cloud-storage", "label": "Google Cloud Storage", "description": "object-storage"}, {"value": "azure-storage", "label": "Azure Blob Storage", "description": "object-storage"}, {"value": "backblaze-b2", "label": "Backblaze B2", "description": "请配置原生 B2 应用密钥或兼容 S3 的访问密钥。"}, {"value": "owncloud", "label": "ownCloud / Nextcloud", "description": "webdav"}, {"value": "mediafire", "label": "兼容 MediaFire 的端点", "description": "该公共 API 已弃用；需要提供替代端点。"}, {"value": "sendspace", "label": "兼容 SendSpace 的端点", "description": "公共发现 API 已弃用；需要替代端点。"}, {"value": "localhostr", "label": "兼容 Hostr 的端点", "description": "公共服务已离线；需要替代端点。"}, {"value": "lambda", "label": "兼容 Lambda 的端点", "description": "公共服务已离线；需要替代端点。"}, {"value": "pomf", "label": "Pomf", "description": "pomf"}, {"value": "uguu", "label": "Uguu", "description": "公共上传约三小时后过期。"}, {"value": "seafile", "label": "Seafile", "description": "cloud-files"}, {"value": "s-ul", "label": "s-ul", "description": "file-host"}, {"value": "lobfile", "label": "兼容 LobFile 的端点", "description": "公共服务已离线；需要替代端点。"}, {"value": "transfer-sh", "label": "兼容 transfer.sh 的端点", "description": "已失效的公共端点被屏蔽；需要自托管替代。"}, {"value": "plik", "label": "Plik", "description": "自托管"}, {"value": "shared-folder", "label": "共享文件夹", "description": "filesystem"}, {"value": "catbox", "label": "Catbox", "description": "anonymous-host"}, {"value": "litterbox", "label": "Litterbox", "description": "上传是临时的。"}, {"value": "0x0", "label": "0x0.st", "description": "公共上传在按文件大小决定的保留期后过期。"}, {"value": "tmpfiles", "label": "tmpfiles.org", "description": "公共上传是临时的。"}, {"value": "discord", "label": "Discord", "description": "messaging"}, {"value": "provider-files", "label": "模型提供商文件", "description": "提供商文件引用是 API 本地引用，而非公共图片 URL。"}, {"value": "direct", "label": "直接公共 URL", "description": "local-serving"}, {"value": "cloudflared", "label": "Cloudflare 快速隧道", "description": "tunnel"}, {"value": "ngrok", "label": "ngrok", "description": "tunnel"}, {"value": "tailscale", "label": "Tailscale Funnel", "description": "tunnel"}, {"value": "ssh", "label": "SSH 反向隧道", "description": "tunnel"}, {"value": "command", "label": "上传命令", "description": "external-command"}, {"value": "localhost-run", "label": "localhost.run", "description": "tunnel"}, {"value": "pinggy", "label": "Pinggy", "description": "tunnel"}, {"value": "devtunnel", "label": "Microsoft 开发隧道", "description": "devtunnel CLI 必须在本地登录。"}, {"value": "zrok", "label": "zrok", "description": "必须启用本地 zrok 环境。"}, {"value": "bore", "label": "bore", "description": "tunnel"}, {"value": "named-cloudflared", "label": "命名 Cloudflare Tunnel", "description": "tunnel"}, {"value": "r2", "label": "Cloudflare R2", "description": "s3"}, {"value": "tigris", "label": "Tigris", "description": "s3"}, {"value": "minio", "label": "MinIO", "description": "s3"}, {"value": "garage", "label": "Garage", "description": "s3"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": true, "widget": "multiselect", "mechanics": "有序的图片发布后端。当某个目标不可用或失败时，OMP 将按列表继续尝试下一个。", "impacts": ["privacy", "reliability", "cost"], "guidance": null, "shown": {"default": {"row": 45, "value": "Model provider files → Tailscale Funnel → Cloudflare quick tunnel → Litterbox"}, "expanded": {"row": 52, "value": "Model provider files → Tailscale Funnel → Cloudflare quick tunnel → Litterbox"}}}, {"path": "images.urls.command", "tab": "model", "group": "视觉", "label": "图片上传命令", "description": "命令后端的 argv 模板；{file} 为图片路径，{mime}/{ext} 可选。取 stdout 上打印的最后一个 URL（例如 pasta -b -f {file}）", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "命令后端参数模板。OMP 替换图片路径及可选的 MIME 或扩展名字段，然后使用标准输出中打印的最后一个 URL。", "impacts": ["safety", "privacy", "compatibility"], "guidance": null, "shown": {"default": {"row": 46, "value": ""}, "expanded": {"row": 53, "value": ""}}}, {"path": "images.urls.publicBaseUrl", "tab": "model", "group": "视觉", "label": "图片 URL 公共基地址", "description": "位于 blob 服务器前方、可供外部访问的基地址（ssh 必填，direct 可选）", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "位于本地图片服务器前方、可供外部访问的基地址。SSH 转发时必填，直接提供时可选。", "impacts": ["privacy", "compatibility"], "guidance": null, "shown": {"default": {"row": 47, "value": ""}, "expanded": {"row": 54, "value": ""}}}, {"path": "images.urls.bindHost", "tab": "model", "group": "视觉", "label": "图片 URL 绑定主机", "description": "blob 服务器绑定的主机；隧道用 loopback，直接提供用 0.0.0.0", "type": "string", "default": "127.0.0.1", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "本地图片服务器使用的网络接口。Loopback 限制为本地隧道访问；通配地址允许直接网络访问。", "impacts": ["privacy", "security", "compatibility"], "guidance": null, "shown": {"default": {"row": 48, "value": "127.0.0.1"}, "expanded": {"row": 55, "value": "127.0.0.1"}}}, {"path": "images.urls.sshTarget", "tab": "model", "group": "视觉", "label": "图片 URL SSH 目标", "description": "ssh 反向转发的 user@host 目的地", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "接收本地图片服务器反向转发的 SSH 目标。", "impacts": ["privacy", "security", "compatibility"], "guidance": null, "shown": {"default": {"row": 49, "value": ""}, "expanded": {"row": 56, "value": ""}}}, {"path": "images.urls.ttlHours", "tab": "model", "group": "视觉", "label": "图片 URL 有效期（小时）", "description": "本地托管图片 URL 的服务窗口，从会话最后一次发送起计时；恢复会话时同一链接重新计时。0 表示 broker 运行期间保持链接有效", "type": "number", "default": 72, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在最后一次会话使用后，将本地托管的图片链接保持可用该小时数。0 表示 broker 运行期间保持有效。", "impacts": ["privacy", "reliability", "storage"], "guidance": null, "shown": {}}, {"path": "images.urls.sshRemotePort", "tab": "model", "group": "视觉", "label": "图片 URL SSH 远程端口", "description": "ssh 反向转发的远程监听端口，你的 Web 服务器代理到该端口", "type": "number", "default": 8787, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "SSH 反向转发打开的远程端口，预期位于公共 Web 端点之后。", "impacts": ["security", "compatibility"], "guidance": null, "shown": {}}, {"path": "steeringMode", "tab": "interaction", "group": "输入", "label": "引导模式", "description": "代理工作时如何处理排队消息", "type": "enum", "default": "one-at-a-time", "values": ["all", "one-at-a-time"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制一轮对话中排队的多条引导消息如何传递给模型。", "impacts": ["reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 4, "value": "one-at-a-time"}}}, {"path": "followUpMode", "tab": "interaction", "group": "输入", "label": "跟进模式", "description": "一轮结束后如何清空跟进消息", "type": "enum", "default": "one-at-a-time", "values": ["all", "one-at-a-time"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制多条排队的跟进消息是一起注入还是每轮一条。", "impacts": ["reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 5, "value": "one-at-a-time"}}}, {"path": "interruptMode", "tab": "interaction", "group": "输入", "label": "中断模式", "description": "引导消息何时中断工具执行", "type": "enum", "default": "immediate", "values": ["immediate", "wait"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "决定新的引导输入是立即中断当前生成，还是等待安全边界。", "impacts": ["reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 6, "value": "immediate"}}}, {"path": "loop.mode", "tab": "interaction", "group": "输入", "label": "循环模式", "description": "重新提交提示词前，/loop 各次迭代之间发生什么", "type": "enum", "default": "prompt", "values": ["prompt", "compact", "reset"], "options": [{"value": "prompt", "label": "提示词", "description": "将提示词作为跟进消息重新提交（当前行为）"}, {"value": "compact", "label": "紧凑", "description": "压缩会话上下文，然后重新提交提示词"}, {"value": "reset", "label": "重置", "description": "开始新会话，然后重新提交提示词"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "自主循环到达完成边界时的行为：ask、compact 或 reset。", "impacts": ["safety", "context", "ergonomics"], "guidance": null, "shown": {"default": {"row": 7, "value": "prompt"}}}, {"path": "doubleEscapeAction", "tab": "interaction", "group": "输入", "label": "双击 Esc 操作", "description": "编辑器为空时连续按两次 Esc 触发的操作", "type": "enum", "default": "tree", "values": ["branch", "tree", "none"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "在交互界面中双击 Esc 触发的操作。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 8, "value": "tree"}}}, {"path": "treeFilterMode", "tab": "interaction", "group": "输入", "label": "会话树筛选", "description": "打开会话树时的默认筛选模式", "type": "enum", "default": "default", "values": ["default", "no-tools", "user-only", "labeled-only", "all"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制会话树中显示的条目，范围从简洁默认视图到每个内部/工具节点。", "impacts": ["ergonomics", "observability"], "guidance": null, "shown": {"default": {"row": 9, "value": "default"}}}, {"path": "autocompleteMaxVisible", "tab": "interaction", "group": "输入", "label": "自动补全项", "description": "自动补全下拉菜单最大可见项数（3-20）", "type": "number", "default": 10, "values": null, "options": [{"value": "3", "label": "3 项", "description": null}, {"value": "5", "label": "5 项", "description": null}, {"value": "7", "label": "7 项", "description": null}, {"value": "10", "label": "10 项", "description": null}, {"value": "15", "label": "15 项", "description": null}, {"value": "20", "label": "20 项", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "同时可见的自动补全建议的最大数量。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 10, "value": "10"}}}, {"path": "spelling.typoDetection", "tab": "interaction", "group": "输入", "label": "拼写错误检测（macOS）", "description": "使用当前 macOS 词典标记拼写错误的提示词", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "macOS", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将当前 macOS 词典判定为拼写错误的提示词标记出来。", "impacts": ["ergonomics", "performance"], "guidance": null, "shown": {"default": {"row": 11, "value": "true"}}}, {"path": "spelling.autocomplete", "tab": "interaction", "group": "输入", "label": "单词自动补全（macOS）", "description": "将 macOS 词典单词补全显示为行内提示，按 Tab 接受", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "macOS", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将 macOS 词典补全显示为行内提示，Tab 键即可接受。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 12, "value": "true"}}}, {"path": "spelling.autocorrect", "tab": "interaction", "group": "输入", "label": "自动更正（macOS）", "description": "在完成单词后应用高置信度的 macOS 拼写更正", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "macOS", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在单词输入完成后应用高置信度的 macOS 拼写更正。", "impacts": ["ergonomics", "reliability"], "guidance": {"level": "keep", "value": "false", "why": "自动替换可能改动代码、名称和技术词汇；补全与拼写错误标记是更安全的默认选择。"}, "shown": {"default": {"row": 13, "value": "false"}}}, {"path": "emojiAutocomplete", "tab": "interaction", "group": "输入", "label": "Emoji 自动补全", "description": "通过 `:name:` 短代码建议 emoji，并展开 `:D` 或 `:-)` 等文本表情", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在提示符编辑器中启用冒号式 emoji 补全。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 14, "value": "true"}}}, {"path": "paste.largeMenuThreshold", "tab": "interaction", "group": "输入", "label": "大段粘贴菜单", "description": "当粘贴内容达到此行数时，提供菜单将其包裹为代码块、包裹在 XML 标签中，或保存到文件。设为 0 可禁用该菜单（大段粘贴仍会折叠为 [Paste] 标记）。", "type": "number", "default": 100, "values": null, "options": [{"value": "0", "label": "关闭", "description": null}, {"value": "100", "label": "100 行", "description": null}, {"value": "250", "label": "250 行", "description": null}, {"value": "500", "label": "500 行", "description": null}, {"value": "1000", "label": "1000 行", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "OMP 将粘贴内容判定为大段并提供特殊处理（而非直接插入）的字符/行数阈值。", "impacts": ["safety", "ergonomics"], "guidance": null, "shown": {"default": {"row": 15, "value": "100"}}}, {"path": "tools.approval", "tab": "interaction", "group": "审批", "label": "工具审批策略", "description": "按工具的审批策略。设为 'allow' 自动批准，设为 'prompt' 需确认，或设为 'deny' 阻止。覆盖在所有审批模式下均生效。", "type": "record", "default": {}, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "按工具的 allow/prompt/deny 覆盖。对于 Bash，可用按顺序排列的命令模式进一步细化策略。", "impacts": ["safety", "automation"], "guidance": null, "shown": {"default": {"row": 17, "value": "{}"}}}, {"path": "tools.approvalMode", "tab": "interaction", "group": "审批", "label": "工具审批", "description": "工具调用的默认审批行为。'Always ask' 仅自动批准只读工具；'Write' 自动批准读取及写入工作区的工具；'Yolo' 自动批准所有层级，但用户策略仍可提示或阻止。", "type": "enum", "default": "yolo", "values": ["always-ask", "write", "yolo"], "options": [{"value": "always-ask", "label": "始终询问", "description": "自动批准只读工具；写入和执行工具需确认。"}, {"value": "write", "label": "写入", "description": "自动批准只读和写入工具；执行工具（如 bash、eval、browser、task）需确认。"}, {"value": "yolo", "label": "Yolo", "description": "自动批准读取、写入和执行工具。用户策略仍可要求确认或阻止调用。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "全局基线策略：always-ask 仅自动批准读取；write 自动批准读取/工作区写入；yolo 自动批准所有层级，除非更窄的策略覆盖它。", "impacts": ["safety", "automation", "privacy"], "guidance": {"level": "change", "value": "write globally; always-ask for sensitive repos", "why": "更严格的模式可限制在不熟悉或敏感仓库中的意外写入。"}, "shown": {"default": {"row": 18, "value": "yolo"}}}, {"path": "completion.notify", "tab": "interaction", "group": "通知", "label": "完成通知", "description": "代理完成一轮时通知", "type": "enum", "default": "on", "values": ["on", "off"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "一轮完成时发送操作系统/终端通知。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 20, "value": "on"}}}, {"path": "error.notify", "tab": "interaction", "group": "通知", "label": "错误通知", "description": "代理因错误停止时通知", "type": "enum", "default": "off", "values": ["on", "off"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "一轮出错时发送通知。", "impacts": ["ergonomics", "reliability"], "guidance": {"level": "consider", "value": "on", "why": "后台代理工作流从错误通知中获益更多，而非仅完成通知。"}, "shown": {"default": {"row": 21, "value": "off"}}}, {"path": "ask.timeout", "tab": "interaction", "group": "通知", "label": "询问超时", "description": "此秒数后自动选择推荐的询问选项（0 表示禁用）", "type": "number", "default": 0, "values": null, "options": [{"value": "0", "label": "禁用", "description": null}, {"value": "15", "label": "15 秒", "description": null}, {"value": "30", "label": "30 秒", "description": null}, {"value": "60", "label": "60 秒", "description": null}, {"value": "120", "label": "120 秒", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "未答复的询问交互超时前的秒数；0 表示无限等待。", "impacts": ["safety", "ergonomics"], "guidance": null, "shown": {"default": {"row": 22, "value": "0"}}}, {"path": "ask.notify", "tab": "interaction", "group": "通知", "label": "询问通知", "description": "ask 工具等待输入时通知", "type": "enum", "default": "on", "values": ["on", "off"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "代理因等待答复而被阻塞时通知。", "impacts": ["ergonomics", "reliability"], "guidance": null, "shown": {"default": {"row": 23, "value": "on"}}}, {"path": "recap.enabled", "tab": "interaction", "group": "通知", "label": "空闲摘要", "description": "终端空闲一段时间后，生成简短的 LLM 摘要，说明当前状态", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "长时间空闲后，发送额外的模型请求以总结等待中的内容或发生的变化。", "impacts": ["cost", "privacy", "ergonomics"], "guidance": {"level": "consider", "value": "false in cost/privacy-sensitive profiles", "why": "空闲后会额外发送一次 LLM 请求。"}, "shown": {"default": {"row": 24, "value": "true"}}}, {"path": "recap.idleSeconds", "tab": "interaction", "group": "通知", "label": "空闲摘要延迟", "description": "显示摘要前空闲等待的秒数", "type": "number", "default": 240, "values": null, "options": [{"value": "60", "label": "1 分钟", "description": null}, {"value": "120", "label": "2 分钟", "description": null}, {"value": "240", "label": "4 分钟", "description": null}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "600", "label": "10 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "可触发摘要请求之前的空闲时长。", "impacts": ["cost", "ergonomics"], "guidance": null, "shown": {"default": {"row": 25, "value": "240"}}}, {"path": "stt.enabled", "tab": "interaction", "group": "语音", "label": "语音转文本", "description": "通过麦克风启用语音转文本输入", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "为提示输入启用本地语音转录。", "impacts": ["ergonomics", "privacy", "performance"], "guidance": null, "shown": {"default": {"row": 27, "value": "false"}}}, {"path": "stt.modelName", "tab": "interaction", "group": "语音", "label": "语音模型", "description": "本地设备端语音模型。Parakeet TDT v3（sherpa-onnx）为 SoTA 默认选项；Whisper base/small/large-v3-turbo 各档（transformers.js）以体积换取多语言覆盖。首次使用时下载。", "type": "enum", "default": "parakeet", "values": ["fast", "balanced", "turbo", "parakeet"], "options": [{"value": "fast", "label": "快速（Whisper base）", "description": "Whisper base，多语言。最小、最快；准确度最低。最适合低配置机器。"}, {"value": "balanced", "label": "均衡（Whisper small）", "description": "Whisper small，多语言。比快速档更准确，CPU/内存占用仍然较低。"}, {"value": "turbo", "label": "Turbo（Whisper large-v3）", "description": "Whisper large-v3-turbo，支持 99 种语言。语言覆盖最广；下载体积大、速度较慢。"}, {"value": "parakeet", "label": "Parakeet TDT v3（SoTA）", "description": "NVIDIA Parakeet TDT 0.6B v3，支持 25 种语言。Open ASR 排行榜领先者——准确度最高，解码速度最快。默认选项。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择本地语音识别模型包。", "impacts": ["quality", "performance", "storage"], "guidance": null, "shown": {"default": {"row": 28, "value": "parakeet"}}}, {"path": "stt.submitTrigger", "tab": "interaction", "group": "语音", "label": "语音转文字提交触发", "description": "选择语音听写何时自动提交：Never、Release（2 个词以上）、Release with complete sentence，或 When I Say Submit。", "type": "enum", "default": "never", "values": ["never", "release", "release-complete", "say-submit"], "options": [{"value": "never", "label": "从不", "description": "从不自动提交；插入听写内容并停留在编辑器中。"}, {"value": "release", "label": "松开时提交", "description": "松开时若话语含 2 个以上词则提交，避免误发。"}, {"value": "release-complete", "label": "松开且为完整句子", "description": "松开时若话语以句末标点（. ? ! 等）结尾则提交。"}, {"value": "say-submit", "label": "当我说 Submit 时", "description": "话语以包含 'submit' 的词结尾时提交（提交前会去掉该词）。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制松开/结束语音时是自动提交转写提示，还是仅插入文本。", "impacts": ["safety", "ergonomics"], "guidance": null, "shown": {"default": {"row": 29, "value": "never"}}}, {"path": "collab.relayUrl", "tab": "interaction", "group": "协作", "label": "Relay URL", "description": "/collab 使用的 Relay（wss://host[:port]）", "type": "string", "default": "wss://my.omp.sh", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "协作会话使用的 WebSocket/relay 端点。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 31, "value": "wss://my.omp.sh"}}}, {"path": "collab.webUrl", "tab": "interaction", "group": "协作", "label": "Web UI URL", "description": "/collab 链接使用的浏览器界面；留空则从 collab.relayUrl 推导；显式 http:// 仅限本机", "type": "string", "default": "", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "打开协作链接时使用的可选 Web 客户端/基础 URL。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 32, "value": ""}}}, {"path": "collab.displayName", "tab": "interaction", "group": "协作", "label": "显示名称", "description": "向其他协作参与者显示的名称（默认：操作系统用户名）", "type": "string", "default": "", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "向协作者广播的可读参与者名称。", "impacts": ["privacy", "ergonomics"], "guidance": null, "shown": {"default": {"row": 33, "value": ""}}}, {"path": "share.serverUrl", "tab": "interaction", "group": "协作", "label": "共享服务器", "description": "/share 使用的查看/上传基础地址（加密 blob 上传 + 查看器；链接为 <base>/<id>#<key>）", "type": "string", "default": "https://my.omp.sh/s", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "用于发布共享会话制品的端点。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 34, "value": "https://my.omp.sh/s"}}}, {"path": "share.store", "tab": "interaction", "group": "协作", "label": "共享存储", "description": "/share 上传加密会话 blob 的位置", "type": "enum", "default": "blob", "values": ["blob", "gist"], "options": [{"value": "blob", "label": "加密 Blob", "description": "上传到共享服务器（无需 GitHub 账号；可避免 gist API 限流）"}, {"value": "gist", "label": "GitHub Gist", "description": "推送到私有 gist（需要已认证的 gh），失败时回退到共享服务器"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "共享制品使用的后端。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 35, "value": "blob"}}}, {"path": "share.redactSecrets", "tab": "interaction", "group": "协作", "label": "分享机密脱敏", "description": "上传前对 /share 快照运行机密混淆器（使用 secrets.* 配置）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在分享负载上传前运行已配置的/凭据模式脱敏。不能替代对客户端数据的审查。", "impacts": ["privacy", "safety"], "guidance": {"level": "keep", "value": "true", "why": "请勿削弱此设置。分享前仍须审查普通机密数据。"}, "shown": {"default": {"row": 36, "value": "true"}}}, {"path": "magicKeywords.enabled", "tab": "interaction", "group": "魔法关键词", "label": "魔法关键词", "description": "为独立的 ultrathink、orchestrate 和 workflowz 关键词启用隐藏提示", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "激活逐轮特化行为的提示词总开关。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 38, "value": "true"}}}, {"path": "magicKeywords.ultrathink", "tab": "interaction", "group": "魔法关键词", "label": "Ultrathink 关键词", "description": "让独立的 ultrathink 请求最大自动思考并附加其隐藏提示", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 ultrathink 触发器，为当前轮次请求异常高的推理强度。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"default": {"row": 39, "value": "true"}}}, {"path": "magicKeywords.orchestrate", "tab": "interaction", "group": "魔法关键词", "label": "Orchestrate 关键词", "description": "让独立的 orchestrate 附加其隐藏的多智能体编排提示", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用由提示触发的多智能体编排行为。", "impacts": ["automation", "cost"], "guidance": null, "shown": {"default": {"row": 40, "value": "true"}}}, {"path": "magicKeywords.workflow", "tab": "interaction", "group": "魔法关键词", "label": "Workflow 关键词", "description": "让独立的 workflowz 附加其隐藏的评估工作流提示", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用面向工作流的提示行为与结构化执行。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 41, "value": "true"}}}, {"path": "autoResume", "tab": "interaction", "group": "启动与更新", "label": "自动恢复", "description": "自动恢复当前目录中的最近会话", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启动时自动打开与当前工作目录关联的最近会话。", "impacts": ["ergonomics", "context", "privacy"], "guidance": {"level": "consider", "value": "true only with one-directory/one-engagement discipline", "why": "目录标识可靠时很快；文件夹跨工作流复用时则有风险。"}, "shown": {"default": {"row": 43, "value": "false"}}}, {"path": "startup.quiet", "tab": "interaction", "group": "启动与更新", "label": "静默启动", "description": "跳过欢迎界面和启动状态消息", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "抑制启动界面元素，如横幅和信息提示。", "impacts": ["ergonomics"], "guidance": {"level": "consider", "value": "true", "why": "为高频 CLI 工作流消除非必要的启动干扰。"}, "shown": {"default": {"row": 44, "value": "false"}}}, {"path": "startup.showSplash", "tab": "interaction", "group": "启动与更新", "label": "显示启动画面", "description": "在正常交互式启动时显示完整的动画设置画面，无需重跑设置。静默启动仍会抑制它。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "无需重跑设置即可显示完整启动动画。静默启动仍会抑制它。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 45, "value": "false"}}}, {"path": "startup.setupWizard", "tab": "interaction", "group": "启动与更新", "label": "设置向导", "description": "每个设置版本显示一次新添的引导步骤", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "缺少必需状态时提供首次运行设置协助。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 46, "value": "true"}}}, {"path": "startup.checkUpdate", "tab": "interaction", "group": "启动与更新", "label": "检查更新", "description": "启动时检查 omp 更新", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在启动时检查是否有更新的 OMP 构建可用。", "impacts": ["security", "ergonomics"], "guidance": null, "shown": {"default": {"row": 47, "value": "true"}}}, {"path": "update.channel", "tab": "interaction", "group": "启动与更新", "label": "更新渠道", "description": "omp update 及启动更新检查所用的更新渠道", "type": "enum", "default": "stable", "values": ["stable", "canary"], "options": [{"value": "stable", "label": "稳定版", "description": null}, {"value": "canary", "label": "金丝雀版", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择显式更新与启动更新检查所用的稳定版或金丝雀版发布流。", "impacts": ["reliability", "security", "compatibility"], "guidance": {"level": "keep", "value": "stable", "why": "仅在目标是测试未发布的 OMP 变更时才使用金丝雀版。"}, "shown": {"default": {"row": 48, "value": "stable"}}}, {"path": "marketplace.autoUpdate", "tab": "interaction", "group": "启动与更新", "label": "市场自动更新", "description": "启动时检查插件更新", "type": "enum", "default": "notify", "values": ["off", "notify", "auto"], "options": [{"value": "off", "label": "关闭", "description": "不检查插件更新"}, {"value": "notify", "label": "通知", "description": "启动时检查并在有更新时通知"}, {"value": "auto", "label": "Auto", "description": "启动时检查并自动安装更新"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制市场包/扩展是仅报告还是自动更新。", "impacts": ["security", "reliability"], "guidance": {"level": "keep", "value": "notify", "why": "自动更改扩展会降低可复现性；通知是合理的折中方案。"}, "shown": {"default": {"row": 49, "value": "notify"}}}, {"path": "startup.changelogMode", "tab": "interaction", "group": "启动与更新", "label": "启动变更日志", "description": "选择更新说明以摘要、完整详情显示还是保持隐藏", "type": "enum", "default": "summary", "values": ["summary", "expanded", "hidden"], "options": [{"value": "summary", "label": "摘要", "description": "显示发布与变更数量并附 /changelog 提示"}, {"value": "expanded", "label": "展开", "description": "完整显示最近的发布说明"}, {"value": "hidden", "label": "隐藏", "description": "启动时不显示发布说明"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制更新后显示多少发布说明内容。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 50, "value": "summary"}}}, {"path": "power.sleepPrevention", "tab": "interaction", "group": "电源（macOS）", "label": "睡眠阻止", "description": "在活动会话期间阻止 macOS 睡眠。每个级别是累积的——包含所有较低级别的标志。", "type": "enum", "default": "idle", "values": ["off", "idle", "display", "system"], "options": [{"value": "off", "label": "关闭", "description": "不阻止任何睡眠"}, {"value": "idle", "label": "阻止空闲睡眠", "description": "会话打开时保持系统唤醒（caffeinate -i）"}, {"value": "display", "label": "阻止显示器睡眠", "description": "同时防止显示器空闲睡眠（caffeinate -i -d）"}, {"value": "system", "label": "阻止系统睡眠", "description": "同时在 AC 电源下阻止所有系统睡眠并将用户标记为活动（caffeinate -i -d -s -u）"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "使用累积的 macOS caffeinate 断言：idle 保持机器唤醒；display 额外防止显示器睡眠；system 增加更强的 AC/系统断言。", "impacts": ["reliability", "battery"], "guidance": null, "shown": {"default": {"row": 52, "value": "idle"}}}, {"path": "features.unexpectedStopDetection", "tab": "interaction", "group": "Agent", "label": "意外停止", "description": "助手无可见消息停止时自动恢复。Smart 还会用小模型对纯文本停止进行分类。", "type": "enum", "default": "mechanical", "values": ["none", "mechanical", "smart"], "options": [{"value": "none", "label": "无", "description": "禁用"}, {"value": "mechanical", "label": "机械", "description": "重试无可见助手消息的停止；工具调用除外（默认）"}, {"value": "smart", "label": "智能", "description": "机械 + 对纯文本停止的小模型分类"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "机械重试无可见助手消息的停止。Smart 还会使用配置的分类器检测纯文本的继续承诺。", "impacts": ["reliability", "cost", "latency"], "guidance": {"level": "keep", "value": "mechanical", "why": "内置模式捕获明确的空停止而不增加分类器调用；纯文本卡顿重要的长时间自主运行请使用 Smart。"}, "shown": {"default": {"row": 54, "value": "mechanical"}}}, {"path": "git.enabled", "tab": "interaction", "group": "Git", "label": "启用 Git 集成", "description": "在 TUI 中显示 git 分支、状态和 PR 信息，并监视仓库元数据。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "监视仓库元数据，并向 TUI 和代理暴露分支/状态/PR 信息。", "impacts": ["observability", "performance"], "guidance": null, "shown": {"default": {"row": 56, "value": "true"}}}, {"path": "contextPromotion.enabled", "tab": "context", "group": "通用", "label": "自动提升上下文", "description": "上下文溢出时提升到更大上下文的模型，而不是压缩", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "跨轮次/会话提升选定的持久上下文，而不是仅依赖原始转录。", "impacts": ["context", "privacy", "cost"], "guidance": null, "shown": {"default": {"row": 4, "value": "false"}}}, {"path": "extendedContext", "tab": "context", "group": "通用", "label": "扩展上下文", "description": "对超出阈值后额外计费的模型使用高级长上下文窗口（例如 GPT-5.6 1M 在 272K 以上按 2 倍输入计费）；关闭则将其限制在标准定价窗口内", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许在定价超出提供商阈值的模型上使用高级长上下文窗口。禁用后，这些模型将被限制在其标准定价窗口内。", "impacts": ["context", "cost", "quality"], "guidance": {"level": "consider", "value": "false for cost-controlled profiles", "why": "更大的窗口可延迟压缩，但可能进入更高的输入定价层级。"}, "shown": {"default": {"row": 5, "value": "true"}}}, {"path": "branchSummary.enabled", "tab": "context", "group": "通用", "label": "分支摘要", "description": "离开分支时提示生成摘要", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "为会话树中的分支生成摘要，返回其他分支时所需的重放更少。", "impacts": ["cost", "context", "ergonomics"], "guidance": null, "shown": {"default": {"row": 6, "value": "false"}}}, {"path": "workspace.additionalDirectories", "tab": "context", "group": "通用", "label": "其他工作区目录", "description": "作为附加根目录（多根工作区）加入每个会话的额外工作区目录。可通过 /add-dir 和 /remove-dir 实时管理。路径相对于 cwd 解析；建议使用绝对路径。会告知代理这些根目录存在，且可对其执行读取/搜索/通配匹配。", "type": "array", "default": [], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在当前目录之外，将显式目录加入工作区边界/上下文发现范围。", "impacts": ["privacy", "context", "safety"], "guidance": null, "shown": {}}, {"path": "compaction.enabled", "tab": "context", "group": "压缩", "label": "自动压缩", "description": "上下文过大时自动压缩", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许 OMP 在模型上下文溢出前，用压缩表示替换较早的会话记录状态。", "impacts": ["context", "reliability", "cost"], "guidance": null, "shown": {"default": {"row": 8, "value": "true"}}}, {"path": "compaction.midTurnEnabled", "tab": "context", "group": "压缩", "label": "回合中压缩", "description": "在下一个提供商请求前，于安全的中途工具循环边界检查阈值", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当工具输出或模型用量超过上下文限制时，允许在回合仍执行期间进行恢复性压缩。", "impacts": ["context", "reliability", "latency"], "guidance": null, "shown": {"default": {"row": 9, "value": "true"}}}, {"path": "compaction.methodOrder", "tab": "context", "group": "压缩", "label": "压缩方法顺序", "description": "自动上下文维护的首选回退顺序；不可用或失败的方法将推进到下一个选项", "type": "array", "default": ["remote", "snapcompact", "handoff", "shake", "soft"], "values": null, "options": [{"value": "remote", "label": "OpenAI 服务器压缩", "description": "当活动路由支持时，使用提供商原生的 OpenAI 兼容服务器压缩"}, {"value": "snapcompact", "label": "Snapcompact", "description": "将历史归档为密集位图图像，由活动的视觉模型回读；无需调用 LLM"}, {"value": "handoff", "label": "交接", "description": "生成交接文档，并以其作为压缩摘要继续"}, {"value": "soft", "label": "软压缩", "description": "使用压缩模型就地总结，而不使用服务器压缩"}, {"value": "shake", "label": "Shake", "description": "就地丢弃可恢复的重型内容，无需调用 LLM"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": true, "widget": "multiselect", "mechanics": "自动上下文维护的有序回退链。某方法不受支持或失败时，OMP 会推进到下一个。", "impacts": ["context", "quality", "latency", "privacy"], "guidance": null, "shown": {"default": {"row": 10, "value": "OpenAI server compaction → Snapcompact → Handoff → Shake → Soft compaction"}}}, {"path": "compaction.thresholdPercent", "tab": "context", "group": "压缩", "label": "压缩阈值", "description": "上下文维护的百分比阈值；设置为 Default 以使用基于预留的旧版行为", "type": "number", "default": -1, "values": null, "options": [{"value": "default", "label": "默认", "description": "基于预留的旧版阈值"}, {"value": "10", "label": "10%", "description": "极早维护"}, {"value": "20", "label": "20%", "description": "很早维护"}, {"value": "30", "label": "30%", "description": "早期维护"}, {"value": "40", "label": "40%", "description": "较早维护"}, {"value": "50", "label": "50%", "description": "中点"}, {"value": "60", "label": "60%", "description": "适中的上下文用量"}, {"value": "70", "label": "70%", "description": "均衡"}, {"value": "75", "label": "75%", "description": "略微激进"}, {"value": "80", "label": "80%", "description": "典型阈值"}, {"value": "85", "label": "85%", "description": "激进的上下文用量"}, {"value": "90", "label": "90%", "description": "非常激进"}, {"value": "95", "label": "95%", "description": "接近上下文上限"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "旧版百分比触发条件；-1 交由策略/提供商默认值处理。", "impacts": ["context", "reliability"], "guidance": null, "shown": {"default": {"row": 11, "value": "default"}}}, {"path": "compaction.thresholdTokens", "tab": "context", "group": "压缩", "label": "压缩令牌上限", "description": "用于上下文维护的固定令牌上限；设置后将覆盖百分比", "type": "number", "default": -1, "values": null, "options": [{"value": "default", "label": "默认", "description": "使用基于百分比的阈值"}, {"value": "25000", "label": "2.5 万令牌", "description": "20 万窗口的四分之一"}, {"value": "50000", "label": "5 万令牌", "description": "20 万窗口的一半"}, {"value": "100000", "label": "10 万令牌", "description": "20 万窗口的一半"}, {"value": "150000", "label": "15 万令牌", "description": "20 万窗口的四分之三"}, {"value": "200000", "label": "20 万令牌", "description": "完整标准上下文窗口"}, {"value": "300000", "label": "30 万令牌", "description": "大型上下文窗口"}, {"value": "500000", "label": "50 万令牌", "description": "超大型上下文窗口"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "绝对令牌触发值；-1 使用默认值。", "impacts": ["context", "reliability"], "guidance": null, "shown": {"default": {"row": 12, "value": "default"}}}, {"path": "compaction.handoffSaveToDisk", "tab": "context", "group": "压缩", "label": "保存交接文档", "description": "将生成的交接文档保存为 markdown 文件，用于自动交接流程", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将交接产物持久化到磁盘，而不是仅保留在会话状态中。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 13, "value": "false"}}}, {"path": "compaction.remoteStreamingV2Enabled", "tab": "context", "group": "压缩", "label": "远程压缩 V2", "description": "对兼容的远程压缩模型使用 Responses 流式压缩", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "对远程压缩响应使用更新的流式协议。", "impacts": ["reliability", "latency", "compatibility"], "guidance": null, "shown": {"default": {"row": 14, "value": "true"}}}, {"path": "compaction.asyncEnabled", "tab": "context", "group": "压缩", "label": "异步压缩", "description": "当上下文接近压缩阈值时在后台预先摘要，并在超过阈值后接入就绪的结果", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在接近阈值时于后台预先准备摘要，使自动压缩能直接接入就绪结果而无需阻塞。", "impacts": ["context", "latency", "cost", "reliability"], "guidance": null, "shown": {"default": {"row": 15, "value": "true"}}}, {"path": "compaction.idleEnabled", "tab": "context", "group": "压缩", "label": "空闲压缩", "description": "闲置时当 token 数超过阈值即压缩上下文", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "闲置一段时间后压缩超大会话，无需等待下一次前台轮次。", "impacts": ["context", "cost", "latency"], "guidance": null, "shown": {"default": {"row": 16, "value": "false"}}}, {"path": "compaction.idleThresholdTokens", "tab": "context", "group": "压缩", "label": "闲置压缩阈值", "description": "触发闲置压缩的 token 数上限", "type": "number", "default": 200000, "values": null, "options": [{"value": "100000", "label": "10 万令牌", "description": null}, {"value": "200000", "label": "20 万令牌", "description": null}, {"value": "300000", "label": "30 万令牌", "description": null}, {"value": "400000", "label": "400K tokens", "description": null}, {"value": "500000", "label": "50 万令牌", "description": null}, {"value": "600000", "label": "600K tokens", "description": null}, {"value": "700000", "label": "700K tokens", "description": null}, {"value": "800000", "label": "800K tokens", "description": null}, {"value": "900000", "label": "900K tokens", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "闲置压缩启动前的最低估算会话 token 数。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 17, "value": "200000"}}}, {"path": "compaction.idleTimeoutSeconds", "tab": "context", "group": "压缩", "label": "闲置压缩延迟", "description": "闲置压缩前的等待秒数", "type": "number", "default": 300, "values": null, "options": [{"value": "60", "label": "1 分钟", "description": null}, {"value": "120", "label": "2 分钟", "description": null}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "600", "label": "10 分钟", "description": null}, {"value": "1800", "label": "30 分钟", "description": null}, {"value": "3600", "label": "1 小时", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "符合条件的后台压缩启动前的闲置时长。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 18, "value": "300"}}}, {"path": "compaction.supersedeReads", "tab": "context", "group": "压缩", "label": "覆盖过期读取", "description": "同一文件被再次读取时剪除旧读取结果（缓存感知，每轮运行）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "后续读取使旧读取工具负载冗余时将其丢弃，保留最有用的当前证据。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 19, "value": "true"}}}, {"path": "compaction.dropUseless", "tab": "context", "group": "压缩", "label": "省略无变化结果", "description": "消耗后剪除被标记为上下文无用（无匹配、等待超时）的工具结果（缓存感知）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "压缩时移除被判定为对未来推理低价值的转录条目。", "impacts": ["context", "quality", "cost"], "guidance": null, "shown": {"default": {"row": 20, "value": "true"}}}, {"path": "ttsr.enabled", "tab": "context", "group": "规则（TTSR）", "label": "TTSR", "description": "当输出匹配规则模式时中途中断代理（Time-Traveling Stream Rules）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用轮次内系统规则，在出现匹配行为时注入纠正性引导。", "impacts": ["reliability", "context"], "guidance": null, "shown": {"default": {"row": 22, "value": "true"}}}, {"path": "ttsr.contextMode", "tab": "context", "group": "规则（TTSR）", "label": "TTSR 上下文模式", "description": "TTSR 触发时如何处理部分输出", "type": "enum", "default": "discard", "values": ["discard", "keep"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制注入的规则文本保留在后续上下文中，还是本轮后丢弃。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 23, "value": "discard"}}}, {"path": "ttsr.interruptMode", "tab": "context", "group": "规则（TTSR）", "label": "TTSR 中断模式", "description": "何时中途中断 vs 完成后注入警告", "type": "enum", "default": "always", "values": ["never", "prose-only", "tool-only", "always"], "options": [{"value": "always", "label": "always", "description": "中断散文与工具流"}, {"value": "prose-only", "label": "prose-only", "description": "仅中断回复/思考匹配"}, {"value": "tool-only", "label": "tool-only", "description": "仅中断工具调用参数匹配"}, {"value": "never", "label": "never", "description": "从不中断；完成后注入警告"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "定义哪些进行中的输出类型可被规则中断。", "impacts": ["reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 24, "value": "always"}}}, {"path": "ttsr.repeatMode", "tab": "context", "group": "规则（TTSR）", "label": "TTSR 重复模式", "description": "规则如何重复：每会话一次或在消息间隔后", "type": "enum", "default": "once", "values": ["once", "after-gap"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制规则仅触发一次，还是可在轮次间隔后重复。", "impacts": ["context", "reliability"], "guidance": null, "shown": {"default": {"row": 25, "value": "once"}}}, {"path": "ttsr.repeatGap", "tab": "context", "group": "规则（TTSR）", "label": "TTSR 重复间隔", "description": "规则可再次触发前的消息数", "type": "number", "default": 10, "values": null, "options": [{"value": "5", "label": "5 条消息", "description": null}, {"value": "10", "label": "10 条消息", "description": null}, {"value": "15", "label": "15 条消息", "description": null}, {"value": "20", "label": "20 条消息", "description": null}, {"value": "30", "label": "30 条消息", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "可重复 TTSR 规则再次触发前的最少轮次间隔。", "impacts": ["context", "reliability"], "guidance": null, "shown": {"default": {"row": 26, "value": "10"}}}, {"path": "ttsr.builtinRules", "tab": "context", "group": "规则（TTSR）", "label": "内置规则", "description": "加载随代理附带的默认规则（可通过 ttsr.disabledRules 单独覆盖）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "加载 OMP 随附的纠错规则集。", "impacts": ["r", "e", "l", "i", "a", "b", "i", "l", "i", "t", "y"], "guidance": null, "shown": {"default": {"row": 27, "value": "true"}}}, {"path": "ttsr.disabledRules", "tab": "context", "group": "规则（TTSR）", "label": "禁用的规则", "description": "要完全忽略的规则名称（适用于捆绑的默认规则和你自己的规则）", "type": "array", "default": [], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "要抑制的内置规则 ID 列表。", "impacts": ["reliability", "customization"], "guidance": null, "shown": {}}, {"path": "snapcompact.systemPrompt", "tab": "context", "group": "实验性", "label": "SnapCompact 系统提示词", "description": "实验性：将选中的系统提示词文本渲染为高密度 PNG 图像并附加到第一条用户消息（仅限视觉模型）。可节省 token，但会失去对图像化文本的提示词缓存。", "type": "enum", "default": "none", "values": ["none", "agents-md", "all"], "options": [{"value": "none", "label": "无", "description": "将系统提示词保留为文本。"}, {"value": "agents-md", "label": "AGENTS.md", "description": "仅在能节省 token 时，才将已加载的上下文文件指令移入图像。"}, {"value": "all", "label": "全部", "description": "仅在能节省 token 时，才将完整系统提示词移入图像。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制 SnapCompact 在压缩表示中是包含 AGENTS.md 还是整个系统提示词。", "impacts": ["context", "quality", "cost"], "guidance": null, "shown": {"default": {"row": 29, "value": "none"}}}, {"path": "snapcompact.toolResults", "tab": "context", "group": "实验性", "label": "SnapCompact 工具结果", "description": "实验性：将大量历史工具结果渲染为高密度 PNG 图像而非文本（仅限视觉模型）。在累积的读取/搜索输出上节省 token。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许 SnapCompact 在超出其常规选择行为的情况下保留/整理工具结果内容。", "impacts": ["context", "quality", "cost"], "guidance": null, "shown": {"default": {"row": 30, "value": "false"}}}, {"path": "tools.format", "tab": "context", "group": "实验性", "label": "工具调用模式", "description": "控制工具如何暴露给模型。自动会使用提供商原生工具调用，除非所选模型被标记为不支持，此时回退到 GLM 专有方言。原生强制使用提供商原生工具；其他值强制使用指定的专有方言。在会话开始时生效。", "type": "enum", "default": "auto", "values": ["auto", "native", "glm", "hermes", "kimi", "xml", "anthropic", "deepseek", "harmony", "qwen3", "gemini", "gemma", "minimax"], "options": [{"value": "auto", "label": "Auto", "description": "使用原生工具调用，除非已知模型不支持。"}, {"value": "native", "label": "原生", "description": "使用提供商原生工具调用。"}, {"value": "glm", "label": "GLM", "description": "使用 GLM 风格的带内工具调用。"}, {"value": "hermes", "label": "Hermes", "description": "使用 Hermes 风格的带内工具调用。"}, {"value": "kimi", "label": "Kimi", "description": "使用 Kimi 风格的带内工具调用。"}, {"value": "xml", "label": "XML", "description": "使用通用 XML 带内工具调用。"}, {"value": "anthropic", "label": "Anthropic", "description": "使用 Anthropic 风格的带内工具调用。"}, {"value": "deepseek", "label": "DeepSeek", "description": "使用 DeepSeek 风格的带内工具调用。"}, {"value": "harmony", "label": "Harmony", "description": "使用 Harmony 风格的带内工具调用。"}, {"value": "qwen3", "label": "Qwen3", "description": "使用 Qwen3 专属方言。"}, {"value": "gemini", "label": "Gemini", "description": "使用 Gemini 专属方言。"}, {"value": "gemma", "label": "Gemma", "description": "使用 Gemma 专属方言。"}, {"value": "minimax", "label": "MiniMax", "description": "使用 MiniMax 专属方言。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择工具调用协议/序列化方言。自动会选择与提供商/模型兼容的格式。", "impacts": ["compatibility", "reliability"], "guidance": null, "shown": {"default": {"row": 31, "value": "auto"}}}, {"path": "snapcompact.shape", "tab": "context", "group": "实验性", "label": "Snapcompact 形状", "description": "snapcompact 帧形状以（压缩存档与内联成像）打印文本；自动选取适应当前模型的形状。", "type": "enum", "default": "auto", "values": ["auto", "8x8r-bw", "8x8r-sent", "8x8u-bw", "8x8u-sent", "6x6u-bw", "6x6u-sent", "5x8-bw", "5x8-sent", "6x12-dim", "8x13-bw", "8on16-bw", "8on22-bw", "11on16-bw", "silver16-bw", "doc-8on16-bw", "doc-8on16-sent", "doc-8on16-sent-dim"], "options": [{"value": "auto", "label": "Auto", "description": "选取适应当前模型的形状，否则回退至其提供方家族。"}, {"value": "8x8r-bw", "label": "8x8 重复，黑色", "description": "unscii 方形单元，黑色墨迹，每行打印两遍，副本置于浅色高亮带上。"}, {"value": "8x8r-sent", "label": "8x8 重复，句界配色", "description": "重复网格，墨迹在句界循环六种色调。"}, {"value": "8x8u-bw", "label": "8x8，黑色", "description": "朴素 unscii 方块单元，单行打印，黑色墨水。"}, {"value": "8x8u-sent", "label": "8x8，句界配色", "description": "朴素 unscii 方块单元，句子色调墨水。"}, {"value": "6x6u-bw", "label": "6x6 密集，黑色", "description": "unscii 压缩至 6x6——可读性最密的单元，帧数最少——黑色墨迹。"}, {"value": "6x6u-sent", "label": "6x6 密集，句界配色", "description": "最密集单元，句界配色墨迹。"}, {"value": "5x8-bw", "label": "5x8 旧版，黑色", "description": "2576px 帧上的原始 X.org 5x8 字形，黑色墨迹。"}, {"value": "5x8-sent", "label": "5x8 旧版，句界配色", "description": "原始 snapcompact 形状（形状表之前的会话以此渲染）。"}, {"value": "6x12-dim", "label": "6x12，停用词调暗", "description": "X.org 6x12 字形，黑色墨迹，功能词变灰。"}, {"value": "8x13-bw", "label": "8x13，黑色", "description": "X.org 8x13 字形，黑色墨迹。"}, {"value": "8on16-bw", "label": "8x13 于 16px 行距，黑色", "description": "8x13 字形位于 8x16 单元（额外行距），黑色墨迹。"}, {"value": "8on22-bw", "label": "8x13 于 22px 行距（leading），黑色", "description": "8x13 字形位于 8x22 单元——额外行距避免行拥挤。OpenAI/Google 默认。"}, {"value": "11on16-bw", "label": "8x13 于 11px 步进（字距），黑色", "description": "8x13 字形位于 11x16 单元——额外字距避免字符粘连。Anthropic 默认。"}, {"value": "silver16-bw", "label": "Silver 16，CJK", "description": "面向 CJK 及其他非拉丁文本的 16px 网格内嵌 Silver TrueType 字体。"}, {"value": "doc-8on16-bw", "label": "Doc 8on16，黑色", "description": "16px 字距下两栏自动换行的报纸式排版，8x13 字形，黑色墨迹。"}, {"value": "doc-8on16-sent", "label": "Doc 8on16，句子色调", "description": "双栏文档布局，墨迹采用句子色调。"}, {"value": "doc-8on16-sent-dim", "label": "Doc 8on16，句子色调 + 虚化停用词", "description": "双栏文档布局，句子色调墨迹，功能词以灰色弱化显示。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择 SnapCompact 形状变体；自动模式由 OMP 依据会话/提供方决定。", "impacts": ["context", "quality", "latency"], "guidance": null, "shown": {"default": {"row": 32, "value": "auto"}}}, {"path": "memory.backend", "tab": "memory", "group": "通用", "label": "记忆后端", "description": "关闭、本地摘要流水线、Mnemopi SQLite 或 Hindsight 远程记忆", "type": "enum", "default": "off", "values": ["off", "local", "hindsight", "mnemopi"], "options": [{"value": "off", "label": "关闭", "description": "不运行任何记忆子系统"}, {"value": "local", "label": "本地", "description": "本地滚动摘要流水线（memory_summary.md）"}, {"value": "hindsight", "label": "Hindsight", "description": "向量化 Hindsight 远程记忆服务"}, {"value": "mnemopi", "label": "Mnemopi", "description": "本地 SQLite 召回/保留后端，支持可选嵌入"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择持久记忆：禁用、OMP 本地记忆、Hindsight 服务或 Mnemopi。", "impacts": ["privacy", "context", "cost"], "guidance": {"level": "keep", "value": "off globally; mnemopi only in personal/project profile", "why": "持久记忆很有价值，但全局记忆与客户端处理作为默认组合并不理想。"}, "shown": {"default": {"row": 4, "value": "off"}, "expanded": {"row": 4, "value": "mnemopi"}, "hindsight": {"row": 4, "value": "hindsight"}}}, {"path": "providers.memoryModel", "tab": "memory", "group": "通用", "label": "记忆模型", "description": "用于事实提取与合并的 Mnemopi LLM：默认在线（/models 中的 TINY 角色，否则 smol/remote），或使用本地设备端模型", "type": "enum", "default": "online", "values": ["online", "qwen3-1.7b", "llama3.2:3b", "gemma-3-1b", "qwen2.5-1.5b", "lfm2-1.2b"], "options": [{"value": "online", "label": "在线（TINY 角色，否则为 @smol）", "description": "使用在线模型：设置后采用 /models 中的 TINY 角色，否则使用 @smol。不下载本地模型，也不做设备端推理。"}, {"value": "qwen3-1.7b", "label": "Qwen3 1.7B", "description": "本地推理已禁用：onnxruntime-node 无法运行此 ONNX 导出的 RotaryEmbedding 缓存更新。"}, {"value": "llama3.2:3b", "label": "Llama 3.2 3B", "description": "面向本地记忆/分类器任务的更大 Llama 3.2 选项；质量潜力更高，但磁盘/内存/延迟成本也更高。"}, {"value": "gemma-3-1b", "label": "Gemma 3 1B", "description": "最佳合并/去重；占用更小，但提取时会泄露闲聊内容。"}, {"value": "qwen2.5-1.5b", "label": "Qwen2.5 1.5B", "description": "最佳提取粒度（原子事实）；合并能力较弱。"}, {"value": "lfm2-1.2b", "label": "LFM2 1.2B", "description": "加载最快；均衡全面，但提取标签略为嘈杂。"}], "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "所选后端需要 LLM 协助时，用于记忆提取/筛选的小型模型。", "impacts": ["cost", "latency", "privacy"], "guidance": null, "shown": {"expanded": {"row": 5, "value": "online"}}}, {"path": "autolearn.enabled", "tab": "memory", "group": "自动学习", "label": "自动学习（实验性）", "description": "代理停止后，提示它将经验存入记忆，并创建/增强独立的受管技能", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "自动从已完成的工作中提取可能可复用的经验，写入所配置的记忆后端。", "impacts": ["privacy", "context", "cost"], "guidance": {"level": "keep", "value": "false globally", "why": "自动留存是一道隐私边界，而不仅仅是一个便利开关。"}, "shown": {"default": {"row": 6, "value": "false"}, "expanded": {"row": 7, "value": "true"}, "hindsight": {"row": 6, "value": "false"}}}, {"path": "autolearn.autoContinue", "tab": "memory", "group": "自动学习", "label": "停止时自动运行捕获", "description": "开启后，停止时自动运行一次私有捕获轮次（消耗额外 token）。关闭后，仅保留常驻的自动学习指引。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "autolearnActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "自动额外运行一次私有捕获轮次，而非在学习后等待显式续接。", "impacts": ["privacy", "cost", "latency"], "guidance": null, "shown": {"expanded": {"row": 8, "value": "false"}}}, {"path": "mnemopi.dbPath", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 数据库路径", "description": "可选的 SQLite 数据库路径。默认使用代理记忆目录。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "Mnemopi 存储的文件系统路径。未设置时使用后端默认值。", "impacts": ["privacy", "storage"], "guidance": null, "shown": {"expanded": {"row": 10, "value": ""}}}, {"path": "mnemopi.bank", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 记忆库", "description": "可选的共享记忆库基名。按项目模式会由此派生项目本地记忆库。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "显式的记忆库/命名空间名称。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"expanded": {"row": 11, "value": ""}}}, {"path": "mnemopi.scoping", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 作用域", "description": "global = 一个共享记忆库；per-project = 每个 cwd 独立记忆库；per-project-tagged = 项目本地写入并可全局召回", "type": "enum", "default": "per-project", "values": ["global", "per-project", "per-project-tagged"], "options": [{"value": "global", "label": "全局", "description": "所有项目共用一个 Mnemopi 记忆库"}, {"value": "per-project", "label": "按项目", "description": "按 cwd 基名划分的项目本地 Mnemopi 记忆库"}, {"value": "per-project-tagged", "label": "按项目（带标签）", "description": "写入项目本地库，但合并项目与共享召回结果"}], "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制记忆是共享一个全局命名空间，还是按项目分离/打标签。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"expanded": {"row": 12, "value": "per-project"}}}, {"path": "mnemopi.embeddingVariant", "tab": "memory", "group": "Mnemopi", "label": "嵌入变体", "description": "本地嵌入模型系列。en = 更强的英文模型；multilingual = 跨语言模型。更改后将在下次启动时重建现有记忆嵌入。", "type": "enum", "default": "en", "values": ["en", "multilingual"], "options": [{"value": "en", "label": "英文（bge-base-en-v1.5）", "description": "BAAI/bge-base-en-v1.5 (768d)，仅英文"}, {"value": "multilingual", "label": "多语言（multilingual-e5-large）", "description": "intfloat/multilingual-e5-large (1024d)，跨语言召回"}], "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择英文优化或多语言嵌入行为。", "impacts": ["quality", "performance", "storage"], "guidance": null, "shown": {"expanded": {"row": 13, "value": "en"}}}, {"path": "mnemopi.autoRecall", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 自动召回", "description": "将本地记忆召回注入每个会话的首轮", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "自动查询记忆并在轮次前注入相关条目。", "impacts": ["context", "cost", "privacy"], "guidance": null, "shown": {"expanded": {"row": 14, "value": "true"}}}, {"path": "mnemopi.autoRetain", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 自动保留", "description": "将已完成的对话轮次保留到本地 Mnemopi 记忆", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "自动将符合条件的会话信息写入记忆。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"expanded": {"row": 15, "value": "true"}}}, {"path": "mnemopi.polyphonicRecall", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 多路召回", "description": "启用 4 路召回（向量、图谱、事实、时间），并通过互惠排名融合进行合并", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "使用多个召回视角/查询并合并，以额外延迟换取更高覆盖率。", "impacts": ["quality", "latency", "cost"], "guidance": null, "shown": {"expanded": {"row": 16, "value": "false"}}}, {"path": "mnemopi.enhancedRecall", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 增强召回", "description": "为重复和相似召回查询启用分级查询结果缓存", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用更重的召回/重排序路径以获得更好的相关性。", "impacts": ["quality", "latency", "cost"], "guidance": null, "shown": {"expanded": {"row": 17, "value": "false"}}}, {"path": "mnemopi.proactiveLinking", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 主动链接", "description": "新记忆在存储时摄入情景图谱，并链接到相关实体和记忆", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在新保留的记忆与相关现有条目之间创建链接。", "impacts": ["context", "cost", "latency"], "guidance": null, "shown": {"expanded": {"row": 18, "value": "false"}}}, {"path": "mnemopi.noEmbeddings", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 禁用嵌入", "description": "强制仅使用确定性 FTS 召回，而非向量嵌入", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "后端不运行向量嵌入，以语义召回质量换取更简单/本地的存储。", "impacts": ["quality", "privacy", "performance"], "guidance": null, "shown": {"expanded": {"row": 19, "value": "false"}}}, {"path": "mnemopi.embeddingModel", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 嵌入模型", "description": "高级：显式嵌入模型 id，覆盖变体。留空则使用 `mnemopi.embeddingVariant`。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "显式嵌入模型标识符。", "impacts": ["quality", "cost", "privacy"], "guidance": null, "shown": {"expanded": {"row": 20, "value": ""}}}, {"path": "mnemopi.embeddingApiUrl", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 嵌入 API URL", "description": "可选的 OpenAI 兼容嵌入端点，传递给 Mnemopi", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "OpenAI 兼容或后端专属的嵌入端点。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"expanded": {"row": 21, "value": ""}}}, {"path": "mnemopi.embeddingApiKey", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi 嵌入 API 密钥", "description": "可选的嵌入 API 密钥，传递给 Mnemopi", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": true, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "远程嵌入端点使用的凭据；在常规设置输出中会被遮盖。", "impacts": ["privacy", "security"], "guidance": null, "shown": {"expanded": {"row": 22, "value": ""}}}, {"path": "mnemopi.llmMode", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi LLM 模式", "description": "不使用 LLM、使用在线微型模型（`/models` 中的 TINY 角色，否则 `@smol`），或使用远程 OpenAI 兼容端点", "type": "enum", "default": "smol", "values": ["none", "smol", "remote"], "options": [{"value": "none", "label": "无", "description": "禁用 Mnemopi LLM 驱动的提取"}, {"value": "smol", "label": "在线（微型）", "description": "使用在线微型模型（/models 中的 TINY 角色，否则用 @smol）"}, {"value": "remote", "label": "远程", "description": "使用下方 Mnemopi 远程 LLM 设置"}], "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制记忆处理是否不使用 LLM、使用已配置的 smol 角色，或使用专用远程端点。", "impacts": ["cost", "latency", "privacy"], "guidance": null, "shown": {"expanded": {"row": 23, "value": "smol"}}}, {"path": "mnemopi.llmBaseUrl", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi LLM 基础 URL", "description": "Mnemopi 远程模式的可选 OpenAI 兼容 LLM 端点", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "Mnemopi 远程模式的专用远程 LLM 端点。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"expanded": {"row": 24, "value": ""}}}, {"path": "mnemopi.llmApiKey", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi LLM API 密钥", "description": "Mnemopi 远程模式的可选 LLM API 密钥", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": true, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "Mnemopi 远程 LLM 端点的凭证。", "impacts": ["privacy", "security"], "guidance": null, "shown": {"expanded": {"row": 25, "value": ""}}}, {"path": "mnemopi.llmModel", "tab": "memory", "group": "Mnemopi", "label": "Mnemopi LLM 模型", "description": "Mnemopi 远程模式的可选 LLM 模型名称", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "mnemopiActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "发送至 Mnemopi 远程 LLM 端点的模型标识符。", "impacts": ["quality", "cost"], "guidance": null, "shown": {"expanded": {"row": 26, "value": ""}}}, {"path": "hindsight.apiUrl", "tab": "memory", "group": "Hindsight", "label": "Hindsight API URL", "description": "Hindsight 服务器 URL（云端或自托管）", "type": "string", "default": "http://localhost:8888", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "Hindsight 服务端点。默认假定为本地服务。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"hindsight": {"row": 8, "value": "http://localhost:8888"}}}, {"path": "hindsight.apiToken", "tab": "memory", "group": "Hindsight", "label": "Hindsight API 令牌", "description": "用于通过认证的 Hindsight 服务器的 Bearer 令牌", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": true, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "发送至 Hindsight 服务的凭证。", "impacts": ["privacy", "security"], "guidance": null, "shown": {"hindsight": {"row": 9, "value": ""}}}, {"path": "hindsight.bankId", "tab": "memory", "group": "Hindsight", "label": "Hindsight Bank ID", "description": "记忆库标识符（默认：项目名称）", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "text", "mechanics": "显式的 Hindsight 库/命名空间标识符。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"hindsight": {"row": 10, "value": ""}}}, {"path": "hindsight.scoping", "tab": "memory", "group": "Hindsight", "label": "Hindsight 作用域", "description": "global = 一个共享库；per-project = 每个 cwd 独立库；per-project-tagged = 带项目标签的共享库，回忆时全局与项目记忆合并", "type": "enum", "default": "per-project-tagged", "values": ["global", "per-project", "per-project-tagged"], "options": [{"value": "global", "label": "全局", "description": "一个共享库——所有项目看到相同记忆"}, {"value": "per-project", "label": "按项目", "description": "按 cwd 基名独立库——项目间无法看到彼此记忆"}, {"value": "per-project-tagged", "label": "按项目（带标签）", "description": "共享库，保留内容带 project:<cwd> 标签。回忆时同时呈现项目与未标记的全局记忆"}], "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制全局与项目特定记忆的隔离/标记。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"hindsight": {"row": 11, "value": "per-project-tagged"}}}, {"path": "hindsight.autoRecall", "tab": "memory", "group": "Hindsight", "label": "Hindsight 自动回忆", "description": "在每次会话首轮回忆记忆", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在相关轮次前自动查询 Hindsight。", "impacts": ["context", "privacy", "latency"], "guidance": null, "shown": {"hindsight": {"row": 12, "value": "true"}}}, {"path": "hindsight.autoRetain", "tab": "memory", "group": "Hindsight", "label": "Hindsight 自动保留", "description": "每 N 轮及会话边界处保留转录", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "自动将符合条件的会话内容发送至 Hindsight。", "impacts": ["privacy", "context"], "guidance": null, "shown": {"hindsight": {"row": 13, "value": "true"}}}, {"path": "hindsight.retainMode", "tab": "memory", "group": "Hindsight", "label": "Hindsight 保留模式", "description": "full-session = 每次会话 upsert 一份文档；last-turn = 分块", "type": "enum", "default": "full-session", "values": ["full-session", "last-turn"], "options": [{"value": "full-session", "label": "完整会话", "description": "每次会话 upsert 一份文档（推荐）"}, {"value": "last-turn", "label": "最近一轮", "description": "按轮次边界切分分块保留"}], "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "决定保留发送完整会话还是仅最近一轮。", "impacts": ["privacy", "context", "cost"], "guidance": null, "shown": {"hindsight": {"row": 14, "value": "full-session"}}}, {"path": "hindsight.mentalModelsEnabled", "tab": "memory", "group": "Hindsight", "label": "Hindsight 心智模型", "description": "启动时将精选的 reflect 摘要（心智模型）读入开发者指令。从 bank 加载已有模型——不写入。搭配 `hindsight.mentalModelAutoSeed` 可同时自动创建内置种子集。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 Hindsight 更高级的持久化心智模型表示。", "impacts": ["context", "quality", "cost"], "guidance": null, "shown": {"hindsight": {"row": 15, "value": "true"}}}, {"path": "hindsight.mentalModelAutoSeed", "tab": "memory", "group": "Hindsight", "label": "Hindsight 心智模型自动种子", "description": "会话开始时，创建 bank 上尚不存在的内置心智模型（project-conventions、project-decisions、user-preferences）。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "hindsightActive", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当 bank 缺少心智模型结构时自动创建初始结构。", "impacts": ["context", "cost"], "guidance": null, "shown": {"hindsight": {"row": 16, "value": "true"}}}, {"path": "edit.mode", "tab": "files", "group": "编辑", "label": "编辑模式", "description": "选择编辑工具变体（replace、patch、hashline 或 apply_patch）", "type": "enum", "default": "hashline", "values": ["apply_patch", "hashline", "patch", "replace", "sloppy"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "选择模型使用的编辑协议。Hashline 将编辑锚定到源文件行的哈希，以减少漂移。", "impacts": ["reliability", "compatibility"], "guidance": null, "shown": {"default": {"row": 4, "value": "hashline"}}}, {"path": "edit.fuzzyMatch", "tab": "files", "group": "编辑", "label": "模糊匹配", "description": "接受仅存在空白差异的高置信度模糊匹配", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当精确上下文发生偏移时，允许编辑匹配高度相似的源。", "impacts": ["reliability", "safety"], "guidance": null, "shown": {"default": {"row": 5, "value": "true"}}}, {"path": "edit.fuzzyThreshold", "tab": "files", "group": "编辑", "label": "模糊匹配阈值", "description": "接受模糊匹配的相似度阈值（0-1）", "type": "number", "default": 0.95, "values": null, "options": [{"value": "0.85", "label": "0.85", "description": "宽松"}, {"value": "0.90", "label": "0.90", "description": "适中"}, {"value": "0.95", "label": "0.95", "description": "默认"}, {"value": "0.98", "label": "0.98", "description": "严格"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "接受模糊编辑所需的相似度阈值。越高越安全，但容错越低。", "impacts": ["reliability", "safety"], "guidance": null, "shown": {"default": {"row": 6, "value": "0.95"}}}, {"path": "edit.streamingAbort", "tab": "files", "group": "编辑", "label": "预览失败时中止", "description": "当补丁预览失败时中止流式编辑工具调用", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当流内编辑无法应用时，立即停止当前模型流。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 7, "value": "false"}}}, {"path": "edit.blockAutoGenerated", "tab": "files", "group": "编辑", "label": "阻止自动生成的文件", "description": "阻止编辑疑似自动生成的文件（protoc、sqlc、swagger 等）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "拒绝编辑被检测为生成/压缩/供应商输出的文件，除非有意覆盖。", "impacts": ["safety", "reliability"], "guidance": null, "shown": {"default": {"row": 8, "value": "true"}}}, {"path": "edit.enforceSeenLines", "tab": "files", "group": "编辑", "label": "强制已见行保护", "description": "拒绝锚定在先前读取/搜索未完整显示行上的编辑", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "要求模型在编辑前已读取目标行，以减少盲改，代价是需要额外读取。", "impacts": ["safety", "cost", "latency"], "guidance": {"level": "consider", "value": "true in strict work profile", "why": "强制先读后写，提高可审计性，代价是更多工具调用。"}, "shown": {"default": {"row": 9, "value": "false"}}}, {"path": "edit.blackbox.enabled", "tab": "files", "group": "编辑", "label": "记录解析回退", "description": "当编辑引入 AST 解析失败时，追加完整的修改前后源码", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当编辑引入 AST 解析回退时，追加完整的前后源码及编辑元数据。", "impacts": ["privacy", "storage", "reliability"], "guidance": {"level": "keep", "value": "false", "why": "诊断日志可能保留完整源文件；仅在有意调试编辑工具时启用。"}, "shown": {"default": {"row": 10, "value": "false"}}}, {"path": "edit.autoRepair.enabled", "tab": "files", "group": "编辑", "label": "自动修复解析回退", "description": "当编辑破坏文件的 AST 解析时，请 smol 模型修复损坏区域（通过重新解析验证；失败则回退为警告）", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当编辑破坏解析时，请求 smol 模型修复受影响的区域，仅当重新解析成功时才接受结果。", "impacts": ["reliability", "cost", "latency"], "guidance": null, "shown": {"default": {"row": 11, "value": "false"}}}, {"path": "readLineNumbers", "tab": "files", "group": "阅读", "label": "行号", "description": "默认在读取工具输出前添加行号", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "为读取工具输出添加行号。Hashline 模式可能单独显示其自身的锚点。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {"default": {"row": 13, "value": "false"}}}, {"path": "read.defaultLimit", "tab": "files", "group": "阅读", "label": "默认读取行数", "description": "代理在未指定限制调用 `read` 时返回的默认行数", "type": "number", "default": 300, "values": null, "options": [{"value": "200", "label": "200 行", "description": null}, {"value": "300", "label": "300 行", "description": null}, {"value": "500", "label": "500 行", "description": null}, {"value": "1000", "label": "1000 行", "description": null}, {"value": "5000", "label": "5000 行", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "模型未指定上限时，读取调用默认返回的最大行数。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 14, "value": "300"}}}, {"path": "read.renderMarkdown", "tab": "files", "group": "阅读", "label": "Markdown 预览", "description": "将 Markdown 读取结果渲染为格式化终端预览，而非原始源码", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "以人类可读方式渲染 Markdown 文件，而非仅显示原始源码结构。", "impacts": ["ergonomics", "reliability"], "guidance": null, "shown": {"default": {"row": 15, "value": "false"}}}, {"path": "read.toolResultPreview", "tab": "files", "group": "阅读", "label": "内联读取预览", "description": "在会话记录中内联渲染读取工具结果，而非摘要行", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在工具调用旁显示紧凑的人类可读读取内容预览。", "impacts": ["observability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 16, "value": "false"}}}, {"path": "read.summarize.enabled", "tab": "files", "group": "阅读摘要", "label": "阅读摘要", "description": "未指定明确选择器调用读取时，返回结构化代码摘要", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将长代码区域折叠为结构化摘要，同时保留可展开的源码。", "impacts": ["context", "cost", "ergonomics"], "guidance": null, "shown": {"default": {"row": 18, "value": "true"}}}, {"path": "read.summarize.prose", "tab": "files", "group": "阅读摘要", "label": "正文摘要", "description": "为 Markdown 和纯文本读取返回结构化摘要", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将折叠/摘要扩展到以正文为主的文档，而非仅限源码。", "impacts": ["context", "quality", "cost"], "guidance": {"level": "consider", "value": "true for long-report workflows", "why": "对尽职调查报告和文档很有用；涉及数据主张时仍应核对原始源码。"}, "shown": {"default": {"row": 19, "value": "false"}}}, {"path": "read.summarize.minBodyLines", "tab": "files", "group": "阅读摘要", "label": "读取摘要正文行数", "description": "读取摘要折叠多行正文或字面量的最小长度", "type": "number", "default": 4, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "代码结构可被折叠的最小正文长度。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {}}, {"path": "read.summarize.minCommentLines", "tab": "files", "group": "阅读摘要", "label": "读取摘要注释行数", "description": "读取摘要折叠多行块注释的最小长度", "type": "number", "default": 6, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "折叠所需的最小注释块长度。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {}}, {"path": "read.summarize.minTotalLines", "tab": "files", "group": "阅读摘要", "label": "读取摘要最小文件长度", "description": "总行数较少的文件按原文读取，而非结构化摘要", "type": "number", "default": 100, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "自动读取摘要生效所需的最小文件总长度。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {}}, {"path": "read.summarize.unfoldUntil", "tab": "files", "group": "阅读摘要", "label": "读取摘要展开目标", "description": "BFS 展开可省略片段，直到摘要至少达到此可见行数。0 仅保留最外层的省略。", "type": "number", "default": 50, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "保持摘要文件的起始部分展开，以便定位。", "impacts": ["ergonomics", "context"], "guidance": null, "shown": {}}, {"path": "read.summarize.unfoldLimit", "tab": "files", "group": "阅读摘要", "label": "读取摘要展开上限", "description": "BFS 展开时摘要大小的硬上限。若展开后行数超过此值，则跳过该片段（保持折叠），并继续展开其余片段。", "type": "number", "default": 100, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在请求区域周围自动展开的最大数量。", "impacts": ["context", "cost"], "guidance": null, "shown": {}}, {"path": "lsp.enabled", "tab": "files", "group": "LSP", "label": "LSP", "description": "启用 lsp 工具以获得代码智能（定义、引用、诊断、重命名）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用语言服务器集成，支持符号、定义、诊断和格式化。", "impacts": ["quality", "performance"], "guidance": null, "shown": {"default": {"row": 21, "value": "true"}}}, {"path": "lsp.lazy", "tab": "files", "group": "LSP", "label": "LSP 延迟启动", "description": "在首次使用时（lsp 工具或编辑匹配的文件类型）启动语言服务器，而非会话启动时", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "仅在受支持的操作需要时才启动语言服务器。", "impacts": ["performance", "latency"], "guidance": null, "shown": {"default": {"row": 22, "value": "true"}}}, {"path": "lsp.shared", "tab": "files", "group": "LSP", "label": "共享语言服务器", "description": "通过守护进程代理在 omp 实例间按项目共享语言服务器（不可用时回退到私有服务器）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许兼容的 OMP 会话共享语言服务器进程，而非启动重复实例。", "impacts": ["performance", "reliability"], "guidance": null, "shown": {"default": {"row": 23, "value": "true"}}}, {"path": "lsp.formatOnWrite", "tab": "files", "group": "LSP", "label": "写入时格式化", "description": "写入后使用 LSP 自动格式化代码文件", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "文件写入后运行 LSP 格式化。若仓库格式不确定，可能产生大范围差异。", "impacts": ["quality", "safety", "latency"], "guidance": null, "shown": {"default": {"row": 24, "value": "false"}}}, {"path": "lsp.diagnosticsOnWrite", "tab": "files", "group": "LSP", "label": "写入时诊断", "description": "写入代码文件后返回 LSP 诊断", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "写入完成后请求诊断。", "impacts": ["quality", "latency"], "guidance": null, "shown": {"default": {"row": 25, "value": "true"}}}, {"path": "lsp.diagnosticsOnEdit", "tab": "files", "group": "LSP", "label": "编辑时诊断", "description": "编辑代码文件后返回 LSP 诊断", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "每次编辑后请求诊断，反馈更快，但服务器负载更高。", "impacts": ["quality", "latency", "performance"], "guidance": {"level": "consider", "value": "true in smaller repos", "why": "快速反馈很有用；大型 monorepo 可能付出过高延迟。"}, "shown": {"default": {"row": 26, "value": "false"}}}, {"path": "lsp.diagnosticsDeduplicate", "tab": "files", "group": "LSP", "label": "诊断去重", "description": "抑制已显示过的编辑后 LSP 诊断；仅显示新增或变更项", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "抑制连续 LSP 响应中重复出现的相同诊断。", "impacts": ["ergonomics", "performance"], "guidance": null, "shown": {"default": {"row": 27, "value": "true"}}}, {"path": "bash.enabled", "tab": "shell", "group": "Bash", "label": "Bash", "description": "启用 bash 工具执行 shell 命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 shell 执行工具。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 4, "value": "true"}}}, {"path": "bash.autoBackground.enabled", "tab": "shell", "group": "Bash", "label": "Bash 自动后台化", "description": "自动将长时间运行的 bash 命令转入后台，稍后交付结果", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将超过后台阈值的命令移入托管 hub 进程，而非阻塞前台回合。", "impacts": ["automation", "reliability"], "guidance": {"level": "consider", "value": "true if you run dev servers/watchers", "why": "让长进程在多个 agent 回合间保持可管理、可观察。"}, "shown": {"default": {"row": 5, "value": "true"}}}, {"path": "bashInterceptor.enabled", "tab": "shell", "group": "Bash", "label": "Bash 拦截器", "description": "拦截有专用工具的 shell 命令", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在可用时将 cat/grep/find/sed、文件重定向、服务与监听等 shell 模式导向结构化 OMP 工具。", "impacts": ["safety", "reliability", "automation"], "guidance": {"level": "consider", "value": "true", "why": "将常见 shell 操作路由到预览和控制更好的结构化工具；shell 纯粹主义者可能觉得它碍事。"}, "shown": {"default": {"row": 6, "value": "false"}}}, {"path": "bash.direnv", "tab": "shell", "group": "Bash", "label": "direnv 自动加载", "description": "自动将仓库的 direnv/devenv `.envrc` 加载到 bash 会话中，无需手动 `direnv exec` 即可使用 devenv 工具和环境变量。遵循 direnv 的允许列表：未经 `direnv allow` 的 `.envrc` 永不执行", "type": "enum", "default": "auto", "values": ["auto", "off"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "可用时自动集成 direnv，否则禁用。项目 .envrc 可执行代码，请先信任仓库。", "impacts": ["safety", "automation", "compatibility"], "guidance": null, "shown": {"default": {"row": 7, "value": "auto"}}}, {"path": "shellMinimizer.enabled", "tab": "shell", "group": "Bash", "label": "Shell 精简器", "description": "在将冗长的 shell 输出（git、npm、cargo 等）返回给 agent 前进行压缩", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将嘈杂的命令输出压缩为面向模型的表示，同时保留重要错误与摘要。", "impacts": ["context", "cost", "reliability"], "guidance": null, "shown": {"default": {"row": 8, "value": "true"}}}, {"path": "shellMinimizer.sourceOutlineLevel", "tab": "shell", "group": "Bash", "label": "Shell 精简器源码大纲", "description": "cat/read 源码文件时的源码大纲模式：default 或 aggressive", "type": "enum", "default": "default", "values": ["default", "aggressive"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "控制类似源码的 shell 输出被结构化摘要的激进程度。", "impacts": ["context", "quality"], "guidance": null, "shown": {"default": {"row": 9, "value": "default"}}}, {"path": "bash.patterns", "tab": "shell", "group": "Bash", "label": "Bash 审批规则", "description": "有序的 bash 命令审批规则。每项含 match 与 approval 字段；仅支持 '*' 通配符。", "type": "array", "default": [], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "有序的命令通配规则，先匹配先生效。拒绝/提示规则检查复合命令片段，允许规则须匹配整条命令。", "impacts": ["safety", "automation"], "guidance": null, "shown": {}}, {"path": "bash.direnvLoadTimeoutMs", "tab": "shell", "group": "Bash", "label": "direnv 加载超时（毫秒）", "description": "等待首次 `direnv export` 的最长时间（冷 devenv shell 可能较慢）；超时后会话将不带 direnv 环境运行", "type": "number", "default": 30000, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "direnv 环境解析允许的最大时间。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {}}, {"path": "eval.py", "tab": "shell", "group": "评估与运行时", "label": "Python 求值后端", "description": "允许 eval 工具将 Python 单元分派给 IPython 内核", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用持久/隔离的 Python 求值工具后端。PI_PY 可按进程覆盖。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 11, "value": "true"}}}, {"path": "eval.js", "tab": "shell", "group": "评估与运行时", "label": "JavaScript 求值后端", "description": "允许 eval 工具将 JavaScript 单元格分派到进程内运行时", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 JavaScript 求值后端。PI_JS 可按进程覆盖。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 12, "value": "true"}}}, {"path": "eval.rb", "tab": "shell", "group": "评估与运行时", "label": "Ruby 求值后端", "description": "允许 eval 工具将 Ruby 单元格分派到常驻 Ruby 内核", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 Ruby 求值后端。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 13, "value": "false"}}}, {"path": "eval.jl", "tab": "shell", "group": "评估与运行时", "label": "Julia 求值后端", "description": "允许 eval 工具将 Julia 单元格分派到常驻 Julia 内核", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 Julia 求值后端。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 14, "value": "false"}}}, {"path": "eval.autoBackground.enabled", "tab": "shell", "group": "评估与运行时", "label": "求值自动后台化", "description": "自动将长时间运行的 eval 单元格转入后台，稍后交付结果", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将长时间运行的 eval 单元格移入受管后台任务，完成后交付结果。", "impacts": ["automation", "reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 15, "value": "false"}}}, {"path": "python.kernelMode", "tab": "shell", "group": "评估与运行时", "label": "Python 内核模式", "description": "在多次 eval 调用之间保持 IPython 内核存活，或每次全新启动", "type": "enum", "default": "session", "values": ["session", "per-call"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "会话在多次 eval 调用之间复用状态；按调用启动则每次使用全新解释器。", "impacts": ["reliability", "performance", "privacy"], "guidance": null, "shown": {"default": {"row": 16, "value": "session"}}}, {"path": "python.interpreter", "tab": "shell", "group": "评估与运行时", "label": "Python 解释器", "description": "可选的 Python 可执行文件精确路径。设置后跳过自动发现 Python 运行时。", "type": "string", "default": "", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "eval 使用的显式 Python 可执行文件/路径。未设置时使用自动发现/默认值。", "impacts": ["compatibility", "reliability"], "guidance": null, "shown": {"default": {"row": 17, "value": ""}}}, {"path": "ruby.interpreter", "tab": "shell", "group": "评估与运行时", "label": "Ruby 解释器", "description": "可选的 Ruby 可执行文件精确路径。设置后跳过自动发现 Ruby 运行时。", "type": "string", "default": "", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "显式 Ruby 可执行文件/路径。", "impacts": ["compatibility"], "guidance": null, "shown": {"default": {"row": 18, "value": ""}}}, {"path": "julia.interpreter", "tab": "shell", "group": "评估与运行时", "label": "Julia 解释器", "description": "可选的 Julia 可执行文件精确路径。设置后跳过自动发现 Julia 运行时。", "type": "string", "default": "", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "显式 Julia 可执行文件/路径。", "impacts": ["compatibility"], "guidance": null, "shown": {"default": {"row": 19, "value": ""}}}, {"path": "todo.enabled", "tab": "tools", "group": "可用工具", "label": "待办事项", "description": "启用 todo 工具以跟踪任务", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用结构化的待办清单工具。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 4, "value": "true"}}}, {"path": "glob.enabled", "tab": "tools", "group": "可用工具", "label": "Glob", "description": "启用 glob 工具，按 glob 模式查找文件", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用感知仓库的路径匹配。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 5, "value": "true"}}}, {"path": "grep.enabled", "tab": "tools", "group": "可用工具", "label": "Grep", "description": "启用 grep 工具，按正则表达式搜索内容", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用遵循仓库忽略规则的结构化内容搜索。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 6, "value": "true"}}}, {"path": "astGrep.enabled", "tab": "tools", "group": "可用工具", "label": "AST Grep", "description": "启用 ast_grep 工具进行结构化 AST 搜索", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "通过 ast-grep 启用语法感知的结构化搜索。", "impacts": ["quality", "performance"], "guidance": null, "shown": {"default": {"row": 7, "value": "false"}}}, {"path": "astEdit.enabled", "tab": "tools", "group": "可用工具", "label": "AST Edit", "description": "启用 ast_edit 工具进行结构化 AST 改写", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "为支持的语言启用语法感知的编辑操作。", "impacts": ["quality", "safety"], "guidance": null, "shown": {"default": {"row": 8, "value": "true"}}}, {"path": "debug.enabled", "tab": "tools", "group": "可用工具", "label": "Debug", "description": "启用 debug 工具，支持基于 DAP 的调试", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用面向调试器的工具与资源。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 9, "value": "true"}}}, {"path": "launch.enabled", "tab": "tools", "group": "可用工具", "label": "启动", "description": "启用 launch 工具，用于监管共享的长期运行项目进程", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用应用程序/进程启动辅助工具。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 10, "value": "true"}}}, {"path": "speechgen.enabled", "tab": "tools", "group": "可用工具", "label": "语音生成", "description": "启用 tts 工具，用于设备端（Kokoro）或 xAI Grok Voice 的语音文件合成", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用语音生成工具。", "impacts": ["cost", "privacy"], "guidance": null, "shown": {"default": {"row": 11, "value": "false"}}}, {"path": "generate_image.enabled", "tab": "tools", "group": "可用工具", "label": "生成图像", "description": "启用 generate_image 工具（文生图生成与编辑）。当 tools.xdev 开启时，以 xd:// 设备形式暴露。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "配置提供商后启用图像生成工具。", "impacts": ["cost", "privacy"], "guidance": {"level": "keep", "value": "false unless needed", "why": "在编码配置中避免不必要的提供商/工具暴露面。"}, "shown": {"default": {"row": 12, "value": "false"}}}, {"path": "inspect_image.mode", "tab": "tools", "group": "可用工具", "label": "检查图像", "description": "控制 inspect_image 工具，该工具将图像理解委托给支持视觉的模型。'auto' 仅在当前模型缺少原生图像输入时暴露它；'on' 始终暴露；'off' 从不暴露。", "type": "enum", "default": "auto", "values": ["auto", "on", "off"], "options": [{"value": "auto", "label": "自动（仅限无视觉模型）", "description": null}, {"value": "on", "label": "开启", "description": null}, {"value": "off", "label": "关闭", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "当所选模型/提供商路径支持时，自动暴露图像检查。", "impacts": ["privacy", "compatibility", "cost"], "guidance": null, "shown": {"default": {"row": 13, "value": "auto"}}}, {"path": "computer.enabled", "tab": "tools", "group": "可用工具", "label": "计算机", "description": "启用可脚本化的主机桌面控制工具（截图、输入、辅助功能）", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用截图/鼠标/键盘的计算机控制工具。", "impacts": ["safety", "privacy", "automation"], "guidance": {"level": "keep", "value": "false until explicitly needed", "why": "计算机控制的影响范围比结构化工具更大。"}, "shown": {"default": {"row": 14, "value": "false"}}}, {"path": "checkpoint.enabled", "tab": "tools", "group": "可用工具", "label": "检查点/回退", "description": "启用 checkpoint 和 rewind 工具以进行上下文检查点操作", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用显式的文件系统/仓库检查点操作以支持回滚。", "impacts": ["reliability", "storage"], "guidance": null, "shown": {"default": {"row": 15, "value": "false"}}}, {"path": "fetch.enabled", "tab": "tools", "group": "可用工具", "label": "读取 URL", "description": "允许 read 工具获取并处理 URL", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 URL 获取/读取工具。", "impacts": ["privacy", "automation"], "guidance": null, "shown": {"default": {"row": 16, "value": "true"}}}, {"path": "vault.enabled", "tab": "tools", "group": "可用工具", "label": "Obsidian 保险库", "description": "启用 vault:// 内部 URL，通过 Obsidian CLI 读取和编辑 Obsidian 保险库内容。禁用时，vault:// 解析会被拒绝，且系统提示中省略 vault:// 条目。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "配置后启用机密/保险库资源工具。", "impacts": ["security", "privacy"], "guidance": null, "shown": {"default": {"row": 17, "value": "false"}}}, {"path": "github.enabled", "tab": "tools", "group": "可用工具", "label": "GitHub CLI", "description": "启用 github 工具（基于操作分派仓库、问题、拉取请求、差异、搜索、检出、推送和 Actions 监视工作流）", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 GitHub 专属的问题、PR 和仓库工具。", "impacts": ["privacy", "automation"], "guidance": null, "shown": {"default": {"row": 18, "value": "false"}}}, {"path": "web_search.enabled", "tab": "tools", "group": "可用工具", "label": "网页搜索", "description": "启用 web_search 工具以获取实时网页结果", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用实时网页搜索工具。", "impacts": ["privacy", "cost", "automation"], "guidance": null, "shown": {"default": {"row": 19, "value": "true"}}}, {"path": "security.enabled", "tab": "tools", "group": "可用工具", "label": "安全", "description": "启用 OMP 原生的安全扫描规划、执行以及只读的 security:// 资源命名空间", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 OMP 原生的安全扫描规划/执行和只读的 security:// 资源命名空间。", "impacts": ["security", "performance"], "guidance": {"level": "consider", "value": "true for unfamiliar repos", "why": "新增原生扫描工作流；预计会增加运行时间和输出。"}, "shown": {"default": {"row": 20, "value": "false"}}}, {"path": "ask.enabled", "tab": "tools", "group": "可用工具", "label": "询问", "description": "启用 ask 工具以进行交互式用户提问", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用以结构化方式向用户提出交互式问题。", "impacts": ["safety", "ergonomics"], "guidance": null, "shown": {"default": {"row": 21, "value": "true"}}}, {"path": "browser.enabled", "tab": "tools", "group": "可用工具", "label": "浏览器", "description": "启用浏览器工具以进行脚本化 Chromium 自动化（puppeteer）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "通过浏览器工具实现脚本化 Chromium 自动化。", "impacts": ["privacy", "safety", "automation"], "guidance": null, "shown": {"default": {"row": 22, "value": "true"}}}, {"path": "todo.reminders", "tab": "tools", "group": "待办事项", "label": "待办提醒", "description": "在停止前提醒代理完成待办事项", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当模型看似提前停止时，提醒其还有未完成的待办事项。", "impacts": ["reliability", "context"], "guidance": null, "shown": {"default": {"row": 24, "value": "true"}}}, {"path": "todo.remindersMax", "tab": "tools", "group": "待办事项", "label": "待办提醒上限", "description": "放弃前最多提醒待办的次数", "type": "number", "default": 3, "values": null, "options": [{"value": "1", "label": "1 次提醒", "description": null}, {"value": "2", "label": "2 次提醒", "description": null}, {"value": "3", "label": "3 次提醒", "description": null}, {"value": "5", "label": "5 次提醒", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "限制重复提醒次数，避免无限唠叨循环。", "impacts": ["reliability", "cost"], "guidance": null, "shown": {"default": {"row": 25, "value": "3"}}}, {"path": "todo.eager", "tab": "tools", "group": "待办事项", "label": "自动创建待办", "description": "在第一条消息后推动自动创建待办列表的力度", "type": "enum", "default": "default", "values": ["default", "preferred", "always"], "options": [{"value": "default", "label": "默认", "description": "由模型决定；不自动创建待办列表"}, {"value": "preferred", "label": "倾向", "description": "在第一条消息时建议待办列表（仅提醒，不强制）"}, {"value": "always", "label": "始终", "description": "在第一条消息时强制创建完整待办列表"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制 OMP 在工作前鼓励创建待办的程度。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 26, "value": "default"}}}, {"path": "tasks.todoClearDelay", "tab": "tools", "group": "待办事项", "label": "待办自动清除延迟", "description": "已完成或放弃的待办从待办组件移除前的延迟", "type": "number", "default": 60, "values": null, "options": [{"value": "0", "label": "立即", "description": null}, {"value": "60", "label": "1 分钟", "description": "默认"}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "900", "label": "15 分钟", "description": null}, {"value": "1800", "label": "30 分钟", "description": null}, {"value": "3600", "label": "1 小时", "description": null}, {"value": "-1", "label": "从不", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "已完成待办在从界面清除前保持可见的秒数。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 27, "value": "60"}}}, {"path": "grep.contextBefore", "tab": "tools", "group": "Grep 与浏览器", "label": "grep 前上下文", "description": "每条 grep 匹配前显示的上下文行数", "type": "number", "default": 1, "values": null, "options": [{"value": "0", "label": "0 行", "description": null}, {"value": "1", "label": "1 行", "description": null}, {"value": "2", "label": "2 行", "description": null}, {"value": "3", "label": "3 行", "description": null}, {"value": "5", "label": "5 行", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "每条 grep 匹配前默认显示的上下文行数。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 29, "value": "1"}}}, {"path": "grep.contextAfter", "tab": "tools", "group": "Grep 与浏览器", "label": "grep 后上下文", "description": "每条 grep 匹配后显示的上下文行数", "type": "number", "default": 3, "values": null, "options": [{"value": "0", "label": "0 行", "description": null}, {"value": "1", "label": "1 行", "description": null}, {"value": "2", "label": "2 行", "description": null}, {"value": "3", "label": "3 行", "description": null}, {"value": "5", "label": "5 行", "description": null}, {"value": "10", "label": "10 行", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "每条 grep 匹配后默认显示的上下文行数。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 30, "value": "3"}}}, {"path": "browser.cdpUrl", "tab": "tools", "group": "Grep 与浏览器", "label": "浏览器 CDP URL", "description": "要连接的默认 HTTP CDP 发现端点（例如 http://127.0.0.1:9222），而非启动浏览器。工具调用中显式指定的 app.cdp_url 或 app.path 优先。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "用于附加到现有浏览器而非新启动浏览器的 HTTP Chrome DevTools 发现端点。", "impacts": ["privacy", "compatibility"], "guidance": null, "shown": {"default": {"row": 31, "value": ""}}}, {"path": "browser.relay", "tab": "tools", "group": "Grep 与浏览器", "label": "浏览器中继", "description": "通过 omp 浏览器中继驱动你自己的 Chrome 标签页。安装一次扩展（`omp browser-relay install`）；浏览器工具需要时中继服务器自动启动。优先级高于 Browser CDP URL；设置 `PI_BROWSER_RELAY=0` 或 `PI_BROWSER_RELAY=1` 可覆盖。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "通过 OMP 浏览器中继扩展驱动用户自己的 Chrome 标签页；优先级高于 CDP URL。", "impacts": ["privacy", "safety", "automation"], "guidance": null, "shown": {"default": {"row": 32, "value": "false"}}}, {"path": "browser.relayUrl", "tab": "tools", "group": "Grep 与浏览器", "label": "浏览器中继 URL", "description": "omp 浏览器中继端点（默认 http://127.0.0.1:9224）。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "中继服务器端点；内置默认为 localhost:9224。", "impacts": ["privacy", "compatibility"], "guidance": null, "shown": {"default": {"row": 33, "value": ""}}}, {"path": "browser.headless", "tab": "tools", "group": "Grep 与浏览器", "label": "无头浏览器", "description": "以无头模式启动浏览器（禁用则显示浏览器界面）", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启动无可见窗口的自动化 Chromium。", "impacts": ["ergonomics", "performance"], "guidance": null, "shown": {"default": {"row": 34, "value": "true"}}}, {"path": "browser.cmux", "tab": "tools", "group": "Grep 与浏览器", "label": "cmux 浏览器", "description": "当存在可用的 cmux socket 时，使用 cmux WKWebView 表面进行浏览器自动化。设置 `PI_BROWSER_CMUX=0` 或 `PI_BROWSER_CMUX=1` 可覆盖。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当存在兼容的 cmux socket 时使用 cmux WKWebView 表面。", "impacts": ["compatibility", "performance"], "guidance": null, "shown": {"default": {"row": 35, "value": "true"}}}, {"path": "browser.screenshotDir", "tab": "tools", "group": "Grep 与浏览器", "label": "截图目录", "description": "保存截图的目录。未设置时，截图保存到临时文件。支持 ~。示例：`~/Downloads`、`~/Desktop`、`/sdcard/Download`（Android）", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "浏览器截图的持久化保存位置；未设置时使用临时文件。", "impacts": ["privacy", "storage"], "guidance": null, "shown": {"default": {"row": 36, "value": ""}}}, {"path": "computer.display", "tab": "tools", "group": "计算机", "label": "计算机显示", "description": "合成所有显示器，或选择原生显示 id", "type": "string", "default": "all", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "传递给计算机控制工具的显示器选择器。", "impacts": ["privacy", "automation"], "guidance": null, "shown": {"default": {"row": 38, "value": "all"}}}, {"path": "computer.maxWidth", "tab": "tools", "group": "计算机", "label": "计算机截图宽度", "description": "合成截图的最大宽度（像素）", "type": "number", "default": 3840, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "最大捕获/控制表面宽度。", "impacts": ["performance", "privacy"], "guidance": null, "shown": {}}, {"path": "computer.maxHeight", "tab": "tools", "group": "计算机", "label": "计算机截图高度", "description": "合成截图的最大高度（像素）", "type": "number", "default": 2400, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "最大捕获/控制表面高度。", "impacts": ["performance", "privacy"], "guidance": null, "shown": {}}, {"path": "github.cache.enabled", "tab": "tools", "group": "GitHub", "label": "GitHub 视图缓存", "description": "将渲染后的 issue/PR 视图输出缓存到 `~/.omp/cache/github-cache.db`，重复读取无需额外开销", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将渲染后的 issue/PR 视图缓存到 `~/.omp/cache/github-cache.db`，重复读取可避免 API 开销。", "impacts": ["performance", "privacy"], "guidance": null, "shown": {"default": {"row": 40, "value": "true"}}}, {"path": "github.cache.softTtlSec", "tab": "tools", "group": "GitHub", "label": "GitHub 缓存软 TTL", "description": "在此时间窗内直接返回缓存的 issue/PR 视图行（秒；默认 5 分钟）", "type": "number", "default": 300, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在此时间窗内直接返回缓存的 issue/PR 视图。", "impacts": ["performance", "freshness"], "guidance": null, "shown": {}}, {"path": "github.cache.hardTtlSec", "tab": "tools", "group": "GitHub", "label": "GitHub 缓存硬 TTL", "description": "超过软 TTL 时返回缓存的条目并在后台刷新；超过硬 TTL 时丢弃（秒；默认 7 天）", "type": "number", "default": 604800, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "超过软 TTL 时缓存以 stale-while-refresh 方式提供；超过硬 TTL 时条目被丢弃。", "impacts": ["performance", "freshness"], "guidance": null, "shown": {}}, {"path": "tools.artifactSpillThreshold", "tab": "tools", "group": "输出限制", "label": "产物转储阈值（KB）", "description": "超过此大小的工具输出保存为产物；末尾部分保持内联", "type": "number", "default": 50, "values": null, "options": [{"value": "1", "label": "1 KB", "description": "~250 个 token"}, {"value": "2.5", "label": "2.5 KB", "description": "约 625 tokens"}, {"value": "5", "label": "5 KB", "description": "约 1.25K tokens"}, {"value": "10", "label": "10 KB", "description": "约 2.5K tokens"}, {"value": "20", "label": "20 KB", "description": "约 5K tokens"}, {"value": "30", "label": "30 KB", "description": "约 7.5K tokens"}, {"value": "50", "label": "50 KB", "description": "默认；约 12.5K tokens"}, {"value": "75", "label": "75 KB", "description": "约 19K tokens"}, {"value": "100", "label": "100 KB", "description": "约 25K tokens"}, {"value": "200", "label": "200 KB", "description": "约 50K tokens"}, {"value": "500", "label": "500 KB", "description": "约 125K tokens"}, {"value": "1000", "label": "1 MB", "description": "约 250K tokens"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "大于此阈值的工具输出转存为产物/文件，而非全部内联保留。", "impacts": ["context", "storage"], "guidance": null, "shown": {"default": {"row": 42, "value": "50"}}}, {"path": "tools.artifactTailBytes", "tab": "tools", "group": "输出限制", "label": "产物尾部大小（KB）", "description": "输出溢出到产物时内联保留的尾部内容量", "type": "number", "default": 20, "values": null, "options": [{"value": "1", "label": "1 KB", "description": "~250 个 token"}, {"value": "2.5", "label": "2.5 KB", "description": "约 625 tokens"}, {"value": "5", "label": "5 KB", "description": "约 1.25K tokens"}, {"value": "10", "label": "10 KB", "description": "约 2.5K tokens"}, {"value": "20", "label": "20 KB", "description": "默认；约 5K tokens"}, {"value": "50", "label": "50 KB", "description": "约 12.5K tokens"}, {"value": "100", "label": "100 KB", "description": "约 25K tokens"}, {"value": "200", "label": "200 KB", "description": "约 50K tokens"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "大输出溢出时内联保留的尾部字节。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 43, "value": "20"}}}, {"path": "tools.artifactHeadBytes", "tab": "tools", "group": "输出限制", "label": "产物头部大小（KB）", "description": "输出溢出到产物时，与尾部一起内联保留的头部内容量（中间省略）。0 表示禁用——仅保留尾部。", "type": "number", "default": 20, "values": null, "options": [{"value": "0", "label": "0 KB", "description": "已禁用；仅截断尾部"}, {"value": "1", "label": "1 KB", "description": "~250 个 token"}, {"value": "2.5", "label": "2.5 KB", "description": "约 625 tokens"}, {"value": "5", "label": "5 KB", "description": "约 1.25K tokens"}, {"value": "10", "label": "10 KB", "description": "约 2.5K tokens"}, {"value": "20", "label": "20 KB", "description": "默认；约 5K tokens"}, {"value": "50", "label": "50 KB", "description": "约 12.5K tokens"}, {"value": "100", "label": "100 KB", "description": "约 25K tokens"}, {"value": "200", "label": "200 KB", "description": "约 50K tokens"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "大输出溢出时内联保留的头部字节。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 44, "value": "20"}}}, {"path": "tools.outputMaxColumns", "tab": "tools", "group": "输出限制", "label": "输出列宽上限", "description": "流式工具输出（`bash`、`python`、`js eval`）和 `read` 的每行字节上限。超过该宽度的行以省略号截断；到下一个换行符之前的剩余字节被丢弃。0 表示禁用。", "type": "number", "default": 768, "values": null, "options": [{"value": "0", "label": "关闭", "description": "无每行上限"}, {"value": "256", "label": "256", "description": "紧凑"}, {"value": "512", "label": "512", "description": null}, {"value": "768", "label": "768", "description": "默认"}, {"value": "1024", "label": "1024", "description": null}, {"value": "2048", "label": "2048", "description": null}, {"value": "4096", "label": "4096", "description": "宽松"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "输出被裁剪/换行/摘要前的最大渲染行宽。", "impacts": ["context", "ergonomics"], "guidance": null, "shown": {"default": {"row": 45, "value": "768"}}}, {"path": "tools.artifactTailLines", "tab": "tools", "group": "输出限制", "label": "产物尾部行数", "description": "输出溢出到产物时内联保留的尾部内容最大行数", "type": "number", "default": 500, "values": null, "options": [{"value": "50", "label": "50 行", "description": "~250 个 token"}, {"value": "100", "label": "100 行", "description": "约 500 token"}, {"value": "250", "label": "250 行", "description": "约 1.25K tokens"}, {"value": "500", "label": "500 行", "description": "默认；约 2.5K token"}, {"value": "1000", "label": "1000 行", "description": "约 5K tokens"}, {"value": "2000", "label": "2000 行", "description": "约 10K token"}, {"value": "5000", "label": "5000 行", "description": "约 25K tokens"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "内联溢出预览中保留的最大尾部行数。", "impacts": ["context", "cost"], "guidance": null, "shown": {"default": {"row": 46, "value": "500"}}}, {"path": "inspect_image.timeoutMs", "tab": "tools", "group": "执行", "label": "检查图像超时", "description": "inspect_image 视觉模型调用的单次请求超时（毫秒）。提供方卡住时会快速以超时错误失败，而不是一直阻塞到手动中止。设为 0 可禁用超时。", "type": "number", "default": 300000, "values": null, "options": [{"value": "0", "label": "禁用", "description": null}, {"value": "60000", "label": "1 分钟", "description": null}, {"value": "120000", "label": "2 分钟", "description": null}, {"value": "180000", "label": "3 分钟", "description": null}, {"value": "300000", "label": "5 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "图像检查操作的最大运行时间。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 48, "value": "300000"}}}, {"path": "tools.intentTracing", "tab": "tools", "group": "执行", "label": "意图追踪", "description": "要求代理在执行每个工具调用前先说明其意图", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在执行前提示代理说明进行每个工具调用的原因。", "impacts": ["observability", "safety", "context"], "guidance": {"level": "keep", "value": "true", "why": "对半自主代理重要的可观测性。"}, "shown": {"default": {"row": 49, "value": "true"}}}, {"path": "tools.abortOnFabricatedResult", "tab": "tools", "group": "执行", "label": "虚构工具结果时中止", "description": "对于带内工具调用，当模型在回合中途开始幻觉出工具结果时立即停止。禁用则让模型完成生成并丢弃虚构的后续内容。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "当模型开始幻觉出工具结果时停止带内工具调用流，而不是等待后再丢弃后续文本。", "impacts": ["reliability", "safety"], "guidance": {"level": "keep", "value": "true", "why": "对虚构的工具输出快速失败是正确且安全的默认行为。"}, "shown": {"default": {"row": 50, "value": "true"}}}, {"path": "tools.maxTimeout", "tab": "tools", "group": "执行", "label": "工具最大超时", "description": "代理可为任何工具设置的最大超时（秒）（0 = 无限制）", "type": "number", "default": 0, "values": null, "options": [{"value": "0", "label": "无限制", "description": null}, {"value": "30", "label": "30 秒", "description": null}, {"value": "60", "label": "60 秒", "description": null}, {"value": "120", "label": "120 秒", "description": null}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "600", "label": "10 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "模型可为任何工具请求的超时上限；0 表示无上限。", "impacts": ["safety", "reliability"], "guidance": {"level": "consider", "value": "600 in work profile", "why": "有限的上限可防止意外长时间等待工具，同时仍允许构建/测试。"}, "shown": {"default": {"row": 51, "value": "0"}}}, {"path": "async.enabled", "tab": "tools", "group": "执行", "label": "异步执行", "description": "启用异步 bash 命令和后台任务执行", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许符合条件的工具调用/进程异步运行，并可稍后轮询。", "impacts": ["automation", "reliability"], "guidance": null, "shown": {"default": {"row": 52, "value": "true"}}}, {"path": "async.pollWaitDuration", "tab": "tools", "group": "执行", "label": "最大轮询时间", "description": "`hub` 等待在返回当前状态前监视后台作业的时长。固定值每次都会等待该确切时长。`smart` 会自适应：从 5 秒开始，每次连续等待都会延长（最多 5 分钟），大约一分钟不再等待后重置为 5 秒。", "type": "enum", "default": "smart", "values": ["5s", "10s", "30s", "1m", "5m", "smart"], "options": [{"value": "5s", "label": "5 秒", "description": null}, {"value": "10s", "label": "10 秒", "description": null}, {"value": "30s", "label": "30 秒", "description": null}, {"value": "1m", "label": "1 分钟", "description": null}, {"value": "5m", "label": "5 分钟", "description": null}, {"value": "smart", "label": "智能", "description": "默认 — 自适应 5 秒→5 分钟，停止轮询时重置"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制轮询等待；智能模式从短等待自适应到数分钟。", "impacts": ["latency", "cost"], "guidance": null, "shown": {"default": {"row": 53, "value": "smart"}}}, {"path": "irc.timeoutMs", "tab": "tools", "group": "执行", "label": "IRC 超时", "description": "hub 消息等待（及 send await:true）的默认超时（毫秒）；0 禁用超时", "type": "number", "default": 120000, "values": null, "options": [{"value": "0", "label": "禁用", "description": null}, {"value": "30000", "label": "30 秒", "description": null}, {"value": "60000", "label": "1 分钟", "description": null}, {"value": "120000", "label": "2 分钟", "description": null}, {"value": "300000", "label": "5 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "IRC 式代理间/请求协调的超时。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 54, "value": "120000"}}}, {"path": "tools.xdev", "tab": "tools", "group": "发现与 MCP", "label": "xd:// 工具", "description": "将不常用（可发现）的工具挂载到 xd:// 设备 URL 下，通过读/写驱动，而不是在每次请求中都携带其 schema。未授予写工具的会话会跳过挂载，并在顶层暴露所有工具。禁用则将所有已启用工具暴露在顶层。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 OMP 的 xd:// 资源/设备发现层。", "impacts": ["automation", "context"], "guidance": null, "shown": {"default": {"row": 56, "value": "true"}}}, {"path": "tools.xdevDocs", "tab": "tools", "group": "发现与 MCP", "label": "xd:// 提示文档", "description": "选择哪些已挂载设备的文档和 schema 内联到系统提示中。内置模式让核心工具保持内联，而 MCP 和扩展工具则按需加载。", "type": "enum", "default": "builtins", "values": ["inline", "builtins", "catalog"], "options": [{"value": "inline", "label": "所有设备", "description": "内联每个已挂载设备的文档和架构。"}, {"value": "builtins", "label": "仅内置", "description": "内联内置文档；按需获取 MCP 和扩展文档。"}, {"value": "catalog", "label": "仅目录", "description": "列出所有设备；按需获取所有文档。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制设备文档是内联、仅限内置，还是按需从目录加载。", "impacts": ["context", "cost", "compatibility"], "guidance": null, "shown": {"default": {"row": 57, "value": "builtins"}}}, {"path": "mcp.enableProjectConfig", "tab": "tools", "group": "发现与 MCP", "label": "MCP 项目配置", "description": "从项目根目录加载 .mcp.json/mcp.json", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许仓库发现的 MCP 配置为当前项目注册服务器/工具。", "impacts": ["safety", "privacy", "automation"], "guidance": {"level": "change", "value": "false in the work overlay", "why": "否则不受信任的仓库可能提供 MCP 服务器/工具。请按受信任的项目启用。"}, "shown": {"default": {"row": 58, "value": "true"}}}, {"path": "mcp.renderMarkdownResults", "tab": "tools", "group": "发现与 MCP", "label": "MCP Markdown 结果", "description": "在记录中将非 JSON 的 MCP 文本结果渲染为 Markdown", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "以 Markdown 格式渲染 MCP 结果供人类查看。", "impacts": ["e", "r", "g", "o", "n", "o", "m", "i", "c", "s"], "guidance": null, "shown": {"default": {"row": 59, "value": "true"}}}, {"path": "mcp.notifications", "tab": "tools", "group": "发现与 MCP", "label": "MCP 更新注入", "description": "将 MCP 资源更新注入代理对话", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将会话中的 MCP 资源/服务器变更通知呈现出来。", "impacts": ["observability", "context"], "guidance": null, "shown": {"default": {"row": 60, "value": "false"}}}, {"path": "tools.xdevInlineDevices", "tab": "tools", "group": "发现与 MCP", "label": "xd:// 内联设备", "description": "当 xd:// Prompt Docs 为“仅内置”时，内联名称匹配这些 glob 模式的动态设备（例如 mcp__context_mode_*）。“仅目录”忽略此设置。", "type": "array", "default": [], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "显式设备 ID，其文档始终内联到提示中。", "impacts": ["context", "cost"], "guidance": null, "shown": {}}, {"path": "mcp.notificationDebounceMs", "tab": "tools", "group": "发现与 MCP", "label": "MCP 通知防抖", "description": "MCP 资源更新在注入对话前的防抖窗口（毫秒）", "type": "number", "default": 500, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在呈现前合并快速的 MCP 通知。", "impacts": ["performance", "ergonomics"], "guidance": null, "shown": {}}, {"path": "extensionHandlers.toolCallTimeoutMs", "tab": "tools", "group": "扩展", "label": "工具调用处理程序超时（毫秒）", "description": "扩展 tool_call 处理程序的正有限活动工作超时；无效值使用 30000ms，等待 OMP 所属对话框的时间不计入", "type": "number", "default": 30000, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "扩展工具调用处理程序的活动工作超时。OMP 所属对话框中花费的时间不计入限制。", "impacts": ["reliability", "compatibility"], "guidance": null, "shown": {}}, {"path": "dev.autoqa", "tab": "tools", "group": "开发者", "label": "自动 QA", "description": "自动化工具问题报告（xd://report_issue）。默认开启；首次报告会征求同意，拒绝则禁用报告，直到明确重新启用", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用自动化工具问题报告。首次尝试报告会征求同意；拒绝则禁用报告，直到明确重新启用。", "impacts": ["privacy", "reliability"], "guidance": {"level": "change", "value": "false in the work overlay", "why": "即使首次报告获得同意，严格的客户端配置文件也不应默认准备出站 QA 报告。"}, "shown": {"default": {"row": 62, "value": "true"}}}, {"path": "dev.autoqaPush.endpoint", "tab": "tools", "group": "开发者", "label": "自动 QA 推送端点", "description": "接收自动 QA JSON 报告的完整 URL（默认 https://qa.omp.sh/v1/grievances）", "type": "string", "default": "https://qa.omp.sh/v1/grievances", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "接收自动 QA JSON 报告的目标。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 63, "value": "https://qa.omp.sh/v1/grievances"}}}, {"path": "plan.enabled", "tab": "tasks", "group": "模式", "label": "计划模式", "description": "在执行前启用计划模式进行只读探索和规划", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用计划模式/角色及面向计划的工作流。", "impacts": ["automation", "quality"], "guidance": null, "shown": {"default": {"row": 4, "value": "true"}}}, {"path": "plan.defaultOnStartup", "tab": "tasks", "group": "模式", "label": "以计划模式启动", "description": "在每个新会话开始时自动进入计划模式", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": "planModeEnabled", "warning": null, "ordered": false, "widget": "boolean", "mechanics": "默认以计划模式启动新会话。", "impacts": ["ergonomics", "quality"], "guidance": null, "shown": {"default": {"row": 5, "value": "false"}}}, {"path": "goal.enabled", "tab": "tasks", "group": "模式", "label": "目标模式", "description": "启用每会话目标模式和隐藏的目标工具", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用持久的目标循环行为。", "impacts": ["automation", "cost", "safety"], "guidance": {"level": "consider", "value": "keep on, but use deliberately", "why": "目标循环功能强大但会消耗请求额度。请搭配预算和隔离使用。"}, "shown": {"default": {"row": 6, "value": "true"}}}, {"path": "goal.statusInFooter", "tab": "tasks", "group": "模式", "label": "页脚中的目标状态", "description": "在状态行中与目标指示器一起显示令牌预算", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在页脚/状态区域显示目标循环状态。", "impacts": ["o", "b", "s", "e", "r", "v", "a", "b", "i", "l", "i", "t", "y"], "guidance": null, "shown": {"default": {"row": 7, "value": "true"}}}, {"path": "title.refreshOnReplan", "tab": "tasks", "group": "模式", "label": "重新规划时刷新标题", "description": "在 todo init 重新规划后刷新生成的会话标题，除非标题已由用户设置", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在重大重新规划后重新生成会话标题。", "impacts": ["ergonomics", "cost"], "guidance": null, "shown": {"default": {"row": 8, "value": "true"}}}, {"path": "goal.continuationModes", "tab": "tasks", "group": "模式", "label": "目标延续模式", "description": "允许活动目标在轮次之间自动延续的运行模式", "type": "array", "default": ["interactive"], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "可自动运行目标循环延续的模式。", "impacts": ["automation", "safety"], "guidance": null, "shown": {}}, {"path": "task.eager", "tab": "tasks", "group": "子代理", "label": "优先任务委派", "description": "将工作委派给子代理的推送力度", "type": "enum", "default": "default", "values": ["default", "preferred", "always"], "options": [{"value": "default", "label": "默认", "description": "由模型决定何时委派"}, {"value": "preferred", "label": "倾向", "description": "向系统提示中添加委派指导"}, {"value": "always", "label": "始终", "description": "提示指导加首轮委派提醒"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制主代理被鼓励委派工作的力度。", "impacts": ["automation", "cost"], "guidance": null, "shown": {"default": {"row": 10, "value": "default"}}}, {"path": "task.batch", "tab": "tasks", "group": "子代理", "label": "批量任务调用", "description": "将任务工具切换到批量形式：一次调用携带 { context, tasks[] }——每项一个子代理，可选的每项代理（默认为会话的生成策略代理）、每项隔离，以及前置到每个任务中的必需共享上下文。当 async.enabled=true 时，每个生成作为独立的后台代理运行，遵循正常的空闲/驻留生命周期；否则调用将阻塞以合并结果。禁用可恢复扁平的单生成模式。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "允许任务工具在一次批量调用中启动多个独立的子代理。", "impacts": ["automation", "cost", "performance"], "guidance": null, "shown": {"default": {"row": 11, "value": "true"}}}, {"path": "task.enableEffort", "tab": "tasks", "group": "子代理", "label": "每任务精力", "description": "在任务生成中暴露可选的 effort 参数，允许调用方覆盖每个子代理的思考级别", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "让主代理可为每个子代理指定推理精力级别。", "impacts": ["cost", "quality"], "guidance": null, "shown": {"default": {"row": 12, "value": "false"}}}, {"path": "task.maxConcurrency", "tab": "tasks", "group": "子代理", "label": "最大并发任务数", "description": "同时运行的子代理最大数量", "type": "number", "default": 32, "values": null, "options": [{"value": "0", "label": "不限", "description": null}, {"value": "1", "label": "1 个任务", "description": null}, {"value": "2", "label": "2 个任务", "description": null}, {"value": "4", "label": "4 个任务", "description": null}, {"value": "8", "label": "8 个任务", "description": null}, {"value": "16", "label": "16 个任务", "description": null}, {"value": "32", "label": "32 个任务", "description": null}, {"value": "64", "label": "64 个任务", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "同时对运行的任务/子代理请求的全局上限。", "impacts": ["cost", "reliability", "performance"], "guidance": {"level": "change", "value": "3–6 for typical local use", "why": "更高的并发可能压垮笔记本资源、提供商速率限制和 API 预算。"}, "shown": {"default": {"row": 13, "value": "32"}}}, {"path": "task.enableLsp", "tab": "tasks", "group": "子代理", "label": "子代理中的 LSP", "description": "允许通过任务工具生成的子代理使用 lsp 工具。默认关闭以保持子代理轻量；当 LSP 感知的委派值得额外令牌时再启用。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "在子代理运行时中提供 LSP 工具。", "impacts": ["quality", "performance"], "guidance": null, "shown": {"default": {"row": 14, "value": "false"}}}, {"path": "task.maxRecursionDepth", "tab": "tasks", "group": "子代理", "label": "最大任务递归深度", "description": "子代理可再生成子代理的嵌套深度", "type": "number", "default": 2, "values": null, "options": [{"value": "-1", "label": "不限", "description": null}, {"value": "0", "label": "无", "description": null}, {"value": "1", "label": "单层", "description": null}, {"value": "2", "label": "双层", "description": null}, {"value": "3", "label": "三层", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "嵌套任务→子任务委派的最大深度。", "impacts": ["safety", "cost", "reliability"], "guidance": null, "shown": {"default": {"row": 15, "value": "2"}}}, {"path": "task.maxRuntimeMs", "tab": "tasks", "group": "子代理", "label": "子代理最大运行时长", "description": "每个子代理的硬性墙钟时限（毫秒），0 表示禁用。作为纵深防御，应对逃脱推理层看门狗的提供方流式挂起；触发正常的子代理中止并附带 'timed out' 原因。", "type": "number", "default": 0, "values": null, "options": [{"value": "0", "label": "不限", "description": "默认"}, {"value": "300000", "label": "5 分钟", "description": null}, {"value": "900000", "label": "15 分钟", "description": null}, {"value": "1800000", "label": "30 分钟", "description": null}, {"value": "3600000", "label": "1 小时", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "每个子代理的硬性运行上限；0 表示不限。", "impacts": ["safety", "reliability", "cost"], "guidance": {"level": "consider", "value": "30–60 minutes for work", "why": "非零上限可防止被遗弃的子代理无限期存活。"}, "shown": {"default": {"row": 16, "value": "0"}}}, {"path": "task.softRequestBudget", "tab": "tasks", "group": "子代理", "label": "子代理请求软预算", "description": "每个子代理的软性请求预算（每次运行的助手请求数）。超出后会注入收尾引导提示（参见 task.softRequestBudgetNotice）；达到预算的 1.5 倍时运行会被强制停止，代理必须交出部分发现。0 表示禁用该防护。内置的 scout/sonic 代理本身有更低的预算上限，因此低于该上限的值仍会对其生效。", "type": "number", "default": 200, "values": null, "options": [{"value": "0", "label": "禁用", "description": null}, {"value": "90", "label": "90 次请求", "description": null}, {"value": "150", "label": "150 次请求", "description": null}, {"value": "200", "label": "200 次请求", "description": "默认"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "任务树产生模型请求的软上限，超出即触发警告。", "impacts": ["cost", "safety"], "guidance": {"level": "consider", "value": "100–200", "why": "为递归编排保留可见的请求上限。"}, "shown": {"default": {"row": 17, "value": "200"}}}, {"path": "task.softRequestBudgetNotice", "tab": "tasks", "group": "子代理", "label": "软请求预算提示", "description": "当子代理超出其软请求预算时注入一次引导提示，请其在 1.5 倍强制让出停止前收尾。", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "超出软任务请求预算时显示警告。", "impacts": ["observability", "cost"], "guidance": null, "shown": {"default": {"row": 18, "value": "true"}}}, {"path": "task.maxEffort", "tab": "tasks", "group": "子代理", "label": "每次生成的最大推理投入", "description": "任务工具每次生成时推理投入提示所允许的最大值。较低的值可防止调用方将子代理提升至该上限以上；默认值保留模型的完整范围。", "type": "enum", "default": "max", "values": ["minimal", "low", "medium", "high", "xhigh", "max"], "options": [{"value": "minimal", "label": "min", "description": "极简短推理（约 1k tokens）"}, {"value": "low", "label": "low", "description": "轻度推理（约 2k tokens）"}, {"value": "medium", "label": "medium", "description": "中等推理（约 8k tokens）"}, {"value": "high", "label": "high", "description": "深度推理（约 16k tokens）"}, {"value": "xhigh", "label": "xhigh", "description": "扩展推理（约 32k tokens）"}, {"value": "max", "label": "max", "description": "模型支持的最大推理"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "限制子代理可使用的推理投入。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"default": {"row": 19, "value": "max"}}}, {"path": "task.prewalk", "tab": "tasks", "group": "子代理", "label": "通用任务预跑", "description": "为内置的通用 `task` 子代理启用预跑：它在其解析出的模型上启动，规划并开始实现，然后在首次编辑/写入时移交给 'smol' 角色。无论此开关如何，按代理的覆盖设置（task.agentPrewalk，从 /agents 中心配置）和用户代理 `prewalk` frontmatter 均生效。", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "对委派任务应用先强模型后 smol 的交接模式。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"default": {"row": 20, "value": "false"}}}, {"path": "task.agentIdleTtlMs", "tab": "tasks", "group": "子代理", "label": "代理空闲 TTL", "description": "空闲子代理在被停放至磁盘前于内存中保持活跃的时长（毫秒）。被停放的代理在收到消息或恢复时会自动唤醒。0 表示空闲代理保持活跃直到退出。", "type": "number", "default": 420000, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "可复用子代理运行时被回收前的空闲时间。", "impacts": ["performance", "cost"], "guidance": null, "shown": {}}, {"path": "task.isolation.mode", "tab": "tasks", "group": "隔离", "label": "隔离模式", "description": "子代理的隔离后端。\"auto\" 让原生 PAL 选择最佳可用后端（感知 CoW 的文件系统，然后是 overlayfs/ProjFS，最后是 git worktree / 递归复制回退）。", "type": "enum", "default": "none", "values": ["none", "auto", "apfs", "btrfs", "zfs", "reflink", "overlayfs", "projfs", "block-clone", "rcopy"], "options": [{"value": "none", "label": "无", "description": "不隔离"}, {"value": "auto", "label": "Auto", "description": "让 PAL 选择最佳可用后端"}, {"value": "apfs", "label": "APFS", "description": "macOS clonefile 重链接（APFS）"}, {"value": "btrfs", "label": "btrfs", "description": "btrfs 子卷快照"}, {"value": "zfs", "label": "ZFS", "description": "ZFS 快照 + 克隆"}, {"value": "reflink", "label": "Reflink", "description": "Linux FICLONE 逐文件 reflink"}, {"value": "overlayfs", "label": "Overlayfs", "description": "Linux 内核 overlay（或 fuse-overlayfs 回退）"}, {"value": "projfs", "label": "ProjFS", "description": "Windows 投影文件系统"}, {"value": "block-clone", "label": "块克隆", "description": "Windows FSCTL_DUPLICATE_EXTENTS_TO_FILE（NTFS/ReFS）"}, {"value": "rcopy", "label": "递归复制", "description": "可用时使用 git worktree，否则递归复制"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "为任务代理创建隔离的工作副本/快照。Auto 自动选择受支持的文件系统机制。", "impacts": ["safety", "storage", "performance"], "guidance": {"level": "consider", "value": "auto", "why": "并行代理编辑的强力防护；代价是额外的磁盘占用和合并机制。"}, "shown": {"default": {"row": 22, "value": "none"}}}, {"path": "task.isolation.apply", "tab": "tasks", "group": "隔离", "label": "应用隔离更改", "description": "自动将成功的隔离任务更改应用到父检出；禁用可保留补丁或分支产物", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将成功的隔离任务更改应用回父工作区。", "impacts": ["automation", "safety"], "guidance": null, "shown": {"default": {"row": 23, "value": "true"}}}, {"path": "task.isolation.merge", "tab": "tasks", "group": "隔离", "label": "隔离合并策略", "description": "隔离任务更改的集成方式（补丁应用或分支合并）", "type": "enum", "default": "patch", "values": ["patch", "branch"], "options": [{"value": "patch", "label": "补丁", "description": "合并差异并使用 git apply"}, {"value": "branch", "label": "分支", "description": "每个任务提交，使用 --no-ff 合并"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "以补丁或分支合并方式返回更改。", "impacts": ["reliability", "ergonomics"], "guidance": null, "shown": {"default": {"row": 24, "value": "patch"}}}, {"path": "task.isolation.commits", "tab": "tasks", "group": "隔离", "label": "隔离提交样式", "description": "嵌套仓库更改的提交消息样式（通用或 AI 生成）", "type": "enum", "default": "generic", "values": ["generic", "ai"], "options": [{"value": "generic", "label": "通用", "description": "静态提交消息"}, {"value": "ai", "label": "AI", "description": "根据 diff 生成 AI 提交消息"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制隔离提交使用通用消息还是 AI 生成的描述。", "impacts": ["privacy", "cost", "ergonomics"], "guidance": null, "shown": {"default": {"row": 25, "value": "generic"}}}, {"path": "worktree.base", "tab": "tasks", "group": "隔离", "label": "Worktree 基础目录", "description": "agent 管理工作树的基目录——任务隔离副本、`github` PR 检出和 `omp worktree` 清理均位于此。未设置时使用 ~/.omp/wt。必须是绝对路径或以 ~ 开头的相对路径；相对路径会被忽略。OMP_WORKTREE_DIR 环境变量可覆盖此设置。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "任务 worktree/隔离副本的可选基目录。", "impacts": ["storage", "performance"], "guidance": null, "shown": {"default": {"row": 26, "value": ""}}}, {"path": "skills.enableSkillCommands", "tab": "tasks", "group": "命令与技能", "label": "技能命令", "description": "将技能注册为 /skill:name 命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "将发现的技能暴露为斜杠/交互式命令。", "impacts": ["automation", "context", "safety"], "guidance": {"level": "consider", "value": "keep true; disable untrusted sources", "why": "技能杠杆效应高，但来源发现属于信任边界的一部分。"}, "shown": {"default": {"row": 28, "value": "true"}}}, {"path": "commands.enableClaudeUser", "tab": "tasks", "group": "命令与技能", "label": "Claude 用户命令", "description": "从 ~/.claude/commands/ 加载命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "导入兼容的用户级 Claude 命令定义。", "impacts": ["context", "safety"], "guidance": null, "shown": {"default": {"row": 29, "value": "true"}}}, {"path": "commands.enableClaudeProject", "tab": "tasks", "group": "命令与技能", "label": "Claude 项目命令", "description": "从 .claude/commands/ 加载命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "导入兼容的项目级 Claude 命令定义。", "impacts": ["context", "safety"], "guidance": {"level": "consider", "value": "false in strict work profile unless needed", "why": "导入的项目命令是仓库提供的另一指令面。"}, "shown": {"default": {"row": 30, "value": "true"}}}, {"path": "commands.enableOpencodeUser", "tab": "tasks", "group": "命令与技能", "label": "OpenCode 用户命令", "description": "从 ~/.config/opencode/commands/ 加载命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "导入兼容的用户级 OpenCode 命令定义。", "impacts": ["context", "safety"], "guidance": null, "shown": {"default": {"row": 31, "value": "true"}}}, {"path": "commands.enableOpencodeProject", "tab": "tasks", "group": "命令与技能", "label": "OpenCode 项目命令", "description": "从 .opencode/commands/ 加载命令", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "导入兼容的项目级 OpenCode 命令定义。", "impacts": ["context", "safety"], "guidance": {"level": "consider", "value": "false in strict work profile unless needed", "why": "导入的项目命令是仓库提供的另一指令面。"}, "shown": {"default": {"row": 32, "value": "true"}}}, {"path": "providers.maxInFlightRequests", "tab": "providers", "group": "服务", "label": "最大在途请求数", "description": "每个 provider id（如 \"openai\" 或 \"anthropic\"）的最大并发 LLM 请求数，在共用此配置根的本地 OMP 进程间共享。省略的 provider 无限制。", "type": "record", "default": {}, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "providerLimits", "mechanics": "使用同一配置根的本地 OMP 进程间共享的每 provider 并发上限。省略的 provider 无限制。", "impacts": ["cost", "reliability", "performance"], "guidance": {"level": "change", "value": "2–4 per provider", "why": "默认为无限制。与 32 个子代理叠加可能引发 429 风暴和费用激增。"}, "shown": {"default": {"row": 4, "value": "Unlimited"}, "expanded": {"row": 4, "value": "Unlimited"}}}, {"path": "providers.openai-codex.codeMode", "tab": "providers", "group": "服务", "label": "Codex 代码模式", "description": "将 Codex 的 code_mode_only 模型（GPT-5.6）经 eval 工具路由为编程式执行面：直接工具面收缩为 eval/ask/todo，其他所有会话工具均从 eval 单元格调用。对应 codex-rs 的 Code Mode。'auto' 遵循模型目录标志。", "type": "enum", "default": "off", "values": ["off", "on", "auto"], "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "enum", "mechanics": "对于 Codex 代码模式模型，将大多数直接工具折叠进 eval 桥接，仅保留 eval、ask 与 todo。Auto 遵循模型目录能力元数据。", "impacts": ["compatibility", "reliability", "context"], "guidance": null, "shown": {"default": {"row": 5, "value": "off"}, "expanded": {"row": 5, "value": "off"}}}, {"path": "providers.webSearchOrder", "tab": "providers", "group": "服务", "label": "Web 搜索提供方顺序", "description": "web_search 工具的优先提供方；未列出的提供方随后保持默认顺序", "type": "array", "default": [], "values": null, "options": [{"value": "perplexity", "label": "Perplexity", "description": "配置后使用身份验证；显式选择时回退到匿名搜索"}, {"value": "gemini", "label": "Gemini", "description": "通过 Gemini 进行 Google 搜索接地（使用 google-gemini-cli 或 google-antigravity 的 OAuth）"}, {"value": "anthropic", "label": "Anthropic", "description": "Claude 的原生 web_search 工具（使用 Anthropic OAuth 或 ANTHROPIC_API_KEY）"}, {"value": "codex", "label": "OpenAI", "description": "OpenAI 的原生 web_search（通过 /login openai-codex 使用 ChatGPT OAuth）"}, {"value": "xai", "label": "xAI", "description": "通过 xAI Responses API 的 Grok 网页搜索（通过 /login xai-oauth 使用 SuperGrok/X Premium+ OAuth，或 XAI_API_KEY）"}, {"value": "zai", "label": "Z.AI", "description": "调用 Z.AI 的 webSearchPrime MCP"}, {"value": "exa", "label": "Exa", "description": "通过 /login exa 或 EXA_API_KEY 的 API；显式无密钥时经 MCP 回退"}, {"value": "tinyfish", "label": "TinyFish", "description": "需要 TINYFISH_API_KEY"}, {"value": "jina", "label": "Jina", "description": "需要 JINA_API_KEY"}, {"value": "kagi", "label": "Kagi", "description": "需要 KAGI_API_KEY 及 Kagi Search API 测试版访问权限"}, {"value": "tavily", "label": "Tavily", "description": "需要 TAVILY_API_KEY"}, {"value": "firecrawl", "label": "Firecrawl", "description": "设置 FIRECRAWL_API_KEY 时使用 Firecrawl API；否则回退到无密钥模式"}, {"value": "brave", "label": "Brave", "description": "需要 BRAVE_API_KEY"}, {"value": "kimi", "label": "Kimi", "description": "Kimi Code 搜索（需通过 KIMI_SEARCH_API_KEY/MOONSHOT_SEARCH_API_KEY 或 /login kimi-code 提供 Kimi Code 控制台密钥；不是 MOONSHOT_API_KEY）"}, {"value": "parallel", "label": "Parallel", "description": "需要 PARALLEL_API_KEY"}, {"value": "synthetic", "label": "Synthetic", "description": "需要 SYNTHETIC_API_KEY"}, {"value": "searxng", "label": "SearXNG", "description": "需要 SEARXNG_ENDPOINT 或 searxng.endpoint"}, {"value": "startpage", "label": "Startpage", "description": "免凭据抓取 Startpage（Google 支持）结果；可能触发反机器人验证"}, {"value": "duckduckgo", "label": "DuckDuckGo", "description": "免凭据的尽力备用方案；数据中心/共享出口 IP 上可能触发反机器人验证"}, {"value": "ecosia", "label": "Ecosia", "description": "免凭据、浏览器驱动的 Ecosia（Google 支持）结果抓取"}, {"value": "google", "label": "Google", "description": "免凭据、浏览器驱动的备用方案；较慢且可能触发反机器人验证"}, {"value": "mojeek", "label": "Mojeek", "description": "免凭据、浏览器驱动的 Mojeek 独立索引抓取"}, {"value": "public", "label": "公共网络", "description": "并行查询所有免凭据引擎并合并去重结果"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": true, "widget": "multiselect", "mechanics": "web-search 后端的排序优先级列表。留空则使用内置发现/优先级。", "impacts": ["reliability", "privacy"], "guidance": null, "shown": {"default": {"row": 6, "value": "default"}, "expanded": {"row": 6, "value": "default"}}}, {"path": "providers.webSearchExclude", "tab": "providers", "group": "服务", "label": "排除的网络搜索提供商", "description": "web_search 绝不使用的提供商，即使作为备用也不使用", "type": "array", "default": [], "values": null, "options": [{"value": "perplexity", "label": "Perplexity", "description": "配置后使用身份验证；显式选择时回退到匿名搜索"}, {"value": "gemini", "label": "Gemini", "description": "通过 Gemini 进行 Google 搜索接地（使用 google-gemini-cli 或 google-antigravity 的 OAuth）"}, {"value": "anthropic", "label": "Anthropic", "description": "Claude 的原生 web_search 工具（使用 Anthropic OAuth 或 ANTHROPIC_API_KEY）"}, {"value": "codex", "label": "OpenAI", "description": "OpenAI 的原生 web_search（通过 /login openai-codex 使用 ChatGPT OAuth）"}, {"value": "xai", "label": "xAI", "description": "通过 xAI Responses API 的 Grok 网页搜索（通过 /login xai-oauth 使用 SuperGrok/X Premium+ OAuth，或 XAI_API_KEY）"}, {"value": "zai", "label": "Z.AI", "description": "调用 Z.AI 的 webSearchPrime MCP"}, {"value": "exa", "label": "Exa", "description": "通过 /login exa 或 EXA_API_KEY 的 API；显式无密钥时经 MCP 回退"}, {"value": "tinyfish", "label": "TinyFish", "description": "需要 TINYFISH_API_KEY"}, {"value": "jina", "label": "Jina", "description": "需要 JINA_API_KEY"}, {"value": "kagi", "label": "Kagi", "description": "需要 KAGI_API_KEY 及 Kagi Search API 测试版访问权限"}, {"value": "tavily", "label": "Tavily", "description": "需要 TAVILY_API_KEY"}, {"value": "firecrawl", "label": "Firecrawl", "description": "设置 FIRECRAWL_API_KEY 时使用 Firecrawl API；否则回退到无密钥模式"}, {"value": "brave", "label": "Brave", "description": "需要 BRAVE_API_KEY"}, {"value": "kimi", "label": "Kimi", "description": "Kimi Code 搜索（需通过 KIMI_SEARCH_API_KEY/MOONSHOT_SEARCH_API_KEY 或 /login kimi-code 提供 Kimi Code 控制台密钥；不是 MOONSHOT_API_KEY）"}, {"value": "parallel", "label": "Parallel", "description": "需要 PARALLEL_API_KEY"}, {"value": "synthetic", "label": "Synthetic", "description": "需要 SYNTHETIC_API_KEY"}, {"value": "searxng", "label": "SearXNG", "description": "需要 SEARXNG_ENDPOINT 或 searxng.endpoint"}, {"value": "startpage", "label": "Startpage", "description": "免凭据抓取 Startpage（Google 支持）结果；可能触发反机器人验证"}, {"value": "duckduckgo", "label": "DuckDuckGo", "description": "免凭据的尽力备用方案；数据中心/共享出口 IP 上可能触发反机器人验证"}, {"value": "ecosia", "label": "Ecosia", "description": "免凭据、浏览器驱动的 Ecosia（Google 支持）结果抓取"}, {"value": "google", "label": "Google", "description": "免凭据、浏览器驱动的备用方案；较慢且可能触发反机器人验证"}, {"value": "mojeek", "label": "Mojeek", "description": "免凭据、浏览器驱动的 Mojeek 独立索引抓取"}, {"value": "public", "label": "公共网络", "description": "并行查询所有免凭据引擎并合并去重结果"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "multiselect", "mechanics": "网络搜索不得使用的提供商 ID。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 7, "value": "none"}, "expanded": {"row": 7, "value": "none"}}}, {"path": "providers.webSearchTimeoutSeconds", "tab": "providers", "group": "服务", "label": "网络搜索超时", "description": "每个提供商搜索传输的硬性超时（秒），超时后 web_search 才会进入下一个备用方案（最大 300）", "type": "number", "default": 60, "values": null, "options": [{"value": "30", "label": "30 秒", "description": null}, {"value": "60", "label": "1 分钟", "description": null}, {"value": "120", "label": "2 分钟", "description": null}, {"value": "180", "label": "3 分钟", "description": null}, {"value": "300", "label": "5 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "网络搜索提供商调用的超时时间。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 8, "value": "60"}, "expanded": {"row": 8, "value": "60"}}}, {"path": "providers.webSearchGeminiModel", "tab": "providers", "group": "服务", "label": "Gemini web_search 模型", "description": "Gemini Google Search grounding 的模型 ID。默认为 gemini-2.5-flash。", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "Gemini 网络搜索路径使用的显式 Gemini 模型。", "impacts": ["cost", "quality"], "guidance": null, "shown": {"default": {"row": 9, "value": ""}, "expanded": {"row": 9, "value": ""}}}, {"path": "providers.antigravityEndpoint", "tab": "providers", "group": "服务", "label": "Antigravity 端点模式", "description": "google-antigravity 提供商的端点路由策略（chat、search、image、discovery）", "type": "enum", "default": "auto", "values": ["auto", "production", "sandbox"], "options": [{"value": "auto", "label": "Auto", "description": "尝试生产端点，遇 5xx/429 故障转移到沙盒"}, {"value": "production", "label": "仅生产", "description": "仅强制生产端点"}, {"value": "sandbox", "label": "仅沙盒", "description": "仅强制沙盒端点"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "为 Antigravity 提供商选择生产端点或沙盒端点。", "impacts": ["reliability", "privacy"], "guidance": null, "shown": {"default": {"row": 10, "value": "auto"}, "expanded": {"row": 10, "value": "auto"}}}, {"path": "providers.imageOrder", "tab": "providers", "group": "服务", "label": "图像提供商顺序", "description": "图像生成优先使用的提供商；未列出的提供商遵循当前会话提供商与内置顺序", "type": "array", "default": [], "values": null, "options": [{"value": "openai", "label": "OpenAI", "description": "OPENAI_API_KEY（gpt-image-2）或当前 GPT 模型；否则回退到已连接的 Codex 订阅"}, {"value": "openai-codex", "label": "OpenAI Codex（ChatGPT）", "description": "使用已连接的 Codex / ChatGPT 订阅——无需 OPENAI_API_KEY"}, {"value": "antigravity", "label": "Antigravity", "description": "需要 google-antigravity OAuth"}, {"value": "xai", "label": "xAI Grok Imagine", "description": "需要 xAI Grok OAuth 或 XAI_API_KEY"}, {"value": "gemini", "label": "Gemini", "description": "需要 GEMINI_API_KEY"}, {"value": "openrouter", "label": "OpenRouter", "description": "需要 OPENROUTER_API_KEY"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": true, "widget": "multiselect", "mechanics": "图像生成/检查提供商的排序优先级列表。", "impacts": ["cost", "privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 11, "value": "default"}, "expanded": {"row": 11, "value": "default"}}}, {"path": "live.voice", "tab": "providers", "group": "服务", "label": "实时语音", "description": "由 Codex 支撑的实时语音会话使用的语音", "type": "enum", "default": "sol", "values": ["arbor", "breeze", "cove", "ember", "juniper", "maple", "sol", "spruce", "vale"], "options": [{"value": "arbor", "label": "Arbor", "description": null}, {"value": "breeze", "label": "Breeze", "description": null}, {"value": "cove", "label": "Cove", "description": null}, {"value": "ember", "label": "Ember", "description": null}, {"value": "juniper", "label": "Juniper", "description": null}, {"value": "maple", "label": "Maple", "description": null}, {"value": "sol", "label": "Sol", "description": null}, {"value": "spruce", "label": "Spruce", "description": null}, {"value": "vale", "label": "Vale", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "实时语音模式使用的语音。", "impacts": ["ergonomics", "privacy"], "guidance": null, "shown": {"default": {"row": 12, "value": "sol"}, "expanded": {"row": 12, "value": "sol"}}}, {"path": "providers.tts", "tab": "providers", "group": "服务", "label": "文本转语音提供商", "description": "tts 工具的后端：本地设备端神经 TTS（Kokoro-82M）或 xAI Grok Voice", "type": "enum", "default": "auto", "values": ["auto", "local", "xai"], "options": [{"value": "auto", "label": "Auto", "description": "优先使用本地设备端 TTS；存在凭据时将 .mp3 输出路由到 xAI"}, {"value": "local", "label": "本地", "description": "设备端神经 TTS（Kokoro-82M）；输出为 WAV/PCM16"}, {"value": "xai", "label": "xAI Grok Voice", "description": "需要 xAI Grok OAuth 或 XAI_API_KEY；MP3 或 WAV"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择自动、本地或 xAI 语音合成。", "impacts": ["privacy", "cost", "latency"], "guidance": null, "shown": {"default": {"row": 13, "value": "auto"}, "expanded": {"row": 13, "value": "auto"}}}, {"path": "tts.localModel", "tab": "providers", "group": "服务", "label": "本地 TTS 模型", "description": "本地 TTS 后端使用的设备端神经 TTS 模型（Kokoro-82M）", "type": "enum", "default": "kokoro", "values": ["kokoro"], "options": [{"value": "kokoro", "label": "Kokoro-82M", "description": "Kokoro-82M 神经 TTS——SoTA 设备端质量、多语音、完全本地"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "本地文本转语音模型包。", "impacts": ["storage", "performance", "quality"], "guidance": null, "shown": {"default": {"row": 14, "value": "kokoro"}, "expanded": {"row": 14, "value": "kokoro"}}}, {"path": "tts.localVoice", "tab": "providers", "group": "服务", "label": "本地 TTS 语音", "description": "本地 TTS 后端使用的 Kokoro 语音（美式/英式，女声/男声）", "type": "enum", "default": "af_heart", "values": ["af_heart", "af_bella", "af_nicole", "af_aoede", "af_kore", "af_sarah", "am_michael", "am_fenrir", "am_puck", "bf_emma", "bm_george", "bm_fable"], "options": [{"value": "af_heart", "label": "Heart（美式女声）", "description": null}, {"value": "af_bella", "label": "Bella（美式女声）", "description": null}, {"value": "af_nicole", "label": "Nicole（美式女声）", "description": null}, {"value": "af_aoede", "label": "Aoede（美国女声）", "description": null}, {"value": "af_kore", "label": "Kore（美国女声）", "description": null}, {"value": "af_sarah", "label": "Sarah（美国女声）", "description": null}, {"value": "am_michael", "label": "Michael（美国男声）", "description": null}, {"value": "am_fenrir", "label": "Fenrir（美国男声）", "description": null}, {"value": "am_puck", "label": "Puck（美国男声）", "description": null}, {"value": "bf_emma", "label": "Emma（英国女声）", "description": null}, {"value": "bm_george", "label": "George（英国男声）", "description": null}, {"value": "bm_fable", "label": "Fable（英国男声）", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "本地 TTS 模型的语音预设。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 15, "value": "af_heart"}, "expanded": {"row": 15, "value": "af_heart"}}}, {"path": "speech.enabled", "tab": "providers", "group": "服务", "label": "语音朗读", "description": "通过扬声器流式朗读助手的输出", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "朗读符合条件的助手输出。", "impacts": ["privacy", "ergonomics"], "guidance": null, "shown": {"default": {"row": 16, "value": "false"}, "expanded": {"row": 16, "value": "false"}}}, {"path": "speech.mode", "tab": "providers", "group": "服务", "label": "语音朗读模式", "description": "朗读内容：all = 助手消息 + 思考；assistant = 仅消息；yield = 仅回合结束时的最终消息", "type": "enum", "default": "assistant", "values": ["all", "assistant", "yield"], "options": [{"value": "all", "label": "全部（消息 + 思考）", "description": null}, {"value": "assistant", "label": "助手消息", "description": null}, {"value": "yield", "label": "仅最终消息", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "选择要朗读的输出：全部、助手文本，或仅明确的 yield/最终输出。", "impacts": ["privacy", "ergonomics"], "guidance": null, "shown": {"default": {"row": 17, "value": "assistant"}, "expanded": {"row": 17, "value": "assistant"}}}, {"path": "speech.enhanced", "tab": "providers", "group": "服务", "label": "增强语音改写", "description": "合成前用 tiny/smol 模型将助手输出改写成自然口语（描述代码、去除链接和 markdown）。失败时回退为机械清理", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "可用时使用更强大/更重的语音路径。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"default": {"row": 18, "value": "false"}, "expanded": {"row": 18, "value": "false"}}}, {"path": "speech.voice", "tab": "providers", "group": "服务", "label": "语音朗读音色", "description": "朗读助手输出时使用的 Kokoro 音色", "type": "enum", "default": "af_heart", "values": ["af_heart", "af_bella", "af_nicole", "af_aoede", "af_kore", "af_sarah", "am_michael", "am_fenrir", "am_puck", "bf_emma", "bm_george", "bm_fable"], "options": [{"value": "af_heart", "label": "Heart（美式女声）", "description": null}, {"value": "af_bella", "label": "Bella（美式女声）", "description": null}, {"value": "af_nicole", "label": "Nicole（美式女声）", "description": null}, {"value": "af_aoede", "label": "Aoede（美国女声）", "description": null}, {"value": "af_kore", "label": "Kore（美国女声）", "description": null}, {"value": "af_sarah", "label": "Sarah（美国女声）", "description": null}, {"value": "am_michael", "label": "Michael（美国男声）", "description": null}, {"value": "am_fenrir", "label": "Fenrir（美国男声）", "description": null}, {"value": "am_puck", "label": "Puck（美国男声）", "description": null}, {"value": "bf_emma", "label": "Emma（英国女声）", "description": null}, {"value": "bm_george", "label": "George（英国男声）", "description": null}, {"value": "bm_fable", "label": "Fable（英国男声）", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "用于语音回复的音色。", "impacts": ["ergonomics"], "guidance": null, "shown": {"default": {"row": 19, "value": "af_heart"}, "expanded": {"row": 19, "value": "af_heart"}}}, {"path": "providers.fetch", "tab": "providers", "group": "服务", "label": "获取提供方", "description": "fetch/read URL 工具的阅读器后端优先级", "type": "enum", "default": "auto", "values": ["auto", "native", "trafilatura", "lynx", "parallel", "jina"], "options": [{"value": "auto", "label": "Auto", "description": "优先级：native > trafilatura > lynx > parallel > jina"}, {"value": "native", "label": "原生", "description": "进程内 HTML→Markdown 转换器（始终可用）"}, {"value": "trafilatura", "label": "Trafilatura", "description": "通过 uv/pip 自动安装"}, {"value": "lynx", "label": "Lynx", "description": "需要 lynx 系统包"}, {"value": "parallel", "label": "Parallel", "description": "需要 PARALLEL_API_KEY"}, {"value": "jina", "label": "Jina", "description": "使用 r.jina.ai 阅读器（JINA_API_KEY 可选）"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "URL 获取的阅读器后端优先级：native、Trafilatura、Lynx、Parallel 或 Jina。", "impacts": ["privacy", "reliability", "latency"], "guidance": null, "shown": {"default": {"row": 20, "value": "auto"}, "expanded": {"row": 20, "value": "auto"}}}, {"path": "codexResets.autoRedeem", "tab": "providers", "group": "服务", "label": "Codex 自动兑现已保存的重置", "description": "自动花费已保存的 Codex 速率限制重置：当回合卡住且没有其他账户可接管时，恢复因 5 小时或每周窗口耗尽而被封锁的账户，并挽救即将过期的积分。unset 在首次花费前询问，yes 不提示直接花费，no 禁用这两项检查。", "type": "enum", "default": "unset", "values": ["unset", "yes", "no"], "options": [{"value": "unset", "label": "未设置", "description": "先检查资格，然后在花费首次保存的重置前询问。"}, {"value": "yes", "label": "是", "description": "无需提示即使用符合条件的已保存重置。"}, {"value": "no", "label": "否", "description": "不执行已保存重置的自动兑换检查。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制是否自动花费已保存的 Codex 速率限制重置。unset 在首次花费前询问；yes 自动花费；no 禁用。", "impacts": ["cost", "automation", "safety"], "guidance": null, "shown": {"default": {"row": 21, "value": "unset"}, "expanded": {"row": 21, "value": "unset"}}}, {"path": "exa.enabled", "tab": "providers", "group": "服务", "label": "Exa", "description": "启用 Exa 网页搜索提供商", "type": "boolean", "default": true, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "启用 Exa 网页搜索提供商。", "impacts": ["privacy", "cost", "reliability"], "guidance": null, "shown": {"default": {"row": 22, "value": "true"}, "expanded": {"row": 22, "value": "true"}}}, {"path": "searxng.endpoint", "tab": "providers", "group": "服务", "label": "SearXNG 端点", "description": "用于网页搜索的自托管 SearXNG 实例的基础 URL", "type": "string", "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "text", "mechanics": "自托管 SearXNG 实例的基础 URL。", "impacts": ["privacy", "reliability"], "guidance": null, "shown": {"default": {"row": 23, "value": ""}, "expanded": {"row": 23, "value": ""}}}, {"path": "providers.openai-codex.codeModeDirectTools", "tab": "providers", "group": "服务", "label": "Codex 代码模式直连工具", "description": "在 Codex 代码模式激活时，与 eval/ask/todo 并列、保留为可直接调用的额外工具名称。", "type": "array", "default": [], "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "在 Codex 代码模式激活期间仍可直接调用的其他工具名称。", "impacts": ["compatibility", "context", "safety"], "guidance": null, "shown": {}}, {"path": "providers.ollama-cloud.maxConcurrency", "tab": "providers", "group": "服务", "label": "Ollama Cloud 最大并发数", "description": "每个进程内 Ollama Cloud 子代理的最大并发运行数；0 表示禁用该提供商的特定限制", "type": "number", "default": 3, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "向 Ollama Cloud 提供商发出的最大同时请求数。", "impacts": ["reliability", "performance"], "guidance": null, "shown": {}}, {"path": "codexResets.minBlockedMinutes", "tab": "providers", "group": "服务", "label": "Codex 自动兑换最小阻塞", "description": "仅当自然解锁（已耗尽的 5 小时/每周窗口中的最近一次重置）至少还有这么多分钟时才自动兑换（不要为省下短暂等待而花掉稀缺额度）。调高（如 360）可忽略仅 5 小时的阻塞。", "type": "number", "default": 60, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "要求自然解锁至少还有这么多分钟，才使用已保存的重置。", "impacts": ["cost", "automation"], "guidance": null, "shown": {}}, {"path": "codexResets.keepCredits", "tab": "providers", "group": "服务", "label": "Codex 自动兑换保留数", "description": "自动支出不得低于这么多已保存重置（0 = 最后一个额度可自动使用）。临近过期的额度除外——保留的额度一旦过期便毫无保留意义。", "type": "number", "default": 0, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "自动兑换应保留的已保存重置数量（临近过期的额度除外）。", "impacts": ["cost", "automation"], "guidance": {"level": "consider", "value": "1 if saved resets are scarce", "why": "保留一个应急重置，不让自动化花掉最后一个额度。"}, "shown": {}}, {"path": "codexResets.salvageHorizonHours", "tab": "providers", "group": "服务", "label": "Codex 重置抢救时限", "description": "当已保存的 Codex 重置将在这么多小时内过期、且任一聊天窗口（5 小时或每周）有值得恢复的使用量时自动使用它（0 禁用到期抢救）。", "type": "number", "default": 12, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "当使用窗口可有效恢复时，自动抢救将在这么多小时内过期的已保存重置。", "impacts": ["cost", "automation"], "guidance": null, "shown": {}}, {"path": "exa.searchDelayMs", "tab": "providers", "group": "服务", "label": "Exa 搜索延迟", "description": "Exa 网页搜索请求之间的最小延迟（毫秒）；设为 0 可禁用限速", "type": "number", "default": 1000, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": null, "mechanics": "Exa 搜索请求之间的最小限速延迟。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {}}, {"path": "providers.fireworksTier", "tab": "providers", "group": "Fireworks", "label": "Fireworks 服务层级", "description": "Fireworks 请求的服务路径。Priority 会发送 `service_tier: \"priority\"`，在高峰流量下可靠性更高但价格更贵；Standard 则省略该字段。Fast（`-fast`）模型忽略此项——Fast 有自己的服务路径。", "type": "enum", "default": "standard", "values": ["standard", "priority"], "options": [{"value": "standard", "label": "Standard", "description": "默认服务路径（不带 service_tier）"}, {"value": "priority", "label": "Priority", "description": "Priority 服务路径：可靠性更高，按 token 溢价计费"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "为 Fireworks 选择 standard 或 priority 请求路由。", "impacts": ["cost", "latency"], "guidance": null, "shown": {"default": {"row": 25, "value": "standard"}, "expanded": {"row": 25, "value": "standard"}}}, {"path": "providers.tinyModel", "tab": "providers", "group": "微型模型", "label": "微型模型", "description": "会话标题模型：默认在线（/models 中的 TINY 角色，否则 @smol），或本地设备端模型", "type": "enum", "default": "online", "values": ["online", "lfm2-350m", "qwen3-0.6b", "gemma-270m", "qwen2.5-0.5b", "lfm2-700m"], "options": [{"value": "online", "label": "在线（TINY 角色，否则为 @smol）", "description": "在线标题生成：若已分配 TINY 模型角色（在 /models 中设置）则使用它，否则使用在线后备（commit 角色，然后 @smol）。无需本地下载或设备端推理。"}, {"value": "lfm2-350m", "label": "LFM2 350M", "description": "推荐的本地模型；速度与质量均衡最佳，缓存约 212 MB。"}, {"value": "qwen3-0.6b", "label": "Qwen3 0.6B", "description": "最稳健的本地选项；首次加载较慢，缓存约 500 MB。"}, {"value": "gemma-270m", "label": "Gemma 270M", "description": "最小的可用本地选项；质量较低，缓存占用最低。"}, {"value": "qwen2.5-0.5b", "label": "Qwen2.5 0.5B", "description": "均衡的本地回退方案；质量与缓存占用适中。"}, {"value": "lfm2-700m", "label": "LFM2 700M", "description": "质量最高的本地选项；比 LFM2 350M 更大更慢。"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "用于分类/标题/记忆等轻量级 OMP 功能的小模型。", "impacts": ["cost", "latency", "privacy"], "guidance": null, "shown": {"default": {"row": 27, "value": "online"}, "expanded": {"row": 27, "value": "online"}}}, {"path": "providers.tinyModelDevice", "tab": "providers", "group": "微型模型", "label": "微型模型设备", "description": "本地微型模型（标题 + 记忆）使用的 ONNX 执行提供程序。默认使用纯 CPU 推理。PI_TINY_DEVICE 环境变量可覆盖此设置。", "type": "enum", "default": "default", "values": ["default", "gpu", "cpu", "metal", "webgpu", "cuda", "dml", "coreml", "auto", "wasm", "webnn", "webnn-gpu", "webnn-cpu", "webnn-npu"], "options": [{"value": "default", "label": "默认", "description": "仅 CPU 推理"}, {"value": "gpu", "label": "GPU", "description": "加速提供程序（WebGPU/Metal、CUDA 或 DirectML）"}, {"value": "cpu", "label": "CPU", "description": "仅 CPU 推理"}, {"value": "metal", "label": "Metal", "description": "Apple GPU 的 WebGPU 别名"}, {"value": "webgpu", "label": "WebGPU", "description": "WebGPU/Metal 后端"}, {"value": "cuda", "label": "CUDA", "description": "NVIDIA CUDA（Linux x64）"}, {"value": "dml", "label": "DirectML", "description": "DirectML 后端（Windows）"}, {"value": "coreml", "label": "CoreML", "description": "Apple CoreML（可选；可能加载失败）"}, {"value": "auto", "label": "Auto", "description": "让 ONNX Runtime 自动选择提供程序"}, {"value": "wasm", "label": "WASM", "description": "WebAssembly 后端"}, {"value": "webnn", "label": "WebNN", "description": "WebNN 后端"}, {"value": "webnn-gpu", "label": "WebNN GPU", "description": "WebNN GPU 设备"}, {"value": "webnn-cpu", "label": "WebNN CPU", "description": "WebNN CPU 设备"}, {"value": "webnn-npu", "label": "WebNN NPU", "description": "WebNN NPU 设备"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "本地微型模型使用的 ONNX 执行提供程序/设备。环境变量 PI_TINY_DEVICE 可覆盖此设置。", "impacts": ["performance", "compatibility"], "guidance": null, "shown": {"default": {"row": 28, "value": "default"}, "expanded": {"row": 28, "value": "default"}}}, {"path": "providers.tinyModelDtype", "tab": "providers", "group": "微型模型", "label": "微型模型精度", "description": "本地微型模型的 ONNX 量化/精度。默认使用各模型自带的 dtype（q4）；精度越低速度越快，精度越高还原度越好。PI_TINY_DTYPE 环境变量可覆盖此设置。", "type": "enum", "default": "default", "values": ["default", "q4", "q4f16", "q8", "fp16", "fp32", "int8", "uint8", "bnb4", "q2", "q2f16", "q1", "q1f16", "auto"], "options": [{"value": "default", "label": "默认", "description": "各模型自带的 dtype（当前为 q4）"}, {"value": "q4", "label": "q4", "description": "4 位权重；最小且最快"}, {"value": "q4f16", "label": "q4f16", "description": "4 位权重搭配 fp16 激活"}, {"value": "q8", "label": "q8", "description": "8 位量化"}, {"value": "fp16", "label": "fp16", "description": "16 位浮点；保真度更高，体积更大"}, {"value": "fp32", "label": "fp32", "description": "全精度；最大且最慢"}, {"value": "int8", "label": "int8", "description": "有符号 8 位整数"}, {"value": "uint8", "label": "uint8", "description": "无符号 8 位整数"}, {"value": "bnb4", "label": "bnb4", "description": "bitsandbytes 4 位"}, {"value": "q2", "label": "q2", "description": "2 位权重"}, {"value": "q2f16", "label": "q2f16", "description": "2 位权重，fp16 激活"}, {"value": "q1", "label": "q1", "description": "1 位权重"}, {"value": "q1f16", "label": "q1f16", "description": "1 位权重，fp16 激活"}, {"value": "auto", "label": "Auto", "description": "让 transformers.js 按设备选择"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "本地微型模型使用的 ONNX 数值精度/量化。环境变量 PI_TINY_DTYPE 可覆盖此设置。", "impacts": ["performance", "quality", "storage"], "guidance": null, "shown": {"default": {"row": 29, "value": "default"}, "expanded": {"row": 29, "value": "default"}}}, {"path": "providers.unexpectedStopModel", "tab": "providers", "group": "微型模型", "label": "意外停止模型", "description": "用于智能意外停止检测的分类器：默认在线（来自 /models 的 TINY 角色，否则为 smol），或本地设备端模型。", "type": "enum", "default": "online", "values": ["online", "qwen3-1.7b", "llama3.2:3b", "gemma-3-1b", "qwen2.5-1.5b", "lfm2-1.2b"], "options": [{"value": "online", "label": "在线（TINY 角色，否则为 @smol）", "description": "使用在线模型：设置后采用 /models 中的 TINY 角色，否则使用 @smol。不下载本地模型，也不做设备端推理。"}, {"value": "qwen3-1.7b", "label": "Qwen3 1.7B", "description": "本地推理已禁用：onnxruntime-node 无法运行此 ONNX 导出的 RotaryEmbedding 缓存更新。"}, {"value": "llama3.2:3b", "label": "Llama 3.2 3B", "description": "面向本地记忆/分类器任务的更大 Llama 3.2 选项；质量潜力更高，但磁盘/内存/延迟成本也更高。"}, {"value": "gemma-3-1b", "label": "Gemma 3 1B", "description": "最佳合并/去重；占用更小，但提取时会泄露闲聊内容。"}, {"value": "qwen2.5-1.5b", "label": "Qwen2.5 1.5B", "description": "最佳提取粒度（原子事实）；合并能力较弱。"}, {"value": "lfm2-1.2b", "label": "LFM2 1.2B", "description": "加载最快；均衡全面，但提取标签略为嘈杂。"}], "runtimeOptions": false, "secret": false, "condition": "unexpectedStopSmart", "warning": null, "ordered": false, "widget": "submenu", "mechanics": "该分类器仅由智能意外停止使用；机械模式不会调用此模型。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"expanded": {"row": 30, "value": "online"}}}, {"path": "providers.kimiApiFormat", "tab": "providers", "group": "协议", "label": "Kimi API 格式", "description": "Kimi Code 提供商的 API 格式（auto 跟随实时模型元数据）", "type": "enum", "default": "auto", "values": ["auto", "openai", "anthropic"], "options": [{"value": "auto", "label": "Auto", "description": "使用模型服务端声明的协议"}, {"value": "openai", "label": "OpenAI", "description": "api.kimi.com"}, {"value": "anthropic", "label": "Anthropic", "description": "api.moonshot.ai"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "为 Kimi 端点选择 OpenAI 或 Anthropic 兼容的请求格式。", "impacts": ["compatibility", "reliability"], "guidance": null, "shown": {"default": {"row": 31, "value": "auto"}, "expanded": {"row": 32, "value": "auto"}}}, {"path": "providers.openaiWebsockets", "tab": "providers", "group": "协议", "label": "OpenAI WebSocket", "description": "OpenAI Codex 模型的 WebSocket 策略（auto 使用模型默认值，on 强制启用，off 禁用）", "type": "enum", "default": "auto", "values": ["auto", "off", "on"], "options": [{"value": "auto", "label": "Auto", "description": "使用模型/提供商的默认 WebSocket 行为"}, {"value": "off", "label": "关闭", "description": "为 OpenAI Codex 模型禁用 WebSocket"}, {"value": "on", "label": "开启", "description": "为 OpenAI Codex 模型强制启用 WebSocket"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "控制兼容 OpenAI 端点的 WebSocket 流式传输/传输方式。auto 跟随提供商能力。", "impacts": ["latency", "compatibility"], "guidance": null, "shown": {"default": {"row": 32, "value": "auto"}, "expanded": {"row": 33, "value": "auto"}}}, {"path": "providers.cacheRetention", "tab": "providers", "group": "协议", "label": "提示词缓存保留", "description": "转发给支持该功能的提供商的提示词缓存保留策略（Anthropic、Bedrock、OpenRouter、OpenAI）", "type": "enum", "default": "auto", "values": ["auto", "short", "long", "none"], "options": [{"value": "auto", "label": "Auto", "description": "提供商默认 — Anthropic 使用 5 分钟条目，通过空闲 keep-alive 刷新保持温热；PI_CACHE_RETENTION 仍然生效"}, {"value": "short", "label": "短（5 分钟）", "description": "最便宜的缓存写入；Anthropic 在空闲时通过有界 keep-alive 刷新保持条目温热"}, {"value": "long", "label": "长（1 小时）", "description": "提供商支持时使用 1 小时 TTL；写入更贵，无 keep-alive 刷新请求"}, {"value": "none", "label": "关闭", "description": "禁用提示词缓存和缓存亲和路由"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "向兼容的提供商转发提示词缓存保留策略。长保留期写入成本更高；none 会禁用缓存使用和亲和路由。", "impacts": ["cost", "latency", "privacy"], "guidance": {"level": "keep", "value": "auto", "why": "感知提供商的默认设置可在保留缓存收益的同时，避免强制承担长保留期更高的写入成本。"}, "shown": {"default": {"row": 33, "value": "auto"}, "expanded": {"row": 34, "value": "auto"}}}, {"path": "providers.openrouterVariant", "tab": "providers", "group": "协议", "label": "OpenRouter 路由", "description": "附加到 OpenRouter 模型 ID 的默认路由变体后缀（选择器已指定变体时将被覆盖）", "type": "enum", "default": "default", "values": ["default", "nitro", "floor", "online", "exacto"], "options": [{"value": "default", "label": "默认", "description": "无后缀；使用 OpenRouter 的默认路由"}, {"value": "nitro", "label": ":nitro", "description": "优先考虑吞吐量 / 最低延迟"}, {"value": "floor", "label": ":floor", "description": "优先选择最便宜的可用提供商"}, {"value": "online", "label": ":online", "description": "启用 OpenRouter 的网页搜索插件"}, {"value": "exacto", "label": ":exacto", "description": "精选高质量提供商（仅为特定模型定义）"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "当所选 OpenRouter 模型 ID 未指定路由后缀时，附加默认路由后缀。", "impacts": ["cost", "latency", "quality"], "guidance": null, "shown": {"default": {"row": 34, "value": "default"}, "expanded": {"row": 35, "value": "default"}}}, {"path": "provider.appendOnlyContext", "tab": "providers", "group": "协议", "label": "只追加上下文", "description": "缓存系统提示词与工具规格，并保持只追加的消息日志，使提供商前缀缓存（DeepSeek、Xiaomi/SGLang、Anthropic）以最高命中率生效。自动为已知前缀缓存提供商启用。", "type": "enum", "default": "auto", "values": ["auto", "on", "off"], "options": [{"value": "auto", "label": "Auto", "description": "为已知前缀缓存提供商启用（推荐）"}, {"value": "on", "label": "开启", "description": "始终启用只追加上下文"}, {"value": "off", "label": "关闭", "description": "禁用只追加上下文"}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "保持系统/工具前缀稳定并追加消息，使提供商前缀缓存更稳定地命中。自动为已知前缀缓存提供商启用。", "impacts": ["cost", "latency", "context"], "guidance": null, "shown": {"default": {"row": 35, "value": "auto"}, "expanded": {"row": 36, "value": "auto"}}}, {"path": "providers.streamFirstEventTimeoutSeconds", "tab": "providers", "group": "超时", "label": "流式首事件超时", "description": "等待模型首个流式事件的秒数；-1 使用提供商/环境默认值，0 禁用看门狗", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "Auto", "description": "使用提供商默认值和 PI_* 超时环境变量"}, {"value": "0", "label": "关闭", "description": "禁用首事件超时"}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "600", "label": "10 分钟", "description": null}, {"value": "1800", "label": "30 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "等待提供商首个流式事件的最长时间；-1 使用提供商/环境默认值，0 禁用看门狗。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 37, "value": "-1"}, "expanded": {"row": 38, "value": "-1"}}}, {"path": "providers.streamIdleTimeoutSeconds", "tab": "providers", "group": "超时", "label": "流式空闲超时", "description": "模型流在事件之间允许静默的秒数；-1 使用提供商/环境默认值，0 禁用看门狗", "type": "number", "default": -1, "values": null, "options": [{"value": "-1", "label": "Auto", "description": "使用提供商默认值和 PI_* 超时环境变量"}, {"value": "0", "label": "关闭", "description": "禁用空闲超时"}, {"value": "300", "label": "5 分钟", "description": null}, {"value": "600", "label": "10 分钟", "description": null}, {"value": "1800", "label": "30 分钟", "description": null}], "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "submenu", "mechanics": "流式事件之间的最长静默时间；-1 使用默认值，0 禁用看门狗。", "impacts": ["reliability", "latency"], "guidance": null, "shown": {"default": {"row": 38, "value": "-1"}, "expanded": {"row": 39, "value": "-1"}}}, {"path": "secrets.enabled", "tab": "providers", "group": "隐私", "label": "隐藏密钥", "description": "发送给 AI 提供商前，混淆已配置的密钥并脱敏形似凭据的令牌", "type": "boolean", "default": false, "values": null, "options": null, "runtimeOptions": false, "secret": false, "condition": null, "warning": null, "ordered": false, "widget": "boolean", "mechanics": "发送给提供商前混淆已配置的密钥并脱敏形似凭据的令牌。这是一道护栏，并非针对客户端数据的通用 DLP。", "impacts": ["privacy", "security"], "guidance": {"level": "change", "value": "true", "why": "提供商调用前的低成本纵深防御。请将其视为凭据脱敏，而非客户端数据 DLP。"}, "shown": {"default": {"row": 40, "value": "false"}, "expanded": {"row": 41, "value": "false"}}}]}