fix: enable tool forwarding by default and add config regression tests

Switch TOOL_FORWARD_ENABLED default to true in runtime config and .env.example,
and add regression tests covering default-on and explicit false behavior.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
mmc
2026-04-21 13:41:41 +08:00
parent 0e146e60d9
commit 83d69097c9
3 changed files with 15 additions and 3 deletions

View File

@@ -46,8 +46,8 @@ DEFAULT_MODEL=org_auto
# 默认模式chat 或 agent
DEFAULT_ASK_MODE=chat
# 请求侧 tools/tool_choice 透传到 Lingma默认关闭,开启后可支持工具写文件等场景
TOOL_FORWARD_ENABLED=false
# 请求侧 tools/tool_choice 透传到 Lingma默认开启,可显式关闭)
TOOL_FORWARD_ENABLED=true
# 可选:允许透传的工具名白名单,逗号分隔;为空表示不额外限制
TOOL_ALLOWLIST=

View File

@@ -182,6 +182,6 @@ def load_settings() -> Settings:
session_reuse_enabled=_bool_env("SESSION_REUSE_ENABLED", True),
session_cache_max_entries=int(os.getenv("SESSION_CACHE_MAX_ENTRIES", "256")),
session_cache_ttl_sec=float(os.getenv("SESSION_CACHE_TTL_SEC", "1800")),
tool_forward_enabled=_bool_env("TOOL_FORWARD_ENABLED", False),
tool_forward_enabled=_bool_env("TOOL_FORWARD_ENABLED", True),
tool_allowlist=_csv_env(os.getenv("TOOL_ALLOWLIST", "")),
)

View File

@@ -193,6 +193,18 @@ class ConfigParsingTests(unittest.TestCase):
self.assertEqual(settings.tool_allowlist, ["lookup", "write_file", "search_docs"])
def test_load_settings_defaults_tool_forward_enabled_true(self) -> None:
with patch.dict(os.environ, {}, clear=True):
settings = load_settings()
self.assertTrue(settings.tool_forward_enabled)
def test_load_settings_respects_tool_forward_enabled_false(self) -> None:
with patch.dict(os.environ, {"TOOL_FORWARD_ENABLED": "false"}, clear=True):
settings = load_settings()
self.assertFalse(settings.tool_forward_enabled)
def test_load_settings_empty_tool_allowlist(self) -> None:
with patch.dict(os.environ, {"TOOL_ALLOWLIST": " , , "}, clear=True):
settings = load_settings()