xiaozhou-chat 1.0.4 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,162 +1,117 @@
1
- ```markdown
2
1
  # xiaozhou-chat
3
2
 
4
- CLI chatbot based on NewAPI.
3
+ CLI chatbot based on NewAPI with advanced features like Project Context, Multi-Profiles, and AI Tools.
4
+ 基于 NewAPI 的高级命令行聊天工具,支持项目上下文感知、多环境配置及 AI 自动化工具。
5
5
 
6
6
  ---
7
7
 
8
- ## ✨ 特性
9
- - 基于 NewAPI 的命令行聊天工具
10
- - 支持自定义模型与 Base URL
11
- - 自动保存历史记录(项目根目录优先)
12
- - Node.js 18+ 支持
8
+ ## ✨ 特性 (Features)
13
9
 
14
- ---
15
-
16
- ## 📦 安装
17
-
18
- 全局安装:
19
- ```bash
20
- npm i -g xiaozhou-chat
21
- ```
10
+ - **🤖 多模型/多环境管理**:支持通过 `/profile` (或 `/切换模型`) 快速切换不同的 API Key 和模型配置。
11
+ - **📂 项目感知**:通过 `/scan` 自动扫描项目结构、读取 `package.json` 和 `README.md` (智能大文件摘要),让 AI 理解你的项目。
12
+ - **🛠️ AI 编程助手**:内置文件读写 (`read_file`, `write_file`) 和命令执行 (`run_command`) 工具,AI 可以帮你重构代码、运行测试。
13
+ - **🛡️ 安全机制**:`write_file` 覆盖文件前自动创建 `.bak` 备份,防止代码丢失;网络请求失败自动指数退避重试。
14
+ - **🚀 效率工具**:`/commit` 自动分析代码变更并生成 Git Commit Message;`/token` 实时监控上下文消耗。
15
+ - **🎨 视觉优化**:支持 Markdown 渲染 (终端内显示粗体/颜色),流式输出平滑打字机效果。
16
+ - **⚙️ 灵活配置**:支持全局配置及项目级配置文件 (`.newapi-chat-config.json`),可随项目隔离环境。
17
+ - **🔌 MCP 支持**:集成 Model Context Protocol,可连接外部 MCP Server 扩展能力。
18
+ - **📦 跨平台**:支持 macOS (DMG/Binary) 和 Windows 打包。
22
19
 
23
20
  ---
24
21
 
25
- ## ⚙️ 配置
22
+ ## 📦 安装 (Installation)
26
23
 
27
- ### 环境变量(推荐)
28
- 必填:
24
+ ### 全局安装
29
25
  ```bash
30
- export NEWAPI_API_KEY="你的Key"
26
+ npm i -g xiaozhou-chat
31
27
  ```
32
28
 
33
- 可选:
29
+ ### 快速开始
30
+ 在任意终端输入:
34
31
  ```bash
35
- export NEWAPI_BASE_URL="https://api.newapi.pro/v1"
36
- export NEWAPI_MODEL="gpt-3.5-turbo"
32
+ xiaozhou-chat
37
33
  ```
38
34
 
39
- ### 配置说明表
40
-
41
- | 变量名 | 是否必填 | 说明 | 示例 |
42
- |---|---|---|---|
43
- | NEWAPI_API_KEY | 必填 | NewAPI 的 API Key | `sk-xxxx` |
44
- | NEWAPI_BASE_URL | 可选 | NewAPI 请求地址 | `https://api.newapi.pro/v1` |
45
- | NEWAPI_MODEL | 可选 | 默认模型 | `gpt-3.5-turbo` |
46
-
47
35
  ---
48
36
 
49
- ## 📁 配置与历史记录位置
50
-
51
- **项目根目录判定规则:**
52
- 从当前目录向上查找最近的 `package.json`,其所在目录为项目根目录。
53
-
54
- ### ✅ 配置文件优先级
55
- 1. 项目根目录:
56
- - `.newapi-chat-config.json`
57
- - `newapi-chat.config.json`
58
- 2. 用户目录:
59
- - `~/.newapi-chat-config.json`
60
-
61
- ### ✅ 历史记录保存位置
62
- - 优先保存到项目根目录:
63
- ```
64
- <项目根>/.newapi-chat-history.json
65
- ```
66
- - 无写入权限时回退:
67
- ```
68
- ~/.newapi-chat-history.json
69
- ```
70
-
71
- ### ✅ 历史导出(Markdown)
72
- - 优先导出到项目根目录:
73
- ```
74
- <项目根>/newapi-chat-history.md
75
- ```
76
- - 无写入权限时回退:
77
- ```
78
- ~/newapi-chat-history.md
79
- ```
37
+ ## 💬 常用命令 (Commands)
80
38
 
81
- ---
82
-
83
- ## 🚀 使用
84
-
85
- ### 基础启动
86
- ```bash
87
- xiaozhou-chat
88
- ```
39
+ 在对话中输入 `/` 开头的命令即可触发功能。支持中文别名。
89
40
 
90
- ### 自定义模型与地址
91
- ```bash
92
- xiaozhou-chat --model gpt-4 --base-url https://api.newapi.pro/v1
93
- ```
94
-
95
- ---
96
-
97
- ## 🧰 CLI 参数说明
41
+ ### 🔧 配置管理
42
+ | 命令 | 中文别名 | 说明 |
43
+ |---|---|---|
44
+ | `/init` | `/初始化配置` | 在当前目录生成 `newapi-chat.config.json` 配置文件 |
45
+ | `/config` | `/配置` | 查看或修改当前配置 (如 `/config set model gpt-4`) |
46
+ | `/profile` | `/切换模型` | 管理多套配置 (详情见下文) |
47
+ | `/system` | - | 设置系统提示词 (System Prompt) |
98
48
 
99
- | 参数 | 说明 | 示例 |
49
+ ### 🧠 上下文与文件
50
+ | 命令 | 中文别名 | 说明 |
100
51
  |---|---|---|
101
- | --model | 指定模型 | `--model gpt-4` |
102
- | --base-url | 指定 API 地址 | `--base-url https://api.newapi.pro/v1` |
52
+ | `/scan` | `/当前项目结构` | 扫描当前目录结构并加载关键文件到上下文 |
53
+ | `/load <file>` | - | 加载指定文件内容给 AI |
54
+ | `/save <file>` | - | 将 AI 回复中的代码块保存为本地文件 |
55
+ | `/paste` | - | 进入多行粘贴模式 (避免回车直接发送) |
56
+
57
+ ### 🛠️ 工具与扩展
58
+ | 命令 | 说明 |
59
+ |---|---|
60
+ | `/commit` | 自动执行 `git add -A` 并利用 AI 生成提交信息 |
61
+ | `/token` | 查看当前会话 Token 估算与预警 (每次回复后自动显示真实消耗) |
62
+ | `/compress` | 智能压缩对话历史,节省 Token |
63
+ | `/mcp` | 管理 MCP 服务器连接 (如连接外部数据库工具) |
64
+ | `/clear` | 清空当前对话历史 (保留 System Prompt) |
65
+ | `/history` | 查看历史记录 (支持 Markdown 渲染) |
66
+ | `/export` | 导出对话记录为 Markdown |
103
67
 
104
68
  ---
105
69
 
106
- ## 💬 使用示例
107
-
108
- 启动后输入内容即可对话:
70
+ ## 🤖 多环境配置 (Profiles)
109
71
 
110
- ```
111
- $ xiaozhou-chat
112
- > 你好
113
- 你好!有什么可以帮你?
114
- > 介绍一下 NewAPI
115
- NewAPI 是一个兼容 OpenAI 接口的网关服务...
116
- ```
72
+ 支持保存多套配置(例如:开发环境用 `gpt-3.5`,生产环境用 `gpt-4`,或者区分不同的 API Key)。
117
73
 
118
- 退出方式:
119
- - `Ctrl + C`
120
- - 或输入 `exit`
74
+ **常用操作:**
75
+ 1. **查看列表**:`/profile list` `/切换模型`
76
+ 2. **创建配置**:`/profile add gpt4` (复制当前配置为 gpt4)
77
+ 3. **切换配置**:`/profile use gpt4` 或 `/切换模型 gpt4`
121
78
 
122
79
  ---
123
80
 
124
- ## 🪟 Windows 打包
81
+ ## ⚙️ 配置文件 (Configuration)
125
82
 
126
- 安装 pkg:
127
- ```bash
128
- npm i -g pkg
129
- ```
130
-
131
- 执行打包:
132
- ```bash
133
- npm run build:win
134
- ```
83
+ 工具会按以下优先级读取配置:
84
+ 1. **项目级配置**:`./newapi-chat.config.json` (推荐使用 `/init` 生成)
85
+ 2. **用户级配置**:`~/.newapi-chat-config.json`
135
86
 
136
- 生成文件:
137
- ```
138
- dist/newapi-chat.exe
139
- ```
140
-
141
- ---
142
-
143
- ## 🧩 脚本说明
144
-
145
- `package.json` 中包含:
87
+ **配置文件示例 (`newapi-chat.config.json`):**
146
88
  ```json
147
- "scripts": {
148
- "build:win": "pkg . --targets node18-win-x64 --output dist/newapi-chat.exe"
89
+ {
90
+ "apiKey": "sk-xxxx",
91
+ "baseUrl": "https://api.newapi.pro/v1",
92
+ "model": "claude-3-5-sonnet",
93
+ "profiles": {
94
+ "default": { "model": "claude-3-5-sonnet" },
95
+ "gpt4": { "model": "gpt-4", "apiKey": "sk-special..." }
96
+ }
149
97
  }
150
98
  ```
151
99
 
152
100
  ---
153
101
 
154
- ## 🧾 依赖
102
+ ## 🛠️ 打包与构建 (Build)
103
+
104
+ ### 依赖安装
105
+ ```bash
106
+ npm install
107
+ ```
155
108
 
156
- - minimist
109
+ ### 打包命令
110
+ - **Windows**: `npm run build:win` -> `dist/newapi-chat.exe`
111
+ - **macOS**: `npm run build:mac` -> `dist/xiaozhou-chat`
112
+ - **macOS DMG**: `npm run pack:dmg` -> `release/xiaozhou-chat_1.0.0_x64.dmg`
157
113
 
158
114
  ---
159
115
 
160
116
  ## 📄 许可证
161
117
  MIT
162
- ```