终端AI聊天工具

NXS是一款全屏文本/富终端界面,结合Claude和模型上下文协议(MCP)服务器,可在终端内进行聊天、浏览文档和执行工具。

  • by francisco-perez-sorrosal
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 francisco-perez-sorrosal/nxs

使用说明

NXS–人工智能聊天终端

NXS是一个全屏文本/富终端界面,它将Claude与模型上下文协议(MCP)服务器配对,这样您就可以在不离开终端的情况下聊天、浏览文档和执行工具。

亮点

  • 实时流式聊天,带有标记和语法突出显示的响应。
  • 智能完成 @resources 和 /prompts,包括论点提示。
  • 实时MCP面板,用于跟踪服务器运行状况、工件和重新连接进度。
  • 集成工具执行,具有可见的状态更新和结果。
  • 电池包括Pixi环境,用于可重复安装和质量检查。

先决条件

  • Python 3.11或更高版本。
  • 小精灵 (推荐)或其他环境管理员。
  • Anthropic API密钥,可访问Claude模型。
  • 支持全屏应用程序的终端。

快速开始

  1. 安装依赖项
    pixi install
    
  2. 配置环境变量
    cp .env.example .env
    ${HOME}/bin/create_dotenv.sh   # optional helper script
    
    至少填写 ANTHROPIC_API_KEY 和 CLAUDE_MODEL.
  3. 运行TUI
    pixi run start
    
  4. 退出应用程序后
    跑 reset (或 tput reset)以恢复干净的终端会话。

运行应用程序

  • pixi run start 发射 python -m nxs 所有接线到位。
  • 使用 Ctrl+Q 或 Ctrl+C 退出和 Ctrl+L 清除聊天缓冲区。
  • 要仅运行示例MCP服务器或客户端CLI:
    pixi run server / pixi run client.

使用界面

  • 在底部的输入字段中键入消息;结果流式传输到聊天面板。
  • 使用 @ 插入MCP资源 / 以自动完成方式触发MCP提示。
  • 工具执行和后台作业将进度发布到状态面板中。
  • MCP面板(右侧)显示服务器状态、可用工件和重新连接尝试。

配置

  • 环境: .env 控制Anthropic凭据、默认模型和切换。
  • MCP服务器:编辑 src/nxs/config/nxs_mcp_config.json 添加或删除MCP端点。目前通过HTTP传输支持远程服务器。
  • 日志记录:所有组件共享中的Loguru设置 src/nxs/logger.py;输出被写入 nexus.log.

故障排除

  • MCP连接问题:检查 nexus.log,确认URL/凭据,并确保远程服务器可访问。
  • UI故障:调整终端大小或尝试与文本兼容的终端模拟器(iTerm2、Kitty、Alacritty、Windows终端)。
  • 缺少完工:等待MCP初始化完成;状态面板和MCP面板将指示准备就绪。
  • 终端卡住:如果手动终止进程,请始终运行 reset (或 tput reset)在继续之前。

发展

代码质量

  • 运行测试: pixi run --environment test test
  • 类型检查: pixi run --environment dev type-check
  • Linting: pixi run --environment dev lint
  • 完整CI管道: pixi run --environment dev ci

建筑亮点

  • 分层设计:演示文稿→ 应用→ 领域→ 基础设施
  • 事件驱动的协调:同步EventBus,异步工作通过以下方式安排 create_task()
  • 服务与处理者:状态管理和事件处理的互补模式
  • 服务整合: AsyncQueueProcessor<T> 模式消除了代码重复
  • 惰性初始化:通过按需创建的服务 ServiceContainer

有关详细的模式、命名约定和设计决策,请参见 ARCHITECTURE.md.

了解更多

  • 开发人员工作流程和质量检查:请参阅 README_dev.md.
  • 详细组件和事件流:请参阅 ARCHITECTURE.md.
  • 现场测试 tests/ 并且可以与一起运行 pixi run --environment test test.