# 识屏 Shiping > 屏幕上的内容,截一下,AI 就看懂:题目、代码、报错、图表、外文资料,按下快捷键就有解答;听对话时,对方说完就有提示。屏幕共享时对方看不到窗口。 > **改名说明**:本项目原名「截屏解题助手」(仓库 `interview-coder-cn`),2026 年 10 月起改名为「识屏 Shiping」(仓库 `shiping`)。功能不变,升级后原有设置自动保留。为什么改、改了哪些,见[关于改名](#关于改名)。 > **版本说明**:v3 起新增对话模式,此后只维护 v3(`main` 分支)。只有截图解题的 v2 版本保留在 [`v2` 分支](https://github.com/ooboqoo/shiping/tree/v2),不再更新,安装包见 [v2.1.0](https://github.com/ooboqoo/shiping/releases/tag/v2.1.0)。 ![截图模式演示](https://github.com/user-attachments/assets/19781594-3108-4711-a54b-9d36496787bc) ## 两种模式 - **截图模式**(核心):按下快捷键截取屏幕,视觉模型实时理解屏幕上的内容,流式给出解答;可以追加截图、追问,保持上下文连续 - **对话模式**:实时识别对方说的话,对方说完一句就给出简短的回答提示——一句能直接说出口的开场,加上几个要点 | | 截图模式 | 对话模式 | | ---------- | ------------------------------------------ | -------------------------------------- | | 解决什么 | 屏幕上的内容:题目、代码、报错、图表、外文 | 对方说的话:面试、答辩等语音沟通 | | 怎么触发 | 按快捷键截图 | 对方说完一句自动出提示,也可以按快捷键 | | 适合的模型 | 能识图的模型 | 关闭思考的快模型,越快越好 | | 额外需要 | 无 | 阿里云百炼 API Key(语音识别) | 两种模式各自选用 AI 配置和提示词,可以随时切换:比如线上面试时先聊项目用对话模式,对方一共享题目,按快捷键切到截图模式就能解题。 ## 为什么选它 - **截屏即理解**:不用复制粘贴、不用切换窗口,屏幕上看得到的内容截一下就能问 - **两种模式一体**:看屏幕和听对话在同一个窗口里,各自选模型、各自配提示词 - **适配国内生态**:中文界面;硅基流动、DeepSeek 等国内平台开箱即用,支持支付宝付款;语音识别用阿里云百炼 - **屏幕分享隐身**:即使被要求共享屏幕,对方也看不到本助手的窗口 - **不打扰手上的事**:窗口置顶半透明,当前页面不会失焦;支持鼠标穿透,快捷键冲突时还可以用悬浮工具条点按钮操作 - **开源、自带 Key、没有订阅费**:直接调用你自己的 AI 平台,花多少钱看得见 - **追求快**:可以关闭模型思考;对话模式不等停顿结束就出提示,对方没说完会自动重写 ## 适用场景 | 场景 | 用法 | | ----------------------- | -------------------------------------------------------------------------------- | | 看不懂的代码 / 报错 | 截图模式「通用问答」:解释含义,指出原因和改法 | | 外文资料 / 图表 / 文档 | 截图模式「通用问答」:翻译、总结、提炼要点;常用的话可以新增一个自定义场景 | | 算法笔试 / 在线编程题 | 截图模式「解算法题」:给出思路和完整代码,题目长就追加截图,代码可自动复制或保存 | | 技术面试(视频 / 语音) | 对话模式「技术面试」;面试官共享编程题时,切到截图模式「解算法题」 | | HR 面 / 主管面 | 对话模式「行为面试」:按 STAR 给出经历类问题的回答要点 | | 英文面试 | 对话模式「英文面试」:给出英文回答要点,并用中文说明对方问的是什么 | | 英语机试 | 截图模式「英语考试」,听力题可以配合语音转录 | | 能力测评 / 行测 | 截图模式「能力测评」:逻辑、图形、数字推理,直接给出选项和关键依据 | | 其他在线考试 | 截图模式「通用问答」:单选、多选、解答等通用题型 | | 以上都不是 | 在设置里新增自定义场景,写自己的提示词 | 截图模式的编程题默认用 TypeScript 作答,题目指定了语言时按题目要求。 ## 快速开始 ### 1. 下载安装 到 [Releases](https://github.com/ooboqoo/shiping/releases) 下载安装包:Windows 用 `setup.exe`,macOS 用 `.dmg`(目前只提供 Apple 芯片版本,Intel 芯片的 Mac 请[从源码运行](#从源码运行))。安装和首次打开的注意事项见 [Wiki 教程](https://github.com/ooboqoo/shiping/wiki/%E7%9B%B4%E6%8E%A5%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%8C%85%E4%BD%BF%E7%94%A8)。 ### 2. 配置 AI 首次打开会提示填写 `API Base URL` 和 `API Key`。任何兼容 OpenAI API 的平台都可以,如国内的 [硅基流动](https://cloud.siliconflow.cn/i/SG8C0772)、DeepSeek,国外的 [OpenRouter](https://openrouter.ai/),或 OpenAI 官方(只填 `API Key` 即可)。 在「设置 → AI 模型」里可以保存多套配置,再到「截图模式」「对话模式」两组里分别选用: - 截图模式要发截图给模型,需要**能识图的模型**,设置里会标出不能识图的模型 - 对话模式只发文字,建议选一个**打开「关闭思考」的快模型**,出提示更快 常用平台的地址和模型名怎么填,见 Wiki 的[对照表](https://github.com/ooboqoo/shiping/wiki/AI%E6%A8%A1%E5%9E%8B%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E7%94%A8%E5%A4%B1%E8%B4%A5#%E5%B8%B8%E7%94%A8%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%A1%AB%E6%B3%95)。 > 部分平台或网关除了 API Key 还要求额外的请求头(如 Azure 的 `api-key`、Cloudflare AI Gateway 的 `cf-aig-authorization`),可以在配置的「高级 → 自定义请求头」里每行填一个 `名称: 值`。 #### 网络代理 在「设置 → 网络代理」里选择 AI 请求的连接方式: - **自动(默认)**:跟随 Windows / macOS 系统代理(含 PAC)。代理客户端调整端口后无需重新填写;点「检测系统代理」可查看当前 API 地址实际使用的规则,再点「使用系统代理并应用」。 - **自定义代理**:输入完整地址,例如 `http://127.0.0.1:20808` 或 `socks5://127.0.0.1:20808`,使用代理客户端实际监听的端口。支持 HTTP、HTTPS 和 SOCKS5,暂不支持需要账号密码的代理。本机回环和链路本地地址保留 Chromium 的默认直连规则,以测试显示的请求路由为准。 - **直连**:忽略系统代理,直接连接 API。 「测试连接」使用当前正在编辑的 AI 配置访问 `/models`,显示请求路由、耗时和 HTTP 状态,最长等待 10 秒,不生成回答。401 / 403 表示网络已收到响应,需要继续检查密钥、权限或网关限制;404 表示该地址没有模型列表接口,不代表聊天一定不可用。测试不会保存代理设置,确认后点「保存并应用」。 设置会保留到下次启动,应用于两种模式的 AI 请求和模型列表;测试和切换代理不会中断已开始的回答。不修改操作系统或其他软件的代理,也不接管语音转录、手机同步和软件更新的连接。 ### 3. 开始使用 - **截图模式**:按 `⌥ Enter`(Windows 为 `Ctrl+Enter`)截图解题 - **对话模式**: 1. 在[百炼平台控制台](https://help.aliyun.com/zh/model-studio/get-api-key)创建 API Key,填到「设置 → 语音」 2. 点窗口顶部的「对话」切换过去(或按 `⌥⇧M` / `Ctrl+Shift+M`) 3. 按 `⌥ T`(Windows 为 `Ctrl+T`)开始监听,对方说完一句话,右侧就会出提示 语音识别使用阿里云百炼的 Fun-ASR 实时模型,约 0.02 元/分钟,新用户有免费额度,以百炼官网为准。 ## 对话模式怎么出提示 - **自动**(默认):对方说完一句话立刻出提示。如果对方其实还没说完,这条提示会先撤回,等说完后重写到同一张卡里;「好的」「嗯」这类太短的句子不会触发 - **手动**:只在按「出提示」快捷键时出 - 两种方式下都可以随时按「出提示」立即出,不等对方说完;没有新内容时再按一次,会把上一条换个说法重出 - 左边是对方说的话,右边是提示;鼠标移到某条提示上,左边会高亮它对应的问题 - 对话模式采集的是系统音频,线上面试时就是会议里对方的声音,自己说话不会触发提示。「说完判定」的停顿时长和触发字数可以在「设置 → 对话模式 → 高级」里调整 - 想复盘的话,在「设置 → 对话模式」打开「保存对话记录到本地」:对方说的话和提示会自动保存成 Markdown 文件(默认在 文档/Shiping),一段对话一个文件,清空对话后另起一个 ## 让 AI 参考你的资料 在「设置 → 资料库」导入简历、项目笔记(PDF、Word、Markdown、TXT),或把准备好的问答直接粘贴成文本,AI 作答时会优先参考: - 经历类问题结合简历里的项目和数据,用第一人称回答;资料里有现成回答的问题,按你准备的要点和说法来 - 每份资料可以分别选择用于截图模式、对话模式 - 资料只保存在本机,但会随每次请求发给该模式使用的 AI 平台。资料越多回答越慢、费用越高,建议每个模式不超过 3 万字;DeepSeek、OpenAI 等平台会自动缓存重复的前缀,连续提问时这部分更快也更便宜 ## 在手机上看答案 在「设置 → 手机同步」打开后,截图模式的解答和对话模式的提示会实时同步到手机浏览器,手机只看不操作,不用装 App。适合把手机立在一旁看,电脑屏幕上不留任何窗口: - **局域网**:手机和电脑连同一个 Wi-Fi,扫设置页里的二维码即可 - **公网中转**:手机用流量也能看,需要一台自己的服务器跑中转服务,部署见 [relay/README.md](relay/README.md) 使用时注意: - 电脑上按翻页快捷键(`⌘J` / `⌘K`,Windows 为 `Ctrl+J` / `Ctrl+K`),手机跟着翻页,不用碰手机 - **电脑能打开、手机打不开**,多半是防火墙没放行: - Windows 按网络类型(专用 / 公用)分别放行,在一个网络下允许过,换了 Wi-Fi 可能就不作数了。到「Windows 安全中心 → 防火墙和网络保护 → 允许应用通过防火墙」给本应用勾上当前网络那一列;或在管理员 PowerShell 里执行: ```powershell New-NetFirewallRule -DisplayName "识屏 手机同步" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8790 -Profile Private -RemoteAddress LocalSubnet ``` - macOS 开着防火墙时,在「系统设置 → 网络 → 防火墙 → 选项」里允许本应用的传入连接 - 手机不能连路由器的访客网络(访客网络访问不到局域网里的电脑),手机上的代理 / VPN 也请先关掉 - 换了 Wi-Fi,电脑的地址会变,需要重新扫码 - 二维码只显示在设置页里,共享屏幕时对方看不到。二维码链接相当于只读密码,别外发;泄露了就点「更换二维码」(公网中转则换服务器的密钥) - 地址是 `http://` 时内容明文传输,在公共 Wi-Fi 上留意;公网中转可以按 relay/README.md 加上 HTTPS ## 常用快捷键 | 操作 | macOS | Windows | | ------------------------- | ----------- | ------------------- | | 截图解题(新开对话) | `⌥ Enter` | `Ctrl+Enter` | | 框选一块区域截图解题 | `⌥⇧ S` | `Ctrl+Shift+S` | | 追加截图 | `⌥⇧ Enter` | `Ctrl+Shift+Enter` | | 对话模式:出提示 | `⌥ G` | `Ctrl+G` | | 对话模式:切换自动 / 手动 | `⌥⇧ G` | `Ctrl+Shift+G` | | 语音转录 / 开始停止监听 | `⌥ T` | `Ctrl+T` | | 停止生成 | `⌥ .` | `Ctrl+.` | | 切换截图 / 对话模式 | `⌥⇧ M` | `Ctrl+Shift+M` | | 隐藏 / 显示窗口 | `⌥ H` | `Ctrl+H` | | 鼠标穿透 | `⌥ M` | `Ctrl+M` | | 上翻 / 下翻(手机同步翻) | `⌘J` / `⌘K` | `Ctrl+J` / `Ctrl+K` | 所有快捷键都可以在「设置 → 快捷键」里修改,完整列表见应用内的「帮助中心」。 ## 遇到问题 先看报错原文:截图模式在答案区顶部的「API 调用失败」下面,对话模式在提示卡片的「生成失败:……」里。常见问题按类别整理在 Wiki 里,每条都有原因和解决办法: - [AI 模型配置与调用失败](https://github.com/ooboqoo/shiping/wiki/AI%E6%A8%A1%E5%9E%8B%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E7%94%A8%E5%A4%B1%E8%B4%A5):404、401、模型名不对、模型看不到截图、一直「正在生成」、中转站的 Key 用不了 - [截图问题](https://github.com/ooboqoo/shiping/wiki/%E6%88%AA%E5%9B%BE%E9%97%AE%E9%A2%98):截错屏幕、只截题目区域、截图是黑的、截图没保存 - [窗口与快捷键问题](https://github.com/ooboqoo/shiping/wiki/%E7%AA%97%E5%8F%A3%E4%B8%8E%E5%BF%AB%E6%8D%B7%E9%94%AE%E9%97%AE%E9%A2%98):网页全屏时透明度跳变、启动就崩溃、快捷键没反应 - [语音与对话模式](https://github.com/ooboqoo/shiping/wiki/%E8%AF%AD%E9%9F%B3%E4%B8%8E%E5%AF%B9%E8%AF%9D%E6%A8%A1%E5%BC%8F):识别不到声音、转录后 AI 不回答、对话模式不出提示 没找到答案再[提 Issue](https://github.com/ooboqoo/shiping/issues/new),请附上软件版本、操作系统、所用平台和模型,以及报错原文(API Key 记得打码)。 ## v3 新变化 - **新增对话模式**:根据面试官说的话实时出提示,不需要截图 - **设置页改为分组导航**:通用设置(AI 模型、语音、界面与隐私、快捷键)和两种模式的设置分开,不常用的项收进「高级」 - **AI 配置按模式选用**:配置列表共用,两种模式各选一个。在「AI 模型」里点选配置现在只是打开它来编辑,要改某个模式用哪个配置,请点配置里的「用于」或到该模式的设置组里选。升级后两种模式都沿用你原来在用的配置 - **提示词场景按模式分开**,对话模式新增「技术面试」「行为面试」「英文面试」三个预设 - 自 v2.1 以来的其他改进:多显示器选择截图屏幕、只截固定区域、关闭模型思考、自定义请求头、快捷键切换提示词场景、预设场景可删除、答案渲染数学公式、代码自动复制/保存、状态栏显示解题耗时 完整更新日志见 [Releases](https://github.com/ooboqoo/shiping/releases)。 ## 关于改名 **为什么改** - 本项目的核心能力一直是「截屏 + AI 理解」:截取屏幕上的任意内容,交给视觉模型理解并作答。它从面试助手起步,但实际能用的地方远不止面试和考试,读代码、查报错、看图表、读外文资料都可以。新名字「识屏」直接说明它做什么 - 原来的名字和仓库名突出「面试」「解题」,容易让人只把它当成面试、考试工具;从合规角度看,这样的定位也不利于项目长期发展。后来加入的对话模式是辅助功能,不改变「截屏 + AI 理解」这一核心 **改了什么** | 项目 | 原来 | 现在 | | ------------------------------ | ---------------------------------------- | ----------------------------- | | 名称 | 截屏解题助手 | 识屏 Shiping | | GitHub 仓库 | `ooboqoo/interview-coder-cn` | `ooboqoo/shiping` | | 安装包文件名 | `interview-coder-cn-<版本>-setup.exe` 等 | `shiping-<版本>-setup.exe` 等 | | 应用名(程序、快捷方式、Dock) | 截屏解题助手 | 识屏 | | 截图模式的标题 | 截屏解题 | 截屏解答 | | 截图、对话记录的默认保存目录 | 图片/InterviewCoder、文档/InterviewCoder | 图片/Shiping、文档/Shiping | **升级须知** - 设置、AI 配置、提示词场景、资料库都会在新版首次启动时自动迁移,不用重新配置 - 旧的仓库地址、Issue 和 Wiki 链接会自动跳转到新地址;Windows 版照常收到自动更新,安装位置不变,开始菜单和桌面快捷方式改名为「识屏」 - macOS:新版是「识屏.app」,装好后可以删掉旧的「截屏解题助手.app」。签名证书和应用标识没变,一般不用重新授权;如果系统音频没声音,到「系统设置 → 隐私与安全性 → 屏幕与系统音频录制」里重新打开「识屏」。v3.3.0 在仓库改名后收不到新版本提示,请到 [Releases](https://github.com/ooboqoo/shiping/releases) 手动下载 - 打开了自动保存截图或对话记录、又没有指定目录的,新文件会存到新的默认目录,旧文件留在原处 - Windows 上用局域网手机同步的,程序文件名变了,防火墙可能要重新放行一次(见上文[在手机上看答案](#在手机上看答案)) - 自己部署的手机同步中转服务不受影响,不用改动 ## 关于隐身能力的说明 目前隐身功能适配市面上大部分会议软件(如腾讯会议等),但很少部分软件和浏览器可能无法正常隐身。请务必在正式使用前,用「当前电脑」+「当前会议软件」自行测试。 本项目仅供学习与研究使用,请遵守考试、面试等场合的相关规定,使用本软件产生的一切后果由使用者自行承担。相关问题欢迎到 [#21](https://github.com/ooboqoo/shiping/issues/21) 讨论。 ## 从源码运行 项目运行依赖 [Node.js](https://nodejs.org/zh-cn/download)。 ```bash $ npm install $ npm run dev ``` 也可以在项目根目录创建 `.env` 文件预配置 AI 平台,程序启动后会自动读取作为默认值: ```env API_BASE_URL="https://openrouter.ai/api/v1" # 聚合服务的 API 地址,这里以 OpenRouter 为例 API_KEY="sk-1234567890" # 你的 API Key,这里只是示例 MODEL="gpt-5-mini" # 可选,指定模型 ``` 自己打包安装包: ```bash $ npm run build:mac # macOS $ npm run build:win # Windows ``` 更多使用教程和视频请到本项目的 [Wiki](https://github.com/ooboqoo/shiping/wiki) 查看。 ## 许可协议(License) 本项目采用 **[CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/deed.zh)** 协议许可。 您可以自由使用、复制、修改本项目代码,但 **禁止任何形式的商业用途**,包括但不限于售卖、集成入商业产品、SaaS 服务等。 如需商业授权,请联系作者获得书面许可。 ## 类似项目 原 [Interview-Coder](https://github.com/ibttf/interview-coder) 项目在网络上爆火之后,出现了很多类似的项目(本项目也是其中一个),每个项目都各有特色,这里列举一些比较火的项目供参考。 - https://github.com/sohzm/cheating-daddy 作者是前段时间在硅谷大热的争议程序员 Soham Parekh - https://github.com/pickle-com/glass - https://github.com/j4wg/interview-coder-withoupaywall-opensource