Skip to content

Latest commit

 

History

History
188 lines (150 loc) · 22.2 KB

File metadata and controls

188 lines (150 loc) · 22.2 KB

Jev 聊天助手官网设计说明

这份文档说明 chatjevs.com 的信息架构、视觉语言、首屏演示与入口设计。改版面之前先读它;改文案或版本号看 MAINTAINING.md。后半部分的旧版迁移表保留为历史记录,以本页前两节和 MAINTAINING.md 的现行入口规则为准。

1. 这页要解决什么

读者

  • 从公众号、短视频、朋友转发来的安卓用户:想知道它能帮我做什么、安不安全、怎么装。多数在手机上打开。
  • 从 GitHub、英文 awesome 清单和 X 来的开发者:想知道它怎么判断、数据怎么走、代码在哪。多数在电脑上打开,一部分读英文。

他们的问题,页面按这个顺序回答:

  1. 它到底做什么?(首屏演示:一条消息进来,到回复填进输入框)
  2. 它凭什么比直接让 AI 写一段强?(01 先看懂:同一个「嗯」,7 道判断题,和其他做法比)
  3. 中间发生了什么?(02 怎么工作:哪一步在手机上,哪一步发往你配置的接口)
  4. 它读我的聊天,数据去了哪?(03 数据去向)
  5. 我的 App 能不能用?电脑呢?(04 支持的 App)
  6. 怎么装?(05 开始使用)
  7. 还有什么要提前知道的?(06 常见问题 + 现在还做不到的)

转化目标:让访客在了解产品后进入安卓 GitHub 主仓库的「开始使用 Jev」区,选择 Android、Windows 或 macOS。官网没有 APK 直下入口。三端获取卡片同级展示,其后是简短 Star 支持提示,入口区最后提供安装教程与交流更新。隐私政策、许可和 Issue 仍按各自用途链接。首屏和收尾色带提供同一 GitHub 获取按钮。

2. 信息架构

# 节 锚点 这一节回答的问题 节尾的下一步
— 首屏 #top 它是什么?用起来是什么样? 前往 GitHub 获取 Jev、「聊天内容去了哪里」
01 先看懂 #read 为什么先判断再写?判断些什么?和别的做法差在哪? 接下来:看它怎么工作
02 怎么工作 #how 从屏幕到输入框经过哪几步?哪步在本机、哪步发出去? 接下来:聊天内容去了哪里
03 数据去向 #privacy 读了什么、发给谁、存在哪、怎么删、从不做什么 读完整隐私政策
04 支持的 App #apps QQ / X / 飞书 / 其它 App / 网页 / iOS 各是什么状态? 前往三端获取区
05 开始使用 #start 三端各怎么获取?Android 装包、填密钥、开权限各怎么做? 三端同级卡片 → Star 提示 → 安装教程与交流更新
06 常见问题 #faq 8 个问题 + 8 条已知限制 提 Issue 或公众号私信
07 联系与交流 #contact 去哪里交流、反馈问题? 主仓库交流区、Issue
— 收尾色带 — 选择平台 前往 GitHub 获取 Jev
— 页脚 — 产品 / 资源 / 社区链接、许可、免责声明 —

排序依据:先让人看到那一刻(首屏演示),再讲「先看懂」这个差异点,然后立刻把信任问题讲清楚(它读聊天,这是用户心里的头一道坎),然后才是支持范围、安装和问答。隐私放在第 3 节、而不是页底,是这一版和旧版结构上改动大的地方。

页面高度(本地实测,浅色中文):

1440 宽 375 宽
旧版 7,913px 12,308px(旧版在 375 宽下横向溢出到 443px)
新版 9,443px(英文 10,098px) 15,720px(无横向溢出)

新版保留了会动的首屏演示、「同一个嗯」对照、7 道判断题、数据去向图和五问、单独展示的 8 条已知限制、3 个新问答。三端获取现在集中在 05 节。

3. 视觉语言

概念:批注。 Jev 在聊天旁边做的事,像有人在对话边上写一张安静的批注:这句话是什么意思、有多危险、可以怎么接。页面把这个动作做成几种反复出现的元素,全部从 App 悬浮窗里长出来,不另造图形:

  • 气泡尾巴标签:节标题上方的小标签(01 先看懂)、首屏批注卡、步骤编号,左下角都是尖的,像一个聊天气泡。
  • 虚线引线:首屏右侧的批注卡用一条虚线连到手机里它说的那个位置(悬浮球、危险标签、第 1 条候选、发送键),跟着演示步骤移动。
  • 危险等级刻度:0–9 十格刻度条,0–2 绿、3–5 橙、6–9 红,和 App 源码里 dangerColor 的分档一致。只用在「同一个嗯」对照里。
  • 实心 / 虚线:实心蓝底 = 在你手机上发生;虚线描边 = 发往你配置的接口;斜线底 + 删除线 = 不存在的环节(作者服务器)。「怎么工作」和「数据去向」两节用同一套记号。

色板

蓝色系沿用旧站和 App(#2f6be6;悬浮窗按钮是 #3a7afe)。危险等级三色用 App 源码的值;页面上的文字版用加深色保证对比度。

令牌 浅色 深色 用途与对比度(WCAG)
--bg #FBFCFE #0B1120 页面底
--bg-tint #F2F5FA #0E1628 交替节背景
--card #FFFFFF #121B2E 卡片
--ink #0E1726 #E8EDF6 正文,17.5:1 / 16.0:1
--ink-2 #475467 #AAB5C7 次要文字,7.7:1 / 9.0:1
--ink-3 #5D6B82 #8C98AE 注释,5.0:1(在 tint 底上)/ 5.4:1
--blue #2F6BE6 #6F9BFF 图形、描边、主按钮底(浅色)
--blue-ink #2458C9 #8FB2FF 蓝色文字和链接,6.3:1 / 9.0:1
--btn-bg / --btn-ink #2F6BE6 / #FFF #9DBBFF / #0B1120 主按钮,4.8:1 / 9.9:1
--safe / --warn / --risk #15803D / #B45309 / #B91C1C #4ADE80 / #FBBF24 / #F87171 危险等级文字,均 ≥ 5:1

深色不是反色:浅色是「白天的聊天」,首屏右上一团蓝色光、左上一点暖色光;深色是「夜里回消息」,底色是深海军蓝,主按钮从实蓝换成浅蓝底深字(深底上更亮),收尾色带换成更沉的蓝。手机样机里的聊天界面跟着主题变成深色,但 Jev 悬浮窗始终是浅色——App 里的面板本来就是浅色的,深色下它从聊天上浮出来,反而更像真机。二维码始终白底,保证能扫。

字体

  • 中文:只用系统字体(苹方 / 鸿蒙 / MiSans / 微软雅黑 / 思源黑体),不下载中文字体。
  • Figtree(Google Fonts,可变字重 400–800,只下拉丁子集):用于英文、数字和标题里的拉丁字母。media="print" onload 非阻塞加载;加载不到时退回系统字体,中文部分本来就不依赖它,版面不变。
  • 手机样机里用系统 UI 字体,模拟真机。命令行用系统等宽字体。

中文排版:正文 16.5px、行高 1.75;段落限宽 32–46em;line-break: strict;标题 text-wrap: balance + text-spacing-trim,段落 text-wrap: pretty。英文行高 1.62,标题字距收紧。

栅格与组件

  • 内容区宽度上限 1180px;边距 16 / 24 / 32px。节间距 clamp(56px, 6.4vw, 92px)。圆角 10 / 16 / 22px。
  • 组件:GitHub 获取主按钮、三端同级卡片、Star 支持提示、气泡尾巴标签、手机样机、批注卡、步骤进度条、对照卡、刻度条、题卡(选择 / 打分 / 是非三种色签)、对比表(首列吸附、横向可滚)、流程节点(实心 / 虚线)、数据边界图、问答定义表、状态表、命令块(可复制)、示意设置卡、权限开关、手风琴、已知限制卡、二维码卡、收尾色带。

4. 首屏演示

  • 做法:手机样机和悬浮窗都是 HTML/CSS 画的,不是截图。悬浮窗的结构、文案格式、颜色、字号按 App 源码 overlay/OverlayController.kt 还原:「未用知识库」提示行、危险 8/9 红色标签 + 「很危险」、「对方真实意图:…」、「把握 82%」、「要… · … · …」一行、「候选回复(Jev 排序)」、三张候选卡(第 1 张浅蓝底,「复制 / 填入」两个胶囊)。聊天界面是通用样式,不仿任何具体 App。
  • 剧情:用宣传片 v2.3 里已经定稿的那段对话(对象说「你根本就不懂我」),判断和候选的数值也照宣传片(危险 8/9、确认你在不在乎、把握 82%、64% / 24% / 12%)。页面上写明「演示动画,对话为模拟;悬浮窗按 App 源码还原」。
  • 四步:消息进来(悬浮球由绿变红)→ 看懂意图(标签、意图、要什么依次亮起)→ 三条候选(依次出现)→ 由你发送(点「填入」,回复逐字进输入框,发送键被虚线圈出、不被按下)。一轮约 12.6 秒循环。
  • 批注卡:宽屏时在手机右边,脚本量出目标元素的位置,让虚线引线正好落在悬浮球 / 危险标签 / 第 1 条候选 / 发送键旁边;窄屏时放在手机下方。
  • 可控:四个步骤是按钮,点哪一步就停在哪一步的完整状态;有「暂停演示」按钮(满足 WCAG 2.2.2);离开视口或切到后台自动暂停。
  • 渐进增强:没有 JS、开了「减弱动态效果」、社交平台抓取时,看到的都是收尾状态:悬浮窗全开、第 1 条被选中、输入框已填、发送键被圈出、批注写着「发送键不动」。减弱动效时点步骤按钮仍可逐步看,只是没有过渡。
  • 英文:演示里的对话和悬浮窗文字跟着翻成英文,说明里写明「App 本身的界面是中文」。

5. 关键决策

  1. 不用旧的悬浮窗截图,改为按源码重画。 旧版首屏和 og 图用的 assets/overlay.webp 是早期截图:聊天界面看起来是已停用平台的界面(绿色气泡、绿色发送键),面板半透明处还能看到一条带作者真名的 @ 提及。两条都和硬规矩冲突,所以新版不再引用它;og 图按新演示重画,覆盖在原路径 assets/og.png。overlay.webp、settings.webp 两个文件已在上线时删除(全组织搜索过,没有外部引用)。
  2. 设置页截图换成示意卡。 旧的 settings.webp 是 v1.2 的单密钥设置页,和「判断 / 回复 / 视觉三路接口」的说法对不上。「填密钥」一步改用一张标着「示意」的三路接口卡,标签文字取自 App 设置页源码。
  3. 首屏标题换成宣传片口号「回消息之前,先看懂对方」。 旧标题「任何聊天里,都有个副驾」在支持范围收窄到 QQ / X / 飞书 + 手动识别之后有点过;「对话副驾」这个定位保留在副标题、页脚和收尾里。
  4. 信任前置。 数据去向单独成节放在第 3 位:一张边界图(手机 → 只在分析那一刻 → 你配置的接口;作者服务器「没有这一环」)+ 五问(读了什么、发给谁、存在哪、怎么删、从不做什么)。开头就写明「这不是一个『什么都不收集』的产品」,和隐私政策原文的口径一致;不写任何安全承诺。
  5. 「怎么工作」的节点拆成六步,并标出每一步在哪里发生。 旧版把「Jev 判断」和「生成模型起草」画在同一格;隐私政策写的是「判断完成后起草候选回复」,所以拆成先后两步。
  6. 已知限制不折叠。 旧版藏在末尾一个问答里;新版放在问答旁边的独立卡片,宽屏时吸顶跟随。
  7. 中英单一来源。 所有文案在 i18n.js,index.html 里的中文由 tools/check-i18n.mjs --fix 写入;?lang=en 直接打开英文并记住选择。privacy.html 保持中文,英文模式下所有隐私链接都指向它页底已有的 #en-summary。
  8. 产品获取链接:所有获取、安装教程、交流与更新入口静态写入 https://github.com/jev-chat/jev-chat-jarvis,不带 README 章节锚点,无 JS 时也可用;用户进入仓库首页后再分流。download/ 旧文件保留供既有外链访问,页面不提供直下。
  9. Star 数实时拉 api.github.com/repos/jev-chat/jev-chat-jarvis,缓存 30 分钟;拉不到时显示页面里的静态兜底值。
  10. 首屏不含视频的传输量:本地服务器不压缩,1440 宽约 200KB(其中站内文件约 180KB:HTML、CSS、JS、字典、图标;另有 Google Fonts 和 Umami)。首屏没有任何位图,二维码懒加载。

6. 无障碍与 SEO

  • 语义:header / nav / main / section[aria-labelledby] / footer;对比表、状态表是真 table(对比表带 caption,打勾打叉旁有读屏文字);数据去向五问是 dl;步骤是 ol;问答是原生 details。
  • 演示:手机样机 aria-hidden,整段剧情用一段读屏文字说明(demo.sr);步骤按钮用 aria-current="step" 标当前步;暂停按钮有 aria-pressed。
  • 键盘:跳到主要内容、所有控件可 Tab 到、焦点环 2.5px 蓝色;汉堡菜单 Esc 关闭并把焦点还给按钮;复制成功用 aria-live 播报。
  • 对比度见色板表,正文和按钮都 ≥ 4.5:1。
  • SEO:标题、描述、OG / Twitter 标签随语言切换;hreflang 指向 ?lang=en;OG 图 1200×630;JSON-LD 标注 SoftwareApplication(作者只写 GitHub 账号)。

7. 旧版内容清单与去向

旧版 = main 分支 d314df5 的 index.html 与 privacy.html。「原样」表示文字不变或只改了标点;「改写」列出了改动原因。

# 旧版内容 新版位置 说明
1 标题「Jev 聊天助手 — 任何聊天里的对话副驾」 meta.title 改为「回消息之前,先看懂对方|开源安卓对话副驾」,保留「对话副驾」
2 描述:三端对话副驾、读懂对方、意图与危险等级、三条候选、一键填入、只填不发、QQ / X / 飞书已跑通 meta.desc 事实全保留,去掉「任何」
3 OG 描述「读懂对方、三条回复、一键填入。开源 MIT,三端。程序只填不发。」 meta.ogDesc 原样
4 assets/og.png 同路径 重画(见决策 1)
5 Umami 统计脚本 两个页面的 </head> 前 首页保留;隐私页旧版没有,按要求加上
6 导航:功能 / 平台 / 快速开始 / 原理 / FAQ 先看懂 / 怎么工作 / 数据去向 / 支持的 App / 开始使用 / 常见问题 跟着新结构
7 深浅色切换、导航 Star 计数、「下载 Android 版」 导航 保留;按钮文字改为「下载 APK」
8 标签「开源 · MIT · Android / Windows / macOS」 首屏 hero.eyebrow 原样
9 标题「任何聊天里,都有个副驾」 首屏 hero.title 换成宣传片口号(决策 3)
10 副标题「读懂对方、三条回复、一键填入。QQ / X / 飞书已跑通,Windows / macOS 桌面版同步可用。」 hero.sub + 「已跑通」一行 + hero.desk 三件事拆开放
11 首屏 adb 命令 + 复制按钮 05 开始使用第 1 步 保留复制
12 首屏按钮:下载 APK、Windows 版、macOS 版、GitHub Star 首屏:下载 APK + Star;桌面版改为按钮下一行的文字链接 让安卓做主角
13 Star 引导「好用的话,去 GitHub 给我点个星吧」 05 节尾 + 收尾色带按钮 原话保留
14 「程序只把回复填进输入框,从不自动发送,不碰转账 / 红包 / 收款。」 首屏 hero.note 原样,加「聊天内容去了哪里」链接
15 首屏四步流水线 + 悬浮窗截图 首屏演示 四步一致,换成会动的演示
16 滚动条「已在这些 App 里跑通」:QQ / X / 飞书(OCR)/ 任意 App(手动 OCR)/ 网页端(规划中) 首屏底部「已跑通」 改成静态一行
17 「不只会写,先看懂。」+「大多数助手直接给你一段话。Jev 先判断这条消息到底是什么,再决定怎么回。」 01 节 导语原样;标题换成「同一个『嗯』…」
18 判断卡:判断模型不写字、固定选项、7 项、概率和把握度、约 1 秒 jq.title / jq.lead + 7 张题卡 原意保留;7 项全部列出;含极限词的那一项改称「下一步怎么做」
19 候选卡:3 条(稳妥接话 / 给出行动或承诺 / 简短表态)、默认经 OpenRouter 调 DeepSeek、Jev 排序标概率 02 节第 3、4 步 原样
20 填入卡:点一下进输入框、只填不发、不碰转账红包收款、发送那一下由你按 演示第 4 步、02 节第 6 步、问答 1 原意保留,措辞避开极限词
21 对比表(7 行 × 4 列)+ 导语 + 脚注 01 节末 原样
22 「一个 App,六件事做扎实」+「Built for everyday chats — 不是演示用的 demo。」 — 这两句口号删掉;六个功能分别并入下面几行
23 功能:一套内核,多平台 02 节 how.f4 原样
24 功能:非侵入(不改安装包、不走接口或账号、不读数据库、只读屏幕) 03 节「读了什么」、问答 5、对比表 原意保留
25 功能:知识库与关联上下文 02 节 how.f1 原样
26 功能:读不到就 OCR 02 节 how.f2 原样
27 功能:接口全可配(五个预设、一键测连通、一把 OpenRouter 密钥就能用) 02 节 how.f3 原样
28 功能:隐私在本机(密钥私有空间、只在判断那一刻发给你配置的接口、作者不架服务器、不落盘不进日志、历史默认关) 03 节全节 展开成边界图 + 五问
29 平台表(QQ 9.3.50、X 12.25 中文界面、飞书 OCR 兜底、任意 App 手动识别、Windows、macOS、网页端规划中)+「真机实测为准…」 04 节 安卓部分原样;新增 iOS「暂不支持」一行(来自旧问答)
30 「三个端,一套判断内核」+ 导语 + 三张端卡 04 节右栏「桌面版:姊妹项目」 导语原样;版本号按各自当前的 Latest Release 升到 Windows v0.1.11、macOS v0.6.0;Windows 卡里禁词表中的那个英文技术词改为「不改客户端」;补上两端的系统要求
31 三步开始:装包(Android 11+、adb)、填密钥(判断接口填 OpenRouter Key,其余继承,一键测连通)、开权限(三项,小米 / HyperOS 后两项必做) 05 节 原样;补上「仅支持 arm64-v8a」「升级后无障碍关开一次」「博查 Jev 限时免费」三条(README / Release)
32 设置页截图 05 节第 2 步示意卡 见决策 2
33 「它怎么工作」+「从屏幕上的一条消息,到输入框里的一句话…」+ 五个节点 02 节 导语变标题;节点拆成六步(决策 5)
34 问答:会不会自动帮我发送? 问答 1 原样
35 问答:支持 iOS 吗? / 电脑端能用吗? 问答 6(合并) 旧版这两问一处写网页版「暂无规划」、平台表写「规划中」,按 README 统一为「规划中,目前没有网页版」
36 问答:要准备什么密钥? 问答 3 原意保留,补博查 Jev
37 问答:我的聊天内容会被上传吗? 问答 2 原样(两处表示「离现在近」的说法改为「近几条 / 近期」,避开极限词检查);加完整隐私政策链接
38 问答:群聊准吗?还有哪些已知限制?(5 条) 「现在还做不到的」卡 5 条原样,另补 README 里的 3 条(OCR 只认可见部分、知识库按标签匹配、包体约 25 MB 只支持 arm64)
39 联系:公众号二维码(私信)、交流群(7 天过期、在 README 底部)、GitHub Issues 07 节 原意保留;交流群补上 README 现在的说法(群满或过期找公众号要新码)
40 收尾「现在装上,下一条消息就有副驾」+ 版本行 + 按钮 收尾色带 原样,版本号更新
41 页脚标语「任何聊天里的对话副驾。读懂对方、三条回复、一键填入。」 ft.tag 改为「你的对话副驾。…」
42 页脚三栏:产品 / 资源 / 社区 页脚 保留;「更新记录」改指 CHANGELOG.md,资源栏加隐私政策
43 「© 2026 Jev 聊天助手 · MIT 开源 · 可商用,须注明出处(NOTICE) · 隐私政策」 页脚 原样
44 免责声明「仅供个人学习与研究使用…」 页脚 原样
45 二维码:只有公众号一张 07 节 保留,不新增
46 window.JEV 版本号与 APK 地址逻辑 站内 download/ 直链 + main.js 第 4 段 见决策 8
47 privacy.html 正文 同文件 正文一个字没改(脚本比对 <main> 纯文本:5,417 字,SHA-1 前缀 69677f0ced27,新旧一致);换了新导航、页脚和样式,去掉逐段淡入

8. 和旧版相比删了 / 合并了什么

  • 删掉:「一个 App,六件事做扎实」「Built for everyday chats — 不是演示用的 demo。」两句口号;首屏的横向滚动条动画;旧的悬浮窗截图和设置页截图(文件保留,页面不引用)。
  • 合并:「支持 iOS 吗」「电脑端能用吗」合成一问;「隐私在本机」卡和问答 2 的内容展开成第 3 节;平台表和三端卡合成第 4 节;旧的价值三卡(判断 / 候选 / 填入)拆进演示、「七道题」和流程六步。
  • 新增:首屏演示、「同一个嗯」对照、7 道判断题、数据边界图和五问、iOS 状态行、桌面版系统要求、3 个问答(要花钱吗、需要 root 吗、悬浮球不见了 / 升级后没反应)、3 条已知限制、英文版。新增内容全部来自 App 仓库 README、CHANGELOG、Release 说明、源码和宣传片工程。

9. 取舍与拿不准的地方

  • 页面变长了(见第 2 节)。继续压就只能删内容。
  • 候选排名标签:悬浮窗里候选的排名在 App 里写作「井号 + 序号 · 占比」。为了让极限词检查保持为空,页面源码只写「1 · 64%」,井号由 CSS 的 ::before 补上,看到的效果和 App 一样。og 图里是像素,不受影响。
  • 隐私政策正文里还有 7 处会被极限词检查命中的字:都是时间、数量上的普通用法(「…近 10 条消息」「…多保留 300 条」「…后一步」「…新版本」),不是广告用语,而且正文按要求一字不改,所以留着。旧版同样是这 7 处。
  • 英文里拿不准的说法:见 MAINTAINING.md 末尾「英文用词」一节。
  • 演示里的数值来自宣传片的模拟场景,不是某次真实调用的输出,页面上已标注。