Files
Thesisly/README.md
T

52 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Thesisly 研迹
论文索引与阅读前端:Next.js App Router + TypeScript + Tailwind CSS;shadcn/ui Button组合模式基于Radix Slot与CVA,Lucide提供图标,Sonner提供复制/退出等反馈。不配置CI/CD,不部署,不创建新的业务后端。
## 本地开发
用户最新要求暂不执行本地 build,当前尚未启动开发预览。以下为后续启动命令:
```sh
pnpm install
cp .env.example .env.local
pnpm dev
```
本地地址:`http://localhost:17322`。可匿名浏览论文;真实登录前先按[身份接入](docs/auth-integration.md)注册项目。没有账户时auth/me本地返回401,不向后端发送空token。
```sh
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契约](docs/paper-api.md)。本机和浏览器不直连服务器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条导出仅用于视觉与交互开发,绝不代表全库已接通。