@vibek/cli 0.1.6 → 0.1.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,7 +1,6 @@
1
1
  # Vibek
2
2
 
3
- Vibek 是一个个人自用的 CTP 量化交易项目,提供后台行情与交易服务、策略管理、离线回测,
4
- 以及浏览器中的 AI 策略工作台。npm 包安装后注册全局命令 `vibek`。
3
+ 面向个人使用的 CTP 量化交易 CLI 与 AI 策略工作台。
5
4
 
6
5
  ## 项目状态
7
6
 
@@ -12,232 +11,77 @@ Vibek 是一个个人自用的 CTP 量化交易项目,提供后台行情与交
12
11
  Vibek 可能连接真实期货账户,但不构成投资建议,也不对交易损失负责。使用者应自行评估并承担风险;
13
12
  首次使用应先在 CTP 测试环境、Paper 模式和离线回测中完成充分验证;Live 策略必须显式加载并启动。
14
13
 
15
- ## 运行环境
16
-
17
- - [Bun](https://bun.sh/) 1.4.0 或更高版本
18
- - Windows x64,或 Ubuntu 24.04 x86_64
19
- - 可用的 CTP 账号、行情/交易前置地址和 App ID
20
- - 使用 Web 工作台时需要本机浏览器
21
-
22
- 原生 CTP gateway 不包含在 npm 包中。Vibek 会通过 `vibek gateway` 下载并校验与当前应用兼容的版本。
23
-
24
14
  ## 安装
25
15
 
16
+ 需要 [Bun](https://bun.sh/) 1.4.0 或更高版本:
17
+
26
18
  ```bash
27
19
  bun install -g @vibek/cli
28
20
  vibek --version
29
21
  ```
30
22
 
31
- 如果终端找不到 `vibek`,请确认 Bun 的全局 bin 目录 `~/.bun/bin` 已加入 `PATH`。
32
-
33
- ## 快速开始
34
-
35
- ### 1. 生成配置
36
-
37
- Windows PowerShell:
38
-
39
- ```powershell
40
- New-Item -ItemType Directory -Force "$env:APPDATA\vibek" | Out-Null
41
- vibek --default-config | Set-Content -Encoding UTF8 "$env:APPDATA\vibek\config.toml"
42
- notepad "$env:APPDATA\vibek\config.toml"
43
- ```
44
-
45
- Linux:
46
-
47
- ```bash
48
- mkdir -p ~/.config/vibek
49
- vibek --default-config > ~/.config/vibek/config.toml
50
- ${EDITOR:-vi} ~/.config/vibek/config.toml
51
- ```
52
-
53
- 账号名由 `broker_id-user` 自动生成。配置只支持一个账号:
54
-
55
- ```toml
56
- [account]
57
- broker_id = "9999"
58
- user = "account"
59
-
60
- [account.ctp]
61
- market_front = "tcp://行情前置地址:端口"
62
- trader_front = "tcp://交易前置地址:端口"
63
- app_id = "你的-app-id"
64
- production_mode = true
65
-
66
- [account.market]
67
- record_instruments = ["IC2609.CFFEX"]
68
- tick_time_mode = "realtime"
69
-
70
- [account.trading]
71
- max_order_volume = 1
72
- max_position = 2
73
- max_active_open_orders = 2
74
-
75
- [account.trading.daily_limits]
76
- total_order_limit = 20000
77
- total_cancel_limit = 10000
78
- total_trade_limit = 10000
79
- instrument_order_limit = 2000
80
- instrument_cancel_limit = 1000
81
- instrument_trade_limit = 1000
82
-
83
- [account.trading.duplicate_orders]
84
- duplicate_order_limit = 10
85
- ```
86
-
87
- `production_mode` 选择 CTP API 的生产/评测模式;它不决定策略使用 Paper 还是 Live。
88
- SimNow 7x24 等回放行情前置需将 `tick_time_mode` 设为 `"replay"`;券商实时行情保持默认
89
- `"realtime"`,以继续拒绝陈旧或明显超前的 tick。
90
- 换号时修改 `[account]`,然后执行 `vibek daemon restart`。
91
-
92
- ### 2. 校验配置
93
-
94
- ```bash
95
- vibek config
96
- vibek status
97
- ```
98
-
99
- 配置有未知字段、类型错误、账号引用错误或风控值越界时,`vibek config` 会直接指出问题。
100
-
101
- ### 3. 安装 CTP gateway
102
-
103
- ```bash
104
- vibek gateway
105
- ```
106
-
107
- 该命令会安装或校验当前应用兼容的最新稳定 gateway。也可以安装明确版本或本地归档:
108
-
109
- ```bash
110
- vibek gateway 0.1.0
111
- vibek gateway ./gateway.tar.gz
112
- ```
113
-
114
- ### 4. 启动后台服务
115
-
116
- ```bash
117
- vibek daemon start
118
- vibek status
119
- ```
120
-
121
- `daemon start` 会在终端中询问交易密码和 CTP 授权码。这些凭证只传给本次后台进程,
122
- 不会写入 `config.toml`。查看运行状态和日志:
123
-
124
- ```bash
125
- vibek daemon status
126
- vibek daemon logs --follow
127
- vibek daemon stop
128
- ```
129
-
130
- ### 5. 打开 Web 工作台
23
+ ## 开始使用
131
24
 
132
25
  ```bash
133
26
  vibek
134
27
  ```
135
28
 
136
- 无参数运行等价于 `vibek web`。命令会启动本机 Web 工作台并打印浏览器地址;默认端口为 `3211`:
137
-
138
- ```bash
139
- vibek web --port 3211
140
- ```
141
-
142
- Web 工作台本身不会自动启动交易 daemon。需要行情、账户或策略运行能力时,请先执行
143
- `vibek daemon start`。
144
-
145
- ## 常用命令
146
-
147
- | 命令 | 用途 |
148
- | --- | --- |
149
- | `vibek status` | 汇总账号、daemon、行情、交易连接和策略状态 |
150
- | `vibek risk` | 查询 Paper/Live 每日风险计数和单合约使用量 |
151
- | `vibek account` | 查询当前柜台资金 |
152
- | `vibek positions` | 查询实时持仓 |
153
- | `vibek orders` | 查询当前交易日委托 |
154
- | `vibek trades` | 查询当前交易日成交 |
155
- | `vibek contract <合约>` | 查询合约规格和当前账户手续费率 |
156
- | `vibek front test` | 测试候选 CTP 前置并按稳定性、延迟排名 |
157
- | `vibek front check` | 检查当前行情和交易前置 |
158
- | `vibek daemon restart` | 重新输入凭证并重启后台服务 |
159
-
160
- 查询命令默认输出终端表格。需要脚本消费时可添加全局 `--json`:
161
-
162
- ```bash
163
- vibek positions --json
164
- vibek --json status
165
- vibek risk --mode live --instrument RB2610.SHFE
166
- vibek --json risk --mode live
167
- ```
168
-
169
- `vibek risk` 默认显示 Live、Paper 汇总以及所有计数非零的合约;`--mode paper|live` 和
170
- `--instrument CODE.EXCHANGE` 可缩小范围。统计来自运行中 daemon,daemon 未运行或尚未重启到
171
- 支持风险快照的版本时命令返回失败,不会用静态配置或离线状态冒充实时数据。
172
-
173
- ## 策略与回测
174
-
175
- 先在 Paper 模式加载策略:
176
-
177
- ```bash
178
- vibek strategy load ./my-strategy.ts --mode paper
179
- vibek strategy list
180
- vibek strategy start <策略实例ID>
181
- ```
182
-
183
- 停止或卸载策略:
184
-
185
- ```bash
186
- vibek strategy stop <策略实例ID>
187
- vibek strategy unload <策略实例ID>
188
- ```
189
-
190
- 离线回测接受 mock 或 CSV 数据,并要求明确提供合约乘数、保证金和手续费参数:
191
-
192
- ```bash
193
- vibek backtest ./my-strategy.ts --help
194
- ```
195
-
196
- Live 模式必须显式使用 `--mode live`、显式启动,并通过委托限制和持仓核对。
197
- 不要用尚未在 Paper 和回测中验证的策略直接连接实盘。
198
-
199
- ## 配置和数据位置
200
-
201
- | 内容 | Windows | Linux |
202
- | --- | --- | --- |
203
- | 配置文件 | `%APPDATA%\vibek\config.toml` | `~/.config/vibek/config.toml` |
204
- | 默认数据根 | `%USERPROFILE%\.vibek` | `~/.vibek` |
205
- | 账号数据 | `<数据根>\accounts\<账号>` | `<数据根>/accounts/<账号>` |
206
-
207
- 可在配置的 `[storage]` 中修改 `data_root`。数据库、日志、策略产物和 gateway 都位于数据根目录,
208
- 不会写入 npm 包安装目录。
209
-
210
- ## 升级与回退
211
-
212
- `vibek update` 将官方 npm 应用更新到 `latest` 指向的稳定版本。它不会更新 gateway,也不会停止或
213
- 重启正在运行的 daemon;请在维护时段显式完成后续步骤:
214
-
215
- ```bash
216
- vibek update
217
- vibek --version
218
- vibek gateway
219
- vibek daemon restart
220
- ```
221
-
222
- 实盘机器需要固定或回退版本时,不要使用 `vibek update`,而是安装明确版本,再用
223
- `vibek gateway <version>` 激活对应 gateway,最后重启 daemon:
224
-
225
- ```bash
226
- bun install -g @vibek/cli@0.1.0
227
- ```
228
-
229
- ## 排查问题
230
-
231
- ```bash
232
- vibek config # 检查配置文件和当前账号
233
- vibek gateway # 校验 gateway 安装
234
- vibek front check # 检查 CTP 网络连通性
235
- vibek daemon status # 检查后台进程
236
- vibek daemon logs --follow # 查看运行日志
237
- vibek --help # 查看全部命令
238
- vibek help <command> # 查看某个命令的帮助
29
+ WebUI 默认打开“快速开始”,其中包含安装、配置、gateway、daemon、策略、风控和排障说明。
30
+
31
+ ![Vibek WebUI 快速开始](https://unpkg.com/@vibek/cli@latest/webui-quick-start.png)
32
+
33
+ ## 全部指令
34
+
35
+ ```text
36
+ vibek 面向个人的 CTP 量化交易与 AI 策略工作台
37
+
38
+ 用法:
39
+ vibek [options]
40
+ vibek config
41
+ vibek web [options]
42
+ vibek status
43
+ vibek risk [options]
44
+ vibek update
45
+ vibek gateway [source]
46
+ vibek positions
47
+ vibek backtest <file> [options]
48
+ vibek account
49
+ vibek daemon [command]
50
+ vibek strategy [command]
51
+ vibek front [command]
52
+ vibek contract <vt-symbol>
53
+ vibek orders [options]
54
+ vibek trades [options]
55
+
56
+ 命令:
57
+ vibek 默认启动 Web 工作台
58
+ vibek config 显示并校验 config.toml
59
+ vibek web [options] 启动 AI 策略 Web 工作台
60
+ vibek status 显示账号和系统运行概况
61
+ vibek risk [options] 显示每日风险统计
62
+ vibek update 更新 Vibek 应用到最新稳定版
63
+ vibek gateway [source] 安装或更新 CTP gateway
64
+ vibek positions 查询实时持仓
65
+ vibek backtest <file> [options] 离线回测策略
66
+ vibek account 查询柜台资金
67
+ vibek daemon [command] 管理后台 daemon
68
+ vibek strategy [command] 部署和控制策略实例
69
+ vibek front [command] 检测和切换 CTP 前置
70
+ vibek contract <vt-symbol> 查询合约规格和当前账户手续费率
71
+ vibek orders [options] 查询当前交易日委托
72
+ vibek trades [options] 查询当前交易日成交
73
+
74
+ 选项:
75
+ --json 输出稳定 JSON
76
+ --default-config 输出完整默认配置模板
77
+ -V, --version 显示版本
78
+ -h, --help 显示帮助
79
+
80
+ 配置:vibek config
81
+ 数据:storage.data_root(默认 ~/.vibek)
82
+ 帮助:vibek help <command>
239
83
  ```
240
84
 
241
85
  ## License
242
86
 
243
- [MIT License](https://github.com/gamebody/vibek/blob/main/LICENSE), Copyright (c) 2026 Vibek contributors.
87
+ MIT License, Copyright (c) 2026 Vibek contributors.
@@ -19,26 +19,11 @@ tick_time_mode = "realtime"
19
19
  max_future_tick_ms = 5000
20
20
 
21
21
  [account.trading]
22
- # 单次策略发单请求允许的最大手数,开仓和平仓都受此限制(整数 1..10000)。
23
- # 超过上限时整笔拒绝,不会自动拆成多笔;应结合合约流动性、盘口深度、
24
- # 账户资金和策略正常单笔手数设置,用来拦截参数异常造成的大单。
25
22
  max_order_volume = 10
26
-
27
- # 单个策略、单个方向允许的最大预计持仓手数(整数 1..100000)。
28
- # 预计持仓 = 该方向今仓 + 昨仓 + 活动开仓委托剩余量 + 本次开仓量;多空分别计算。
29
- # 该值不是账户级总仓位,也不按合约乘数或保证金折算;应按每个合约的实际敞口
30
- # 选择可承受的手数。平仓不受此上限限制。
31
23
  max_position = 20
32
-
33
- # 单个策略允许同时存在的活动开仓物理委托笔数(整数 1..1000)。
34
- # 提交中、未成交、部分成交均占一笔,与每笔手数无关;全部成交、撤单或拒单后释放。
35
- # 达到上限后只拒绝新开仓,合法平仓仍然允许;应按策略正常并发挂单数设置,
36
- # 给撤单确认延迟留出余量,同时避免故障策略在盘口堆积大量开仓单。
37
24
  max_active_open_orders = 5
38
25
 
39
26
  [account.trading.daily_limits]
40
- # 当前 CTP TradingDay 内的计数上限。所有策略合并统计,但 Paper 与 Live 相互隔离。
41
- # 达到任一上限后只拒绝新的开仓请求;合法平仓和撤单始终允许并继续计数。
42
27
  total_order_limit = 20000
43
28
  total_cancel_limit = 10000
44
29
  total_trade_limit = 10000
@@ -47,8 +32,6 @@ instrument_cancel_limit = 1000
47
32
  instrument_trade_limit = 1000
48
33
 
49
34
  [account.trading.duplicate_orders]
50
- # 相同合约、方向、开平、取整后价格和手数的开仓请求按 TradingDay 累计。
51
- # 前 9 次允许,第 10 次及之后拒绝;策略 ID 不参与区分。
52
35
  duplicate_order_limit = 10
53
36
 
54
37
  [account.schedule]