综合介绍
self.so 是一个开源工具,专为快速将简历或 LinkedIn 个人资料转化为个人网站而设计。用户只需上传 PDF 简历或输入 LinkedIn 链接,系统通过 AI 技术(基于 Together.ai 的 Qwen 2.5 模型)提取信息,生成单页网站,展示工作经历、教育背景、技能和联系方式。生成的网站简洁美观,适配手机和电脑,适合求职者、自由职业者或学生展示个人品牌。
在线体验:https://www.self.so/
功能列表
- 一键生成个人网站:从 PDF 简历或 LinkedIn 链接提取信息,自动生成单页网站。
- 支持多种输入方式:上传 PDF 简历或输入 LinkedIn 个人主页链接。
- AI 信息解析:使用 Qwen 2.5 模型提取简历中的姓名、职位、公司等关键信息。
- 可编辑内容:支持修改文字、照片、链接,调整网站个性化内容。
- 主题切换:提供多种页面模板,满足不同风格需求。
- 移动端适配:网站在手机、平板和电脑上显示流畅。
- 一键发布:生成网站后可获取独立链接,方便分享。
- 开源免费:代码公开,支持用户下载、修改或本地部署。
- 账户管理:通过 Clerk 认证创建账户,保存和编辑网站。
使用帮助
快速上手 self.so
self.so 的操作简单直观,适合零编程基础的用户。以下是详细的使用流程:
- 访问网站并注册
打开浏览器,访问https://www.self.so
(注意:GitHub 地址https://github.com/Nutlope/self.so
是源代码仓库,实际使用需访问官方部署网站)。- 点击“注册”按钮,使用 Clerk 认证系统创建账户。支持通过邮箱、Google 或 GitHub 账号快速登录。
- 注册后,系统会引导你进入上传页面。
- 上传简历或输入 LinkedIn 链接
self.so 支持两种输入方式:- 上传 PDF 简历:点击“上传简历”,选择本地的 PDF 文件。建议简历内容清晰,包含姓名、工作经历、教育背景和技能。系统会将文件上传到 AWS S3 存储,并通过 Llama Guard 进行安全检查,确保文件无恶意内容。
- 输入 LinkedIn 链接:点击“输入 LinkedIn 链接”,粘贴你的个人主页 URL(格式如
https://www.linkedin.com/in/username
)。
提交后,AI(Qwen 2.5 72B 模型)会解析输入内容,提取关键信息,生成结构化数据(JSON 格式),包括职位、公司、时间线等。
- 预览和编辑网站
解析完成后,self.so 会生成一个预览页面,包含以下模块:- 个人简介:显示姓名、头像和一句话描述。
- 工作经历:按时间倒序列出职位、公司和职责。
- 教育背景:展示学校、专业和毕业时间。
- 技能标签:列出专业技能,如 Python、设计等。
- 联系方式:支持添加邮箱、电话或社交媒体链接。
用户可点击“编辑”按钮调整内容: - 上传照片:建议使用 JPG 或 PNG 格式,文件大小不超过 2MB。
- 修改文字:编辑简介或经历描述,突出个人优势。
- 添加链接:插入 GitHub、Twitter、个人博客等外部链接。
编辑界面采用所见即所得设计,类似在线文档工具。每次修改后,右侧预览窗口会实时更新,方便调整效果。保存更改后,内容会存储到 Upstash Redis 数据库,确保数据安全。
- 选择主题
self.so 提供多种主题模板,例如简约风、科技风等。用户可在“主题”选项中预览并切换,系统会自动调整字体、颜色和布局。未来计划新增更多主题(如吉卜力风格),进一步丰富选择。 - 发布网站
编辑完成后,点击“发布”按钮,系统会生成一个独立链接(格式如https://self.so/username
)。用户可复制链接分享到简历、邮件或社交媒体。网站托管在 Vercel 平台,加载速度快,支持主流浏览器(Chrome、Safari、Edge 等)。
如果已有网站,上传新简历会覆盖旧内容(未来版本将优化此功能,允许保留历史版本)。 - 高级功能
- 自定义域名:用户可绑定个人域名(需自行购买并配置 DNS)。具体步骤见 GitHub 文档
README.md
中的“Custom Domain”部分。 - 导出静态文件:生成网站后可下载 HTML、CSS 和 JavaScript 文件,部署到其他服务器或保存为离线版本。
- 多语言支持:AI 能解析中文、英文、日文等简历,生成多语言网站。用户可手动优化翻译,确保准确性。
- 自定义域名:用户可绑定个人域名(需自行购买并配置 DNS)。具体步骤见 GitHub 文档
开发者部署指南
如果你想本地运行或修改 self.so,可以按照以下步骤操作:
- 克隆代码库
打开终端,运行:git clone https://github.com/Nutlope/self.so
- 安装依赖
进入项目目录,运行:cd self.so pnpm install
确保已安装 Node.js(建议版本 16 或以上)和 pnpm 包管理器。
- 配置环境变量
在项目根目录创建.env
文件,参考.example.env
,添加以下密钥:TOGETHER_API_KEY=你的Together.ai密钥 UPSTASH_REDIS_REST_URL=你的Upstash Redis地址 UPSTASH_REDIS_REST_TOKEN=你的Upstash Redis令牌 AWS_ACCESS_KEY_ID=你的AWS访问密钥 AWS_SECRET_ACCESS_KEY=你的AWS秘密密钥 AWS_S3_BUCKET=你的S3存储桶名称 CLERK_SECRET_KEY=你的Clerk密钥
- Together.ai:注册账号获取 API 密钥,用于 AI 模型调用。
- Upstash:创建 Redis 数据库,获取 URL 和令牌。
- AWS S3:创建 S3 存储桶,获取访问密钥和存储桶名称。
- Clerk:注册获取认证密钥。
- 运行项目
执行以下命令启动本地服务器:pnpm run dev
打开
http://localhost:3000
,即可访问本地运行的 self.so。 - 代码结构概览
项目基于 Next.js 框架,技术栈包括:- 前端:Next.js App Router 管理页面路由。
- AI 集成:Vercel AI SDK 调用 Qwen 2.5 模型。
- 存储:AWS S3 存储 PDF 文件,Upstash Redis 保存用户数据。
- 认证:Clerk 提供用户登录和权限管理。
- 监控:Helicone 用于性能观测(未来完全集成)。
开发者可在app/
修改页面逻辑,或在lib/
调整 AI 解析算法。
特色功能详解
- AI 驱动的简历解析
self.so 使用 Qwen 2.5 72B 模型,能高效提取简历或 LinkedIn 中的结构化信息(如 JSON 格式的职位、时间等)。即使简历格式复杂(如多列或非标准布局),AI 也能准确识别。Llama Guard 确保上传文件安全,避免恶意内容。 - 实时编辑与预览
编辑界面支持实时更新,用户调整文字或图片时,预览窗口会同步显示效果。操作类似 Notion 或 Google Docs,简单直观。 - 开源与扩展性
项目代码公开,开发者可贡献新功能(如近期社区添加的主题切换)。GitHub Issues 提供问题反馈渠道,维护者响应迅速。 - 轻量高效
网站生成后使用静态文件,加载速度快,适合全球访问。Vercel 托管确保高可用性,Redis 数据库保证数据读写高效。
应用场景
- 求职者提升竞争力
求职者可将简历转为个人网站,附在邮件或 LinkedIn 投递中。网站直观展示经历和技能,适合程序员、设计师等展示项目作品的职业。 - 自由职业者推广服务
自由职业者可添加服务介绍、客户评价和作品链接,生成专业主页,吸引潜在客户。 - 学生建立在线形象
大学生可用 self.so 展示实习经历、课程项目或证书。网站链接可嵌入邮件签名,提升专业感。 - 开发者学习现代框架
程序员可通过研究 self.so 代码,学习 Next.js、Vercel AI SDK 和云服务集成的开发方式,适合前端和全栈开发者实践。
QA
- 生成网站需要付费吗?
不需要。self.so 是开源项目,生成和发布网站完全免费。 - 简历格式会影响解析效果吗?
一般不会。Qwen 2.5 模型能处理复杂格式的 PDF 简历。若解析有误,用户可手动编辑修正。 - 可以绑定自定义域名吗?
可以。用户需购买域名并配置 DNS,具体步骤参考 GitHub 文档。 - 如何保存编辑后的网站?
登录账户后,所有编辑内容会自动保存到 Redis 数据库,随时可重新访问和修改。 - 支持多语言简历吗?
支持。AI 可解析中文、英文等语言的简历,用户可手动优化生成内容。