如何用 last30days-skill --corpus 把本地笔记目录注册为私有搜索源?
2026/9/9 22:31:18 网站建设 项目流程

如何用 last30days-skill --corpus 把本地笔记目录注册为私有搜索源?

【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

last30days-skill 默认在 Reddit、X、YouTube、HN、Polymarket 和网页等公开渠道做调研。如果你的调研对象同时存在于自己的笔记里——比如~/notes下的 Markdown 笔记或~/meeting-transcripts目录下的会议记录——可以把这些本地目录注册为私有搜索源,让引擎在每次调研中把它们和公开源一起检索、排序,并把命中结果单独标注在From your files区块里。这个能力完全离线:corpus 文件只在本地读取,不会经过任何源 HTTP 客户端,也不会转发到远程后端。

本文基于仓库中 CONFIGURATION.md 的 “Local corpus (your files)” 一节和 skills/last30days/SKILL.md 的本地 corpus 说明,覆盖两条注册路径(一次性参数和持久化注册)、执行方式和结果验证。

前提:目录里放什么

引擎扫描注册目录中的.md/.txt文件,这是私有源默认支持的范围。如果目录里有 PDF,只有当pdftotext在 PATH 上时才会被提取,否则该文件跳过并在输出中留下说明。

新鲜度用的是文件修改时间(mtime),普通的 30 天调研窗口同样适用:也就是说,一次默认运行只会把最近 30 天内修改过的笔记算进结果,更早修改的文件不会命中,除非你显式加--corpus-all-time

安装 skill 本身见 README.md(例如npx skills add mvanhorn/last30days-skill -g或 Claude Code 的/plugin install last30days),本文不展开。

路径一:一次性--corpus参数(当前运行的私有源)

直接调用引擎脚本时,把每个笔记目录写成一个可重复的--corpus <dir>参数。CONFIGURATION.md 给出的示例命令是:

python3 skills/last30days/scripts/last30days.py "MCP servers" \ --corpus ~/notes --corpus ~/meeting-transcripts

要点:

  • 参数可重复,每个参数对应一个目录;
  • 这个参数只对本次运行生效,跑完即失效,适合临时把某一两个目录混进某次调研;
  • 该调用是“直接引擎脚本”形式(脚本路径相对于仓库根目录),面向脚本化或开发场景;日常在 Agent 里的用法是斜杠命令体验(见下一节)。

如果确实需要纳入 30 天窗口之外的旧文件,在同一命令后追加--corpus-all-time:CONFIGURATION.md 明确说明,不加这个 flag 时,30 天运行只包含这几天内修改过的文件;SKILL.md 也要求只有在用户明确要求包含旧文件时才加它。

路径二:LAST30DAYS_CORPUS_DIRS持久化注册(默认生效)

想让某些目录长期作为私有源,把它们登记到~/.config/last30days/.env

# ~/.config/last30days/.env LAST30DAYS_CORPUS_DIRS=~/notes:~/meeting-transcripts # LAST30DAYS_CORPUS_IN_EXPORT=1 # explicit agent-JSON opt-in; off by default
  • macOS/Linux 用:分隔多个路径,Windows 用;
  • 配置后无需再传任何参数,每次运行都会自动激活这些目录;
  • 文档同时建议保持斜杠命令体验为主:在对话中让/last30days包含你已注册的笔记,Agent 会把提供的目录转成前面那种可重复的--corpus参数(SKILL.md 的 “Local corpus source” 一节)。

LAST30DAYS_CORPUS_IN_EXPORT=1是另一个隐私开关,与“注册”本身无关:默认情况下 corpus 证据会从 agent JSON 导出中剔除,只有明确设置了这个变量,agent JSON(写入本地 stdout/文件)里才会包含 corpus 结果。除非你有意为之,否则保持注释状态。

执行调研并确认私有源真的在工作

注册完成后跑一次正常调研(斜杠命令或上面的直接引擎命令均可),按下面两步核对:

1. 用--diagnose确认corpus在引擎的可用源集合里。

python3 skills/last30days/scripts/last30days.py --diagnose

--diagnose输出 JSON,其中available_sources数组是引擎在凭据解析后计算的权威源集合。SKILL.md 给出了 token 到显示名的映射,corpus对应 “Your files”——看到corpus出现在available_sources里,说明目录已被识别。

2. 在运行输出里找带 🔒 徽章的From your files区块。

命中结果会渲染在这个独立区块下,这是判断私有源产生了实际命中的直接证据;测试代码(tests/test_corpus_source.py)也断言了## From your files出现在渲染结果中。corpus 的排序走确定性的本地打分,绕开远程 reranker/fun-scoring 提示,也不占用网络源的并发和重试预算。

隐私边界:知道你的笔记不会流向哪里

CONFIGURATION.md 对 corpus 的隐私约定值得逐条了解,因为这也决定了“验证时该看什么输出”:

  • corpus 文件只在本地读取,永不通过源 HTTP 发送,永不转发到LAST30DAYS_API_BASE,永不进入远程 reranker/fun-scoring 提示;
  • 如果你同时配置了LAST30DAYS_API_KEY/LAST30DAYS_API_BASE远程后端,配置了本地 corpus 时是隐私例外:引擎会绕过托管后端、在本地运行,避免文件内容被转发;
  • corpus 候选默认被从--publish-htmllibrary feed --publish和版本化的 agent JSON 导出中剔除,包括 corpus 派生的集群标题和源结果;
  • 提取文本按文件 mtime 缓存在~/.config/last30days/corpus-cache.json(权限0600),含 corpus 的last-report.json缓存同样收紧为0600。随时删除这两个缓存文件即可清空。

一个容易踩的验证盲区:--emit=json --json-profile=agent的默认输出按上一条规则不含corpus 结果,所以用 agent JSON 核对“有没有命中”会看到空;docs/reference/json-export.md 说明未版本化的rawprofile 是完整的本地调试转储,可以包含 corpus 路径和文本——但它是本地调试物,文档明确要求不要把它重定向到外部系统,除非你有意为之。

限制与不适用项

  • 只有.md/.txt(及pdftotext可用时的.pdf)会被扫描;其他扩展名不在私有源范围内;
  • 不注册任何 API key,corpus 源是免费的离线源(CONFIGURATION.md 的源列表中 Required for 一栏即--corpus <dir>LAST30DAYS_CORPUS_DIRS);
  • 默认只覆盖 30 天修改窗口内的文件;旧文件需要--corpus-all-time,且 SKILL.md 要求这是用户明确提出才加;
  • 含 corpus 的运行产物按文档要求保持仅属主可读,不要随手把带 corpus 的本地报告分享或上传。

【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询