diff --git a/Agent.md b/Agent.md index d89a5a9c..1a163d0f 100644 --- a/Agent.md +++ b/Agent.md @@ -85,7 +85,7 @@ Usage: say "tool loop" for the whole process, "round N" for a single LLM request - 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 + right-click rename (context menu, #423) 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` (233: 44 daemon_client + 19 conn-manager + 22 app-commands + 111 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state); RESPONSE_TYPES mirror daemon protocol verified against `daemon.py` + - Unit tests `npm test` (234: 44 daemon_client + 19 conn-manager + 22 app-commands + 112 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state); RESPONSE_TYPES mirror daemon protocol verified against `daemon.py` - **Scheduled tasks** — Task generalization + CRUD (rant 2026-08-12T18:23:15, #709/#710/#711) - Task handler generalized: `TaskHandler` (renamed from `EvolutionHandler`), repo-configured self-heal for any project, template lookup builtin → `~/.emrg/task-templates/.md` → fallback - Daemon commands: `task_create/update/delete` + `task_template_create/list/update/delete` (tasks stored in `~/.emrg/tasks.yml`, custom type templates in `~/.emrg/task-templates/`) @@ -119,7 +119,7 @@ pkill -f "emrg.server"; rm -f ~/.emrg/emrgd.port; python -m emrg ``` Python: `uv run pytest tests/ -v` (777) — import check: `uv run python -c "from emrg.client.app import run_client"` -GUI: `cd emrg/gui && npm test` (233: 44 daemon_client + 19 conn-manager + 22 app-commands + 111 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state) — syntax: `node --check main.js preload.js daemon_client.js renderer/js/*.js` +GUI: `cd emrg/gui && npm test` (234: 44 daemon_client + 19 conn-manager + 22 app-commands + 112 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state) — syntax: `node --check main.js preload.js daemon_client.js renderer/js/*.js` CI: `uv run pytest` (ubuntu + **windows-2025 matrix** — Windows pytest 回归在 PR CI 即失败,v0.2.29 教训 #725) + GUI tests + **actionlint workflow lint** (`rhysd/actionlint@v1.7.12` gate, #444 — workflow 解析错误在 PR CI 即失败,如 `if:` secrets 上下文) Re-trigger: `scripts/re-trigger-ci.sh [branch]` (workflow_dispatch, #527 — 替代空 commit 重触发:Actions outage 会整段丢弃 push 事件,dispatch 走 API 路径不受影响) diff --git a/emrg/gui/renderer/css/layout.css b/emrg/gui/renderer/css/layout.css index eef95a19..bdef448e 100644 --- a/emrg/gui/renderer/css/layout.css +++ b/emrg/gui/renderer/css/layout.css @@ -83,6 +83,50 @@ color: var(--text-3); } +/* rant 14:10:14 P2:设置面板 tab(模型服务/工作目录/GitHub/外观/语言/关于) */ +.panel-tabs { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-bottom: var(--sp-3); +} +.panel-tab { + flex: 1; + min-width: 0; + padding: 6px 8px; + border: 1px solid var(--border); + border-radius: var(--radius-sm); + background: transparent; + color: var(--text-2); + font-size: var(--fs-secondary); + line-height: 1.2; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); +} +.panel-tab:hover { + background: var(--bg-soft); + color: var(--text-1); +} +.panel-tab.active { + background: color-mix(in srgb, var(--accent) 14%, transparent); + border-color: color-mix(in srgb, var(--accent) 40%, transparent); + color: var(--accent); +} +.panel-tab-body .settings-group { + margin-bottom: var(--sp-3); +} +.panel-actions { + display: flex; + justify-content: flex-end; + gap: 8px; + margin-top: var(--sp-3); + padding-top: var(--sp-2); + border-top: 1px solid var(--border); +} + /* 成长状态卡(WorkBuddy P3:自进化可见化) */ .growth-card { margin: 0 var(--sp-3) var(--sp-3); diff --git a/emrg/gui/renderer/index.html b/emrg/gui/renderer/index.html index 79846a24..85caa07c 100644 --- a/emrg/gui/renderer/index.html +++ b/emrg/gui/renderer/index.html @@ -50,7 +50,63 @@ - - -
-

设置

-
-
模型服务
- - -
可用模型
-
- - - -
点左侧圆点可设为默认模型,切换后下一条消息即生效
-
-
-
工作目录
- -
-
-
GitHub 连接
-
-
- - - -
-
用于自进化推送 PR;授权后自动执行 gh auth setup-git,git 操作不再弹 GCM
-
-
-
外观
- -
-
-
语言
- -
-
-
定时任务
-
管理定时任务与自定义任务类型(内置类型只读)
- -
-
- - -
- - - - - - -
-
-
关于
-
-
EMRG v0.2.8 · 🌱 已自我进化 0
- -
- -
-
EMRG 是一个会自我进化的 AI 智能体——每次改进都会自动汇报,你可以随时在这里看到它的成长。
-
-
- -
-
最近改进
-
-
-
- - -
-
-
-
@@ -470,18 +474,6 @@

🧬 进化 — 告诉 EMRG 往哪里走

- - -
-

后台任务

-

点击任务立即触发一次运行。

-
-
- -
-
-
-