jsgrrchg/NeverWrite

Your ultimate agentic markdown workspace

NeverWrite

它是什么

NeverWrite 是一个本地优先、多窗格的桌面应用程序,让你在撰写 Markdown 风格文档的同时,与各种 AI 代理(Claude、Grok 等)聊天。它被设计为个人知识库(vault)及其周边 AI 驱动工作流程(写作、研究导向的导航、代码生成/审查等)的单一场所。

为什么重要

  • 隐私优先 – 所有数据都保留在你的机器上;应用绝不会将你 vault 的内容发送到远程服务器。
  • 统一工作流 – 你可以编辑多种文件类型(Markdown、Mermaid 图表等),并且并行运行 AI 聊天,然后在模型建议的更改被应用之前进行审查。
  • 代理无关 – 支持越来越多的 LLM 后端(OpenAI 兼容、Anthropic、Mistral、Pi 等),并允许你在设置中切换提供商。
  • 知识图谱导航 – Wiki 链接、反向链接、标签和 2D/3D 图谱视图让你探索 vault 内部的连接,这一功能对研究或长篇写作非常有用。
  • 网页剪藏 – 附带的浏览器扩展可以将页面或选定内容直接捕获到你的 vault,使整个研究流程保持本地化。

适用人群

  • 维护个人知识库(如 Obsidian 风格的 vault)的作家、研究人员或开发者,希望在不清空数据控制权的情况下利用 AI 辅助工作。
  • 更倾向于自托管或离线优先的 AI 辅助文档、代码审查或头脑风暴解决方案的团队。
  • 任何喜欢尝试多个 LLM 提供商并希望通过单一界面进行比较的人。

如何开始

  1. 克隆仓库并安装桌面应用的依赖:
    git clone https://github.com/jsgrrchg/NeverWrite.git
    cd NeverWrite/apps/desktop
    npm install
    npm run dev   # 启动开发版本
    
  2. 设置 AI 运行时 – 在应用的设置中选择提供商(Claude、Grok 等)。一些提供商需要 CLI 登录或 API 密钥;README 指向一个单独的 AI 运行时设置 文档,说明 Pi 的设置。
  3. 创建或打开一个 vault – vault 只是磁盘上的一个文件夹,用于存放 Markdown、图像、PDF、Excalidraw 文件等。
  4. 开始会话 – 打开代理聊天,附加文件或片段,并让模型建议编辑。
  5. 审查更改 – 使用内置的审查窗格在写入磁盘之前接受或拒绝整个文件或单独的块。

技术亮点

  • 前端 – 使用现代 Web 技术(TypeScript、React)构建,并通过 Electron(或类似技术)打包为原生桌面应用。
  • 后端 – 基于 Rust 的原生层处理文件 I/O、图谱索引以及与 AI 运行时的桥接。
  • 跨平台 – 支持 macOS 13+、Windows 和 Linux(x64 和 ARM64)。
  • 可扩展代理 – 支持任何可通过 CLI 或 OpenAI 兼容 API 访问的模型;Pi 集成附带 ACP 适配器。
  • 测试 – 附带基于 npm 的桌面应用单元测试、用于 Web 剪藏器的 pnpm 检查,以及 Rust 代码的 cargo 测试。

许可证

Apache-2.0 – 您可以在该宽松许可证的条款下使用、修改和重新分发本软件。


以上所有信息均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目