Skip to content

Pixelle CLI 模块UI UX美化 #39

Description

@ztygod

背景

CLI模块作为直面面向用户的一层,简洁美观的UI和UX是必不可少。但是现在Pixelle整体上UI混乱,包括但不限于

  • Tool结果展示卡片过于臃肿不能很好展示Tool调用信息
  • 有些Tool因为没有权限而直接被拒绝执行,没有询问用户的过程
  • 当面用户对话过多的时候,CLI界面的性能问题需要被考虑(此前有过NodeJS栈溢出的崩溃现象)
<--- Last few GCs --->

[33328:00000181FE0E5000] 318621 ms:
Scavenge (interleaved)
4093.8 (4096.3) -> 4092.8 (4096.3) MB,
pooled: 0 MB,
0.34 / 0.00 ms
(average mu = 0.276, current mu = 0.228)
allocation failure;

[33328:00000181FE0E5000] 319193 ms:
Mark-Compact (reduce)
4093.0 (4096.3) -> 4092.8 (4095.6) MB,
pooled: 0 MB,
427.61 / 0.00 ms
(+ 11.3 ms in 3 steps since start of marking,
biggest step 5.0 ms,
walltime since start of marking 442 ms)
(average mu = 0.2)

FATAL ERROR:
Ineffective mark-compacts near heap limit
Allocation failed - JavaScript heap out of memory

----- Native stack trace -----

 1: 00007FF78723403F node::OnFatalError+1343
 2: 00007FF787E7FAA7 v8::Function::NewInstance+423
 3: 00007FF787C804D7 v8::base::AddressSpaceReservation::AddressSpaceReservation+322071
 4: 00007FF787C841E4 v8::base::AddressSpaceReservation::AddressSpaceReservation+337700
 5: 00007FF787C9313C v8::internal::StrongRootAllocatorBase::deallocate_impl+16604
 6: 00007FF787C9297B v8::internal::StrongRootAllocatorBase::deallocate_impl+14619
 7: 00007FF78911A2AD v8::base::UnsignedDivisionByConstant<unsigned __int64>+2794653
 8: 00007FF787C7DFA0 v8::base::AddressSpaceReservation::AddressSpaceReservation+312544
 9: 00007FF787D01CD9 v8::Unlocker::~Unlocker+9273
10: 00007FF7878762F2 v8::String::Utf8Value::~Utf8Value+142450
11: 00000181B7E775FA

ELIFECYCLE
Command failed with exit code 134.
  • 针对code的渲染过于粗糙,可读性不强
Image - 当用户在输入框输出 `/` 的时候没有出现命令行的提示 - agent对话结束的时候,UI上非常不明显 - 可选:支持CLI主题可配置化

目标

  1. 排查栈溢出问题,优化CLI的渲染方式提升展示性能
  2. 美化Tool展示UI,要求摈弃卡片式展示,目标是在展示调用Tool的同时实时动态展示Tool调用的结果输出(流式,可以适当选择截断)
  3. 完善Tool的鉴权审批机制,目标是要让用户能够感知到Pixelle的鉴权能力;赋予用户审批的能力
  4. 完善code 在cli渲染和diff展示,原来的过于丑了
  5. 当用户在输入框输入 \ 的时候可以出现提示框,提示框中内容包括具体命令和介绍

期望

我们对pixelle cli模块的终极期望就是,agent的所有功能都可以在cli进行展示和排查

Metadata

Metadata

Assignees

Labels

cliCLI experience and terminal interfaceuxUser experience improvements

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions