← 返回列表
应用工具AI 资源

Writing Assistant:面向个人写作风格的桌面拼写语法与文风检查工具

Bernice-Koh/writing-assistant · Grammar-lee

GitHub原文发布 未知首次收录 2026-10-17上架 2026-10-17 07:02

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

这是一个为单一作者(其所有者)打造的个人化 Windows 写作辅助工具,跨浏览器、Microsoft Word 和原生桌面应用随打字实时检查拼写、语法与文风。其核心设计是 Style Card:由模型根据作者明确表达的偏好维护一组子句,工具据此刻画并提醒偏离目标文风的文本,还可用本地模型按需改写段落,并标注疑似 LLM 生成的措辞;作者的当下习惯只会被统计,不会成为目标。项目使用 Rust 与 Tauri 构建,处于早期开发阶段,暂无正式发布版本,本地构建中已可运行捕获、拼写、telltable 下划线等功能,部分模块(Style Card、规则层、改写、工作卡片等)标注为计划中的阶段。

核心能力与快速开始

★ 2 · Rust

能做什么
支持在浏览器、Microsoft Word(桌面与网页版)、Notepad、VS Code 等原生桌面应用以及受限的 Google Docs 场景中捕获聚焦输入框文本;基于打字停顿(500ms)触发重检,按句子哈希缓存,只重新检查发生变化的句子;确定性阶段执行拼写检查(spellbook + LibreOffice en_GB 词典并合并新加坡词表)和 telltale 目录(21 条从 Wikipedia《Signs of AI writing》人工编码的短语/正则模式,用于标注疑似 LLM 生成措辞);Grammar 阶段调用本机 LanguageTool 6.6(en-GB 变体,子进程、loopback 访问)检查一句话;实现硬/软标志分类与抑制逻辑(硬标志抑制重叠软标志、重叠 telltale 合并等);透明置顶覆盖层在文档上就地加下划线,按来源区分线型,悬停显示提示卡片;替换写入采用锚点+偏移的 span 寻址和插入级联(选中、合成按键输入、读回校验、失败回退为剪贴板粘贴);所有检查均在本地执行,不调用模型或网络,改写仅在作者主动请求时使用本地基础模型并在提示中带上 Style Card(改写、筛查、Accept 等为计划中功能)。
适用场景
适合个人作者在写作过程中即时获得拼写、语法与风格一致性提醒;用于检测并减少被识别为 LLM 生成腔调(telltale)的措辞;用于在新加坡英语(英式拼写加本地词汇)写作约定下检查草稿是否混用拼写习惯;用于围绕声明的写作风格(Style Card)进行偏离提醒和按需改写草稿段落;适合需要在本地离线环境完成检查、不希望把文稿发送到云端的写作场景;可作为研究个人化写作辅助与 style 建模的参考实现。
项目形态
可直接使用的工具
部署方式
桌面应用(Rust + Tauri,WebView2 前端);带一个 Manifest V3 浏览器扩展与本地 WebSocket 服务器作为可选的 Web 捕获后端;无正式发布版本,仅可从本地构建运行;当前 README 未说明打包与分发方式。
主要依赖
Windows 平台;前端语言为 Rust(后端引擎)与 Tauri/WebView2;Grammar 阶段依赖本机安装的 LanguageTool 6.6 子进程;拼写依赖 LibreOffice en_GB 词典与项目维护的新加坡词表;本地改写功能需要本地基础模型(计划中)。硬件规格、许可证、依赖版本与 API 成本未说明。
使用限制
处于早期开发阶段,暂无正式发布版本;Style Card、规则层(checker/ruleset)、本地改写、筛查、事件记录、habit ledger、表单模式分类等均为计划中的功能(如 Phase 1/3/4/9),README 描述的是设计目标与规划,不等同于已实现能力。Google Docs 需同时开启屏幕阅读器与盲文支持才可原生捕获;VS Code 聊天输入框的插入符矩形不可信需做合理性检查;Gmail 撰写与 GitHub 评论框的原生捕获尚未验证;Web 捕获后端是否保留尚未决定;许可证为 NOASSERTION,商业使用与分发条件未说明;硬件要求与模型/API 成本未说明。
许可证
NOASSERTION
最近推送
2026-10-16 17:50

资料检查:2026-10-17 07:00 · 卡片整理:2026-10-17 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。