Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
099b9e0
docs(architecture): classify all 234 tauri commands into backend/fron…
FlowerRealm Aug 4, 2026
3cf9368
refactor(backend): introduce transport-agnostic EventBus, decouple 3 …
FlowerRealm Aug 4, 2026
231faef
refactor(backend): route history sync through EventBus, drop gateway …
FlowerRealm Aug 4, 2026
a2e22a9
refactor(backend): move terminal/sftp event emission onto the EventBus
FlowerRealm Aug 4, 2026
1336a48
feat(agent-core): create tauri-free backend crate, migrate EventBus
FlowerRealm Aug 4, 2026
8c90a42
docs(migration): add per-phase specs (markdown) and todo-lists (csv)
FlowerRealm Aug 4, 2026
1363c2c
refactor(backend): replace tauri::async_runtime with tokio across the…
FlowerRealm Aug 4, 2026
8a5afca
refactor(backend): split 177 #[tauri::command] into impl + thin wrapper
FlowerRealm Aug 4, 2026
b627ca2
style(backend): drop imports and borrows the command split made dead
FlowerRealm Aug 4, 2026
ed7fc88
refactor(backend): move 69,440 lines of backend into agent-core
FlowerRealm Aug 4, 2026
58a7328
test(gateway-sink): make the event routing testable, and test it
FlowerRealm Aug 4, 2026
5212db5
feat(agent-backend): axum HTTP/WS 服务骨架,密码认证、TLS、SSRF、WS 事件流
FlowerRealm Aug 4, 2026
6047b7e
docs(migration): 阶段 2 进度更新;修正 node 测试指向搬迁后的路径
FlowerRealm Aug 4, 2026
ef74ba2
feat(backend): 补完 175 条路由、契约测试、隧道重写,阶段 2 收尾
FlowerRealm Aug 5, 2026
abe6f26
fix(tunnel/backend): review 修复——TTL 强制执行、错误契约、CI 门禁
FlowerRealm Aug 5, 2026
258bab8
fix(backend): WS 慢客户端 Lagged 误断连;sink 收进 AppState;auth 去堆分配
FlowerRealm Aug 5, 2026
768ae04
fix(agent-core-js): 类型检查与错误处理
FlowerRealm Aug 5, 2026
2bc662b
fix(agent-core-js): tsconfig 加 types: [node] 让 tsc 类型门禁真正生效
FlowerRealm Aug 5, 2026
94cf471
feat(agent-core-js): 包骨架——esbuild 单文件、loopback HTTP、内部 token 校验 (P3-01)
FlowerRealm Aug 5, 2026
e933338
fix(agent-core-js): 修复后端通信协议和泛型支持
FlowerRealm Aug 5, 2026
0f4196f
fix(backend/core-js): 修复审查发现的四个问题
FlowerRealm Aug 5, 2026
8da8bfe
fix(agent-core-js): 结构化错误恢复、移除占位兼容层
FlowerRealm Aug 5, 2026
69859b8
feat(agent-core-js): 迁移 chat 引擎到 Node.js 后端
FlowerRealm Aug 5, 2026
59107f5
feat(agent-core-js): 迁入 chat/providers/turns,历史落库走 Rust API,清除浏览器依赖 (…
FlowerRealm Aug 5, 2026
83b89c1
feat(backend/node): 内部 token 对接与工具审批网络化
FlowerRealm Aug 5, 2026
855eb37
feat(backend): 工具审批状态机——先到先得 CAS、超时选推荐项、Node 侧改 await 后端 (P3-06)
FlowerRealm Aug 5, 2026
691b22a
feat(backend): Node 引擎反向代理与事件回流通道
FlowerRealm Aug 5, 2026
a335f4a
feat(backend): spawn 守护 Node 引擎进程;Docker 产物改为 backend+Node bundle (P3…
FlowerRealm Aug 5, 2026
e7e151a
feat(frontend): 前端 chat 发送路径网络化
FlowerRealm Aug 5, 2026
8057edd
feat(gui): chat 路径网络化,删除 ChatRuntimeHost 旧执行路径,壳内嵌后端服务 (P3-10)
FlowerRealm Aug 5, 2026
0ebae88
fix(migration): 阶段 3 编译收敛第 1 轮
FlowerRealm Aug 5, 2026
463e839
fix(migration): 阶段 3 总审查修复 - 第 1 部分
FlowerRealm Aug 5, 2026
ebb4bf5
fix(migration): 阶段 3 总审查修复 - 第 2 部分
FlowerRealm Aug 5, 2026
75a085b
fix(migration): 阶段 3 总审查修复第 2 轮
FlowerRealm Aug 5, 2026
f02d005
docs(migration): 阶段 3 收尾——状态如实更新与遗留风险记录
FlowerRealm Aug 5, 2026
7571dd5
feat(migration): 引擎真接线——headless runOneTurn、依赖模块补全、审批三方契约统一
FlowerRealm Aug 5, 2026
3e33ce3
feat(migration): 阶段 4 起步——浏览器网络 shim 与后端 CORS/WS 鉴权调整
FlowerRealm Aug 5, 2026
de30f3c
feat(migration): 阶段 4 前端网络化——前端只经网络与后端通信
FlowerRealm Aug 5, 2026
d50c02c
refactor(tray): 托盘模型清除 gateway 概念,不兼容旧壳
FlowerRealm Aug 5, 2026
7bd1b7b
feat(migration): 阶段 5 前端合并——一份代码,壳能力运行时探测
FlowerRealm Aug 5, 2026
ea56361
feat(migration): 阶段 6 落地——删除 Go 与 proto,构建/CI 切换,文档与 README 重写
FlowerRealm Aug 5, 2026
ac64ca0
docs(migration): 汇总阶段 1–6 遗留问题清单
FlowerRealm Aug 5, 2026
9789523
refactor(frontend): gateway 概念统一更名为 bridge,清理多网关文档与入口脚本
FlowerRealm Aug 5, 2026
857a1cf
remove extra file
FlowerRealm Aug 5, 2026
317a469
refactor: 合并 agent-backend 与 agent-core 为 backend,目录统一为 backend/front…
FlowerRealm Aug 5, 2026
884bdb5
add model folder
FlowerRealm Aug 5, 2026
0baa888
add model folder
FlowerRealm Aug 5, 2026
f9074d6
refactor(backend): 整理 src 目录结构,HTTP/WS 服务层收进 server/ 模块
FlowerRealm Aug 6, 2026
bfe1a74
refactor(backend): 认证简化为单一固定密码,移除内建 TLS 与 internal_token
FlowerRealm Aug 6, 2026
8fb5aaf
refactor(backend): 模型切换失败直接报错拒收消息,移除静默回退默认模型
FlowerRealm Aug 6, 2026
07d019e
feat(backend): 按所选 provider 注入每会话 models.json,切模型简化为单次 set_model
FlowerRealm Aug 6, 2026
01f79c4
feat(backend): skills 4 条 system_* 命令补上 HTTP 路由 wrapper
FlowerRealm Aug 6, 2026
1491551
feat(frontend): chat_send 202 受理后等待 run_ended 终态落史
FlowerRealm Aug 6, 2026
9fb70c3
feat: 思维链与工具调用链经翻译层广播并随 run_ended 落史
FlowerRealm Aug 6, 2026
e985c27
refactor: 移除旧 run 镜像/bridge 事件链路,历史与终态统一走 run_ended
FlowerRealm Aug 6, 2026
c13a9f7
remove extra doc
FlowerRealm Aug 6, 2026
a2cf25e
revert: 撤回 pi RPC 模式,恢复 Node/TS 引擎(crates/core)架构
FlowerRealm Aug 6, 2026
0ff2a36
refactor(core): 清理死代码与库对齐去重,净删 1.6 万行
FlowerRealm Aug 6, 2026
cc843cb
refactor: core 唯一引擎/前端纯展示,清偿 core-arch-debt 全部六项
FlowerRealm Aug 6, 2026
f464379
refactor: 前端引擎残留清偿,core 成为结构上的唯一引擎
FlowerRealm Aug 7, 2026
6d4e4ce
core: 恢复 useSystemProxy——引擎侧代理出网裁决点
FlowerRealm Aug 7, 2026
40364d3
fix(core): 接通引擎迁移时丢失的三条 chat_send 注入链路
FlowerRealm Aug 7, 2026
dcd03ba
fix(backend): 修缮引擎↔backend 回调链路的三处接触不良
FlowerRealm Aug 7, 2026
1bd6cd8
docs: 删除过时的 ADR 与 command-classes 清单
FlowerRealm Aug 7, 2026
b39755a
Merge remote-tracking branch 'origin/main' into realm/unify-network-b…
FlowerRealm Aug 7, 2026
551e7e1
remove extra file
FlowerRealm Aug 7, 2026
63a8869
fix(core): 主对话流式调试日志接上 agent-dev 闸门
FlowerRealm Aug 7, 2026
460f500
build: make dev 前置 core 编译
FlowerRealm Aug 7, 2026
1c49a05
remove text mode
FlowerRealm Aug 7, 2026
cdd991c
fix(ci): 修复 CI 全链失败——删孤儿 command-classes 门禁、补 Docker libclang/tauri c…
FlowerRealm Aug 7, 2026
19f1cf5
fix(ci): Docker runtime 补 ca-certificates(reqwest 启动 panic);删 remove-…
FlowerRealm Aug 7, 2026
6a9469a
fix(ci): GUI 测试加载 core 源码,补装 core 依赖
FlowerRealm Aug 7, 2026
ac9ac2a
ci: retrigger run
FlowerRealm Aug 7, 2026
c4ec2a0
refactor(core): 清除引擎层的前端渗透——删 i18n/font/theme,标题生成改内容语言自动检测
FlowerRealm Aug 7, 2026
13ee2b7
fix(core): 串行化 wire event HTTP POST,修复流式输出乱序
FlowerRealm Aug 7, 2026
59aa56a
fix(ci): 标题生成测试对齐 c4ec2a09 的 locale 无关 prompt
FlowerRealm Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file removed .codex
Empty file.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ body:
label: Affected area
description: Choose the module this issue mainly affects.
options:
- Desktop UI (agent-gui / React)
- Desktop UI (frontend / React)
- Desktop core (Tauri / Rust)
- Gateway (agent-gateway / Go)
- Backend (backend / Rust)
- Agent sessions / streaming
- Tool execution / MCP / Skills
- Model providers
Expand Down
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ body:
label: Affected area
description: Choose the module this proposal mainly involves.
options:
- Desktop UI (agent-gui / React)
- Desktop UI (frontend / React)
- Desktop core (Tauri / Rust)
- Gateway (agent-gateway / Go)
- Backend (backend / Rust)
- Agent sessions / streaming
- Tool execution / MCP / Skills
- Model providers
Expand Down Expand Up @@ -42,8 +42,8 @@ body:
label: Estimated change scope
description: If you plan to implement this yourself, list the modules / directories / files you expect to touch, to help assess complexity.
placeholder: |
crates/agent-gui/src/...
crates/agent-gateway/internal/...
crates/frontend/src/...
crates/backend/src/...
validations:
required: false
- type: textarea
Expand Down
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Closes #

<!-- List the affected modules and key files/directories so reviewers can locate the change quickly. -->

- Modules: <!-- e.g. agent-gui / agent-gateway / src-tauri -->
- Modules: <!-- e.g. frontend / backend / src-tauri -->
- Key paths:

## Screenshots / preview
Expand All @@ -34,7 +34,7 @@ Closes #
## Verification

<!-- How you verified this change:
- Checks you ran, e.g. cd crates/agent-gateway && go test ./...
- Checks you ran, e.g. cargo test --workspace
- Tests added or updated for behavior changes (or why none were needed).
-->

Expand Down
104 changes: 104 additions & 0 deletions .github/workflows/backend-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: Backend Docker

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
tag:
description: Existing release tag to publish, for example v0.1.0
required: true

permissions:
contents: read
packages: write

env:
# 新镜像名。旧的 ghcr.io/<owner>/liveagent-gateway 历史 tag 保持不动、仍可拉取
# (决策 15):我们只是不再发布新的 gateway 镜像,不删除任何已发布的 tag。
IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/liveagent-backend

jobs:
build-and-push:
name: Build and Push Backend Image
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.event.inputs.tag || github.ref }}

- uses: docker/setup-buildx-action@v3

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_NAME }}
flavor: |
latest=false
tags: |
type=raw,value=${{ github.event.inputs.tag || github.ref_name }}
type=raw,value=latest

# 只发 linux/amd64。Go 版 gateway 能轻松出 arm64(GOARCH 交叉编译白送),
# Rust 后端不行:依赖链里有 aws-lc-sys,交叉编译要 cmake + aarch64 工具链和
# sysroot,Dockerfile 现在也没接 --target。宁可少发一个架构,也不发一个
# 架构标错的镜像(见下面的验证步骤,那正是 v0.1.0–v1.1.8 踩过的坑)。
- name: Build and push
id: push
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
provenance: false

# 防"标着一个架构、装着另一个架构的二进制"。v0.1.0 到 v1.1.8 的镜像宣称
# arm64 却装着 x86-64 二进制,就是这么漏出去的。加架构时这步必须跟着扩。
- name: Verify binary architecture
run: |
set -euo pipefail
repo="$(echo "$IMAGE_NAME" | tr '[:upper:]' '[:lower:]')"
ref="$repo@${{ steps.push.outputs.digest }}"
docker pull "$ref" >/dev/null
docker rm -f verify-amd64 >/dev/null 2>&1 || true
docker create --name verify-amd64 "$ref" >/dev/null
docker cp verify-amd64:/usr/local/bin/backend /tmp/backend-amd64
docker rm -f verify-amd64 >/dev/null
info="$(file -b /tmp/backend-amd64)"
echo "linux/amd64: $info"
echo "$info" | grep -q "x86-64" || {
echo "::error::linux/amd64 镜像里的 backend 不是 x86-64 二进制"
exit 1
}

# 引擎 bundle 漏进镜像的话,后端会退化成"纯 API 模式"静默跑起来 ——
# /healthz 照样返回 ok,问题要到用户发第一条消息才暴露。这里提前拦。
- name: Verify Node engine bundle is present
run: |
set -euo pipefail
repo="$(echo "$IMAGE_NAME" | tr '[:upper:]' '[:lower:]')"
ref="$repo@${{ steps.push.outputs.digest }}"
docker rm -f verify-engine >/dev/null 2>&1 || true
docker create --name verify-engine "$ref" >/dev/null
docker cp verify-engine:/opt/liveagent/engine/index.js /tmp/engine-index.js
docker rm -f verify-engine >/dev/null
test -s /tmp/engine-index.js || {
echo "::error::镜像里的 Node 引擎 bundle 是空的"
exit 1
}
echo "engine bundle: $(wc -c < /tmp/engine-index.js) bytes"
Loading
Loading