Tars 是一个 Obsidian 插件,基于标签建议进行文本生成,支持 Claude、OpenAI、Gemini、Ollama、Kimi、豆包、阿里千问、智谱、DeepSeek、
SiliconFlow、百度千帆等。Tars 这个名字来源于电影《星际穿越》中的机器人 Tars(塔斯)。插件支持桌面端和移动端。
2.x 版本重大更新
加入标签命令,所有标签都在命令列表里。标签命令基于选中/光标处的段落,插入相应的标签。
快速回答:把光标移到该行(或者选择多个段落),从命令列表中选择助手标签(比如#DeepSeek :
),进行回答。
-
自定义提示词模板, 首次使用请执行”加载模板文件”命令
-
状态栏,实时显示生成的字符数量, 轮次,耗时。
-
标签建议,重新设计的触发逻辑更符合软件设计,性能优化显著。
输入#
,借用obsidian自身的标签补全后,再输入空格触发。
移动端如果不方便输入#
,输入完整的标签(不带#),来触发。
助手标签在触发后,会进行AI助手回答。
特性
- 支持内部链接
- 将对话导出为 JSONL 数据集,支持 ms-swift(Scalable lightWeight Infrastructure for Fine-Tuning)
AI 服务提供商
- Azure OpenAI
- Claude
- DeepSeek 深度求索
- Doubao 豆包
- Gemini
- Kimi
- Ollama
- OpenAI
- Qianfan 百度千帆
- Qwen 阿里千问
- SiliconFlow 硅基流动
- Zhipu 智谱
如果上面列表没有你想要的 AI 服务提供商,可以在 issue 中提出具体方案。
助手特色
- Azure: 支持 o1,deepseek-r1,gpt-4o 等等
DeepSeek:推理模型 deepseek-reasoner 的思维链以 callout 格式输出
SiliconFlow:支持 DeepSeek V3/R1 等等众多模型
- Zhipu:网络搜索选项
如何使用
- 在设置页面添加 AI 助手,设置 API 密钥,设置模型。
- 输入问题,比如“1+1=?”,然后在命令列表选择“#我 :”, 转为“#我 : 1+1=?”
- 在命令列表选择助手,比如“#DeepSeek :”,触发 AI 助手回答问题。
- 还可以直接输入
#
,输入标签后再输入空格,来触发 AI 助手。 - 请遵循大模型的对话顺序规则,系统消息总是最先出现(也可以忽略),然后用户消息和助手消息像打乒乓球一样轮流发言。
一个简单的对话例子如下:
#我 : 1+1=?(用户消息)
(隔开一个空行)
#DeepSeek : (触发)
如果觉得 AI 助手回答不满意,想要重试。使用插件命令“选择光标处的消息”,选中 AI 助手的回答内容进行删除,修改下你的提问,再次触发 AI 助手。或者选中回答内容,使用命令比如“#DeepSeek :”,重新触发 AI 助手,会删除之前的回答内容,重新生成。
对话语法
一个段落不能包含多条消息。多条消息应该通过空行分隔开来。
-
对话消息将发送到配置的 AI 服务提供商。
-
标注部分 (callout) 将被忽略。你可以在标注里写内容,不将其发送到 AI 助手。callout 不是 markdown 语法,是 obsidian 的扩展语法。
-
开始新对话,使用
新对话
标签。
标签命令都是基于选中/光标处的段落,一个 Markdown 段落可以是:
- 没有空行隔开的多行普通文本
- 代码块
在正确的语法情况下,在输入过程中,#标签
后输入空格,会触发标签补全。例如:
#新对话
#系统 :
#我 :
#新对话 #系统 :
#新对话 #我 :
#助手 : (AI生成)
外观美化
建议使用 colored tags 插件.
常见问题
设置页面没有想要的模型?
可以在设置中的“覆盖输入参数”进行配置,输入 JSON 格式,例如 {"model":"你想要的model"}
。
如何查看开发者控制台?
-
Windows:
CTRL + SHIFT + I
-
MacOS:
CMD + OPTION + I
-
Linux:
CTRL + SHIFT + I
在使用第三方服务商时如何输入地址?
修改设置中的 baseURL,从服务商的文档复制对应的地址粘贴过去,最后检查下网址是否完整。
第三方服务商选择哪个助手类型?
LLM的协议是有区别的,openAI,claude,gemini 差别很大,注意要选对。deepseek-r1 的思维链也和 openAI 不同。
错误提示中的 404,400,4xx数字是什么意思?
这些是 HTTP 状态码:
- 402表示“需要付款”(Payment Required)。
- 404表示“未找到”(Not Found),通常是 baseURL 配置错误,或者模型名称错误。
- 400表示“错误请求”(Bad Request),可能是 API 密钥错误,缺失用户消息,标签解析失败导致消息缺失,模型错误等等。
- 429表示“太多请求”(Too Many Requests),可能是请求频率过高,或者是服务商限制了请求频率。
插件Github地址 , 喜欢插件的话欢迎 star,thanks
已经在市场上架,搜索“ Tars ”