ManimCat / src /studio-agent /runtime /tools /pre-tool-commentary.ts
Bin29's picture
Sync from main: e764154 feat(plot-skill): add math-exam-diagram SKILL.md for exam-style math figures
abcf568
export function buildStudioPreToolCommentary(input: {
toolName: string
toolInput: Record<string, unknown>
}): string {
const path = readPathLabel(input.toolInput)
switch (input.toolName) {
case 'ls':
return path ? `我先看一下 ${path} 的目录结构。` : '我先看一下当前目录结构。'
case 'read':
return path ? `我先读取 ${path} 看看当前内容。` : '我先读取相关文件看看当前内容。'
case 'glob':
return '我先按模式查找相关文件。'
case 'grep':
return '我先搜索相关代码和上下文。'
case 'write':
return path ? `我准备写入 ${path}。` : '我准备写入目标文件。'
case 'edit':
case 'apply_patch':
return path ? `我先修改 ${path}。` : '我先修改相关文件。'
case 'static-check':
return '我先做一次静态检查确认当前状态。'
case 'task':
return '我准备启动一个子任务处理这部分工作。'
case 'skill':
return '我先加载相关 skill 看看约束和用法。'
case 'render':
return '我准备提交渲染任务。'
case 'question':
return '我先确认一个关键信息。'
default:
return `我先执行 ${input.toolName}。`
}
}
function readPathLabel(input: Record<string, unknown>): string | null {
const candidates = [input.path, input.file, input.directory]
for (const candidate of candidates) {
if (typeof candidate === 'string' && candidate.trim()) {
return candidate.trim()
}
}
return null
}