Repository navigation
Open
Labels
enhancementNew feature or requestNew feature or request
Description
欢迎在这里提建议、补充使用场景,或参与设计与开发。各方向的具体方案和认领在对应的任务 Issue 里跟进;问题反馈和新建议请用模板另开 Issue。
更新于 2026-11-12。一期开工了:大家共用的部分已经由维护者做好(#21),包括表结构、网站和抓取节点之间的接口、收抓取结果和归并、登录和权限、页面的框架和样式。剩下的拆成了下面的任务,可以并行认领。
本地怎么跑见 AGENTS.md 的「命令」:pnpm seed 填示例数据,登录用假的鼠洞。设计见总体设计,参与方式见 CONTRIBUTING。
引用说明:Issue 用于需求和讨论,PR 用于方案和实现。PR 合并不等于上线,任务 Issue 按验收标准关闭。
实验和数据
- 扩充标注集:初筛覆盖全部 45 个列表页,抽取扩到 150 条左右,以后换模型跑一遍就能定门槛;待认领,初筛的部分适合新人。[任务] 扩充初筛和抽取的标注集 #84
一期:能看、能改
网站
网站这边一期的任务都由维护者 @JunieXD 做完了,见下面的「已完成」;有建议直接开 Issue。
抓取节点
- 补上认不出的日期写法:程序认不出的日期,模型选不到,截止会悄悄漏掉;进行中,@w-tong2004,PR 补齐通知日期写法并保留编号证据 #97 按审查意见修改中,短数字日期这次先不认。[任务] 补上日期识别认不出的写法 #85
- 失败的模型调用也算进用量:初筛中途失败、抽取答错时,这次调用的用量交不到网站,抓取看板的用量统计里少了它(抽取的先记在日志里);要让
POST /runs带上失败调用的用量,网站和抓取节点都要改。待认领 - 试抓(抓取节点这边):进行中,@zzsky233,PR 接通抓取节点试抓与配置生成 #101 按审查意见修改中;网站这一半已做好([任务] 试抓:网站这边 #38),领活时领到试抓,结果交到
POST /crawler/probes/{id},管理员在来源管理页就能看到。[任务] 试抓:抓取节点这边 #46 - 列表页的年份写在分组标题里时读出日期:有的列表页把年份写在分组标题里,每行只写月和日,现在这些条目读不出日期;第一次抓往回翻两年靠条目的日期判断停在哪,日期全空的来源会一直翻到最后一页。接通抓取节点试抓与配置生成 #101 试抓时发现。待认领
- 图片和扫描件的文字识别:进行中,@FengshuoChen:图片的部分在 PR 实现图片附件的文字识别并展示效果 #74;读附件已合并(实现读正文和附件 #98),扫描的 PDF 可以接上。[任务] 图片和扫描件的文字识别 #47
鼠洞登录
鼠钟这边已经做好(#25)。鼠洞的授权接口已在 mousebaoyan/mousehole#347 合并,本地对着它走通了登录,文档在 #78 里更新。上线时在鼠洞后台登记鼠钟,把 client_id 和密钥填进鼠钟的配置。
已完成
- 总体设计:添加初始设计文档和项目规矩 #1
- 技术选型:网站和鼠洞同一套,抓取节点用 Python,见总体设计 §5。Issue:[任务] 技术选型:网站和抓取节点 #3;PR:定下技术栈:网站和鼠洞同一套,抓取节点用 Python #11
- 项目骨架和协作设施:PR 要通过 CI 的检查才能合并。Issue:[任务] 项目骨架和协作设施 #8;PR:统一换行和编辑器设置,任务按部署单元加标签 #9、搭好网站和抓取节点的骨架,接上 CI #12
- 一期的主干:Issue:[任务] 一期的主干:先定下共用的部分 #21;PR:建好一期的表,定下抓取节点的交接流程 #22–加上页面共用的时间值显示和项目状态 #30
- 管理院校清单和来源:管理员在网页上维护院校和来源。Issue:[任务] 管理院校清单和来源 #37;PR:添加管理员院校与来源管理 #52
- 带令牌的请求不再按会话 Cookie 认人:认证收到一处。Issue:[任务] 带令牌的请求不再按会话 Cookie 认人 #56;PR:带令牌的请求不再按会话 Cookie 认人 #58
- 抓取不再读 robots.txt:有的学院官网一请求 robots.txt 就断开连接。PR:抓取不再读 robots.txt #70
- 第一批来源清单:7 所学校 45 个通知列表页,学院和研究生院的都有,见 data/sources.csv。Issue:[任务] 第一批来源清单 #5;PR:补充第一批来源清单 #66
- 院校清单和学院页:按学校找学院,看它的来源和历年的项目。Issue:[任务] 院校清单和学院页 #33;PR:实现院校清单和学院页 #71
- 句子、日期和链接的编号:抽取时模型只选编号,程序按编号取值和原文证据。Issue:[任务] 句子、日期和链接的编号 #43;PR:实现原文句子日期和链接编号 #75
- 初筛的实验:用 SemIf 判别模型只看标题,门槛 0.1,见总体设计 §8.1、§8.5;标注集扩充后重跑([任务] 扩充初筛和抽取的标注集 #84)。Issue:[任务] 初筛的实验 #4;PR:补充初筛标注集 #67、添加初筛评估脚本和实验结果 #68、补充 System One 多模型初筛比较结果 #80
- 读列表:按页面上重复的结构认出列表,认不出的用配置指定;第一次抓往回翻到两年前。Issue:[任务] 读列表:通用抓取、配置和往回翻页 #6;PR:实现通知列表解析、配置和历史翻页 #83
- 抽取的实验:选定 DeepSeek V4.1 Flash 的编号方案,见总体设计 §8.5;上线走 DeepSeek 官方接口。Issue:[任务] 抽取的实验 #18;PR:补充抽取实验标注集 #72、补充基于编号的抽取评估和实验结果 #81
- 总表(首页):一届的项目按截止时间排好,能筛选、排序、搜索和分页,条件在网址里,数据没变时浏览器不重新下载。Issue:[任务] 总表(首页) #31;PR:实现总表的接口、页面、筛选和分页 #87
- 校验提示写明是哪一项、怎么改:比如「学校名称不能为空」,以后要人填的字段照这样起名。Issue:[任务] 校验不通过时显示好懂的中文提示 #57;PR:校验不通过时提示是哪一项、怎么改 #88
- 详情页:原文放在最上面,每个字段能看到原文里的句子和来自哪一版,每一版都能打开快照;快照净化后只留文字、表格和链接。Issue:[任务] 详情页:字段、证据和快照 #32;PR:实现项目详情页、版本和快照 #89
- 直接修改、修改记录、撤销和已核对:L3 以上在详情页直接改,人改的字段之后的通知不覆盖;每次修改都有记录,撤销时连来源一起放回去;管理员能一次撤销某人的全部修改。Issue:[任务] 直接修改、修改记录、撤销和已核对 #35;PR:实现直接修改、修改记录、撤销和已核对 #90
- 审核页:抽取拿不准的字段和归并由 L3 以上对照原文决定,通过就照那个版本上表或者归并,驳回只关掉这一条;下面列全站最近的修改。Issue:[任务] 审核页 #36;PR:实现审核页 #91
- 抓取看板:按天看每个来源每一轮的结果、没抓成的通知和模型用量,连续失败的标红、旺季里 30 天没有新通知的标黄,抓取节点很久没来领活时提示;来源管理页的最近一次结果链接过来。Issue:[任务] 抓取看板 #34;PR:实现抓取看板 #92
- 抓取节点令牌:站长在系统设置里生成和作废,令牌只显示一次,作废马上生效。Issue:[任务] 抓取节点令牌:站长的系统设置 #39;PR:实现抓取节点令牌的管理 #93
- 试抓(网站这边):管理员在来源管理页试抓列表页,看抓到的条目和生成的配置,采用后保存来源;等抓取节点那一半([任务] 试抓:抓取节点这边 #46)做好就能用上。Issue:[任务] 试抓:网站这边 #38;PR:实现试抓的网站这一半 #94
- 读正文和附件:正文按建站系统的正文容器取,认不出的记进抓取记录、不猜;附件按页面上的顺序下载、取出文字,要验证码下载的照样列出、文字留空。选定的库见总体设计 §5.1。Issue:[任务] 读正文和附件 #40;PR:实现读正文和附件 #98
- 浏览器抓取:要执行脚本才显示内容的来源用无头 Chromium 打开再抓,一轮里同一个来源共用一个无痕会话,页面访问和附件下载照样守同一网站一次一个请求的规矩。Issue:[任务] 浏览器抓取 #41;PR:接入浏览器抓取 #77
- 重新设计网站的界面:项目一个一张卡片,筛选可多选并显示数量,加上校徽;适配手机,切换时有过渡动效,页面和静态文件压缩传输。PR:重新设计网站的界面,加上校徽 #95
- 初筛接进一轮:新通知按标题初筛,过门槛的才往下读;初筛不成的记进没抓成的通知,下一轮再初筛。Issue:[任务] 初筛接进一轮 #42;PR:实现一轮中的初筛步骤 #82、加上抓取节点的入口和镜像 #100
- 抽取接进一轮:读到的正文和附件交给 DeepSeek,模型只选编号,程序按编号取出值和原文证据交给网站。Issue:[任务] 抽取接进一轮 #44;PR:将编号抽取接进一轮 #96
- 入口和 Dockerfile:抓取节点作为常驻进程运行,每分钟领活、各来源同时抓,停止时做完进行中的几轮再退出;镜像带无头 Chromium。Issue:[任务] 抓取节点的入口和 Dockerfile #45;PR:加上抓取节点的入口和镜像 #100
之后
二期(提醒和大家一起纠错)、三期(Agent 接入)和以后的计划见总体设计 §17。
目标是一期和二期在 2027 年 3 月底前上线,赶上 28 届的夏令营季。
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
路线图的进展改到置顶的 Issue 里跟进 (#7)
定下抽取的输出结构 (#17)