dqsjqian/AriaAgent 预览 preview

dqsjqian/AriaAgent

Industrial-grade C++23 Agent Tooling Framework GUI — provider-agnostic LLM agent with true SSE streaming (Continuo transport), tool registry, approval gate. Built on Aria (C++23 MVVM).

Project Overview项目介绍

AriaAgent is an industrial-grade C++20 LLM agent framework with a graphical user interface, built on top of the Aria C++20 MVVM framework. It is provider-agnostic, meaning it does not tie to any single LLM vendor, and works out of the box with any OpenAI-compatible API endpoint including DeepSeek, OpenAI, Kimi, Qwen, and GLM. To switch between different models or vendors, you only need to change one line of configuration, no code changes or recompilation required. The core agent loop uses C++20 coroutines, and the UI layer is fully decoupled from the engine via Aria's reactive property system.

AriaAgent comes with over 10 built-in tools for common tasks like file editing, shell command execution, calculation, and todo management. It supports multi-session management with JSON persistence, visual tool call timelines, and a fail-closed permission approval system that requires explicit user confirmation for dangerous operations. When conversations exceed 32 turns, it automatically compresses the context to avoid token overflow without breaking tool call result pairs. End users can configure their API keys, base URLs, and model selections directly through the built-in settings dialog.

The project is released under the permissive MIT license, and supports Windows, macOS, and Linux platforms. The core layer is written in pure C++ with no Qt dependencies, so it can be reused on mobile platforms if you add a platform-specific UI wrapper. To build from source, you need CMake 3.20 or newer, a C++20 compatible compiler, Qt6, and OpenSSL. After cloning the repository, you just need to initialize the Aria submodule and run the provided build script for your operating system to get a working binary.

AriaAgent 是一个基于 C++20 Aria MVVM 框架构建的跨平台桌面 LLM Agent 工具框架 GUI,不绑定任何大模型厂商,支持所有 OpenAI 兼容端点的模型接入,切换模型只需修改一行配置,无需重新编译或改动代码。核心 Agent 循环基于 C++20 协程实现,UI 层通过响应式引擎与核心层彻底解耦,架构设计借鉴了 DeepSeek Harness 的核心思想。

它内置十余种常用工具,支持多会话管理、工具调用轨迹可视化、危险操作默认拒绝的权限审批机制,超长对话会自动压缩上下文避免超出 token 限制。普通用户可通过图形界面配置 API 密钥、端点和模型,开发者可通过简单的注册流程快速扩展自定义工具,适合不同类型用户使用。

项目基于 MIT 许可证开源,支持 Windows、macOS、Linux 三大桌面平台,核心层是纯 C++ 实现,无 Qt 依赖,可复用到移动端。项目提供一键构建脚本,用户只需提前安装好对应编译工具链、Qt6 和 CMake,即可完成项目构建和运行,对新手比较友好。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 3 warnings3 项注意
  • Only 5 stars - very few users, little community feedback星标只有 5,几乎没人在用,遇到问题缺少社区反馈
  • No DSH plugin manifest detected - it may only carry the dsh-plugin topic, so the install method must be confirmed on the spot未检测到 DSH 插件清单:可能只是打了 dsh-plugin 话题,安装方式要现场确认
  • Not DSH-native: a multi-platform tool that may require Node / Electron or another runtime first非 DSH 原生,是多平台兼容工具:可能要先装 Node / Electron 等运行时
  • Desktop client: installation downloads an executable - verify the publisher and checksums桌面客户端:安装会下载可执行文件,请核对发布者与校验和
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:dqsjqian/AriaAgent

把 dqsjqian/AriaAgent 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

✦ AriaAgent

依赖更新完整指南 — 版本固定、选择性更新、离线、回退与提交步骤。

当前版本 0.1.1 · Aria 3.1.1

工业级 C++23 Agent 工具框架 GUI · 基于 Aria (C++23 MVVM)

Provider 无关 · 真流式 SSE · 工具调用链可视化 · 权限审批 · MIT License

C++23 Qt6 License: MIT Platform

English | 简体中文


这是什么?

AriaAgent 是一个基于 Aria(C++23 MVVM 框架)构建的 provider 无关 LLM Agent 工具框架 GUI。 它不绑定任何一家模型厂商 —— DeepSeek / OpenAI / Kimi / Qwen / GLM 等所有 OpenAI 兼容端点开箱即用,换模型只需改一行配置,零代码改动、无需重新编译。

Agent 循环(思考 → 调工具 → 观察 → 再思考)用 C++23 协程实现,UI 层通过 Aria 的响应式引擎(Property / ObservableList)与引擎层彻底解耦。整体设计大量借鉴 DeepSeek 官方 harness 的架构精髓(事件日志 = 唯一事实源、工具 schema 驱动、权限默认拒绝)。

✨ 特性

🧠 Agent 核心

  • Provider 无关 —— 抽象 LlmClient 接口 + OpenAiCompatClient 实现,任何 OpenAI 兼容 API 无缝接入
  • 真流式输出 —— token 级 SSE 流式渲染(Mira HTTP 客户端逐块读取响应体),不是缓冲式假流式
  • Agent 循环 —— 协程式 思考/工具调用/观察 循环,多工具有界并行执行(exclusive 屏障 + 并行池,结果按模型顺序提交),硬性轮数上限防失控
  • 工具注册表 —— 一次注册即插即用:Tool{name, desc, schema, fn},无硬编码分支
  • 参数校验 —— 轻量 JSON-Schema 校验器(类型/必填/枚举/范围),错误信息带 JSON 路径

🛠 内置工具(10+)

工具 说明 权限
calculator 四则/幂运算 无需审批
current_time 当前本地时间 无需审批
run_command 同步执行 Shell 命令(超时) 需审批
run_in_background / read_output / kill_process 后台进程句柄 + 增量轮询 需审批
read_file / write_file / edit_file 文件读写改(防目录逃逸) 写操作需审批
list_directory 目录列表 无需审批
todo_set / todo_add / todo_list Agent 可见待办(快照 last-wins) 无需审批

🗂 会话与 UI

  • 多会话管理 —— 侧边栏会话列表(新建/切换/右键删除),JSON 持久化到 ~/.ariaagent/sessions/,重启自动恢复
  • 多轮上下文 —— 引擎持有完整消息历史,Agent 有记忆
  • 自动压缩 —— 超 32 条自动摘要压缩,不拆散 tool-call/result 配对
  • Markdown 渲染 —— 气泡内渲染 Markdown + 代码四色高亮
  • 轨迹面板 —— 右侧工具调用时间线(成功/失败着色)
  • Todo 面板 —— Agent 的待办列表实时投影
  • 消息反馈 —— 右键 👍/👎,持久化
  • 权限审批 —— 危险工具执行前模态确认,默认拒绝(fail-closed)

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-client-ui-writing 下一个 Next awesome-dsh-background-plugin →