背景
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.

- 当用户在输入框输出 `/` 的时候没有出现命令行的提示
- agent对话结束的时候,UI上非常不明显
- 可选:支持CLI主题可配置化
目标
- 排查栈溢出问题,优化CLI的渲染方式提升展示性能
- 美化Tool展示UI,要求摈弃卡片式展示,目标是在展示调用Tool的同时实时动态展示Tool调用的结果输出(流式,可以适当选择截断)
- 完善Tool的鉴权审批机制,目标是要让用户能够感知到Pixelle的鉴权能力;赋予用户审批的能力
- 完善code 在cli渲染和diff展示,原来的过于丑了
- 当用户在输入框输入
\ 的时候可以出现提示框,提示框中内容包括具体命令和介绍
期望
我们对pixelle cli模块的终极期望就是,agent的所有功能都可以在cli进行展示和排查
背景
CLI模块作为直面面向用户的一层,简洁美观的UI和UX是必不可少。但是现在Pixelle整体上UI混乱,包括但不限于
目标
\的时候可以出现提示框,提示框中内容包括具体命令和介绍期望
我们对pixelle cli模块的终极期望就是,agent的所有功能都可以在cli进行展示和排查