{
  "name": "write_text",
  "title": "编写文本文件",
  "description": "将文本内容写入文件，支持覆盖、追加和按行号插入/替换。触发关键词：编写文本、写入代码、编辑文件内容、写文件",
  "category": "文件操作",
  "group": "file",
  "type": "function",
  "main": "./index.js",
  "params": [
    {
      "name": "file",
      "description": "文件路径，必须使用绝对路径",
      "type": "string",
      "required": true
    },
    {
      "name": "content",
      "description": "要写入的文本内容",
      "type": "string",
      "required": true
    },
    {
      "name": "encoding",
      "description": "文件编码，默认utf-8",
      "type": "string",
      "enum": ["utf-8", "ascii"],
      "required": true
    },
    {
      "name": "mode",
      "description": "写入模式：overwrite(覆盖整个文件)、append(追加到末尾)、insert(插入到指定行前)、replace(替换指定行)",
      "type": "string",
      "enum": ["overwrite", "append", "insert", "replace"],
      "required": true
    },
    {
      "name": "line",
      "description": "目标行号，从1开始。mode为insert或replace时必填",
      "type": "number",
      "required": false
    },
    {
      "name": "count",
      "description": "替换行数，mode为replace时有效，默认1",
      "type": "number",
      "default": 1
    }
  ],
  "returns": [
    {
      "name": "code",
      "type": "number",
      "description": "返回代码，0表示成功",
      "default": 0,
      "required": true
    },
    {
      "name": "msg",
      "type": "string",
      "description": "返回消息",
      "default": "",
      "required": true
    },
    {
      "name": "file",
      "type": "string",
      "description": "写入的文件路径"
    },
    {
      "name": "size",
      "type": "number",
      "description": "写入后的文件字节数"
    },
    {
      "name": "total_lines",
      "type": "number",
      "description": "写入后的文件总行数"
    },
    {
      "name": "mode",
      "type": "string",
      "description": "实际使用的写入模式"
    },
    {
      "name": "next_line",
      "type": "number",
      "description": "下次写入的推荐行号。overwrite/append模式为文件末尾下一行；insert模式为插入内容后下一行；replace模式为替换内容后下一行。连续行操作时直接使用此值作为下一次的line，无需手动计算偏移"
    }
  ]
}
