Thesisly 研迹
论文索引与阅读前端:Next.js App Router + TypeScript + Tailwind CSS;shadcn/ui Button组合模式基于Radix Slot与CVA,Lucide提供图标,Sonner提供复制/退出等反馈。不配置CI/CD,不部署,不创建新的业务后端。
本地开发
用户最新要求暂不执行本地 build,当前尚未启动开发预览。以下为后续启动命令:
pnpm install
cp .env.example .env.local
pnpm dev
本地地址:http://localhost:17322。可匿名浏览论文;真实登录前先按身份接入注册项目。没有账户时auth/me本地返回401,不向后端发送空token。
pnpm typecheck
pnpm test
# 明确允许本地生产构建后
pnpm build
页面
/:论文列表、标题/作者/摘要搜索、领域过滤、收录顺序/标题排序与分页。/papers/{id}:原始摘要、作者、日期、来源元数据、引用复制与原文链接。/login:Google/Slack OAuth入口及邮箱注册登录。/auth/callback:一次性凭据兑换与邮箱验证。/about:数据范围与主题说明。- 空结果、404、加载中与数据服务错误均有对应状态。
默认Vignelli,顶部可切换Editorial/Tufte;仅主题偏好存于localStorage,绝不保存认证token。英文品牌已确定为 Thesisly;中文名为研迹,Gitea 仓库链接待用户提供,尚未注册域名或商标。
数据与后端
src/data/papers.json来自既有Paper Atlas的2026-11-06T13:58:30Z各表20行导出,按paper_id关联来源,保留标题、作者、摘要和metadata。首页显式标注“样本”;20条都是历史记录,不冒充热门或最新论文。
PAPER_API_ORIGIN为空使用样本;配置后只访问远程HTTP接口,错误会明确显示,不能静默退回样本。正在实现的共享后端接口见论文API契约。本机和浏览器不直连服务器SQLite、不保存数据库密码。
项目级技能
.agents/skills/ui-craft-editorial与其依赖ui-craft来自educlopez/ui-craft;.agents/skills/beautiful-article来自ConardLi/garden-skills。后者已包含theme-profiles/vignelli.md和tufte.md,不是两个单独上游skill。阅读页主题按这些authoring profiles在应用CSS中适配,不声称是ReActicle运行时。完整Beautiful Article harness仅在另行生成单篇HTML时应用。
当前验证边界
类型检查与会话策略单测已通过。生产构建、开发服务器、浏览器交互及真实OAuth尚未通过验收;此前构建/预览被自动审批阻止,随后用户要求暂不 build。前端目录为 /Users/zzyang/thesisly,远程已连接 Zayden-Jung/Thesisly,main 仅有用户授权的空初始化提交;后端项目注册待确认;论文 HTTP API 已纳入本目标,由代理在 Foundry Core 的 codex/research-api 分支实现。
当前后端依赖
用户已配置 Thesisly 的 FOUNDRY_PROJECTS。论文库正在迁移至 PostgreSQL;本目标等待迁移完成后实现并接通 Core 的论文 API,不再采用 SQLite sidecar,也不需要 FOUNDRY_RESEARCH_DATABASE。当前本地20条导出仅用于视觉与交互开发,绝不代表全库已接通。