先说一个事实: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 能把"想做点东西"的门槛降到多低。 如果你也厌倦了在工具之间来回切换,不妨试试看。
本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。
First of all, the XJ-Editor code, all written by AI.
I'm not a front-end developer, and I didn't spend months eating Electron files. My role is more like that of a product manager and tester: demand, use, tell AI whenever it feels weird. AI is responsible for turning ideas into codes that can run. And what eventually came up is a local priority for the Markdown desktop editor, which doesn't solve the problem of "Markdown rendering good," but what I really worry about writing every day.
Local interception 2026113 212814.png
Why do you write it yourself? Gas
Markdown editor too many. Typola, Obsidian, VS Code, a bunch of plugins, each working. But for a long time there's a common twist: you're always switching.
Write Markdown with a window, see PDF for one, turn Word and open one, and then copy a text to the webend. Git submit to cut the terminal, change the JSON to another tool. These do not look fatally alone, but patience is so worn down dozens of times a day.
The starting point of XJ-Editor is simple: can a window be finished?
Project address: gthub.com/xiuji008/xj...
It's not an editor. It's a set of workflows around local files.
This position determines all trade-offs.
Edit, preview, convert, all in the same window. Markdown / HTML / JSON / plain text supports editing, partitioning, previewing a key switch. Pictures, PDFs, Words, Excel, PPTs, compression packages are directly embedded, and old versions.doc can adapt to scaling. Most useful is conversion: Word / PPT / Excel / PDF / EPUB Local One-Clock Markdown, based on anydoc-based WASM, files are off-line and automatically open editing.
AI is built up, not hung. Open AI, Claude, Gemini, DeepSeek, Kimi, Chiji, Zhipu, Ollama, eight presets, with a selection of text that can be improved, expanded, translated, proofreaded, or enabled to generate graphics. Multiple sessions, streaming responses, citation documents when context. No page cut, no paste copy. Current AI functional knowledge is simple access, not used in depth, and post-production will gradually add Agent capabilities.
Writing just takes one. Mermaid, PlantUML, Chat.js Direct render, KaTeX formula, GitHub style prompt, YAML Front Matter Infocard.
These things look like "plugs can work out," but XJ-Editor makes them default. I don't have to spend another weekend with VS Code's settings.json.
-Md Editor
Partial interception 20261103 210636.png
-html Edit Preview!
- Word Preview
Local interception 20261103 210136.png
- execcl preview
PDF tag: Read the information and take notes, it's not supposed to be in two. Yes.
Those who write often read PDF: papers, regulations, technical manuals for others. The traditional practice is for PDF readers to open a window, for note-writing software to open, to cut the focus and make an extract from the hand, or to save a screenshot. Cut it back and forth a few times and read it everywhere.
XJ-Editor treats PDF as a first class citizen like Markdown, directly embeds and supports marking on PDF:
- Highlights and labels: highlight and comment on PDF pages without exporting to other software;
- Marks follow files: tags and documents are stored together, locally, independently of cloud-based accounts, and machines can be used to make copies;
- Writing by reading: PDF on the left, looking at the data, extracting and sorting it on a separate screen in Marktown, reading where it goes, without cutting the window;
- Connect to conversion: Local one-key conversion, auto-open editing when the whole PDF is to be converted to an editable Markdown.
For me, the value of this piece is direct: context, which reads information, and context, which writes notes, are in the same window. It's a lot shorter than "Classure cut software paste paste and forget why to cut" the link.
Partial interception 2026113 211543.png
Internal Git Panel: Version management does not leave the editor Device
Git is often an awkward presence for people who write documents. You know how to use it, but in order to submit a change to open the terminal, knock on the gird and git part, it's too low, so you simply don't submit it, and you end up living under the name "document v2 final version real final.docx".
XJ-Editor made Git into a panel in the sidebar. The usual operations are:
- Changed and diff: modified files are visible, line-by-line diff by click, and gint diff not cut to terminal;
- Submission of history and branches: browsing history, switching branches, creating branches, all done in panels;
- Storage (stash): until half of it wants to cut and change, store the current changes and then recover;
- Cloning warehouses: pull them down directly from a remote address and save steps to open the terminals before returning;
- AI Generates the submission: This is the one I think is the best. Change a bunch of files and stop thinking about the content message, click on it and let AI create one based on diff, read it, change it, submit it.
It doesn't mean "functionally more than command line." command line, of course. The point is to lower the friction of bringing the matter to a low enough that you really will. Writing and version management are in the same window, which itself changes habits.
Internal terminal: do not cut out when a knock is required
Some things can't be done in a graphical interface, or can be done more slowly: run a build script, npm install, rename in bulk, take a look at git log-graph, start a local service. It used to mean that Alt+Tab went to the terminal window and then Alt+Tab came back and thought was interrupted twice.
XJ-Editor has an in-house terminal, Ctrl+` exhales, which is basically the same as the system terminal:
- Multiple labels: several simultaneous meetings, one run service, one knock on the grate, one spare, without interference;
- Altitude: to pull the border down, to expand the code and to minimize writing;
- Run full screen: it's attached to the system shell, so vim, tmux, fullscreen TUI programs like this can run normally without any distortion;
- The same window as the editor: context is not used to reload files by submitting or running scripts directly in the following terminals.
In conjunction with the Git panel, the day-to-day version management process basically consists of changing the document by running a script or testing a diff → AI sidebar to generate submission information. I haven't left this window for the whole time.
For who?
- People who often write technical documents, blogs, notes, don't want to jump between tools.
- Someone who wants less software, less plugins, a window closed.
- Persons who need to write at offline, or who need data locality
- I'd like to keep the script in order, but I don't want to open the terminal. People
The current software considers adding functions that are frequently used and gradually optimizing their subsequent use
How to use
The project currently has only a windows desktopend, which can be used to download exe files directly on the Github Release page
Partial interception 2026113 2125.png
At the end.
It's not gonna replace who. It's just a demonstration: how low can AI lower the threshold of "want to do something" when you're a user and author? If you're tired of switching between tools, try it.
Auto-fetched and translated by AI Atlas. All rights belong to the original author.