@xqyz/xq-cli 0.3.10 → 0.3.11

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
@@ -12,6 +12,33 @@
12
12
 
13
13
  (暂无未发布变更)
14
14
 
15
+ ## [xq-cli 0.3.11 / WorkBuddy Plugin 0.10.27 / SkillHub 1.0.11] - 2026-08-27
16
+
17
+ ### 写作质量与导出设置
18
+
19
+ - WorkBuddy 配置卡将“写作模式”改为“写作质量”,新增“旗舰智笔”,并保留旧参数兼容映射。
20
+ - 极短篇、超短篇按前端规则禁用专家智笔和旗舰智笔;图片来源选项保持直接展示。
21
+ - 表格、流程图、模板、编号、修改标记、页边距和图片尺寸等低频选项统一收纳到默认收起的“导出格式设置”。
22
+ - 同步 CLI、MCP App、Connector 和 Skill 文档,保持配置提交和规划流程不变。
23
+ - `@xqyz/xq-cli@0.3.11` 与 `@xqyz/workbuddy-plugin-xique@0.10.27` 待发布;SkillHub `1.0.11` 上传包待手动上传。
24
+
25
+ ## [WorkBuddy Plugin 0.10.26 / SkillHub 1.0.10] - 2026-08-27
26
+
27
+ ### MCP 中文显示名
28
+
29
+ - WorkBuddy MCP 配置键统一写入“喜鹊标书”,安装器会将已有 `xique-bid` 配置迁移为中文键并保留原有运行参数。
30
+ - Connector 清单、安装提示和 MCP 初始化名称同步为“喜鹊标书”;Connector ID、工具命名空间和功能路径保持不变。
31
+ - `@xqyz/workbuddy-plugin-xique@0.10.26` 已发布,`latest` 与 `workbuddy-stable` 均指向该版本;SkillHub `1.0.10` 待手动上传。
32
+
33
+ ## [WorkBuddy Plugin 0.10.25 / SkillHub 1.0.9] - 2026-08-26
34
+
35
+ ### Plugin 发布
36
+
37
+ - WorkBuddy Plugin 固定依赖 `@xqyz/xq-cli@0.3.10`,MCP 运行时拒绝低于该版本的 CLI。
38
+ - MCP 初始化信息的用户可见名称为“喜鹊标书”,保留 `xique-bid` Connector ID、工具命名空间和功能路径不变。
39
+ - Windows 安装器的临时 npm 缓存改为异步清理,避免升级后残留句柄影响 WorkBuddy 重启。
40
+ - `@xqyz/workbuddy-plugin-xique@0.10.25` 已发布,`latest` 与 `workbuddy-stable` 均指向该版本;SkillHub `1.0.9` 上传包已生成,待手动上传。
41
+
15
42
  ## [WorkBuddy Plugin 0.10.24 / SkillHub 1.0.8] - 2026-08-26
16
43
 
17
44
  ### MCP 中文展示名
package/README.md CHANGED
@@ -184,7 +184,7 @@ The wizard will prompt for:
184
184
 
185
185
  - source bid file
186
186
  - article length
187
- - writing mode
187
+ - writing quality (standard writing / expert / flagship)
188
188
  - visual style
189
189
  - table quantity / color / style
190
190
  - planning mode
@@ -262,7 +262,7 @@ xq-cli choices export --json
262
262
  Outline generation now supports frontend-backed options such as:
263
263
 
264
264
  - `--page-scope` / `--page-scope-code`
265
- - `--base`
265
+ - `--writing-quality` (0=standard writing, 1=expert, 2=flagship; `--base` remains a compatibility alias)
266
266
  - `--theme-style`
267
267
  - `--table-quantity`
268
268
  - `--table-color`
@@ -291,7 +291,7 @@ Export now supports frontend-backed style options such as:
291
291
  Example outline config:
292
292
 
293
293
  ```bash
294
- xq-cli outline --cid <cid> --page-scope 3 --base expert --theme-style 4 --table-quantity rich --table-color blue --table-style zebra --mermaid-style blue --knowledge-img 1 --scene-img 1 --plan-mode quick --wait
294
+ xq-cli outline --cid <cid> --page-scope 3 --writing-quality flagship --theme-style 4 --table-quantity rich --table-color blue --table-style zebra --mermaid-style blue --knowledge-img 1 --scene-img 1 --plan-mode quick --wait
295
295
  ```
296
296
 
297
297
  Example export config:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xqyz/xq-cli",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "description": "CLI for xique bid-book task workflows",
5
5
  "type": "module",
6
6
  "scripts": {
package/src/cli.mjs CHANGED
@@ -183,6 +183,26 @@ const BASE_OPTIONS = [
183
183
  { value: '0', label: 'standard', description: 'standard writing', aliases: ['0', 'standard', 'default'] },
184
184
  { value: '1', label: 'expert', description: 'expert polish / public knowledge reference', aliases: ['1', 'expert', 'polish'] },
185
185
  ];
186
+ const WRITING_QUALITY_OPTIONS = [
187
+ {
188
+ value: 0,
189
+ label: 'standard-writing',
190
+ description: 'standard writing',
191
+ aliases: ['0', 'standard', 'standard-writing', '标准', '标准写作'],
192
+ },
193
+ {
194
+ value: 1,
195
+ label: 'expert',
196
+ description: 'expert writing',
197
+ aliases: ['1', 'expert', '专家智笔'],
198
+ },
199
+ {
200
+ value: 2,
201
+ label: 'flagship',
202
+ description: 'flagship deep-thinking writing',
203
+ aliases: ['2', 'flagship', '旗舰', '旗舰智笔'],
204
+ },
205
+ ];
186
206
  const THEME_STYLE_OPTIONS = [
187
207
  { value: 1, label: 'enhanced', description: 'enhanced image-rich layout', aliases: ['1', 'enhanced'] },
188
208
  { value: 2, label: 'table', description: 'table-first layout', aliases: ['2', 'table', 'table-first'] },
@@ -291,6 +311,7 @@ const PAGE_SCOPE_PROMPT_LABELS = {
291
311
  const BASE_PROMPT_LABELS = {
292
312
  0: '\u6807\u51C6\u5199\u4F5C',
293
313
  1: '\u4E13\u5BB6\u667A\u7B14',
314
+ 2: '\u65D7\u8230\u667A\u7B14',
294
315
  };
295
316
  const THEME_STYLE_PROMPT_LABELS = {
296
317
  1: '\u589E\u5F3A\u56FE\u6587',
@@ -490,7 +511,7 @@ Examples
490
511
  xq-cli outline --cid <cid> --wait --ignore-short-requirement
491
512
  xq-cli outline --cid <cid> --wait --ignore-missing-bill
492
513
  xq-cli outline --cid <cid> --wait --reference-type 0
493
- xq-cli outline --cid <cid> --page-scope 3 --base expert --theme-style 4 --table-quantity rich --plan-mode quick --wait
514
+ xq-cli outline --cid <cid> --page-scope 3 --writing-quality flagship --theme-style 4 --table-quantity rich --plan-mode quick --wait
494
515
  xq-cli outline view --cid <cid>
495
516
  xq-cli outline view --cid <cid> --out D:\\output\\outline.json
496
517
  xq-cli outline update --cid <cid> --file D:\\output\\outline.json --dry-run --json
@@ -531,7 +552,8 @@ Common options
531
552
  Outline config
532
553
  --page-scope <code> Full-length preset. See "xq-cli choices outline"
533
554
  --page-scope-code <code> Alias of --page-scope
534
- --base <0|1|standard|expert>
555
+ --writing-quality <0|1|2|standard|expert|flagship> 0=standard writing, 1=expert, 2=flagship
556
+ --base <0|1|standard|expert> Deprecated compatibility alias for writing quality
535
557
  --theme-style <1|2|3|4|5|enhanced|table|rich|basic|text>
536
558
  --table-quantity <0|1|2|none|few|rich>
537
559
  --table-color <black|blue|red|green|purple|cyan|orange>
@@ -2063,7 +2085,13 @@ async function fetchAuthoritativeTaskState(client, cid, options = {}) {
2063
2085
 
2064
2086
  function buildOutlineParams(snapshot, args) {
2065
2087
  const pageScopeCode = enumOption(args, ['pageScope', 'pageScopeCode'], PAGE_SCOPE_OPTIONS, snapshot.pageScopeCode ?? DEFAULT_PAGE_SCOPE_CODE);
2066
- const base = enumOption(args, 'base', BASE_OPTIONS, snapshot.base ?? DEFAULT_BASE);
2088
+ const writingQuality = enumOption(
2089
+ args,
2090
+ ['writingQuality', 'writingMode', 'base'],
2091
+ WRITING_QUALITY_OPTIONS,
2092
+ snapshot.writingQuality ?? (String(snapshot.base ?? DEFAULT_BASE) === '1' ? 1 : 0),
2093
+ );
2094
+ const base = pageScopeCode <= 0 ? '0' : writingQuality === 1 ? '1' : '0';
2067
2095
  const uuid = snapshot.uuid;
2068
2096
  const title = stringOption(args, 'title', snapshot.projectName || snapshot.title);
2069
2097
  const plan = stringOption(args, 'plan', snapshot.plan || '');
@@ -2092,7 +2120,9 @@ function buildOutlineParams(snapshot, args) {
2092
2120
  tableStyle: enumOption(args, 'tableStyle', TABLE_STYLE_OPTIONS, snapshot.tableStyle),
2093
2121
  annexIds: snapshot.annexIds || [],
2094
2122
  knowledgeProductIds: snapshot.knowledgeProductIds || [],
2095
- base: pageScopeCode <= 0 ? '0' : base,
2123
+ base,
2124
+ writingQuality,
2125
+ deepThinkingFlowVersion: writingQuality === 2 ? 1 : null,
2096
2126
  bidFileIds: [uuid],
2097
2127
  directoryNodes: [],
2098
2128
  generateType: 1,
@@ -3347,6 +3377,7 @@ function buildChoicesPayload(scope) {
3347
3377
  payload.outline = {
3348
3378
  pageScope: PAGE_SCOPE_OPTIONS,
3349
3379
  base: BASE_OPTIONS,
3380
+ writingQuality: WRITING_QUALITY_OPTIONS,
3350
3381
  themeStyle: THEME_STYLE_OPTIONS,
3351
3382
  tableQuantity: TABLE_QUANTITY_OPTIONS,
3352
3383
  tableColor: TABLE_COLOR_OPTIONS,
@@ -3391,6 +3422,7 @@ function renderChoicesLines(payload) {
3391
3422
  lines.push('outline:');
3392
3423
  lines.push(` page-scope: ${formatChoiceOptions(PAGE_SCOPE_OPTIONS)}`);
3393
3424
  lines.push(` base: ${formatChoiceOptions(BASE_OPTIONS)}`);
3425
+ lines.push(` writing-quality: ${formatChoiceOptions(WRITING_QUALITY_OPTIONS)}`);
3394
3426
  lines.push(` theme-style: ${formatChoiceOptions(THEME_STYLE_OPTIONS)}`);
3395
3427
  lines.push(` table-quantity: ${formatChoiceOptions(TABLE_QUANTITY_OPTIONS)}`);
3396
3428
  lines.push(` table-color: ${formatChoiceOptions(TABLE_COLOR_OPTIONS)}`);
@@ -3505,18 +3537,20 @@ async function collectOutlineInteractiveArgs(args, snapshot, context = null, opt
3505
3537
  nextArgs.pageScope = pageScopeCode;
3506
3538
 
3507
3539
  if (pageScopeCode <= 0) {
3508
- promptContext.promptStream.write('\u5DF2\u9009\u62E9\u77ED\u7BC7\u6A21\u5F0F\uFF0C\u5199\u4F5C\u6A21\u5F0F\u5C06\u56FA\u5B9A\u4E3A\u201C\u6807\u51C6\u5199\u4F5C\u201D\u3002\n');
3540
+ promptContext.promptStream.write('\u5DF2\u9009\u62E9\u77ED\u7BC7\u6A21\u5F0F\uFF0C\u5199\u4F5C\u8D28\u91CF\u5C06\u56FA\u5B9A\u4E3A\u201C\u6807\u51C6\u5199\u4F5C\u201D\u3002\n');
3541
+ nextArgs.writingQuality = 0;
3509
3542
  nextArgs.base = '0';
3510
3543
  } else {
3511
- nextArgs.base = await promptChoice(promptContext, {
3512
- title: '\u5199\u4F5C\u6A21\u5F0F',
3513
- question: '\u8BF7\u9009\u62E9\u5199\u4F5C\u6A21\u5F0F',
3514
- options: BASE_OPTIONS.map(option => ({
3544
+ nextArgs.writingQuality = await promptChoice(promptContext, {
3545
+ title: '\u5199\u4F5C\u8D28\u91CF',
3546
+ question: '\u8BF7\u9009\u62E9\u5199\u4F5C\u8D28\u91CF',
3547
+ options: WRITING_QUALITY_OPTIONS.map(option => ({
3515
3548
  ...option,
3516
3549
  promptLabel: BASE_PROMPT_LABELS[option.value] || option.label,
3517
3550
  })),
3518
- defaultValue: enumOption(args, 'base', BASE_OPTIONS, defaults.base),
3551
+ defaultValue: enumOption(args, ['writingQuality', 'writingMode', 'base'], WRITING_QUALITY_OPTIONS, defaults.writingQuality),
3519
3552
  });
3553
+ nextArgs.base = nextArgs.writingQuality === 1 ? '1' : '0';
3520
3554
  }
3521
3555
 
3522
3556
  nextArgs.themeStyle = await promptChoice(promptContext, {
@@ -3739,9 +3773,11 @@ async function collectExportInteractiveArgs(args, snapshot, context = null, opti
3739
3773
  }
3740
3774
 
3741
3775
  function buildInteractiveSnapshotDefaults(source = {}) {
3776
+ const writingQuality = source.writingQuality ?? (String(source.base ?? DEFAULT_BASE) === '1' ? 1 : 0);
3742
3777
  return {
3743
3778
  pageScopeCode: source.pageScopeCode ?? DEFAULT_PAGE_SCOPE_CODE,
3744
3779
  base: source.base ?? DEFAULT_BASE,
3780
+ writingQuality,
3745
3781
  themeStyle: source.themeStyle ?? DEFAULT_THEME_STYLE,
3746
3782
  tableQuantity: source.tableQuantity ?? DEFAULT_TABLE_QUANTITY,
3747
3783
  tableColor: source.tableColor ?? DEFAULT_TABLE_COLOR,
@@ -4963,6 +4999,8 @@ function pickOutlineConfig(params) {
4963
4999
  return compactObject({
4964
5000
  pageScopeCode: params.pageScopeCode,
4965
5001
  base: params.base,
5002
+ writingQuality: params.writingQuality,
5003
+ deepThinkingFlowVersion: params.deepThinkingFlowVersion,
4966
5004
  themeStyle: params.themeStyle,
4967
5005
  tableQuantity: params.tableQuantity,
4968
5006
  tableColor: params.tableColor,
@@ -4985,6 +5023,9 @@ function buildOutlineConfigSummary(params) {
4985
5023
  return [
4986
5024
  `pageScope=${describeEnumValue(PAGE_SCOPE_OPTIONS, params.pageScopeCode)}`,
4987
5025
  `base=${describeEnumValue(BASE_OPTIONS, params.base)}`,
5026
+ params.writingQuality !== undefined
5027
+ ? `writingQuality=${describeEnumValue(WRITING_QUALITY_OPTIONS, params.writingQuality)}`
5028
+ : null,
4988
5029
  params.themeStyle !== undefined ? `themeStyle=${describeEnumValue(THEME_STYLE_OPTIONS, params.themeStyle)}` : null,
4989
5030
  params.tableQuantity !== undefined ? `tableQuantity=${describeEnumValue(TABLE_QUANTITY_OPTIONS, params.tableQuantity)}` : null,
4990
5031
  params.tableColor !== undefined ? `tableColor=${describeEnumValue(TABLE_COLOR_OPTIONS, params.tableColor)}` : null,
@@ -5180,6 +5221,8 @@ function pickTaskSnapshot(source) {
5180
5221
  rating: source.rating,
5181
5222
  plan: source.plan,
5182
5223
  base: source.base,
5224
+ writingQuality: source.writingQuality,
5225
+ deepThinkingFlowVersion: source.deepThinkingFlowVersion,
5183
5226
  pageScopeCode: source.pageScopeCode,
5184
5227
  task_status: source.task_status,
5185
5228
  plan_mode_phase: source.plan_mode_phase,