@mrpan12345/verx 0.0.1-snapshot.20260724.1
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 +65 -0
- package/package.json +28 -0
- package/verx.mjs +27821 -0
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @verx/cli
|
|
2
|
+
|
|
3
|
+
Verx is a local-first, model-agnostic terminal coding agent.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install --global @mrpan12345/verx@snapshot
|
|
7
|
+
verx --version
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
The snapshot channel is a technical preview, not a GA release. Gate 4 remains NO-GO. The current
|
|
11
|
+
known limitation is that MiniMax-M3 can still select a non-approved verification command in
|
|
12
|
+
non-interactive mode; the permission engine rejects that command without executing it. This
|
|
13
|
+
snapshot has release-install validation only on macOS arm64.
|
|
14
|
+
|
|
15
|
+
The npm channel requires Node.js 22 or newer. npm-managed installations are upgraded with
|
|
16
|
+
`npm update --global @mrpan12345/verx@snapshot`; `verx upgrade` is reserved for the signed
|
|
17
|
+
standalone binary.
|
|
18
|
+
|
|
19
|
+
The standalone distribution is a Node SEA executable. It verifies and extracts native runtime
|
|
20
|
+
resources into `~/.verx/runtime/<version>/` before loading application code. Release manifests are
|
|
21
|
+
signed with Ed25519; an upgrade is downloaded beside the current executable, verified, synced, and
|
|
22
|
+
atomically renamed into place.
|
|
23
|
+
|
|
24
|
+
Repository build commands:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm package:npm
|
|
28
|
+
pnpm package:sea
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 当前 Beta 命令范围
|
|
32
|
+
|
|
33
|
+
默认 CLI 已接通 `--version`/`--help`、`init`、`auth login`、`doctor`、`cost`、`diff`、
|
|
34
|
+
`undo`、`export-diagnostics`、任务简写、`exec` 和独立二进制 `upgrade`。任务入口会合并全局与
|
|
35
|
+
项目模型配置,打开 `verx.db`,并与 CLI 渲染器共享事件总线;默认任务入口已接通受审批的文件编辑
|
|
36
|
+
与命令工具、快照历史、恢复和修改后验证门禁。`resume`、`sessions`、`config` 与
|
|
37
|
+
`models [--probe]` 已接入默认组合;模型目录
|
|
38
|
+
默认离线读取能力声明,只有显式 `--probe` 才解析凭据并调用 Provider capability probe。
|
|
39
|
+
非交互 `exec` 的 stdout 在 JSON 模式保持纯 NDJSON;`--debug-stderr` 仅在显式启用时把解析或执行失败堆栈附加到 stderr,供评测执行器归因,默认错误输出仍只含面向用户的安全消息。
|
|
40
|
+
普通文本会话结束时会基于持久化快照自动展示非空累计 diff;没有文件变化时保持安静,
|
|
41
|
+
`verx diff [session-id]` 仍可随时回看指定会话(默认最近会话)的累计 diff。
|
|
42
|
+
TTY 启动时以 `\\` 与 `/` 展示大号 `V` 轮廓以及版本、模型、Provider 和当前目录信息;同一多轮进程只展示一次。兼容模型
|
|
43
|
+
输出 `<think>...</think>` 时,TTY 在固定的临时区域显示最近四行推理,正式回答或工具事件开始时
|
|
44
|
+
清除该区域;非 TTY 不输出推理。NDJSON 仍按协议原样输出 `model.streamed` 事件,供程序化消费者
|
|
45
|
+
处理。TTY 会把标题、强调、行内代码、列表和代码围栏渲染为紧凑终端样式,不直接暴露 Markdown
|
|
46
|
+
标记,并压缩连续空行。
|
|
47
|
+
|
|
48
|
+
交互任务在每轮 `Completed`/`Failed` 后返回 `> ` 提示符,追加文本会写入同一 Session 并由新的
|
|
49
|
+
Runtime 继续执行;`verx resume` 恢复完成后也进入同一输入循环。提示符支持 `/plan`、`/tools`、
|
|
50
|
+
`/cost`、`/model`、`/compact`、`/undo`、`/approve-all`、`/help` 与 `/exit`。Esc 只中断正在
|
|
51
|
+
执行的 Step,在轮次间不退出;`/exit` 或连续两次 Ctrl+C 结束进程。等待输入期间 Session 保持
|
|
52
|
+
可恢复状态,异常退出后不会丢失此前轮次。等待输入时按终端宽度展示三行边框输入框;单行输入支持
|
|
53
|
+
左右移动光标、Home/End、光标处删除,并使用上下方向键浏览同一进程内的输入历史;长输入在框内
|
|
54
|
+
横向裁剪,终端转义序列不会作为 `[D` 等文本写入消息。
|
|
55
|
+
交互式 TTY 的横幅字段、思考区、运行状态、用量摘要和审批结果统一使用中文描述;模型名、Provider、
|
|
56
|
+
工具名和命令等技术标识保持原文。L2 工具审批使用中文选择菜单,默认选中“仅批准本次”;上下或左右方向键切换选项,Enter 确认。
|
|
57
|
+
`y`、`a`、`n` 和 Esc 继续作为快捷键可用。审批菜单显示前会清除正在刷新的状态行,确认后自动收起。
|
|
58
|
+
|
|
59
|
+
源码仓库的完整用户文档位于 `docs/user/`,包含安装、快速开始、权限与安全、配置参考和 FAQ。
|
|
60
|
+
|
|
61
|
+
## 诊断与遥测
|
|
62
|
+
|
|
63
|
+
`verx export-diagnostics` 先在内存生成脱敏 tar,打印每个条目、大小和目标路径,只有交互终端输入 `y` 后才写入 `VERX_HOME/diagnostics/`;Enter、`n`、Esc、Ctrl+C 或非 TTY 都不能绕过确认。默认条目包含版本、doctor 检查、错误事件、性能聚合和固定 Verx 日志,不含工作区代码、消息或工具正文。
|
|
64
|
+
|
|
65
|
+
首次业务命令发现 `config.toml` 没有 `[telemetry].enabled` 时,会明示询问是否启用匿名遥测。非 TTY 保持未配置并按关闭处理;用户拒绝后保存 `enabled = false`,后续不重复询问。内测组织者可同时配置 `[telemetry].endpoint` HTTPS 接收地址;源码分发不硬编码遥测服务地址,只有发布组合显式注入传输层后才具备出口。
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mrpan12345/verx",
|
|
3
|
+
"version": "0.0.1-snapshot.20260724.1",
|
|
4
|
+
"description": "Local-first, model-agnostic terminal coding agent",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"verx": "verx.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"verx.mjs",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=22"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@napi-rs/keyring": "1.3.0",
|
|
19
|
+
"@vscode/ripgrep": "1.18.0",
|
|
20
|
+
"better-sqlite3": "12.11.1",
|
|
21
|
+
"tree-sitter": "0.25.0",
|
|
22
|
+
"tree-sitter-bash": "0.25.1"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public",
|
|
26
|
+
"provenance": true
|
|
27
|
+
}
|
|
28
|
+
}
|