使用文件系统 API

使用 TradingAIFileSystem 读写文件,需在 plugin.yamlpermissions.fileSystem 中声明路径。

声明权限

文件系统操作受权限控制,必须在 plugin.yaml 中声明可访问的路径:

yaml
permissions:
  - fileSystem:
      - '${workspace}/**'        # 工作区所有文件
      - '${extensionPath}/**'   # 插件自身目录

读写文件

dart
// 读取
final content = await context.fs.readString('${workspace}/data.json');

// 写入
await context.fs.writeString('${workspace}/output.txt', 'Hello');

// 检查存在
final ok = await context.fs.exists('${workspace}/config.yaml');

// 列出目录
final files = await context.fs.list('${workspace}/logs');

下载文件

downloadFile 需在 permissions.network 中声明目标域名:

dart
final path = await context.fs.downloadFile(
  'https://example.com/data.csv',
  '${workspace}/downloads/data.csv'
);

路径变量

变量说明
${workspace}当前工作区根目录
${extensionPath}插件安装目录

参考

相关 APITradingAIFileSystem

示例:extensions/market_dashboard_plugin/lib/features/trade_journal.dart,交易日志的保存与加载,演示 readStringwriteStringlist 用法。