tianshu-mcp 0.7.4 → 0.7.5
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.en.md +50 -5
- package/CHANGELOG.md +40 -4
- package/README.en.md +401 -482
- package/README.md +376 -459
- package/assets/mcp-running.png +0 -0
- package/assets/tianshu-mcp-banner.svg +120 -65
- package/assets/tianshu-mcp-gui-agent-log.png +0 -0
- package/assets/tianshu-mcp-gui-event-stream.png +0 -0
- package/assets/tianshu-mcp-gui-overview.png +0 -0
- package/dist/agents/qoder/cdp.js +16 -0
- package/dist/agents/qoder/model.js +49 -30
- package/dist/agents/qoder/selectors.js +33 -17
- package/dist/agents/qoder/workspace.js +76 -11
- package/dist/verify/runner.js +21 -1
- package/dist/version.generated.js +1 -1
- package/docs/gui-log-viewer.en.md +31 -3
- package/docs/gui-log-viewer.md +23 -3
- package/docs/qoder-cdp.en.md +9 -3
- package/docs/qoder-cdp.md +9 -3
- package/package.json +1 -1
package/CHANGELOG.en.md
CHANGED
|
@@ -8,6 +8,27 @@ Chinese version: [CHANGELOG.md](CHANGELOG.md)
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## [0.7.5] - 2026-09-29
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **Qoder CN 0.4.2/0.4.3 support** (PR #26, contributed by jian-in): from 0.4.2 the model menu drops
|
|
16
|
+
the "default/custom" group tabs (candidates become a flat list and the model name moves to the trigger
|
|
17
|
+
text); in 0.4.3 the composer picker loses its `aria-label` and the bound-workspace container loses its
|
|
18
|
+
`title`. The selector candidate order now puts the stable marker `[data-workspace-picker-trigger]` before
|
|
19
|
+
the broad aria heuristic (otherwise it matches the sidebar "Workspace" section header and surfaces as
|
|
20
|
+
`qoder_stage_timeout: workspace-menu`); the "menu is open" check is narrowed to the search box
|
|
21
|
+
`workspaceSearch` (a generic `[role=menu][data-state=open]` can be matched by an unrelated overlay and
|
|
22
|
+
pass falsely); bound-workspace readback lists title-less container candidates and falls back to
|
|
23
|
+
`aria-label`/text. `QoderCdpClient` gains `resolveKey()`/`textKey()` for compound queries that need the
|
|
24
|
+
first matching candidate.
|
|
25
|
+
- **Verify engine normalises the `cwd` drive-letter case on Windows** (same PR): a project path may be
|
|
26
|
+
registered with a lowercase drive letter (e.g. `e:/proj` in `projects.json`), and vite/vitest key their
|
|
27
|
+
module graph by path string, so `e:\proj` and `E:\proj` count as two locations, the same module appears
|
|
28
|
+
twice, and collection crashes. `runVerifyCommand` now normalises with `fs.realpathSync.native` before
|
|
29
|
+
spawning (the non-native variant returns the lowercase drive letter unchanged on Windows); when the path
|
|
30
|
+
cannot be resolved it falls back to the original value, so normalisation never blocks acceptance.
|
|
31
|
+
|
|
11
32
|
## [0.7.4] - 2026-09-28
|
|
12
33
|
|
|
13
34
|
### Fixed
|
|
@@ -191,11 +212,35 @@ Chinese version: [CHANGELOG.md](CHANGELOG.md)
|
|
|
191
212
|
- ARCHITECTURE / README / agent-profiles / adapter-matrix / SKILL / usage-examples (both languages): the status moves from "in development" to "wired", and the new `endReason` / `needsUserKind` values are added.
|
|
192
213
|
- Versions: `package.json` and `src/version.generated.ts` are synced to `0.7.1` (per the `+0.0.1` rule); tag `v0.7.1` pushed and published to npm.
|
|
193
214
|
|
|
194
|
-
## [
|
|
195
|
-
|
|
196
|
-
> This
|
|
197
|
-
> model, acceptance engine and all of `src/**`) is
|
|
198
|
-
> **
|
|
215
|
+
## [0.1.0] — 2026-09-29 — mcp-gui independent line
|
|
216
|
+
|
|
217
|
+
> This is the **first stable release** of the GUI's independent version line (going stable + update log panel).
|
|
218
|
+
> The MCP package's runtime logic (tool contracts, task model, acceptance engine and all of `src/**`) is
|
|
219
|
+
> **unchanged**, and the package version stays at `0.7.4`; the GUI evolves independently with its own version
|
|
220
|
+
> numbers and its own tags (`gui-v*`).
|
|
221
|
+
>
|
|
222
|
+
> **Three categories of change relative to `0.1.0-beta.9`**:
|
|
223
|
+
>
|
|
224
|
+
> 1. **New update log panel**: a dedicated desktop update window ("Update log") that pops up automatically when the
|
|
225
|
+
> silent startup check finds a new version that has not been ignored. It offers `Download and install` /
|
|
226
|
+
> `Ignore this version` / `Later`. "Ignore this version" suppresses the **automatic** prompt only (a manual
|
|
227
|
+
> "Check for updates" still shows that version, a higher version re-prompts, and the record is persisted in app
|
|
228
|
+
> preferences). The window states **which source will be used** (the result of concurrently probing Gitee /
|
|
229
|
+
> GitHub and picking by latency, with an explicit degradation notice when neither is reachable). Its body is the
|
|
230
|
+
> **bilingual release note** for that version (composed from `docs/release-gui-v<version>.md` + `.en.md`, rendered
|
|
231
|
+
> as Markdown with inline HTML disabled). The window size follows the maintainer's annotation:
|
|
232
|
+
> `min(1070px,92vw)` × `min(750px,88vh)`. Adds `mcp-gui/src/core/version.ts` (version comparison and ignore
|
|
233
|
+
> decisions, 16 unit tests) and `mcp-gui/src/components/UpdateDialog.vue`; `Preferences` gains
|
|
234
|
+
> `ignored_update_version` (with a serde default so an old preferences file is not reset wholesale).
|
|
235
|
+
> 2. **Release pipeline now supports stable releases**: the tag filter in `.github/workflows/gui.yml` widens from
|
|
236
|
+
> `gui-v*-beta.*` to **`gui-v*`**, so stable and preview builds share one pipeline; a new step decides the
|
|
237
|
+
> pre-release flag from the tag shape (only tags containing `-beta.` / `-rc.` pass `--prerelease`); a new
|
|
238
|
+
> `scripts/gui-release-body.mjs` composes the bilingual release body (used via `--notes-file` on GitHub and
|
|
239
|
+
> `--body-file` on Gitee, so both sides are **byte-identical in content**, and a missing doc **exits non-zero**).
|
|
240
|
+
> 3. **Version and wording go stable**: the GUI version is unified to `0.1.0` in all four places
|
|
241
|
+
> (`package.json` / `package-lock.json` / `tauri.conf.json` / `Cargo.toml`); the UI label
|
|
242
|
+
> "Beta channel (pre-release)" becomes "Stable channel / 正式版通道"; and every hard-coded "beta" wording in
|
|
243
|
+
> `gitee-gui-release.mjs` and `gui.yml` is removed.
|
|
199
244
|
> (`0.1.0-beta.N`) and its own tag (`gui-v*`).
|
|
200
245
|
|
|
201
246
|
### Added
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.7.5] - 2026-09-29
|
|
11
|
+
|
|
12
|
+
### 修复
|
|
13
|
+
|
|
14
|
+
- **Qoder CN 0.4.2/0.4.3 适配**(PR #26,贡献者 jian-in):0.4.2 起模型菜单移除「默认/自定义」
|
|
15
|
+
分组 tab(候选为平铺列表、模型名移到触发器文本),0.4.3 的输入栏 picker 去掉 `aria-label`、
|
|
16
|
+
已绑定工作区容器去掉 `title`。选择器候选顺序把稳定标记 `[data-workspace-picker-trigger]`
|
|
17
|
+
提到宽泛 aria 启发式之前(否则会点中侧栏「工作区」区域头,表现为 `qoder_stage_timeout: workspace-menu`);
|
|
18
|
+
「菜单已打开」判定收窄为只认搜索框 `workspaceSearch`(泛化的 `[role=menu][data-state=open]`
|
|
19
|
+
会被无关浮层误命中而假通过);已绑定工作区读回并列无 `title` 容器候选并回退 `aria-label`/文本。
|
|
20
|
+
`QoderCdpClient` 新增 `resolveKey()`/`textKey()`,供组合式查询取首个命中候选。
|
|
21
|
+
- **验收引擎在 Windows 上归一 check 的 `cwd` 盘符大小写**(同 PR):项目路径可能以小写盘符登记
|
|
22
|
+
(如 `projects.json` 里的 `e:/proj`),而 vite/vitest 按路径字符串建模块图与缓存键,
|
|
23
|
+
`e:\proj` 与 `E:\proj` 会被当成两个位置、同一模块出现两份实例,表现为收集期崩溃。
|
|
24
|
+
`runVerifyCommand` 在 spawn 前用 `fs.realpathSync.native` 归一(非 native 版本在 Windows 上
|
|
25
|
+
原样返回小写盘符,不纠正大小写);路径不可解析时退回原值,归一失败不阻断验收。
|
|
26
|
+
|
|
10
27
|
## [0.7.4] - 2026-09-28
|
|
11
28
|
|
|
12
29
|
### 修复
|
|
@@ -179,10 +196,29 @@
|
|
|
179
196
|
- ARCHITECTURE / README / agent-profiles / adapter-matrix / SKILL / usage-examples 双语:状态由「开发中」同步为「已接线」,并补齐新的 `endReason` / `needsUserKind` 取值。
|
|
180
197
|
- 版本:`package.json` 与 `src/version.generated.ts` 同步为 `0.7.1`(按 `+0.0.1` 规则);已打 tag `v0.7.1` 并发布到 npm。
|
|
181
198
|
|
|
182
|
-
## [
|
|
183
|
-
|
|
184
|
-
>
|
|
185
|
-
>
|
|
199
|
+
## [0.1.0] — 2026-09-29 — mcp-gui 独立版本线
|
|
200
|
+
|
|
201
|
+
> 本版本为 GUI 独立版本线的**首个正式版**(转正 + 更新日志面板)。MCP 主包的运行时逻辑
|
|
202
|
+
> (工具契约、任务模型、验收引擎与 `src/**`)**零改动**,主包版本保持 `0.7.4` 不变;
|
|
203
|
+
> GUI 使用独立版本号与独立 tag(`gui-v*`)独立演进。
|
|
204
|
+
>
|
|
205
|
+
> **0.1.0 相对 `0.1.0-beta.9` 的三类改动**:
|
|
206
|
+
>
|
|
207
|
+
> 1. **新增更新日志面板**:桌面端独立的更新窗口「更新日志」——启动静默检查命中新版本且该版本未被忽略时
|
|
208
|
+
> 自动弹出,提供 `下载并安装 / 忽略此版本 / 稍后`;「忽略此版本」**只压自动提示**(手动「检查更新」
|
|
209
|
+
> 仍展示该版本,出现更高版本时重新提示,记录持久化在应用偏好);窗口显式展示**本次将通过哪个源更新**
|
|
210
|
+
> (并发实测 Gitee / GitHub 择优的结果与延迟,两端都不可达时给出降级提示);正文即该版本的**双语发行说明**
|
|
211
|
+
> (`docs/release-gui-v<版本>.md` + `.en.md` 合成,Markdown 渲染、禁用内联 HTML)。窗口尺寸按维护者红框批注
|
|
212
|
+
> 实现为 `min(1070px,92vw)` × `min(750px,88vh)`。新增 `mcp-gui/src/core/version.ts`(版本比较与忽略判定,
|
|
213
|
+
> 16 项单测)与 `mcp-gui/src/components/UpdateDialog.vue`;`Preferences` 新增 `ignored_update_version`
|
|
214
|
+
> (带 serde 默认值兜底,避免旧偏好文件整份回退默认值)。
|
|
215
|
+
> 2. **发布链转为支持正式版**:`.github/workflows/gui.yml` 的 tag 过滤器由 `gui-v*-beta.*` 扩为 **`gui-v*`**,
|
|
216
|
+
> 正式版与预发布共用一条流水线;新增按 tag 形态判定 pre-release 的步骤(含 `-beta.` / `-rc.` 才带
|
|
217
|
+
> `--prerelease`);新增 `scripts/gui-release-body.mjs` 合成双语发行版正文(GitHub 侧 `--notes-file`、
|
|
218
|
+
> Gitee 侧 `--body-file`,两端**同源**,**缺文档即非 0 退出**)。
|
|
219
|
+
> 3. **版本与文案转正**:GUI 版本号四处(`package.json` / `package-lock.json` / `tauri.conf.json` / `Cargo.toml`)
|
|
220
|
+
> 统一为 `0.1.0`;界面「测试版通道(pre-release)」改为「正式版通道 / Stable channel」;
|
|
221
|
+
> `gitee-gui-release.mjs` 与 gui.yml 中的硬编码「测试版」字样全部移除。
|
|
186
222
|
|
|
187
223
|
### 新增
|
|
188
224
|
|