zencode-cli 0.1.0 → 0.2.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ZenCode Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,230 @@
1
+ # ZenCode
2
+
3
+ 极简 CLI AI 编程工具 — 用最少的提示词,让模型把全部能力集中在编程本身。
4
+
5
+ ## 特性
6
+
7
+ - **单 Agent 循环** — 理解需求 → 收集上下文 → 写代码 → 执行验证,一个 Agent 完成所有工作
8
+ - **先读后改** — 系统级强制:未读取的文件无法编辑,杜绝盲改
9
+ - **覆盖保护** — write-file 已存在的文件必须显式确认,防止误覆盖
10
+ - **并行子 Agent** — spawn-agents 并行处理多文件任务
11
+ - **可配置子 Agent** — dispatch 工具支持 YAML 定义的专用子 Agent
12
+ - **自定义技能** — 用户可定义斜杠命令,展开为完整提示词
13
+ - **全屏 TUI** — 交互式终端界面,流式输出、工具确认、实时进度
14
+ - **跨平台** — 自动识别 Windows/Linux/macOS,命令提示适配当前平台
15
+ - **deepseek-reasoner 兼容** — 支持 reasoning_content 思维链显示
16
+
17
+ ## 安装
18
+
19
+ ```bash
20
+ npm install -g zencode-cli
21
+ ```
22
+
23
+ ## 快速开始
24
+
25
+ ```bash
26
+ # 交互式 TUI 模式(推荐)
27
+ zencode
28
+
29
+ # 简单 REPL 模式
30
+ zencode --simple
31
+
32
+ # 单次执行
33
+ zencode "帮我写一个 Hello World"
34
+
35
+ # 查看帮助
36
+ zencode --help
37
+ ```
38
+
39
+ ## 配置
40
+
41
+ ### 配置文件
42
+
43
+ `~/.zencode/config.yaml`(全局)或项目目录下 `.zencode/config.yaml`(项目级):
44
+
45
+ ```yaml
46
+ # 模型配置
47
+ model: deepseek-chat
48
+ api_key: sk-xxx
49
+ base_url: https://api.deepseek.com/v1
50
+ temperature: 0.7
51
+ max_tokens: 8192
52
+
53
+ # 功能开关
54
+ features:
55
+ git: auto # auto | on | off
56
+ mcp: off # on | off(暂未实现)
57
+ planning_layer: on # on | off
58
+ parallel_agents: on # on | off
59
+ todo: on # on | off
60
+
61
+ # 权限配置
62
+ permissions:
63
+ auto_approve: # 自动执行的工具
64
+ - read-file
65
+ - glob
66
+ - grep
67
+ - spawn-agents
68
+ - todo
69
+ - dispatch
70
+ require_approval: # 需用户确认的工具
71
+ - write-file
72
+ - edit-file
73
+ - bash
74
+ - git
75
+
76
+ # 自定义提示词
77
+ prompts:
78
+ - "始终使用中文回答"
79
+
80
+ # 工具输出最大长度
81
+ max_tool_output: 30000
82
+ ```
83
+
84
+ 配置优先级(从低到高):默认值 < 全局 `~/.zencode/config.yaml` < 项目 `.zencode/config.yaml` < 项目根 `.zencode.yaml` < 环境变量 < CLI 参数
85
+
86
+ ### 环境变量
87
+
88
+ | 变量 | 说明 |
89
+ |------|------|
90
+ | `ZENCODE_API_KEY` | API 密钥 |
91
+ | `ZENCODE_BASE_URL` | API 地址 |
92
+ | `ZENCODE_MODEL` | 模型名称 |
93
+
94
+ ### CLI 参数
95
+
96
+ ```
97
+ zencode [options] [prompt...]
98
+
99
+ Arguments:
100
+ prompt 直接执行的提示词(非交互式)
101
+
102
+ Options:
103
+ -V, --version 显示版本号
104
+ -m, --model <model> 指定模型名称
105
+ -k, --api-key <key> API 密钥
106
+ -u, --base-url <url> API 基础 URL
107
+ --simple 使用简单 REPL 模式(非全屏 TUI)
108
+ -h, --help 显示帮助
109
+ ```
110
+
111
+ ## 工具
112
+
113
+ | 工具 | 默认权限 | 说明 |
114
+ |------|---------|------|
115
+ | `read-file` | auto | 读取文件 |
116
+ | `write-file` | confirm | 写入文件 |
117
+ | `edit-file` | confirm | 编辑文件 |
118
+ | `bash` | confirm | 执行命令 |
119
+ | `glob` | auto | 文件搜索 |
120
+ | `grep` | auto | 内容搜索 |
121
+ | `spawn-agents` | auto | 并行子 Agent |
122
+ | `dispatch` | auto | 分派子 Agent |
123
+ | `todo` | auto | 任务计划 |
124
+
125
+ 权限级别:`auto`(自动执行)、`confirm`(需确认)、`deny`(禁止)
126
+
127
+ ## 安全机制
128
+
129
+ ### 先读后改(ReadTracker)
130
+
131
+ 系统级强制:每个 Agent 会话中维护已读文件集合。
132
+
133
+ - `read-file` 成功 → 标记已读
134
+ - `write-file` 成功 → 标记已读(刚写的文件 Agent 已知内容)
135
+ - `edit-file` 调用前 → 检查是否已读,未读则拒绝
136
+
137
+ ### 覆盖保护
138
+
139
+ write-file 目标文件已存在时,要求设置 `overwrite: true` 才能覆盖。
140
+
141
+ ## TUI 命令
142
+
143
+ | 命令 | 说明 |
144
+ |------|------|
145
+ | `/help` | 显示帮助 |
146
+ | `/skills` | 列出所有可用技能 |
147
+ | `/agents` | 列出所有可用子 Agent |
148
+ | `/parallel` | 切换并行子 Agent on/off |
149
+ | `/todo` | 切换 Todo 计划 on/off |
150
+ | `/clear` | 清空对话历史 |
151
+ | `/info` | 显示当前配置 |
152
+
153
+ ## 快捷键
154
+
155
+ | 快捷键 | 说明 |
156
+ |--------|------|
157
+ | `Ctrl+C` / `Escape` | 取消当前请求 |
158
+ | `Ctrl+D` | 退出程序 |
159
+ | `Enter` | 发送消息 |
160
+
161
+ ## 扩展
162
+
163
+ ### 自定义子 Agent
164
+
165
+ 在 `~/.zencode/agents/` 或 `.zencode/agents/` 放置 YAML 文件:
166
+
167
+ ```yaml
168
+ name: reviewer
169
+ description: 代码审查专家
170
+ system_prompt: 你是代码审查专家,专注于发现潜在问题。
171
+ tools:
172
+ - read-file
173
+ - glob
174
+ - grep
175
+ ```
176
+
177
+ 使用时 Agent 会通过 `dispatch` 工具自动调度。
178
+
179
+ ### 自定义技能
180
+
181
+ 在 `~/.zencode/skills/` 或 `.zencode/skills/` 放置 YAML 文件:
182
+
183
+ ```yaml
184
+ name: review
185
+ description: 审查当前项目代码
186
+ prompt: |
187
+ 请审查当前项目的代码质量,重点关注:
188
+ 1. 潜在 bug
189
+ 2. 安全问题
190
+ 3. 代码规范
191
+ ```
192
+
193
+ 然后在 TUI 中输入 `/review` 即可触发。
194
+
195
+ ## 支持的模型
196
+
197
+ 通过 OpenAI 兼容 API 连接各种模型:
198
+
199
+ ```yaml
200
+ # DeepSeek
201
+ model: deepseek-chat
202
+ base_url: https://api.deepseek.com/v1
203
+
204
+ # DeepSeek Reasoner(支持思维链)
205
+ model: deepseek-reasoner
206
+ base_url: https://api.deepseek.com
207
+
208
+ # 阿里 Qwen
209
+ model: qwen-turbo
210
+ base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
211
+
212
+ # OpenAI
213
+ model: gpt-4o
214
+ base_url: https://api.openai.com/v1
215
+ ```
216
+
217
+ ## 开发
218
+
219
+ ```bash
220
+ git clone https://github.com/your-repo/zencode.git
221
+ cd zencode
222
+ npm install
223
+ npm run dev # 开发模式
224
+ npm run build # 构建
225
+ npm link # 链接本地
226
+ ```
227
+
228
+ ## 许可证
229
+
230
+ MIT