You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
const fs = require("fs");const path = require("path");
/** * Plugin to save chat history to a json file */const fileHistory = { name: "file-history-plugin", startupConfig: { params: {}, }, plugin: function ({ filename = `history/chat-history-${new Date().toISOString()}.json`, } = {}) { return { name: this.name, setup(aibitat) { const folderPath = path.dirname(filename); // get path from filename
if (folderPath) { fs.mkdirSync(folderPath, { recursive: true }); }
aibitat.onMessage(() => { const content = JSON.stringify(aibitat.chats, null, 2); fs.writeFile(filename, content, (err) => { if (err) { console.error(err); } }); }); }, }; },};
module.exports = { fileHistory };
|