llm-to-agent/src/tools/calculator.ts
2026-06-08 16:08:35 +08:00

22 lines
614 B
TypeScript

import { Tool } from '../types/index.js';
export const calculatorTool: Tool = {
name: 'calculate',
description: '执行数学计算,支持加减乘除和括号',
parameters: {
type: 'object',
properties: {
expression: { type: 'string', description: '数学表达式,如"2+3*4"' },
},
required: ['expression'],
},
execute: async (args) => {
try {
// 安全警告:生产环境绝不可以用 eval
const result = eval(args.expression);
return `${args.expression} = ${result}`;
} catch (e: any) {
return `计算错误: ${e.message}`;
}
},
};