根据笔记库文件向 DeepSeek 提问
在“打包文件”对话框中,先通过筛选器和文件树选择范围,再输入问题并点击“向 DeepSeek 提问”。应用会请求 DeepSeek 生成 search-files ["关键词", ...] 查询命令,按任一关键词在已选文件的已保存内容中查找。查询只返回命中文件列表,不执行系统命令。应用随后打包命中文件,将问题和打包内容发给 DeepSeek,并在对话框中显示回答。
- “查询打包”执行查询和打包,不发送最终回答请求。
- “选择文件提问”不生成查询命令,也不筛选文件;它直接打包当前勾选的全部文件,在打包结果框显示内容,然后发送最终回答请求。
- “选择文件打包”只在本机打包当前勾选的文件,不发送任何 DeepSeek 请求。
本地配置
- 首次使用时,在对话框中输入并保存 DeepSeek API Key。Key 使用系统安全凭据能力加密,单独存入 Electron AppData 下的
deepseek-key-v1.json,不进入笔记库或云同步。 - 首次请求时,应用在同一 AppData 目录创建
deepseek-prompts-v1.json。其中query和answer分别是查询命令与最终回答的系统提示词。可在应用关闭后手动编辑;下次请求会重新读取。 - Windows 默认 AppData 路径是
%APPDATA%\mynote-client。其他平台以 ElectronuserData路径为准。
结果与限制
- 打包结果框下方可复制打包内容,底部的“复制 DeepSeek 回答”可复制回答。回答区最初折叠,收到首个回答时自动展开,之后可以手动折叠或展开。
- 每个笔记库的最近一次成功问答保存在本机界面存储中。关闭对话框或重启应用后,再打开“打包文件”会恢复该问题和回答;新回答会覆盖旧记录。记录不进入笔记库或云同步。
- 查询仅扫描当前选择的 Markdown 文件,并使用磁盘上已保存的内容。无命中时不会发送文件内容请求。
- 命中文件的完整打包内容会发送给 DeepSeek。文件较大时,DeepSeek 可能因上下文长度限制拒绝请求;可缩小文件范围后重试。
- 回答请求将文件内容放在问题之前,使同一批文件面对不同问题时尽量复用相同的输入前缀。DeepSeek 的服务端缓存自动运行,是否命中取决于前缀是否已持久化,无法保证每次命中。
- 修改源代码后需要重启应用;修改提示词配置后无需重启,下一次请求即可生效。
调试日志
- 渲染进程的
console.debug记录问题、所选文件、查询命令、每个文件是否命中、命中文件列表、打包内容、最终回答及流程错误。可在应用的开发者工具 Console 中查看。 - 主进程的
console.debug记录两个阶段的 DeepSeek 请求 URL、方法、完整 JSON 请求体、HTTP 状态、返回 JSON 或错误响应内容。嵌套字段格式化为完整 JSON,不会显示[Object]。可在启动应用的终端中查看。 - 每次成功请求还会输出
hitTokens和missTokens,分别对应 DeepSeek 返回的缓存命中和未命中输入 token 数。 - 日志会包含问题和笔记正文,排查后请妥善处理终端或开发者工具中的日志。API Key 和 Authorization 请求头不会被主动写入日志。
