与Agent的聊天记录
它试图运行
lark-cli docs +create --title "Hello Lobe" --markdown "## 欢迎使用飞书文档\n\n这是一个由 Lobe 通过飞书 CLI 自动生成的文档。\n\n### 功能测试\n- [x] 文档创建\n- [ ] 更多功能探索\n\n<callout emoji=\"💡\" background-color=\"light-blue\">\n提示:你可以通过飞书 CLI 轻松管理你的云空间文档。\n</callout>"
但是,空格会被截断,换行也不能正确换行
这个是在消耗了500K token之后给出的方案(在本地编写了一个js再运行):
const { spawnSync } = require('child_process');
const title = "Lobe 完美传输测试";
const markdown = `## 飞书文档集成测试 ✅
这是一个通过 **Node.js 子进程 (shell: false)** 传输的文档。这次我们完全禁用了 Shell 解释器,由操作系统直接通过命令行数组分发参数。
### 为什么这个有效?
由于我们禁用了 shell,操作系统会直接把这些带空格的字符串塞给进程,而不需要通过引号转义处理。
<callout emoji="🚀" background-color="light-green">
成功发送!空格和引号截断问题已彻底解决。
</callout>
`;
// 使用全路径直接运行 node 和 cli 脚本,完全避免 shell 解析
const nodePath = process.execPath;
const cliScript = 'C:\\nvm4w\\nodejs\\node_modules\\@larksuite\\cli\\scripts\\run.js';
const result = spawnSync(nodePath, [cliScript, 'docs', '+create', '--title', title, '--markdown', markdown], {
encoding: 'utf8',
shell: false // 关键:禁用 Shell
});
console.log(result.stdout || result.stderr);
与Agent的聊天记录
它试图运行
但是,空格会被截断,换行也不能正确换行
这个是在消耗了500K token之后给出的方案(在本地编写了一个js再运行):