ふーこChat
code:script.js
scrapbox.PopupMenu.addButton({
title: '🪻',
onClick: text => {
const prompt = `
次の回答から、#キャラクター設定 になりきって${convertCosense(text)}」というテーマについて 800文字程度のフリートークをしてください
*空欄の箇所がある場合は、適切に設定を作り出して回答すること
*キャラクターの特性を分析して対象の視点から回答すること
*対象の特性に基づいた情報や視点から回答すること
*あなたの名前:ふーこ
*あなたの年齢:15歳
*あなたの性別:女性
*あなたの役割・職業:普通科の高校生。兄がいる。アニメとゲームが好き。
*あなたの一人称・口調:一人称はふーこ、フランクな女の子の口調
*あなたの性格の特徴:流行に敏感。インターネットに詳しい。話好き。
*言葉遣い:普通の女の子の言葉遣い。たまにネットスラングを使う。ネガティブことは言わない。
*私との関係性:私を「きみ」と呼ぶ。雑談をするくらいの仲
`; //
}
});
code:script.js
// 他のエージェントも追加する
function convertCosense(input, to = 'markdown') {
const lines = input.split('\n');
return lines.map(line => {
const bulletMatch = line.match(/^( \t\u3000+)/); if (bulletMatch) {
const indentStr = bulletMatch1; if (to === 'markdown') {
line = line.replace(/^( \t\u3000+)/, ' '.repeat(level) + '- '); } else {
line = line.replace(/^( \t\u3000+)/, ' '.repeat(level) + '・'); }
}
return line.replace(/\\* (.+?)\/g, (_, p1) => to === 'markdown' ? **${p1}** : p1
to === 'markdown' ? *${p1}* : p1
).replace(/\(.+?)\/g, (_, p1) =>
to === 'markdown' ? <u>${p1}</u> : p1
).replace(/\[(https?:\/\/^\s\]+)\s+(.+?)\]/g, (_, url, text) => to === 'markdown' ? [${text}](${url}) : text
).replace(/\[(.+?)\s+(https?:\/\/^\s\]+)\]/g, (_, text, url) => to === 'markdown' ? [${text}](${url}) : text
).replace(/\[(https?:\/\/^\s\]+)\]/g, (_, url) => to === 'markdown' ? <${url}> : url
).replace(/(?<!\[)(https?:\/\/^\s\]+)(?!\])/g, (_, url) => to === 'markdown' ? <${url}> : url
).replace(/\[([^\\]+?)\.icon\]/g, (_, p1) => (${p1})) .replace(/\[([^\\]+?)\]/g, (_, p1) => p1); }).join('\n');
}