Skip to content

Latest commit

 

History

History
137 lines (99 loc) · 3.16 KB

File metadata and controls

137 lines (99 loc) · 3.16 KB

🎉 /new 快捷命令实现完成

📊 实现总结

已成功为 Easy Code CLI 添加了 /new 隐藏快捷命令,用户可以直接输入 /new 来创建新会话,无需通过菜单。

🎯 快速开始

使用方法

# 创建新会话的两种方式:

# 方式 1:使用完整命令(原有方式)
/session new

# 方式 2:使用快捷命令(新增方式)
/new                    # ← 推荐!更快更直观

特点

特性 详情
命令 /new
效果 直接创建新会话
菜单显示 ❌ 隐藏(不会在 /help 中显示)
可用性 ✅ 可直接输入使用
功能 100% 等价于 /session new
类型 隐藏快捷命令

📝 技术细节

创建的文件

packages/cli/src/ui/commands/newCommand.ts

  • 定义隐藏快捷命令 newCommand
  • hidden: true - 不显示在菜单中
  • /session new 使用完全相同的逻辑

修改的文件

packages/cli/src/services/BuiltinCommandLoader.ts

  • 导入 newCommand
  • 在命令列表中注册

文档

docs/slash-command-new-alias.md

  • 详细的实现文档
  • 架构说明
  • 扩展指南

✅ 验证

# 类型检查
npm run typecheck        # ✅ 通过

# 编译构建
npm run build           # ✅ 成功

# Git 提交
git log -1 --oneline    # ✅ 9e4b0e9d feat: add /new hidden shortcut command...

🚀 如何使用

  1. 编译项目(如果还没做)

    npm run build
  2. 启动应用

    npm start
  3. 在交互式界面中输入

    /new
    

    就会直接创建新会话!

💡 设计说明

为什么隐藏这个命令?

  • ✅ 用户不会看到重复的选项(已有 /session new
  • ✅ 保持菜单整洁
  • ✅ 符合现有的隐藏命令设计模式(如 /vim, /theme, /yolo
  • ✅ 依然可以直接输入使用

实现方式对比

方式 优点 缺点
隐藏命令 菜单清洁、快速访问 需要用户知道它的存在
别名方式 自动补全支持 菜单中会显示冗余选项

我们选择了隐藏命令的方案,因为更加简洁直观。

🔧 后续扩展

如果你想添加更多快捷命令,可以按照相同模式创建:

// 例如:/sl 作为 /session list 的快捷
export const selectSessionShortcutCommand: SlashCommand = {
  name: 'sl',
  description: '快速列出会话',
  kind: CommandKind.BUILT_IN,
  hidden: true,  // ← 隐藏关键
  action: async (context) => {
    // 实现逻辑
  },
};

📚 相关文件

  • /new 命令定义:packages/cli/src/ui/commands/newCommand.ts
  • 命令加载器:packages/cli/src/services/BuiltinCommandLoader.ts
  • 原始 /session 命令:packages/cli/src/ui/commands/sessionCommand.ts
  • 完整文档:docs/slash-command-new-alias.md

✨ 完成清单

  • ✅ 创建 newCommand.ts 隐藏快捷命令
  • ✅ 在 BuiltinCommandLoader.ts 中注册
  • ✅ TypeScript 类型检查通过
  • ✅ 项目编译成功
  • ✅ 创建完整文档
  • ✅ Git 提交保存

现在你可以使用 /new 快速创建新会话了! 🎉