2-闻达笔记.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. app.plugins.push({ icon: 'note-edit-outline', url: "/static/wdnote/index.html" })
  2. func.push({
  3. name: "闻达笔记",
  4. question: async () => {
  5. let Q = app.question
  6. zsk(false)
  7. lsdh(false)
  8. app.chat.push({ "role": "user", "content": "以下文段是我准备写笔记的相关素材和观点,请结合如下内容写一篇笔记。\n文段内容:\n" + Q })
  9. kownladge = await find_dynamic(Q, 3, { 'libraryStategy': "sogowx:3", 'maxItmes': 2 })
  10. result = []
  11. if (kownladge.length == 0) {
  12. app.chat.push({ "role": "AI", "content": "闻达笔记分析:您输入的信息似乎和笔记没有太大关系,我是您的闻达笔记AI助理,主要协助您编写笔记,如果有其他问题,可以咨询我的AI小伙伴们。\n" })
  13. } else {
  14. app.chat.push({
  15. "role": "AI", "content": "闻达笔记分析:\n|标题|内容|\n|--|--|\n" +
  16. kownladge.map(i => "|" + i.title + "|" + i.content.replace(/\n/g,' ') + "|").join("\n")
  17. })
  18. }
  19. hascontent = ''
  20. for (let i in kownladge) {
  21. if (i > 3) continue //超过三个知识点,直接停
  22. if (kownladge[i].score > 300) continue //分值越大,信息偏差就越大,为了精确匹配,这里设置为100为阈值
  23. let prompt = "简要总结下面文段内容:\n" + kownladge[i].content
  24. // kownladge[i].content + "\n问题:" + Q
  25. if (kownladge[i].content != '') {
  26. result.push(await send(prompt))
  27. hascontent = hascontent + kownladge[i].content
  28. }
  29. }
  30. if (hascontent != '') {
  31. prompt = "学习以下文段,用中文给出总结。文段内容:\n" + result.join('\n')
  32. writeNote(await send(prompt))
  33. } else {
  34. app.chat.push({ "role": "AI", "content": "非常抱歉,我没有找到相关知识,请再给我一些新的提示。" })
  35. }
  36. },
  37. })
  38. writeNote = (s) => {
  39. // 非空验证
  40. // if ($('#todo').val() == '') {
  41. // return
  42. // }
  43. //获取时间
  44. var time = w_nowTime();
  45. //todoList
  46. var todoList = [];
  47. // 先获取下本地是否存有
  48. var historyTodoList = JSON.parse(localStorage.getItem("todoList"));
  49. count = Object.keys(historyTodoList).length;
  50. if (historyTodoList) {
  51. //本地有
  52. var todo = {};
  53. todo.things = s;
  54. todo.time = time;
  55. todo.id = count;
  56. historyTodoList.push(todo);
  57. localStorage.setItem('todoList', JSON.stringify(historyTodoList));
  58. count++;
  59. } else {
  60. //本地無
  61. var todo = {};
  62. todo.things = s;
  63. todo.time = time;
  64. todo.id = count;
  65. todoList.push(todo);
  66. localStorage.setItem('todoList', JSON.stringify(todoList));
  67. count++;
  68. }
  69. //存储完成后清空输入框
  70. // $('#todo').val('');
  71. // 显示在任务列表
  72. // w_getData();
  73. }
  74. //时间函数
  75. w_nowTime = () => {
  76. var myDate = new Date();
  77. var year = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  78. var month = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  79. var day = myDate.getDate(); //获取当前日(1-31)
  80. var week = myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
  81. var hour = myDate.getHours(); //获取当前小时数(0-23)
  82. var minutes = myDate.getMinutes(); //获取当前分钟数(0-59)
  83. var seconds = myDate.getSeconds(); //获取当前秒数(0-59)
  84. switch (week) {
  85. case 0:
  86. week = `日`
  87. break;
  88. case 1:
  89. week = `一`
  90. break;
  91. case 2:
  92. week = `二`
  93. break;
  94. case 3:
  95. week = `三`
  96. break;
  97. case 4:
  98. week = `四`
  99. break;
  100. case 5:
  101. week = `五`
  102. break;
  103. case 6:
  104. week = `六`
  105. break;
  106. default:
  107. }
  108. return `${year}年${w_zero(month)}月${w_zero(day)}日${w_zero(hour)}:${w_zero(minutes)}:${w_zero(seconds)}星期${week}`
  109. }
  110. w_zero = (num) => {
  111. if (num < 10) return "0" + num; else return num;
  112. }
粤ICP备19079148号