# nove-code **Repository Path**: WEBKFG/nove-code ## Basic Information - **Project Name**: nove-code - **Description**: 原创AI编程助手 CLI — 灵感来自 Claude Code 架构,完全原创实现。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Nova Code > 原创AI编程助手 CLI — 灵感来自 Claude Code 架构,完全原创实现。 ## 特性 - 🔧 **7 个内置工具**: 文件读写、精确编辑、Shell 执行、代码搜索、文件查找、URL 获取 - 🔄 **Agent 循环**: ReAct 模式 — 思考 → 调用工具 → 观察 → 继续思考 - 🔐 **权限系统**: 按工具类型控制权限(自动允许 / 每次询问) - 💬 **Streaming 输出**: 实时显示 LLM 响应 - 🧠 **上下文管理**: 自动压缩长对话,控制 token 预算 - 🔌 **OpenAI 兼容**: 支持任意 OpenAI 兼容 API(OpenAI、DeepSeek、通义千问等) ## 快速开始 ```bash # 安装依赖 npm install # 配置 API Key cp .env.example .env # 编辑 .env 填入你的 API Key # 开发模式运行 npm run dev # 生产构建 npm run build node dist/index.js ``` ## 配置 | 环境变量 | 说明 | 默认值 | |---------|------|--------| | `NOVA_API_KEY` | API 密钥 | (必填) | | `NOVA_BASE_URL` | API 基础 URL | `https://api.openai.com/v1` | | `NOVA_MODEL` | 模型名称 | `gpt-4o` | ## 使用 ```bash # 交互模式 nova-code # 单次提问 nova-code "帮我看看这个项目的结构" # 指定模型 nova-code --model deepseek-chat # 指定工作目录 nova-code --cwd /path/to/project ``` ## 内置命令 在交互模式中输入: | 命令 | 说明 | |------|------| | `/help` | 显示帮助 | | `/model ` | 切换模型 | | `/permissions` | 查看/修改权限设置 | | `/compact` | 手动压缩上下文 | | `/clear` | 清空对话历史 | | `/quit` | 退出 | ## 架构 ``` src/ ├── index.ts # CLI 入口 ├── cli.ts # 主循环 & 命令解析 ├── agent/ │ └── AgentLoop.ts # ⭐ 核心 Agent 循环 ├── llm/ │ ├── LLMClient.ts # OpenAI 兼容客户端 (streaming) │ └── types.ts # 消息类型定义 ├── tools/ │ ├── ToolRegistry.ts # 工具注册中心 │ ├── types.ts # 工具接口定义 │ ├── FileReadTool.ts │ ├── FileWriteTool.ts │ ├── FileEditTool.ts │ ├── BashTool.ts │ ├── GrepTool.ts │ ├── GlobTool.ts │ └── WebFetchTool.ts ├── permissions/ │ └── PermissionManager.ts ├── context/ │ └── ContextManager.ts └── utils/ ├── config.ts └── logger.ts ``` ## License MIT