refactor: trimmed some prompts
style: version tool output now mentions the default model in use
This commit is contained in:
@@ -93,7 +93,7 @@ class TestAutoMode:
|
|||||||
# Model field should have detailed descriptions
|
# Model field should have detailed descriptions
|
||||||
model_schema = schema["properties"]["model"]
|
model_schema = schema["properties"]["model"]
|
||||||
assert "enum" not in model_schema
|
assert "enum" not in model_schema
|
||||||
assert "auto model selection" in model_schema["description"].lower()
|
assert "auto mode" in model_schema["description"].lower()
|
||||||
assert "listmodels" in model_schema["description"]
|
assert "listmodels" in model_schema["description"]
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
@@ -289,7 +289,7 @@ class TestAutoMode:
|
|||||||
schema = tool.get_model_field_schema()
|
schema = tool.get_model_field_schema()
|
||||||
assert "enum" not in schema
|
assert "enum" not in schema
|
||||||
assert schema["type"] == "string"
|
assert schema["type"] == "string"
|
||||||
assert "auto model selection" in schema["description"]
|
assert "auto mode" in schema["description"].lower()
|
||||||
assert "listmodels" in schema["description"]
|
assert "listmodels" in schema["description"]
|
||||||
|
|
||||||
# Test normal mode
|
# Test normal mode
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class TestChatTool:
|
|||||||
# Description should route callers to listmodels, regardless of mode
|
# Description should route callers to listmodels, regardless of mode
|
||||||
assert "listmodels" in schema["description"]
|
assert "listmodels" in schema["description"]
|
||||||
if self.tool.is_effective_auto_mode():
|
if self.tool.is_effective_auto_mode():
|
||||||
assert "auto model selection" in schema["description"]
|
assert "auto mode" in schema["description"].lower()
|
||||||
else:
|
else:
|
||||||
import config
|
import config
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,8 @@ CHAT_FIELD_DESCRIPTIONS = {
|
|||||||
"Your question or idea for collaborative thinking. Provide detailed context, including your goal, what you've tried, and any specific challenges. "
|
"Your question or idea for collaborative thinking. Provide detailed context, including your goal, what you've tried, and any specific challenges. "
|
||||||
"CRITICAL: To discuss code, use 'files' parameter instead of pasting code blocks here."
|
"CRITICAL: To discuss code, use 'files' parameter instead of pasting code blocks here."
|
||||||
),
|
),
|
||||||
"files": "Always pass absolute full-paths (do NOT shorten) to existing files / folders containing code being discussed.",
|
"files": "absolute file or folder paths for code context (do NOT shorten).",
|
||||||
"images": (
|
"images": "Optional absolute image paths or base64 for visual context when helpful.",
|
||||||
"Optional images for visual context (must be FULL absolute paths to real files / folders - DO NOT SHORTEN - OR these can be bas64 data)"
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,24 +20,16 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
# Shared field descriptions to avoid duplication
|
# Shared field descriptions to avoid duplication
|
||||||
COMMON_FIELD_DESCRIPTIONS = {
|
COMMON_FIELD_DESCRIPTIONS = {
|
||||||
"model": (
|
"model": "Model to run. Supply a name if requested by the user or stay in auto mode. When in auto mode, use `listmodels` tool for model discovery.",
|
||||||
"Model to use. See tool's input schema for available models if required. Use 'auto' select the best model for the task."
|
"temperature": "0 = deterministic · 1 = creative.",
|
||||||
),
|
"thinking_mode": "Reasoning depth: minimal, low, medium, high, or max.",
|
||||||
"temperature": ("Lower values: deterministic; higher: creative."),
|
|
||||||
"thinking_mode": (
|
|
||||||
"Thinking depth: minimal (0.5%), low (8%), medium (33%), high (67%), "
|
|
||||||
"max (100% of model max). Higher modes: deeper reasoning but slower."
|
|
||||||
),
|
|
||||||
"continuation_id": (
|
"continuation_id": (
|
||||||
"Unique thread continuation ID for multi-turn conversations. Works across different tools. "
|
"Unique thread continuation ID for multi-turn conversations. Works across different tools. "
|
||||||
"ALWAYS reuse last continuation_id you were provided as-is when re-communicating with Zen MCP, "
|
"ALWAYS reuse the last continuation_id you were given—this preserves full conversation context, "
|
||||||
"unless user provides different ID. When supplied, your complete conversation history is available, so focus on new insights."
|
"files, and findings so the agent can resume seamlessly."
|
||||||
),
|
),
|
||||||
"images": (
|
"images": "Optional absolute image paths or base64 blobs for visual context.",
|
||||||
"Optional images for visual context. MUST be absolute paths or base64. "
|
"files": "Optional absolute file or folder paths (do not shorten).",
|
||||||
"Use when user mentions images. Describe image contents. "
|
|
||||||
),
|
|
||||||
"files": ("Optional files for context (FULL absolute paths to real files/folders - DO NOT SHORTEN)"),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Workflow-specific field descriptions
|
# Workflow-specific field descriptions
|
||||||
|
|||||||
@@ -193,6 +193,35 @@ class VersionTool(BaseTool):
|
|||||||
output_lines.append(f"**Last Updated**: {__updated__}")
|
output_lines.append(f"**Last Updated**: {__updated__}")
|
||||||
output_lines.append(f"**Author**: {__author__}")
|
output_lines.append(f"**Author**: {__author__}")
|
||||||
|
|
||||||
|
model_selection_metadata = {"mode": "unknown", "default_model": None}
|
||||||
|
model_selection_display = "Model selection status unavailable"
|
||||||
|
|
||||||
|
# Model selection configuration
|
||||||
|
try:
|
||||||
|
from config import DEFAULT_MODEL
|
||||||
|
from tools.shared.base_tool import BaseTool
|
||||||
|
|
||||||
|
auto_mode = BaseTool.is_effective_auto_mode(self)
|
||||||
|
if auto_mode:
|
||||||
|
output_lines.append(
|
||||||
|
"**Model Selection**: Auto model selection mode (call `listmodels` to inspect options)"
|
||||||
|
)
|
||||||
|
model_selection_metadata = {"mode": "auto", "default_model": DEFAULT_MODEL}
|
||||||
|
model_selection_display = "Auto model selection (use `listmodels` for options)"
|
||||||
|
else:
|
||||||
|
output_lines.append(f"**Model Selection**: Default model set to `{DEFAULT_MODEL}`")
|
||||||
|
model_selection_metadata = {"mode": "default", "default_model": DEFAULT_MODEL}
|
||||||
|
model_selection_display = f"Default model: `{DEFAULT_MODEL}`"
|
||||||
|
except Exception as exc:
|
||||||
|
logger.debug(f"Could not determine model selection mode: {exc}")
|
||||||
|
|
||||||
|
output_lines.append("")
|
||||||
|
output_lines.append("## Quick Summary — relay everything below")
|
||||||
|
output_lines.append(f"- Version `{__version__}` (updated {__updated__})")
|
||||||
|
output_lines.append(f"- {model_selection_display}")
|
||||||
|
output_lines.append("- Run `listmodels` for the complete model catalog and capabilities")
|
||||||
|
output_lines.append("")
|
||||||
|
|
||||||
# Try to get client information
|
# Try to get client information
|
||||||
try:
|
try:
|
||||||
# We need access to the server instance
|
# We need access to the server instance
|
||||||
@@ -211,6 +240,13 @@ class VersionTool(BaseTool):
|
|||||||
current_path = Path.cwd()
|
current_path = Path.cwd()
|
||||||
output_lines.append(f"**Installation Path**: `{current_path}`")
|
output_lines.append(f"**Installation Path**: `{current_path}`")
|
||||||
output_lines.append("")
|
output_lines.append("")
|
||||||
|
output_lines.append("## Agent Reporting Guidance")
|
||||||
|
output_lines.append(
|
||||||
|
"Agents MUST report: version, model-selection status, configured providers, and available-model count."
|
||||||
|
)
|
||||||
|
output_lines.append("Repeat the quick-summary bullets verbatim in your reply.")
|
||||||
|
output_lines.append("Reference `listmodels` when users ask about model availability or capabilities.")
|
||||||
|
output_lines.append("")
|
||||||
|
|
||||||
# Check for updates from GitHub
|
# Check for updates from GitHub
|
||||||
output_lines.append("## Update Status")
|
output_lines.append("## Update Status")
|
||||||
@@ -320,6 +356,8 @@ class VersionTool(BaseTool):
|
|||||||
"last_updated": __updated__,
|
"last_updated": __updated__,
|
||||||
"python_version": f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
|
"python_version": f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
|
||||||
"platform": f"{platform.system()} {platform.release()}",
|
"platform": f"{platform.system()} {platform.release()}",
|
||||||
|
"model_selection_mode": model_selection_metadata["mode"],
|
||||||
|
"default_model": model_selection_metadata["default_model"],
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user