先说一个事实:XJ-Editor 的代码,全部是 AI 写的。
我不是前端开发者,也没有花几个月去啃 Electron 文档。我的角色更像一个产品经理兼测试员:提需求、用,觉得哪里别扭就告诉AI。AI 负责把想法变成能跑起来的代码。最终做出来的东西,是一个本地优先的 Markdown 桌面编辑器,它解决的不是"Markdown 渲染好不好看"这种问题,而是我每天写作时真正在烦的事。
局部截取_20261103_212814.png
为什么自己写:因为市面上的工具总差一口气
Markdown 编辑器太多了。Typora、Obsidian、VS Code 加一堆插件,每一个都能用。但用久了会发现一个共同的别扭:你总是在切换。
写 Markdown 用一个窗口,看 PDF 换一个,转 Word 再开一个,想用 AI 润色一段话又得复制粘贴到网页端。Git 提交要切终端,改个 JSON 要另开工具。这些切换单独看都不致命,但一天下来几十次,耐心就是这么被磨掉的。
XJ-Editor 的出发点很简单:能不能一个窗口把事办完。
项目地址: github.com/xiuji008/xj…
它不是一个编辑器,是一套围绕本地文件的工作流
这个定位决定了所有取舍。
编辑、预览、转换,都在同一个窗口里。 Markdown / HTML / JSON / 纯文本都支持编辑、分屏、预览一键切换。图片、PDF、Word、Excel、PPT、压缩包直接内嵌看,旧版 .doc 也能自适应缩放。最实用的是转换:Word / PPT / Excel / PDF / EPUB 本地一键转 Markdown,基于 anydoc 的 WASM,文件不出本机,转完自动打开编辑。
AI 是内置的,不是外挂的。 OpenAI、Claude、Gemini、DeepSeek、Kimi、千问、智谱、Ollama 八家预设,选中一段文字就能润色、扩写、翻译、校对,或者让它生成图表。多会话、流式回复、引用文件当上下文都有。不用切网页,不用复制粘贴。当前AI功能知识简单接入,未深度使用,后期会逐步添加Agent的能力。
写作刚需一个不落。 Mermaid、PlantUML、Chart.js 直接渲染,KaTeX 公式,GitHub 风格提示块,YAML Front Matter 信息卡片。
这些东西拆开看都是"插件能解决"的,但 XJ-Editor 把它们做成了默认就有。我不用再花一个周末去配 VS Code 的 settings.json。
- md编辑
局部截取_20261103_210636.png
- html 编辑预览 !
- word 预览
局部截取_20261103_210136.png
- execl 预览
PDF 标记:看资料和记笔记,本来就不该分两件事
写文档的人经常要读 PDF:论文、规范、别人的技术手册。传统做法是 PDF 阅读器开一个窗口,笔记软件开另一个,看到重点就切过去手打一段摘录,或者截图存下来。来回切几次,读到哪都忘了。
XJ-Editor 把 PDF 当成和 Markdown 一样的一等公民来对待,直接内嵌打开,并且支持在 PDF 上做标记:
- 高亮与标注:在 PDF 页面上划重点、加批注,不用导出到别的软件;
- 标记跟着文件走:标记和文档放在一起、走本地存储,不依赖云端账户,换台机器拷过去也能用;
- 边读边写:左边 PDF 看资料,分屏在 Markdown 里摘录和整理,读到哪写到哪,不用切窗口;
- 与转换打通:需要把整份 PDF 转成可编辑的 Markdown 时,本地一键转换,转完自动打开编辑。
对我来说这一块的价值很直接:读资料的上下文和写笔记的上下文在同一个窗口里。 划完重点顺手整理成笔记,比"截图 → 切软件 → 粘贴 → 忘了为什么截"这条链路短太多了。
局部截取_20261103_211543.png
内置 Git 面板:版本管理不用离开编辑器
对写文档的人来说,Git 常常是个尴尬的存在。你知道该用,但为了提交一次改动去开终端、敲 git add 和 git commit,性价比太低,于是干脆不提交,最后靠"文档_v2_最终版_真的最终.docx"这种文件名活着。
XJ-Editor 把 Git 做成了侧边栏里的一个面板,常用的操作都在:
- 变更与 diff:改过的文件一目了然,点开就能看逐行 diff,不用切到终端跑
git diff; - 提交历史与分支:浏览历史记录、切换分支、创建分支,都在面板里完成;
- 储藏(stash) :写到一半想切去改别的东西,先把当前改动储藏起来,回来再恢复;
- 克隆仓库:直接从一个远程地址把仓库拉下来,省去先开终端再回来的步骤;
- AI 生成提交信息:这是我觉得最顺手的一个。改完一堆文件,懒得想 commit message,点一下让 AI 根据 diff 生成一条,读一遍、改两个字、提交。
它的意义不在于"功能比命令行全"——命令行当然更全。它的意义是把提交这件事的摩擦降到足够低,低到你真的会去提交。写作和版本管理在同一个窗口里,这件事本身就改变了习惯。
内置终端:需要敲命令时,不用切出去
有些事图形界面做不了,或者做起来更慢:跑个构建脚本、npm install、批量重命名、看一眼 git log --graph、起个本地服务。以前这意味着 Alt+Tab 到终端窗口,再 Alt+Tab 回来,思路被打断两次。
XJ-Editor 内置了终端,Ctrl+` 呼出,用起来和系统终端基本一致:
- 多标签:同时开几个会话,一个跑服务、一个敲 git、一个留着备用,互不干扰;
- 高度可调:拖一下边框就能拉高拉低,写代码时拉大,写作时缩到最小;
- 跑全屏程序:它接的是系统 shell,所以 vim、tmux 这类全屏 TUI 程序可以正常跑,不会出现渲染错乱;
- 和编辑器同窗口:改完文件直接在下面终端里提交或跑脚本,上下文不用来回搬。
配合 Git 面板,日常的版本管理流程基本就是:改文档 → 下面终端里跑个脚本或测试 → 侧边栏看一眼 diff → AI 生成提交信息 → 提交。全程没离开过这个窗口。
适合谁
- 经常写技术文档、博客、笔记,不想在工具之间反复横跳的人
- 想少装软件、少配插件,一个窗口闭环的人
- 需要在离线环境写作,或者对数据本地性有要求的人
- 写文档也想顺手管版本、但懒得天天开终端的人
当前软件考虑的是先把经常使用的功能添加进来,在后续使用的过程中逐步优化
如何使用
该项目目前仅有windows桌面端,可在github release 页面下载exe 文件直接安装使用
局部截取_20261103_212525.png
写在最后
它不是要替代谁。它只是一个证明:当你既是用户又是作者的时候,AI 能把"想做点东西"的门槛降到多低。 如果你也厌倦了在工具之间来回切换,不妨试试看。