Skip to content

Discussion: @agentxjs/ui 与 UIX 的关系定位 #174

@deepracticexc

Description

@deepracticexc

背景

UIX 已从 Lucid-UI 重构为独立的 AI-to-UI Protocol 项目,需要明确 AgentX 作为开源开发框架与 UIX 的关系。

当前架构理解

AgentX Framework (开源开发框架)
  ├── agentxjs (Agent 运行时、协议)
  ├── @agentxjs/ui (可选的官方 UI)
  └── 开发者自己的 UI (用任意库)

UIX (独立的设计语言/协议)
  ├── @uix/core - Lucid IR 类型定义
  ├── @uix/tokens - Design Tokens
  ├── @uix/agent - AI Agent 组件
  ├── @uix/stream - 流式渲染
  ├── @uix/adapter-vercel - Vercel AI SDK 适配器
  └── @uix/adapter-agentx - (待定) AgentX 适配器

讨论点

1. @agentxjs/ui 应该如何定位?

选项 A:基于 UIX 封装

  • 直接使用 @uix/agent 组件
  • 在上面加 AgentX 特有的业务逻辑(文件上传、模型选择等)
  • 优点:复用、设计一致
  • 缺点:强耦合

选项 B:独立实现,仅参考 UIX 设计规范

  • 使用 @uix/tokens 的设计 tokens
  • 组件自己实现
  • 优点:灵活、独立演进
  • 缺点:重复工作

选项 C:解耦,UIX 提供 adapter

  • AgentX 只定义数据协议
  • UIX 提供 @uix/adapter-agentx 做转换
  • @agentxjs/ui 可选择是否基于 UIX
  • 优点:框架用户自由选择 UI 方案
  • 缺点:需要维护 adapter

2. 框架用户的 UI 选择自由度

作为开源开发框架,AgentX 用户应该能够:

  • 使用官方 @agentxjs/ui
  • 使用 UIX + adapter
  • 使用 shadcn/ui 自己搭建
  • 使用任意 React 组件库

框架不应强制绑定特定 UI 库。

3. UIX 的独立价值

UIX 应该作为独立项目存在:

  • 不依附于 AgentX
  • 可被其他 AI 项目使用
  • 类似 Vercel AI SDK 提供 adapter 模式

建议方向

倾向 选项 C

  1. AgentX 只定义数据协议(Message 类型、Tool 状态等)
  2. UIX 独立存在,提供 @uix/adapter-agentx
  3. @agentxjs/ui 可选择基于 UIX 或自己实现

相关链接

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions