使用思源 API 时遇到 Token 鉴权行为不一致的问题,想确认是否为设计预期

我正在研究如何将 Claude Code 的 Skills 与思源联动,用 API 自动创建文档。但在测试 API 时发现不同接口的鉴权行为有差异,想请教这是预期设计还是配置问题。


✅ 情况说明

以下接口在未携带 Token 的情况下可以正常调用:

  • /api/notebook/lsNotebooks

但以下接口即使携带 Token 也会返回 403:

  • /api/filetree/createDocWithMd
  • /api/notebook/closeNotebook
  • /api/notebook/openNotebook

我目前的调用方式

HTTP Header 示例:

Authorization: token 123456
Content-Type: application/json

返回示例:

body为空
状态码403

✅ 我的测试环境

  • Windows10 桌面版思源 v3.3.6
  • 已开启 允许局域网访问
  • Postman / curl 均测试相同结果

✅ 想确认的问题

  1. 是否属于思源的安全策略:
    只允许无 token 的读接口
    禁止写接口在网络访问下被调用
  2. 如果我要通过 API 自动创建文档:
    ✅ 是否需要额外配置
  3. 是否有官方推荐的“自动创建文档/笔记”的接口或方式?

✅ 我的目标用途

  • 自动创建 notebook / document
  • 自动写入 Markdown 内容
  • 用于 AI 辅助整理笔记,而非远程控制他人思源

✅ 希望官方协助确认

🔹 当前返回 403 是否符合设计预期?
🔹 是否存在允许写操作的正确认证方式?
🔹 是否未来版本会开放?

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119786 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    11155 引用 • 50666 回帖 • 52 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • lsNotebooks 也需要鉴权的,具体可以参考源码 router.go

  • a4zmj3vd4zboy

    我这边进行了两个设置。一个在【关于】tab 上,token 被我设置为 123456。

    一个在【发布】tab 上,服务 basic 认证被我关闭了。

    image.png

    image.png

    1 回复
  • 我这里按你这样设置了也是要鉴权的

  • a4zmj3vd4zboy

    那可能是 v3.3.6 太老了,我明天升级上去再看看

    image.png

    image.png

    1 回复
  • 3.3.6 是上个版本,新版也没有动 API,应该是一样的。

    我这里 Windows 执行是这样:

    PS C:\Users\Admin> curl.exe -X POST "http://127.0.0.1:6806/api/notebook/lsNotebooks" -H "Content-Type: application/json" -d "{\"flashcard\":false}"
    
    {"code":-1,"msg":"Auth failed [session]"}curl: (3) unmatched close brace/bracket in URL position 17:
    flashcard\:false}
    
    PS C:\Users\Admin> Invoke-RestMethod -Uri "http://127.0.0.1:6806/api/notebook/lsNotebooks" -Method Post -Headers @{"Content-Type"="application/json"} -Body '{"flashcard":false}'
    
    Invoke-RestMethod : {"code":-1,"msg":"访问鉴权失败,请\u003cbutton onclick=\"window.location.reload()\"\u003e刷新\u003c
    /button\u003e或者重新打开"}
    所在位置 行:1 字符: 1
    + Invoke-RestMethod -Uri "http://127.0.0.1:6806/api/notebook/lsNotebook ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod],WebExce
        ption
        + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    
请输入回帖内容 ...