AsleepX
(AsleepX)
1
为什么推荐
之前在用 copilot 插件,最近看到其准备推出plus版本,
就开始寻找类似的ai侧边chat插件。在下面链接里了解到了 obsidian-smart-composer。
尝试使用后,发现 对我来说 比copilot使用起来更加方便,于是推荐给大家。
省流:
读者:“我请问了?方便在哪里?”
我:“对我来说,方便在可以 上传图片 和 apply edit。”
ps:我猜测 smart-composer 之后可能也会推出plus,还是鼓励大家多多支持自己喜欢的插件的作者!
github 地址
obsidian 的第三方插件市场也已经上架。
插件介绍
-
AI 对话
- API:Openai格式api,ollama,claude api,gemini api
- 支持 @文件名
- 支持粘贴 网页 url
- 支持粘贴 图片
- 支持 Youtube 视频链接(自动转录为文本理解内容(大概))
-
库 AI 对话
-
Apply Edit(如图)
-
其他
- 支持自定义提示词模板(在chat框选中你的话,可以转换为模板,之后可以在chat框里面按 / 触发
- 即将支持PDF,docx
冲突插件
我目前发现,Canvas-mindmap 插件与 obsidian-smart-composer 有冲突,会导致 Apply Edit 无法使用。已在obsidian-smart-composer 提 issue(没有在 Canvas-mindmap 中提)。
也许你用的到的美化这个插件的 css
/* 把历史记录往左移一点 */
.smtcmp-popover.smtcmp-chat-list-dropdown-content {
margin-right: 20px;
}
/* 完全显示 accept button 和 reject button */
.smtcmp-approve-button.clickable-icon.view-action,
.smtcmp-reject-button.clickable-icon.view-action {
width: auto;
height: auto;
}
5 个赞
Probe
(Probe)
2
也跟大家分享一下我觉得这插件的几个细节优点:
- Vault Chat 模式里, 会明确标识它找回了哪些文档片段 (精确到行) 和相似度, 方便排查问题
- 聊天框里用
@
引用笔记, 感觉这比 [[
引用笔记更方便, 涉及哪几个文件也一目了然, 方便增删, 缺点就是这更像 Cursor 不像 Ob
- RAG 索引设置里, 有白名单模式
Include patterns
, 可以填 目前只需要的/一小块子目录里的/*.md
, 在大仓库里试水时, 心理负担小
- 如果聊天时 AI 生成了代码, 会再给包裹一层代码块, 杜绝了侧栏里直接给来一句 dataviewjs 并立马执行的危险…
当然, smart-composer 最大优点自然是 apply edit 这种使用方式
4 个赞
Probe
(Probe)
4
不需要配置和不需要自己有帐号吗
还是需要的, 目前配置时没遇到啥坑
Chat 模型, 建议找国内任何能跟 OpenAI API 兼容的模型 (各家几乎全都能用)
Embedding 模型, 可以选楼主截图里那个 ollama/bge-m3
这个 max-token 有 8k, 在应对各种程序给切的 chunk 时容错度高
注:
ollama/bge-m3
一般是本地从 Ollama 安装的
之前有论坛朋友推荐了 Msty, 该工具安装后也会在 :10000 端口起一个 Ollama 服务, 发现这也可以直接拿给 smart-composer 用…
1 个赞
AsleepX
(AsleepX)
5
网络环境支持的情况下chat大模型可以试试google ai studio的免费api,gemini-2.0-flash的api很好用。没有网络环境的话,国内很多应该都兼容openai api。
楼上说的bge m3本地跑基本不需要担心性能问题,embeddding模型只要不是太老的电脑都能跑的,或者你也可以用硅基流动 siliconflow 的免费bge-m3 api
不懂。
文心一言和迅飞星火,有免费帐号,其api能直接使用吗
Probe
(Probe)
7
文心一言: 支持 OpenAI API 格式, 见 对话Chat V2
迅飞星火: 支持 OpenAI API 格式, 见 星火认知大模型Web API文档
以上未实测, 万一有坑大家可以继续讨论
按讯飞的openai示例
# 导入SDK,发起请求
from openai import OpenAI
client = OpenAI(
# 控制台获取key和secret拼接,假使控制台获取的APIPassword是123456
api_key="123456",
base_url = 'https://spark-api-open.xf-yun.com/v1' # 指向讯飞星火的请求地址
)
completion = client.chat.completions.create(
model='generalv3.5', # 指定请求的版本
messages=[
{
"role": "user",
"content": '说一个程序员才懂的笑话'
}
]
)
modal指定免费的lite
apikey 试过填入 apipassword, apikey, apikey+apisecert
但都是connection error
Probe
(Probe)
9
可能是 CORS 问题, 我这里是
如果楼上能在日志前面看到相同报错, 那基本就是这原因了
目前情况, 个人是建议别跟星火费劲了, 先换一家模型试试
如果实在就是想用星火, 可以先拿各种 API 中转工具顶一下, 例如 yym68686/uni-api 这类工具做的事就是管理各家服务的 API, 统一呈现为 OpenAI 格式 (挺好用, 但我是觉得, 不值得专为这事去弄个新工具, 又是一番折腾)
你填入的api key 是 api password 还是其他?
我在安卓下,无提示CORS
Probe
(Probe)
11
Connection Error 发生在具体业务之前,
所以应该是还没到看 api 是否合法, 看数据拼的对不对 … 这一步, 就已经报错了
APIPassword
文档里写着呢 星火认知大模型Web API文档
请到控制台获取http服务接口认证信息中的APIPassword,假如获取到的值为123456
陈进东
12
经过介绍使用了,挺符合我的需求,话说这类插件可以根据我本地的文件自我学习吗,就是喂养我本地的文件夹给他,让他生成越来越符合我的回答
1 个赞
彭潇洋
13
这个Ollama的模型,也需要在本地配置吗?
可以用楼下这个方法吗?我试了下,好像不行呢,在硅基流动的bge-m3中没有找到图中的url
AsleepX
(AsleepX)
14
你可以试试这个链接里面提到的方法,我是看群友提到可以用这个在线的。我自己是用的本地 ollama 哈哈哈。
1 个赞
AsleepX
(AsleepX)
15
这个插件的全库搜索的实现方法是把向量数据库搜到的东西和你的问题一起发给 chatgpt,让它回答。某种程度它的回答也能比较符合你的提问
你的想法我知道两种实现方法,一种是大模型微调,这个比较消耗算力。另一种就是根据你的文件总结一些 prompt 记住,也就是记忆功能之类的。但是不太了解 ob 有插件做这些事没有。
彭潇洋
16
我这个在线的还是没有搞明白,
我也整了个ollama本地的,试着pull了qwen 2 ,成功部署了,检查了运行状态,也完全没有问题。
但我部署bge-m3 ,就不对呢,显示成功了也不行。在浏览器中输入域名也链接不上
AsleepX
(AsleepX)
18
bge-m3是嵌入模型,是把文本转化成向量数据库的,你只需要下载完它,然后保持ollama运行。插件就能使用它了。端口应该就是默认的http://127.0.0.1:11434
1 个赞