Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 28 additions & 25 deletions README.cn.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 🧱 EMRG
# EMRG

<p align="center">
<strong>一个会写代码的 AI 编程助手——而且它还会<em>重写自己</em>。</strong>
Expand Down Expand Up @@ -31,35 +31,38 @@ EMRG 是一个关于*自主进化*的实验:一个能帮你写代码的 AI 智

---

## 为什么你会爱上它
## 为什么你会爱上它

**一句话定位**:EMRG 是唯一一个**会因你的反馈而自我改进**的编程智能体——吐槽哪里不好,下一个演化周期它就自己写代码修好并上线。

| 特性 | 差异点 |
|---|---|
| 🔄 **越用越好(核心)** | 你的 `/rant`、GitHub Issues、竞品动态都会变成真实改进——分析、编码、测试、提 PR、合并,全自动无人值守 |
| 🖥️ **Electron GUI(主入口)** | 安装即用:首次启动引导配置 API Key;全部 `/` 指令可用;结果面板、Ask/Auto 模式、自进化可见化。GUI 配好即 TUI 可用 |
| **全功能 TUI + 守护进程** | 流式 Markdown、`/` 自动补全、会话管理、快捷键——跑在常驻的 `emrgd` 守护进程上,随时重连 |
| 🌍 **100% 开源** | MIT 协议——没有围墙,没有厂商锁定。默认英文,提供中文版 |
| **越用越好(核心)** | 你的 `/rant`、GitHub Issues、竞品动态都会变成真实改进——分析、编码、测试、提 PR、合并,全自动无人值守 |
| **Electron GUI(主入口)** | 安装即用:首次启动引导配置 API Key;全部 `/` 指令可用;结果面板、Ask/Auto 模式、自进化可见化。GUI 配好即 TUI 可用 |
| **全功能 TUI + 守护进程** | 流式 Markdown、`/` 自动补全、会话管理、快捷键——跑在常驻的 `emrgd` 守护进程上,随时重连 |
| **100% 开源** | MIT 协议——没有围墙,没有厂商锁定。默认英文,提供中文版 |

---

## 🔄 吐槽驱动演化(核心特色)
## 吐槽驱动演化(核心特色)

EMRG 不只是一个工具——它是一个**会听吐槽、会自我改进**的编程伙伴:

```
📢 你的吐槽 (/rant) ←── 最主要的输入
📥 GitHub Issues & PRs
📥 竞品动态 (Codex, Claude Code)
📥 跨项目学习
🧬 演化循环(每 30 分钟)
(准备 → 回顾 → 发现 → 改进 → 提交 → 记录)
✅ pytest + import 检查
✅ git commit + push → PR
✅ 演化日志
输入:
- 你的吐槽 (/rant) <- 最主要的输入
- GitHub Issues & PRs
- 竞品动态 (Codex, Claude Code)
- 跨项目学习
|
v
演化循环(每 30 分钟)
(准备 -> 回顾 -> 发现 -> 改进 -> 提交 -> 记录)
|
v
1. pytest + import 检查
2. git commit + push -> PR
3. 演化日志
```

**真实案例**:有人吐槽 "TUI 需要像 Codex 那样的 `/` 自动补全"。下一个演化周期,EMRG 自己实现了——完整的前缀过滤和方向键导航,合并、部署、搞定。**你对它吐槽什么,它就改进什么。**
Expand All @@ -68,9 +71,9 @@ EMRG 不只是一个工具——它是一个**会听吐槽、会自我改进**

---

## 🚀 快速开始
## 快速开始

### 📦 下载安装包(推荐)
### 下载安装包(推荐)

到 [GitHub Releases](https://github.com/argszero/emrg/releases) 下载对应平台的安装文件,双击安装即可——安装包内置完整运行时(Python 3.13 + git + gh + GUI),**零前置依赖,离线安装**:

Expand All @@ -90,7 +93,7 @@ EMRG 不只是一个工具——它是一个**会听吐槽、会自我改进**

---

## 🎮 命令一览
## 命令一览

> 全部命令在 GUI 与 TUI 均可使用(GUI 输入框敲 `/` 弹出补全菜单;TUI `/help` 列出全部)。

Expand Down Expand Up @@ -118,7 +121,7 @@ EMRG 不只是一个工具——它是一个**会听吐槽、会自我改进**

---

## 📊 与竞品对比
## 与竞品对比

| | Claude Code | Codex | **EMRG** |
|---|---|---|---|
Expand All @@ -138,7 +141,7 @@ EMRG 不只是追赶——它自己追上来。

---

## 常见问题
## 常见问题

**这是真的吗——它真的会改自己的代码?**<br>
真的。演化循环读取演化提示词,回顾 rant + issue + 竞品工具,修改源码,跑测试,然后提交 PR。如果测试失败,自动回滚。
Expand All @@ -154,15 +157,15 @@ EMRG 不只是追赶——它自己追上来。

---

## 🧪 开发
## 开发

贡献指南、源码安装、架构、详细 FAQ → [DEVELOPMENT.md](DEVELOPMENT.md)。

快速检查:`uv run pytest tests/ -v`(当前 694 项)· `cd emrg/gui && npm test`(212 项:43 daemon_client + 19 conn-manager + 22 app-commands + 91 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state)

---

## 📜 许可证
## 许可证

MIT — 详见 [LICENSE](LICENSE) 了解完整条款,[MANIFESTO.md](MANIFESTO.md) 了解代码背后的设计哲学。

Expand Down
53 changes: 28 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 🧱 EMRG
# EMRG

<p align="center">
<strong>The AI coding agent that writes code — and rewrites <em>itself</em>.</strong>
Expand Down Expand Up @@ -31,35 +31,38 @@ EMRG is an experiment in *autonomous self-improvement*: an AI agent that helps y

---

## Why you'll love it
## Why you'll love it

**The one-line pitch**: EMRG is the only coding agent that **improves itself from your feedback** — rant about what bothers you, and the next evolution cycle writes the fix and ships it.

| What | Why it's different |
|---|---|
| 🔄 **Gets better on its own** | **The core feature.** Your `/rant`s, GitHub issues, and competitor updates become real improvements — analyzed, coded, tested, PR'd, merged, unattended |
| 🖥️ **Electron GUI (main entry)** | Install & go: first-run wizard, all slash commands, results panel, Ask/Auto modes, visible self-evolution. GUI configured = TUI ready |
| **Full-featured TUI + daemon** | Streaming markdown, `/` autocomplete, sessions, shortcuts — on a persistent `emrgd` daemon you can reconnect to anytime |
| 🌍 **100% open source** | MIT — no walled garden, no vendor lock-in. English default, Chinese version available |
| **Gets better on its own** | **The core feature.** Your `/rant`s, GitHub issues, and competitor updates become real improvements — analyzed, coded, tested, PR'd, merged, unattended |
| **Electron GUI (main entry)** | Install & go: first-run wizard, all slash commands, results panel, Ask/Auto modes, visible self-evolution. GUI configured = TUI ready |
| **Full-featured TUI + daemon** | Streaming markdown, `/` autocomplete, sessions, shortcuts — on a persistent `emrgd` daemon you can reconnect to anytime |
| **100% open source** | MIT — no walled garden, no vendor lock-in. English default, Chinese version available |

---

## 🔄 Rant-Driven Evolution (the core feature)
## Rant-Driven Evolution (the core feature)

EMRG isn't just a tool — it's a coding partner that **listens to your complaints and improves itself**:

```
📢 Your rants (/rant) ←── primary input
📥 GitHub Issues & PRs
📥 Competitor tools (Codex, Claude Code)
📥 Cross-project learning
🧬 Evolution Cycle (every 30 min)
(Prepare → Review → Discover → Improve → Commit → Record)
✅ pytest + import check
✅ git commit + push → PR
✅ Evolution log
Inputs:
- Your rants (/rant) <- primary input
- GitHub Issues & PRs
- Competitor tools (Codex, Claude Code)
- Cross-project learning
|
v
Evolution Cycle (every 30 min)
(Prepare -> Review -> Discover -> Improve -> Commit -> Record)
|
v
1. pytest + import check
2. git commit + push -> PR
3. Evolution log
```

**Real example**: Someone ranted "TUI needs `/` autocomplete like Codex." The next evolution cycle built it — prefix filtering and arrow-key navigation, merged and deployed. **What you rant about, it improves.**
Expand All @@ -68,9 +71,9 @@ EMRG isn't just a tool — it's a coding partner that **listens to your complain

---

## 🚀 Quick Start
## Quick Start

### 📦 Download the installer (recommended)
### Download the installer (recommended)

Download from [GitHub Releases](https://github.com/argszero/emrg/releases) and double-click — the installer bundles everything (Python 3.13 + git + gh + GUI), **zero prerequisites, offline install**:

Expand All @@ -90,7 +93,7 @@ Download from [GitHub Releases](https://github.com/argszero/emrg/releases) and d

---

## 🎮 Commands
## Commands

> All commands work in both the GUI (type `/` for autocomplete) and the TUI (`/help` lists everything).

Expand Down Expand Up @@ -118,7 +121,7 @@ Download from [GitHub Releases](https://github.com/argszero/emrg/releases) and d

---

## 📊 vs. the competition
## vs. the competition

| | Claude Code | Codex | **EMRG** |
|---|---|---|---|
Expand All @@ -138,7 +141,7 @@ EMRG doesn't just keep up — it catches up on its own.

---

## FAQ
## FAQ

**Is this real — does it actually modify its own code?**<br>
Yes. The evolution cycle reads the evolution prompt, reviews rants + issues + competitor tools, makes source changes, runs tests, and submits a PR. If tests fail, it rolls back.
Expand All @@ -154,15 +157,15 @@ They're products. EMRG is an experiment in *closing the loop* — the AI improve

---

## 🧪 Development
## Development

Contributing, source installs, architecture, and the full FAQ → [DEVELOPMENT.md](DEVELOPMENT.md).

Quick checks: `uv run pytest tests/ -v` (currently 694 items) · `cd emrg/gui && npm test` (212: 43 daemon_client + 19 conn-manager + 22 app-commands + 91 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state)

---

## 📜 License
## License

MIT — see [LICENSE](LICENSE) for the full terms and [MANIFESTO.md](MANIFESTO.md) for the philosophy behind the code.

Expand Down
10 changes: 10 additions & 0 deletions tests/test_doc_counts.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,14 @@ def test_no_duplicate_npm_test_command_lines() -> None:
f"{doc} contains duplicated npm-test command line(s) — remove the "
f"copy-paste duplicate: {dupes}"
)
# rant 2026-08-11T17:58:11 (README emoji 泛滥 → 克制化):节标题必须纯文本,
# 无 emoji(保留的 emoji 仅限对比表 ✅/❌、底部 ❤️、语言切换 🇬🇧/🇨🇳)。
emoji = re.compile(r"[\U0001F000-\U0001FAFF\u2600-\u27BF\uFE0F]")
for doc in ("README.md", "README.cn.md"):
text = (REPO_ROOT / doc).read_text(encoding="utf-8")
bad = [
ln for ln in text.splitlines()
if re.match(r"^#{1,3} ", ln) and emoji.search(ln)
]
assert not bad, f"{doc}: heading(s) must not contain emoji: {bad}"

Loading