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
7 changes: 4 additions & 3 deletions Agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,12 @@ EMRG is a self-evolving AI agent architecture experiment. Python implementation,
- 60fps render throttling
- **Electron GUI** — Non-developer entry point (Phase 3), chat/sessions/tool status/settings (80% daily use)
- `npm start` from `emrg/gui/` auto-starts the daemon; main process is the only daemon connection (renderer zero network, contextBridge sandbox)
- v0.2.5 full redesign (rant 08-05): light/dark dual theme (prefers-color-scheme), friendly tool status rows (collapsible, 2000-char truncation), multi-model management (add/edit/delete/set-default in settings + in-chat switcher), empty-state welcome screen, back-to-bottom button
- First-run onboarding: missing config → settings dialog (no daemon spawn) → save → daemon starts; placeholder API key treated as unconfigured
- Streaming chat with delta rendering (16ms batching), markdown on done (marked + DOMPurify + local highlight.js subset), tool call status cards (2000-char truncation + expand)
- Session list/switch/new/delete synced with daemon; own-stream busy lock (G65); broadcast streams from other clients tagged "来自其他客户端"
- Disconnect/reconnect: red status dot, auto daemon respawn (stale-port detection), session resume, input bar restored on disconnect (no 30s fake-timeout)
- Unit tests `npm test` (20) + integration tests (7, isolated HOME, run in CI); RESPONSE_TYPES mirror daemon protocol verified against `daemon.py`
- Unit tests `npm test` (34: 22 daemon_client + 7 integration + 5 renderer smoke); RESPONSE_TYPES mirror daemon protocol verified against `daemon.py`
- **Auto project tracking** — Automatically detects and records working directories; project-scoped sessions
- **Rant-driven evolution** — User feedback via `/rant` drives automatic self-improvement cycles
- **Headless GitHub auth** — Non-interactive evolution auto-extracts `GH_TOKEN` from git credential store (osxkeychain / credential helper); PR comment/LGTM queries fall back to REST API (GraphQL needs `read:org` scope)
Expand All @@ -90,8 +91,8 @@ Community needs voiced in HN agent-UI discussions map directly to EMRG's design:
pkill -f "emrg.server"; rm -f ~/.emrg/emrgd.port; python -m emrg
```

Python: `uv run pytest tests/ -v` (464) — import check: `uv run python -c "from emrg.client.app import run_client"`
GUI: `cd emrg/gui && npm test` (27: 20 unit + 7 integration) — syntax: `node --check main.js preload.js daemon_client.js renderer/app.js`
Python: `uv run pytest tests/ -v` (472) — import check: `uv run python -c "from emrg.client.app import run_client"`
GUI: `cd emrg/gui && npm test` (34: 22 daemon_client + 7 integration + 5 renderer smoke) — syntax: `node --check main.js preload.js daemon_client.js renderer/js/*.js`

## Configuration

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ EMRG 是一个关于*自主进化*的实验。它能帮你写代码——读文
| 🔄 **吐槽驱动进化** | 你的 `/rant` 直接驱动后台演化循环——吐槽 → 分析 → 写代码 → 提 PR → 自动变强 |
| 📝 **永不忘事** | 项目记忆 + 会话记忆 + 每日日志——上下文持续保留,不怕断线 |
| 🖥️ **颜值在线的 TUI** | 斜杠命令自动补全、会话选择器、流式 Markdown 渲染、请求计时器、ESC 中断 |
| 🖱️ **Electron GUI(新)** | 非开发者主入口——聊天/会话/工具状态/设置,自动拉起 daemon,`npm start` 即开即用 |
| 🖱️ **Electron GUI(新)** | 非开发者主入口——聊天/会话/工具状态/设置,自动拉起 daemon,`npm start` 即开即用。v0.2.5 完全重设计:浅/深双主题跟随系统、工具过程友好化(折叠展开)、多模型管理(增删改/设默认/对话中切换)、空状态欢迎屏、回到底部按钮 |
| ⚡ **并行工具调用** | 独立的工具调用并发执行,速度飞快 |
| 🔌 **微内核守护进程** | `emrgd` 持久运行——随时重连,状态不丢 |
| 🎮 **Vim 友好** | `j`/`k` 导航、`Ctrl+W`/`Ctrl+K` 编辑、`Tab` 展开工具卡片 |
Expand Down Expand Up @@ -279,14 +279,14 @@ HN 社区([讨论帖](https://news.ycombinator.com/item?id=49119274))对 age
git clone https://github.com/argszero/emrg.git
cd emrg
uv sync # 安装依赖
uv run pytest tests/ -v # 跑测试(当前 464 项)
uv run pytest tests/ -v # 跑测试(当前 472 项)
uv run python -m emrg # 启动 TUI

# 可选:Electron GUI(非开发者主入口,Phase 3)
cd emrg/gui
npm ci # 安装依赖(生产模式可 --omit=dev)
npm start # 启动 GUI(自动拉起 daemon)
npm test # 运行 Node 测试(单测;集成测试在 CI 跑,本地可 npm run test:integration)
npm test # 运行 Node 测试(34 项:22 daemon_client + 7 integration + 5 renderer smoke;集成测试在 CI 跑,本地可 npm run test:integration)
```

CI 通过 GitHub Actions 自动运行测试并检查冲突标记(`.github/workflows/test.yml`)。
Expand Down
Loading