Bard.el: 在Emacs中愉快地与Google Bard对话

放假在家,写了一个把Bard集成进Emacs的小插件:

依赖

  1. 身居美利坚或拥有一个稳定的漂亮国🪜
  2. 拥有 Google 账号并拥有访问 Bard 的权限

安装

  1. 打开 https://bard.google.com , 按下 F12 打开 console,选择 Applications → Cookie,复制__Secure-1PSID的值(注意不要复制错了)
  2. 设置环境变量 BARD_TOKEN 为刚才复制的值 (或者将其值保存到 ~/.emacs.d/bard/bard_cookie_token.txt
  3. 安装 Python 依赖:pip install epc sexpdata GoogleBard
  4. 安装 markdown-mode
  5. 使用 git clone 下载此仓库,并替换下面配置中的 load-path 路径
  6. 将以下代码添加到您的配置文件 ~/.emacs 中:
(add-to-list 'load-path "<path-to-bard>")

(require 'bard)

使用

声明 : Bard 目前支持的语言有限,故部分命令暂时无法实现

聊天

  • 新建 *.bard 文件,通过 bard-chatbard-chat-with-multiline 来与 Bard 聊天 tips: Bard 目前仅支持英文

修改文档

  • bard-polish-document 润色或填充文章内容

Coding

  • bard-generate-code 根据选中内容或输入生成代码
  • bard-adjust-code 根据输入调整代码内容
  • bard-explain-code 解释 buffer 中的代码
  • bard-comment-code 为 buffer 中的代码添加注释
  • bard-refactory-code 重构 buffer 中的代码

鸣谢

  • 感谢 @manateelazycat 大佬的 mind-wave,本仓库的大部分代码都来自于这里,它优美的代码对这个插件的开发提供了巨大帮助
  • 感谢 @acheong08 大佬开发的优秀的 API

目前仍在开发中。第一次写插件,还请各位多加指教 :smile:

9 个赞

要不要考虑 PR 进 Mind wave,这样就不用装各种各样的插件了,让 Mind Wave 做到一次性问俩 AI,感觉用户体验好不少

1 个赞

首先感谢提出建设性建议! :kissing_heart:

暂时没有这样的想法,因为 Bard 其实和 ChatGPT 有许多不同:

  • ChatGPT 是流式输出,Bard 会一下子把回答都给你展示出来
  • ChatGPT 支持很多种语言,Bard 目前则只支持美式英语
  • ChatGPT 只会生成一种回答,Bard 一般会生成3个草稿
  • ChatGPT 支持很多地区的人登录,而 Bard 目前只支持美国

有些人可能拥有 Bard 而没有 ChatGPT,也有些人可能相反,因此在处理两个 AI 的协调时可能会比较麻烦。

由于以上原因,Bard.el 和 mind-wave 在接口等方面存在差异,如果合并在一起,可能会出现各种各样的问题,给 mind-wave 的开发者带去不必要的困扰,因此我暂时还不打算把 Bard.el PR 进 mind-wave。

不过这里我可以提供一个简陋的函数:

(defun chat-with-two-ai (prompt)
  (interactive "sPrompt: ")
  (bard-chat-with-message prompt)
  (mind-wave-chat-ask-with-message prompt))
4 个赞

我一直觉得chatGPT也是不支持中文的,实际支持的只有英语,说支持中文等只不过是把中文翻译成英文,然后得到英文答案后又翻译回中文而已(英文套壳)。今天问了chatGPT,也是那么说的:

对,我是用自然语言处理技术将你的中文翻译成英文,并据此进行回答。目前我支持的语言有英文、西班牙文、法文、德文、日文和韩文。
1 个赞

经过本次更新,Bard.el 现在采取了接近原生体验的Drafts切换方式,只需要 bard-choose-drafts,你就可以选择你喜欢的回答啦 :smile:,这样避免聊天文件出现内容过多、上下文不衔接的问题,建议用户更新一下,以获得更好的使用体验

p.s: 还没有尝试过Bard的大佬赶紧尝鲜啊 :stuck_out_tongue_closed_eyes:,Bard现在的思维能力提升了许多,已支持中文翻译、逻辑推理、列图表、导出到邮件等功能,和ChatGPT不相上下(主观感受,非客观测评),不考虑一下吗?

3 个赞

Heads up!Google Bard又双叒叕更新啦!

本次更新带来了对中文的支持以及其他功能,我们 Bard.el 也不能落后(笑),带来了 bard-translate-into-chinesebard-translate-into-english,以及根据环境语言决定回复语言的能力

建议用户升级以获得更好的体验

1 个赞

感谢 @EdmondFrank 大佬为 Bard.el 带来的更新 :kissing_heart:(呱唧呱唧呱唧)

现在 Bard.el 支持直接从浏览器导入cookie了,不必再进行繁琐的设置,不必为cookie刷新的频率之高而苦恼,也不必再为隐私泄露而烦恼了。

大家可以更新一下 :kissing_smiling_eyes:

2 个赞

真的太棒了, 感谢您的工作!!

1 个赞

踩在巨人的肩膀上而已 :see_no_evil:

多亏了猫大的 mind-wave 项目作为示例、国外大佬API的支持,当然,还有强大的Emacs,我才能开发出这个插件。在此再次向他们表示感谢并致敬

很高兴你能喜欢这个项目! :smiling_face_with_three_hearts:

@ezchi 大佬的帮助下,Bard.el 跟上了 Google 的步伐,更名成为了 Gemini.el,支持了新版的 Gemini Pro

现在使用需要准备好 Google Gemini API 令牌。你可以通过 Google AI Studio 获取一个 API 密钥。

(setq gemini-api-token "your api token")

接着就可以正常使用了

注意:所有命令均更名为 gemini-*

2 个赞