@qlingzzy/qling 1.1.0 → 1.1.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/CHANGELOG.md CHANGED
@@ -2,15 +2,19 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ### Phase 7.0 — Sprint 4 分发与生态
5
+ ## v1.1.1 (2026-07-14)
6
+
7
+ ### Phase 7.0 — Sprint 4 分发与生态(收口发布)
6
8
 
7
9
  - **`eval:tasks`**:10 个本地 repo fixture(修测试 / 改文案 / 加函数 / 重命名 / 修 import / package scripts / JSON / 文档节 / 多文件一致 / 中文路径),不依赖 LLM。
8
10
  - **`validate:packaging`**:校验 Scoop / winget 草案版本与 `package.json` 对齐。
9
- - **Scoop / winget 文档**:`docs/install.md` 与 `packaging/README.md` 补充本地校验步骤;清单版本钉到 1.1.0。
11
+ - **Scoop / winget 文档**:`docs/install.md` 与 `packaging/README.md` 补充本地校验与发布后 hash 流程。
10
12
  - **Skills 示例包**:`fix-failing-test` / `add-function` / `pr-summary` + `skills/examples/README.md`。
11
13
  - **英文 README**:补齐 1.1 能力、eval、分发与 skills 说明。
12
14
  - **Demo 说明**:`docs/demo.md`(文字演示路径;GIF 另录不入库)。
13
15
  - **`ci:check`**:纳入 `eval:tasks` 与 `validate:packaging`。
16
+ - **npm**:`@qlingzzy/qling@1.1.1`(镜像默认下安装/发布请带 `--registry https://registry.npmjs.org/`)。
17
+ - **Scoop**:清单钉到 1.1.1 并附 tarball SHA256(仍为未进官方 bucket 的草案)。
14
18
 
15
19
  ## v1.1.0 (2026-07-14)
16
20
 
package/README.en.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Node](https://img.shields.io/badge/Node-%E2%89%A518-339933?logo=node.js&logoColor=white)](#requirements)
4
4
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-1.1.0-orange.svg)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-1.1.1-orange.svg)](CHANGELOG.md)
6
6
  [![Release](https://img.shields.io/github/v/release/Zzy-min/qling?display_name=tag&sort=semver)](https://github.com/Zzy-min/qling/releases)
7
7
 
8
8
  **Qling** is a **local-first** AI Agent CLI workbench. It keeps sessions, tools, skills, permissions, diagnostics, long-running missions, and recovery controls in one auditable terminal console.
@@ -49,12 +49,12 @@ npm link
49
49
  qling --version
50
50
  ```
51
51
 
52
- ### From npm
52
+ ### From npm (published)
53
53
 
54
54
  Package name is scoped: **`@qlingzzy/qling`** (CLI binary remains `qling`):
55
55
 
56
56
  ```bash
57
- npm install -g @qlingzzy/qling
57
+ npm install -g @qlingzzy/qling --registry https://registry.npmjs.org/
58
58
  qling bootstrap
59
59
  qling setup
60
60
  ```
@@ -178,14 +178,14 @@ QLING_EVAL_LLM=1 npm run eval:llm
178
178
  | Channel | Status |
179
179
  |---------|--------|
180
180
  | Source + bootstrap | Ready |
181
- | npm `@qlingzzy/qling` | Ready when published (`npm login` required on publisher machine) |
182
- | Scoop | Draft manifest only |
183
- | winget | Draft YAML only |
181
+ | npm `@qlingzzy/qling` | **Published** `1.1.1` install with `--registry https://registry.npmjs.org/` if your default is a mirror |
182
+ | Scoop | Draft + real tarball SHA256; not in official buckets |
183
+ | winget | Draft YAML only (needs portable zip + SHA256) |
184
184
  | Portable zip / single binary | Not yet |
185
185
 
186
186
  ## Version
187
187
 
188
- - Package: `1.1.0` (see latest tag on GitHub for hotfixes)
188
+ - Package: `1.1.1` (see latest tag on GitHub for hotfixes)
189
189
  - Changelog: [CHANGELOG.md](CHANGELOG.md)
190
190
  - Specs / plans: `docs/superpowers/`
191
191
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Node](https://img.shields.io/badge/Node-%E2%89%A518-339933?logo=node.js&logoColor=white)](#环境要求)
4
4
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-1.1.0-orange.svg)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-1.1.1-orange.svg)](CHANGELOG.md)
6
6
 
7
7
  [English](README.en.md) · [安装指南](docs/install.md) · [CHANGELOG](CHANGELOG.md)
8
8
 
@@ -63,8 +63,9 @@ qling
63
63
  # 或从 GitHub 直接全局安装
64
64
  npm install -g github:Zzy-min/qling
65
65
 
66
- # npm 官方包(作用域名,CLI 仍是 qling)
67
- npm install -g @qlingzzy/qling
66
+ # npm 官方包(已发布 1.1.1;作用域名,CLI 仍是 qling)
67
+ # 若默认 registry 是国内镜像,请显式指定官方源
68
+ npm install -g @qlingzzy/qling --registry https://registry.npmjs.org/
68
69
  ```
69
70
 
70
71
  已安装 CLI 后,可运行本机初始化检查:
@@ -401,7 +402,8 @@ npm audit --registry=https://registry.npmjs.org --audit-level=high
401
402
 
402
403
  ## 版本与变更
403
404
 
404
- - 当前版本:`1.1.0`(Sprint 4 分发/生态见 CHANGELOG Unreleased)
405
+ - 当前版本:`1.1.1`
406
+
405
407
  - 完整变更历史:见 [CHANGELOG.md](CHANGELOG.md)
406
408
  - 安装与分发:见 [docs/install.md](docs/install.md)、[packaging/](packaging/)
407
409
  - Skills:见 [docs/skills.md](docs/skills.md)
package/docs/install.md CHANGED
@@ -34,18 +34,20 @@ qling --help
34
34
 
35
35
  `bootstrap` 会:检查 Node/npm → 安装依赖 → 构建 → 创建 `~/.qling/` → 给出 `doctor`/`setup` 下一步。默认**不**安装浏览器、**不**自动开 dashboard。
36
36
 
37
- ## 方式 B:npm 全局安装
37
+ ## 方式 B:npm 全局安装(已发布 1.1.1)
38
38
 
39
- 包名因 npm 相似度策略使用作用域 **`@qlingzzy/qling`**(安装后命令仍是 `qling`):
39
+ 包名因 npm 相似度策略使用作用域 **`@qlingzzy/qling`**(安装后命令仍是 `qling`)。
40
+ 包页:https://www.npmjs.com/package/@qlingzzy/qling
40
41
 
41
42
  ```bash
42
- npm install -g @qlingzzy/qling
43
+ # 若本机默认 registry 是国内镜像,发布/校验请显式指定官方源
44
+ npm install -g @qlingzzy/qling --registry https://registry.npmjs.org/
43
45
  qling --version
44
46
  qling bootstrap
45
47
  qling setup
46
48
  ```
47
49
 
48
- 从 GitHub 直接装:
50
+ 从 GitHub 直接装(不经过 npm registry):
49
51
 
50
52
  ```bash
51
53
  npm install -g github:Zzy-min/qling
@@ -53,6 +55,15 @@ npm install -g github:Zzy-min/qling
53
55
 
54
56
  > 注意:`better-sqlite3` 为原生模块,需本机可编译环境;Windows 建议安装 [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) 或使用已预编译的 Node 版本。
55
57
 
58
+ ### 发布者备忘(维护者)
59
+
60
+ 本机默认若为 `registry.npmmirror.com`,`npm whoami` / `npm login` 会对镜像失败;身份与 publish 必须带官方源:
61
+
62
+ ```bash
63
+ npm whoami --registry https://registry.npmjs.org/
64
+ npm publish --access public --registry https://registry.npmjs.org/
65
+ ```
66
+
56
67
  ## 方式 C:Windows PowerShell 快速路径
57
68
 
58
69
  ```powershell
@@ -75,7 +86,7 @@ qling
75
86
 
76
87
  ## 方式 D:Scoop 草案(未上架)
77
88
 
78
- 清单草稿:`packaging/scoop/qling.json`(版本与 `package.json` 对齐,当前 **1.1.0**)。
89
+ 清单草稿:`packaging/scoop/qling.json`(版本与 `package.json` 对齐,当前 **1.1.1**)。
79
90
 
80
91
  本地校验(不安装到官方 bucket):
81
92
 
@@ -92,13 +103,15 @@ Get-Content packaging/scoop/qling.json | ConvertFrom-Json | Select-Object versio
92
103
  scoop install qling
93
104
  ```
94
105
 
95
- 当前草案 URL 指向 npm tarball;`hash` 仍为占位。正式上架前请:
106
+ 1.1.1 npm tarball **已填真实 SHA256**(见 manifest `hash`)。仍未进官方 Scoop bucket:需自建 bucket 或社区 bucket PR。
96
107
 
97
- 1. `npm pack` 或发布后下载 tarball
98
- 2. 计算 SHA256 写入 `hash`
99
- 3. 提交到自建/社区 Scoop bucket
108
+ ```powershell
109
+ # 私有 bucket 放入 packaging/scoop/qling.json 后可试装
110
+ # shim 不理想,post_install 会提示改用 npm 全局安装
111
+ scoop install qling
112
+ ```
100
113
 
101
- 在 hash 未填前,**推荐**继续用 `npm install -g @qlingzzy/qling` 或源码 bootstrap。
114
+ **推荐**用户路径仍是:`npm install -g @qlingzzy/qling --registry https://registry.npmjs.org/` 或源码 bootstrap。
102
115
 
103
116
  ## 方式 E:winget 草案(未上架)
104
117
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qlingzzy/qling",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "轻灵 Qling - 本地优先的中文 AI Agent CLI 工作台 / Local-first Chinese AI Agent CLI workbench",
5
5
  "type": "module",
6
6
  "main": "./dist/sdk.js",
@@ -24,6 +24,12 @@ if (!String(scoop.url || "").includes(version)) {
24
24
  if (!Array.isArray(scoop.notes) || !scoop.notes.some((n) => /DRAFT|draft/i.test(n))) {
25
25
  errors.push("scoop notes should mark DRAFT status");
26
26
  }
27
+ const hash = String(scoop.hash || "");
28
+ if (!hash || /TODO|REPLACE/i.test(hash)) {
29
+ errors.push("scoop hash still placeholder — fill real SHA256 after npm publish");
30
+ } else if (!/^(sha256:)?[a-f0-9]{64}$/i.test(hash)) {
31
+ errors.push(`scoop hash looks invalid: ${hash}`);
32
+ }
27
33
 
28
34
  const winget = await readFile(
29
35
  join(root, "packaging", "winget", "Zzy-min.qling.yaml"),