@aipanel/provider-deepseek 1.2.5 → 1.2.6

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.
@@ -1,6 +1,8 @@
1
1
  export interface BridgeScriptOptions {
2
2
  /** 主题模式 */
3
3
  theme?: "light" | "dark" | "auto";
4
+ /** 诊断功能开关(provider option enableDiagnostics;写入 localStorage 供 dsh-client 决定是否注册诊断视图) */
5
+ diagnosticsEnabled?: boolean;
4
6
  }
5
7
  /**
6
8
  * 生成 PostMessage Bridge 脚本。
@@ -1,13 +1,26 @@
1
1
  import { WIDGET_MSG } from "@aipanel/core";
2
2
  import { DSH_STORAGE_KEYS } from "./constants.js";
3
3
  function generateBridgeScript(options = {}) {
4
- const { theme = "auto" } = options;
4
+ const { theme = "auto", diagnosticsEnabled = false } = options;
5
5
  return `
6
6
  (function() {
7
7
  const CURRENT_SESSION_KEY = ${JSON.stringify(DSH_STORAGE_KEYS.CURRENT_SESSION)};
8
8
  const SELECTION_KEY = ${JSON.stringify(DSH_STORAGE_KEYS.SELECTION)};
9
+ const DIAGNOSTICS_KEY = ${JSON.stringify(DSH_STORAGE_KEYS.DIAGNOSTICS_ENABLED)};
10
+ const DIAGNOSTICS_ENABLED = ${JSON.stringify(diagnosticsEnabled)};
9
11
  const THEME = ${JSON.stringify(theme)};
10
12
 
13
+ // \u8BCA\u65AD\u529F\u80FD\u5F00\u5173\uFF1A\u540C\u6B65\u5199\u5165\uFF08\u4E0D\u4F9D\u8D56 DOM\uFF09\uFF0C\u4FDD\u8BC1 dsh-client apply \u65F6\u5373\u53EF\u8BFB\u5230\u6807\u8BB0\u3002
14
+ // bridge \u811A\u672C\u6CE8\u5165\u4E8E <head>\uFF0Cdsh-client \u63D2\u4EF6\u5728\u9875\u9762\u811A\u672C/React \u521D\u59CB\u5316\u540E\u624D apply\uFF0C
15
+ // \u82E5\u7B49 DOMContentLoaded \u518D\u5199\u5219\u5B58\u5728\u65F6\u5E8F\u7ADE\u4E89\uFF0C\u89C6\u56FE\u53EF\u80FD\u6F0F\u6CE8\u518C\u3002
16
+ try {
17
+ if (DIAGNOSTICS_ENABLED) {
18
+ localStorage.setItem(DIAGNOSTICS_KEY, "1");
19
+ } else {
20
+ localStorage.removeItem(DIAGNOSTICS_KEY);
21
+ }
22
+ } catch (e) { /* ignore */ }
23
+
11
24
  // \u6865\u63A5\u5C42\u901A\u77E5 dsh-client \u7684\u9009\u4E2D\u5143\u7D20\u63D2\u5165\u4E8B\u4EF6\uFF08\u4E0E opencode \u4E00\u81F4\uFF1A\u9009\u4E2D\u5373\u8FFD\u52A0\u5230\u5BF9\u8BDD\u6846\uFF09
12
25
  const INSERT_ELEMENT_EVENT = "aipanel:insert-element";
13
26
 
package/es/constants.d.ts CHANGED
@@ -20,6 +20,8 @@ export declare const DSH_STORAGE_KEYS: {
20
20
  readonly CURRENT_SESSION: "dsh.sessions.current";
21
21
  /** 选中的页面元素(bridge 写入,dsh-client 的 @aipanel source 读取) */
22
22
  readonly SELECTION: "dsh.bridge.selection";
23
+ /** 诊断功能开关标记(bridge 按 provider 配置写入,dsh-client 据此决定是否注册诊断视图) */
24
+ readonly DIAGNOSTICS_ENABLED: "dsh.bridge.diagnostics.enabled";
23
25
  };
24
26
  /** ==================== Provider 专属配置默认值 ==================== */
25
27
  export declare const DEFAULT_DEEPSEEK_PROVIDER_OPTIONS: DeepSeekProviderOptions;
package/es/constants.js CHANGED
@@ -7,10 +7,16 @@ const DSH_STORAGE_KEYS = {
7
7
  /** 当前选中会话(SPA 启动时据此恢复选中,无 URL 深链) */
8
8
  CURRENT_SESSION: "dsh.sessions.current",
9
9
  /** 选中的页面元素(bridge 写入,dsh-client 的 @aipanel source 读取) */
10
- SELECTION: "dsh.bridge.selection"
10
+ SELECTION: "dsh.bridge.selection",
11
+ /** 诊断功能开关标记(bridge 按 provider 配置写入,dsh-client 据此决定是否注册诊断视图) */
12
+ DIAGNOSTICS_ENABLED: "dsh.bridge.diagnostics.enabled"
11
13
  };
12
14
  const DEFAULT_DEEPSEEK_PROVIDER_OPTIONS = {
13
- agentPreset: "code"
15
+ agentPreset: "code",
16
+ // 对齐 opencode 的 enableLsp(默认 true):诊断功能默认开启
17
+ enableDiagnostics: true,
18
+ // 对齐 opencode:自动诊断默认开启
19
+ autoDiagnose: true
14
20
  };
15
21
  export {
16
22
  DEFAULT_DEEPSEEK_PROVIDER_OPTIONS,
package/es/profile.d.ts CHANGED
@@ -6,6 +6,16 @@ export declare function buildDshOverlay(options: {
6
6
  pluginAvailable?: boolean;
7
7
  /** client 插件(@aipanel/dsh-client)是否可被 dsh 解析(provider 已同步到 dsh profile);false 时停用该行,避免 fail-loud */
8
8
  clientAvailable?: boolean;
9
+ /**
10
+ * 编辑后自动诊断开关(provider option autoDiagnose)。
11
+ * undefined 时不写入 overlay,由 dsh-plugin 回退到 OPENCODE_ENABLE_LINT=1(与 opencode 一致)。
12
+ */
13
+ autoDiagnose?: boolean;
14
+ /**
15
+ * 诊断功能总开关(provider option enableDiagnostics)。
16
+ * true(默认,对齐 opencode enableLsp)时 host 插件注册 run_diagnostics 工具与自动诊断逻辑。
17
+ */
18
+ enableDiagnostics?: boolean;
9
19
  }): string;
10
20
  /** 将 overlay 写入项目缓存目录(AIPANEL_CACHE_DIR 下按 provider 分二级目录),不污染用户项目根目录。 */
11
21
  export declare function writeDshOverlay(workspaceCwd: string, overlay: string): string;
package/es/profile.js CHANGED
@@ -8,7 +8,14 @@ import {
8
8
  } from "@aipanel/core/node";
9
9
  const log = createLogger("DeepSeekProfile");
10
10
  function buildDshOverlay(options) {
11
- const { vitePort, cwd, pluginAvailable = true, clientAvailable = true } = options;
11
+ const {
12
+ vitePort,
13
+ cwd,
14
+ pluginAvailable = true,
15
+ clientAvailable = true,
16
+ autoDiagnose,
17
+ enableDiagnostics = true
18
+ } = options;
12
19
  const mcpUrl = `http://127.0.0.1:${vitePort}${MCP_API_PATH}`;
13
20
  const rows = [];
14
21
  rows.push(
@@ -27,12 +34,13 @@ function buildDshOverlay(options) {
27
34
  " - id: aipanel",
28
35
  " name: '@aipanel/dsh-plugin'",
29
36
  ...pluginAvailable ? [] : [" disabled: true"],
30
- " inject: [tools, subprocess]",
37
+ " inject: [tools]",
31
38
  " config:",
32
39
  ` cwd: ${JSON.stringify(cwd)}`,
33
40
  ` vitePort: ${vitePort}`,
34
41
  ` contextApiPath: ${JSON.stringify(CONTEXT_API_PATH)}`,
35
- " autoDiagnose: true"
42
+ ` enableDiagnostics: ${enableDiagnostics ? "true" : "false"}`,
43
+ ...autoDiagnose !== void 0 ? [` autoDiagnose: ${autoDiagnose ? "true" : "false"}`] : []
36
44
  ].join("\n")
37
45
  );
38
46
  rows.push(
package/es/provider.d.ts CHANGED
@@ -30,7 +30,7 @@ export declare class DeepSeekWebProvider implements WebProvider {
30
30
  constructor(config: DeepSeekWebProviderConfig, deps: DeepSeekWebProviderDeps, options?: Record<string, unknown>);
31
31
  /** 代理注入到 HTML 的桥接脚本(Provider 资产) */
32
32
  get bridgeScript(): string | undefined;
33
- /** 初始化桥接配置(主题等) */
33
+ /** 初始化桥接配置(主题、诊断开关等) */
34
34
  applyConfig(config: ProviderConfig): void;
35
35
  checkEnvironment(): Promise<ProviderEnvironmentInfo>;
36
36
  start(options: ProviderStartOptions): Promise<ProviderStartResult>;
package/es/provider.js CHANGED
@@ -36,9 +36,12 @@ class DeepSeekWebProvider {
36
36
  get bridgeScript() {
37
37
  return generateBridgeScript(this.bridgeOptions);
38
38
  }
39
- /** 初始化桥接配置(主题等) */
39
+ /** 初始化桥接配置(主题、诊断开关等) */
40
40
  applyConfig(config) {
41
- this.bridgeOptions = { theme: config.theme ?? "auto" };
41
+ this.bridgeOptions = {
42
+ theme: config.theme ?? "auto",
43
+ diagnosticsEnabled: this.opts.enableDiagnostics ?? false
44
+ };
42
45
  }
43
46
  async checkEnvironment() {
44
47
  if (!await checkDeepSeekInstalled()) {
@@ -95,7 +98,9 @@ or run without installing:
95
98
  vitePort: options.vitePort,
96
99
  cwd: options.cwd,
97
100
  pluginAvailable,
98
- clientAvailable
101
+ clientAvailable,
102
+ autoDiagnose: this.opts.autoDiagnose,
103
+ enableDiagnostics: this.opts.enableDiagnostics
99
104
  });
100
105
  const patchPath = writeDshOverlay(options.cwd, overlay);
101
106
  const proc = startDeepSeekWeb({
@@ -288,9 +293,11 @@ function resolveDeepSeekOptions(options) {
288
293
  return {
289
294
  ...DEFAULT_DEEPSEEK_PROVIDER_OPTIONS,
290
295
  home: po.home ?? options.home,
291
- agentPreset: po.agentPreset ?? options.agentPreset,
296
+ agentPreset: po.agentPreset ?? options.agentPreset ?? DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.agentPreset,
292
297
  permissionPreset: po.permissionPreset ?? options.permissionPreset,
293
- busyEnter: po.busyEnter ?? options.busyEnter
298
+ busyEnter: po.busyEnter ?? options.busyEnter,
299
+ autoDiagnose: po.autoDiagnose ?? options.autoDiagnose ?? DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.autoDiagnose,
300
+ enableDiagnostics: po.enableDiagnostics ?? options.enableDiagnostics ?? DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.enableDiagnostics
294
301
  };
295
302
  }
296
303
  export {
package/es/types.d.ts CHANGED
@@ -19,6 +19,18 @@ export type DeepSeekProviderOptions = {
19
19
  permissionPreset?: DeepSeekPermissionPreset;
20
20
  /** 繁忙时 Enter 键行为(dsh settings ui-conversation.busyEnter) */
21
21
  busyEnter?: DeepSeekBusyEnter;
22
+ /**
23
+ * 编辑后自动诊断(对应 opencode providerOptions.enableLsp 的质量门禁语义):
24
+ * write/edit/apply_patch 执行后自动补跑 ESLint + vue-tsc 并把结果并入工具输出。
25
+ * 与 opencode 一致默认开启;需与 enableDiagnostics 配合(总开关关闭时整体不注入)。
26
+ */
27
+ autoDiagnose?: boolean;
28
+ /**
29
+ * 诊断功能总开关:与 opencode 的 enableLsp 一致,默认开启。
30
+ * 关闭时(enableDiagnostics: false)不注入任何诊断相关插件逻辑——
31
+ * run_diagnostics 审查工具、编辑后自动诊断、会话诊断卡片视图都不注册。
32
+ */
33
+ enableDiagnostics?: boolean;
22
34
  /**
23
35
  * Provider 允许自定义扩展字段
24
36
  * [key: string]: unknown;
@@ -23,13 +23,26 @@ module.exports = __toCommonJS(bridge_script_exports);
23
23
  var import_core = require("@aipanel/core");
24
24
  var import_constants = require("./constants.cjs");
25
25
  function generateBridgeScript(options = {}) {
26
- const { theme = "auto" } = options;
26
+ const { theme = "auto", diagnosticsEnabled = false } = options;
27
27
  return `
28
28
  (function() {
29
29
  const CURRENT_SESSION_KEY = ${JSON.stringify(import_constants.DSH_STORAGE_KEYS.CURRENT_SESSION)};
30
30
  const SELECTION_KEY = ${JSON.stringify(import_constants.DSH_STORAGE_KEYS.SELECTION)};
31
+ const DIAGNOSTICS_KEY = ${JSON.stringify(import_constants.DSH_STORAGE_KEYS.DIAGNOSTICS_ENABLED)};
32
+ const DIAGNOSTICS_ENABLED = ${JSON.stringify(diagnosticsEnabled)};
31
33
  const THEME = ${JSON.stringify(theme)};
32
34
 
35
+ // \u8BCA\u65AD\u529F\u80FD\u5F00\u5173\uFF1A\u540C\u6B65\u5199\u5165\uFF08\u4E0D\u4F9D\u8D56 DOM\uFF09\uFF0C\u4FDD\u8BC1 dsh-client apply \u65F6\u5373\u53EF\u8BFB\u5230\u6807\u8BB0\u3002
36
+ // bridge \u811A\u672C\u6CE8\u5165\u4E8E <head>\uFF0Cdsh-client \u63D2\u4EF6\u5728\u9875\u9762\u811A\u672C/React \u521D\u59CB\u5316\u540E\u624D apply\uFF0C
37
+ // \u82E5\u7B49 DOMContentLoaded \u518D\u5199\u5219\u5B58\u5728\u65F6\u5E8F\u7ADE\u4E89\uFF0C\u89C6\u56FE\u53EF\u80FD\u6F0F\u6CE8\u518C\u3002
38
+ try {
39
+ if (DIAGNOSTICS_ENABLED) {
40
+ localStorage.setItem(DIAGNOSTICS_KEY, "1");
41
+ } else {
42
+ localStorage.removeItem(DIAGNOSTICS_KEY);
43
+ }
44
+ } catch (e) { /* ignore */ }
45
+
33
46
  // \u6865\u63A5\u5C42\u901A\u77E5 dsh-client \u7684\u9009\u4E2D\u5143\u7D20\u63D2\u5165\u4E8B\u4EF6\uFF08\u4E0E opencode \u4E00\u81F4\uFF1A\u9009\u4E2D\u5373\u8FFD\u52A0\u5230\u5BF9\u8BDD\u6846\uFF09
34
47
  const INSERT_ELEMENT_EVENT = "aipanel:insert-element";
35
48
 
@@ -1,6 +1,8 @@
1
1
  export interface BridgeScriptOptions {
2
2
  /** 主题模式 */
3
3
  theme?: "light" | "dark" | "auto";
4
+ /** 诊断功能开关(provider option enableDiagnostics;写入 localStorage 供 dsh-client 决定是否注册诊断视图) */
5
+ diagnosticsEnabled?: boolean;
4
6
  }
5
7
  /**
6
8
  * 生成 PostMessage Bridge 脚本。
package/lib/constants.cjs CHANGED
@@ -35,10 +35,16 @@ const DSH_STORAGE_KEYS = {
35
35
  /** 当前选中会话(SPA 启动时据此恢复选中,无 URL 深链) */
36
36
  CURRENT_SESSION: "dsh.sessions.current",
37
37
  /** 选中的页面元素(bridge 写入,dsh-client 的 @aipanel source 读取) */
38
- SELECTION: "dsh.bridge.selection"
38
+ SELECTION: "dsh.bridge.selection",
39
+ /** 诊断功能开关标记(bridge 按 provider 配置写入,dsh-client 据此决定是否注册诊断视图) */
40
+ DIAGNOSTICS_ENABLED: "dsh.bridge.diagnostics.enabled"
39
41
  };
40
42
  const DEFAULT_DEEPSEEK_PROVIDER_OPTIONS = {
41
- agentPreset: "code"
43
+ agentPreset: "code",
44
+ // 对齐 opencode 的 enableLsp(默认 true):诊断功能默认开启
45
+ enableDiagnostics: true,
46
+ // 对齐 opencode:自动诊断默认开启
47
+ autoDiagnose: true
42
48
  };
43
49
  // Annotate the CommonJS export names for ESM import in node:
44
50
  0 && (module.exports = {
@@ -20,6 +20,8 @@ export declare const DSH_STORAGE_KEYS: {
20
20
  readonly CURRENT_SESSION: "dsh.sessions.current";
21
21
  /** 选中的页面元素(bridge 写入,dsh-client 的 @aipanel source 读取) */
22
22
  readonly SELECTION: "dsh.bridge.selection";
23
+ /** 诊断功能开关标记(bridge 按 provider 配置写入,dsh-client 据此决定是否注册诊断视图) */
24
+ readonly DIAGNOSTICS_ENABLED: "dsh.bridge.diagnostics.enabled";
23
25
  };
24
26
  /** ==================== Provider 专属配置默认值 ==================== */
25
27
  export declare const DEFAULT_DEEPSEEK_PROVIDER_OPTIONS: DeepSeekProviderOptions;
package/lib/profile.cjs CHANGED
@@ -36,7 +36,14 @@ var import_path = __toESM(require("path"));
36
36
  var import_node = require("@aipanel/core/node");
37
37
  const log = (0, import_node.createLogger)("DeepSeekProfile");
38
38
  function buildDshOverlay(options) {
39
- const { vitePort, cwd, pluginAvailable = true, clientAvailable = true } = options;
39
+ const {
40
+ vitePort,
41
+ cwd,
42
+ pluginAvailable = true,
43
+ clientAvailable = true,
44
+ autoDiagnose,
45
+ enableDiagnostics = true
46
+ } = options;
40
47
  const mcpUrl = `http://127.0.0.1:${vitePort}${import_node.MCP_API_PATH}`;
41
48
  const rows = [];
42
49
  rows.push(
@@ -55,12 +62,13 @@ function buildDshOverlay(options) {
55
62
  " - id: aipanel",
56
63
  " name: '@aipanel/dsh-plugin'",
57
64
  ...pluginAvailable ? [] : [" disabled: true"],
58
- " inject: [tools, subprocess]",
65
+ " inject: [tools]",
59
66
  " config:",
60
67
  ` cwd: ${JSON.stringify(cwd)}`,
61
68
  ` vitePort: ${vitePort}`,
62
69
  ` contextApiPath: ${JSON.stringify(import_node.CONTEXT_API_PATH)}`,
63
- " autoDiagnose: true"
70
+ ` enableDiagnostics: ${enableDiagnostics ? "true" : "false"}`,
71
+ ...autoDiagnose !== void 0 ? [` autoDiagnose: ${autoDiagnose ? "true" : "false"}`] : []
64
72
  ].join("\n")
65
73
  );
66
74
  rows.push(
package/lib/profile.d.ts CHANGED
@@ -6,6 +6,16 @@ export declare function buildDshOverlay(options: {
6
6
  pluginAvailable?: boolean;
7
7
  /** client 插件(@aipanel/dsh-client)是否可被 dsh 解析(provider 已同步到 dsh profile);false 时停用该行,避免 fail-loud */
8
8
  clientAvailable?: boolean;
9
+ /**
10
+ * 编辑后自动诊断开关(provider option autoDiagnose)。
11
+ * undefined 时不写入 overlay,由 dsh-plugin 回退到 OPENCODE_ENABLE_LINT=1(与 opencode 一致)。
12
+ */
13
+ autoDiagnose?: boolean;
14
+ /**
15
+ * 诊断功能总开关(provider option enableDiagnostics)。
16
+ * true(默认,对齐 opencode enableLsp)时 host 插件注册 run_diagnostics 工具与自动诊断逻辑。
17
+ */
18
+ enableDiagnostics?: boolean;
9
19
  }): string;
10
20
  /** 将 overlay 写入项目缓存目录(AIPANEL_CACHE_DIR 下按 provider 分二级目录),不污染用户项目根目录。 */
11
21
  export declare function writeDshOverlay(workspaceCwd: string, overlay: string): string;
package/lib/provider.cjs CHANGED
@@ -52,9 +52,12 @@ class DeepSeekWebProvider {
52
52
  get bridgeScript() {
53
53
  return (0, import_bridge_script.generateBridgeScript)(this.bridgeOptions);
54
54
  }
55
- /** 初始化桥接配置(主题等) */
55
+ /** 初始化桥接配置(主题、诊断开关等) */
56
56
  applyConfig(config) {
57
- this.bridgeOptions = { theme: config.theme ?? "auto" };
57
+ this.bridgeOptions = {
58
+ theme: config.theme ?? "auto",
59
+ diagnosticsEnabled: this.opts.enableDiagnostics ?? false
60
+ };
58
61
  }
59
62
  async checkEnvironment() {
60
63
  if (!await (0, import_system.checkDeepSeekInstalled)()) {
@@ -111,7 +114,9 @@ or run without installing:
111
114
  vitePort: options.vitePort,
112
115
  cwd: options.cwd,
113
116
  pluginAvailable,
114
- clientAvailable
117
+ clientAvailable,
118
+ autoDiagnose: this.opts.autoDiagnose,
119
+ enableDiagnostics: this.opts.enableDiagnostics
115
120
  });
116
121
  const patchPath = (0, import_profile.writeDshOverlay)(options.cwd, overlay);
117
122
  const proc = (0, import_deepseek_web.startDeepSeekWeb)({
@@ -304,9 +309,11 @@ function resolveDeepSeekOptions(options) {
304
309
  return {
305
310
  ...import_constants.DEFAULT_DEEPSEEK_PROVIDER_OPTIONS,
306
311
  home: po.home ?? options.home,
307
- agentPreset: po.agentPreset ?? options.agentPreset,
312
+ agentPreset: po.agentPreset ?? options.agentPreset ?? import_constants.DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.agentPreset,
308
313
  permissionPreset: po.permissionPreset ?? options.permissionPreset,
309
- busyEnter: po.busyEnter ?? options.busyEnter
314
+ busyEnter: po.busyEnter ?? options.busyEnter,
315
+ autoDiagnose: po.autoDiagnose ?? options.autoDiagnose ?? import_constants.DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.autoDiagnose,
316
+ enableDiagnostics: po.enableDiagnostics ?? options.enableDiagnostics ?? import_constants.DEFAULT_DEEPSEEK_PROVIDER_OPTIONS.enableDiagnostics
310
317
  };
311
318
  }
312
319
  // Annotate the CommonJS export names for ESM import in node:
package/lib/provider.d.ts CHANGED
@@ -30,7 +30,7 @@ export declare class DeepSeekWebProvider implements WebProvider {
30
30
  constructor(config: DeepSeekWebProviderConfig, deps: DeepSeekWebProviderDeps, options?: Record<string, unknown>);
31
31
  /** 代理注入到 HTML 的桥接脚本(Provider 资产) */
32
32
  get bridgeScript(): string | undefined;
33
- /** 初始化桥接配置(主题等) */
33
+ /** 初始化桥接配置(主题、诊断开关等) */
34
34
  applyConfig(config: ProviderConfig): void;
35
35
  checkEnvironment(): Promise<ProviderEnvironmentInfo>;
36
36
  start(options: ProviderStartOptions): Promise<ProviderStartResult>;
package/lib/types.d.ts CHANGED
@@ -19,6 +19,18 @@ export type DeepSeekProviderOptions = {
19
19
  permissionPreset?: DeepSeekPermissionPreset;
20
20
  /** 繁忙时 Enter 键行为(dsh settings ui-conversation.busyEnter) */
21
21
  busyEnter?: DeepSeekBusyEnter;
22
+ /**
23
+ * 编辑后自动诊断(对应 opencode providerOptions.enableLsp 的质量门禁语义):
24
+ * write/edit/apply_patch 执行后自动补跑 ESLint + vue-tsc 并把结果并入工具输出。
25
+ * 与 opencode 一致默认开启;需与 enableDiagnostics 配合(总开关关闭时整体不注入)。
26
+ */
27
+ autoDiagnose?: boolean;
28
+ /**
29
+ * 诊断功能总开关:与 opencode 的 enableLsp 一致,默认开启。
30
+ * 关闭时(enableDiagnostics: false)不注入任何诊断相关插件逻辑——
31
+ * run_diagnostics 审查工具、编辑后自动诊断、会话诊断卡片视图都不注册。
32
+ */
33
+ enableDiagnostics?: boolean;
22
34
  /**
23
35
  * Provider 允许自定义扩展字段
24
36
  * [key: string]: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aipanel/provider-deepseek",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "type": "module",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "execa": "^9.6.1",
25
- "@aipanel/core": "1.2.5"
25
+ "@aipanel/core": "1.2.6"
26
26
  },
27
27
  "devDependencies": {
28
28
  "esbuild": "^0.25.0"