diff --git a/Agent.md b/Agent.md index a1d8022..5d3463f 100644 --- a/Agent.md +++ b/Agent.md @@ -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) @@ -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 diff --git a/README.md b/README.md index 22cc791..568b39a 100644 --- a/README.md +++ b/README.md @@ -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` 展开工具卡片 | @@ -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`)。