是的,Obsidian 是一个在本地运行的 Electron 应用。它使用本地存储,所以 API 密钥会保留在用户的设备上。
事实证明,CORS 问题有一个解决方案。我目前只在我的台式电脑上测试过。另外,Discourse 很棒!
上面我发布的代码需要修改为:
import DiscoursePlugin from "./main";
import { requestUrl, TFile } from "obsidian";
//...
const response = await requestUrl({
url: url,
method: "POST",
contentType: "application/json",
body,
headers,
});
//...
下一个问题将是关于允许用户从应用请求用户 API 密钥,但这属于另一个问题。