@qilin-agent/sdk-minimal 3.1.5 → 3.1.7

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.i18n.yaml CHANGED
@@ -3,23 +3,23 @@
3
3
  # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/bundle/sdk-minimal/README.md
5
5
  /:
6
- en: ae5bdac5add26503
7
- zh: 93cd37d41c05fc9c
6
+ en: 055d820e7d59a8d2
7
+ zh: a1c6acf5ff5d1d7f
8
8
  /qilin-agent-sdk-minimal:
9
9
  en: 981f63056421cbc4
10
10
  zh: 02bab870cd4c4c4f
11
11
  /qilin-agent-sdk-minimal/summary:
12
- en: 1bd3abec463eb574
13
- zh: 8c314df925d7d077
12
+ en: 06a00fcc3c05dc1b
13
+ zh: 5031c8db42056d5b
14
14
  /qilin-agent-sdk-minimal/table-of-contents:
15
15
  en: d152484eb41ac6b4
16
16
  zh: 09388d293f9be9cb
17
17
  /qilin-agent-sdk-minimal/use-this-package:
18
- en: 4812e6933c4644c1
19
- zh: 622660b08d522558
18
+ en: 6ec662542bf81f28
19
+ zh: 0c6f794511fa14b0
20
20
  /qilin-agent-sdk-minimal/understand-the-implementation:
21
- en: 39497164b317f6de
22
- zh: 436dc8c8ea11e2d2
21
+ en: e635a512796dccea
22
+ zh: 9e07915a8b89a535
23
23
  /qilin-agent-sdk-minimal/understand-the-implementation/source-map:
24
24
  en: 3784c554e96ab004
25
25
  zh: 0a05d4fe1e26b3b1
@@ -33,17 +33,17 @@
33
33
  en: bd87e16b0c6e0506
34
34
  zh: c8ee5e3b4578754e
35
35
  /qilin-agent-sdk-minimal/model-experience/minimal-coding-agent-composition/what-the-model-sees:
36
- en: 35942c4229523952
37
- zh: aafbf10057b5efb2
36
+ en: ca5812b676fca755
37
+ zh: d598d6adba1fb509
38
38
  /qilin-agent-sdk-minimal/model-experience/minimal-coding-agent-composition/token-effect:
39
- en: 65613fb41fcc3151
40
- zh: fc20a732aca8282c
39
+ en: d9214b2e1d3b505b
40
+ zh: f2fe93fb1328045a
41
41
  /qilin-agent-sdk-minimal/model-experience/minimal-coding-agent-composition/kv-cache-effect:
42
- en: 904ae09b5fdb87c1
43
- zh: de6fcaaa12bd9733
42
+ en: dd887b6519f40ab3
43
+ zh: 80d64fe177a8a011
44
44
  /qilin-agent-sdk-minimal/known-limitations-and-deferred-work:
45
- en: b30fe041e58923a0
46
- zh: a081da02535d7fae
45
+ en: 8a864ddd73ac6857
46
+ zh: 80064ba462c5d7df
47
47
  /qilin-agent-sdk-minimal/known-limitations-and-deferred-work/dev-note:
48
48
  en: e67f633dc6fe7773
49
49
  zh: e88aeb617ffb74ea
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Standalone SDK profile with one default shell tool for users who need a minimal cross-platform coding agent without the shared base bundle."
2
+ description: "Standalone SDK profile with a persistent shell, image reading, and automatic context compaction for users who need a minimal cross-platform coding agent without the shared base bundle."
3
3
  kind: "package-bundle"
4
4
  ---
5
5
 
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- Use `qilin --profile sdk-minimal` when an SDK client needs a small, explicit coding-agent runtime. By default, the profile advertises only a platform-selected persistent shell, persists sessions as uncompressed JSONL, and selects the model from the SDK initialization request. It supplies a complete Cordis tree and deliberately excludes `qilin-base`, Web, settings, managed credentials, telemetry, compaction, filesystem tools, workspace instructions, skills, jobs, and subagents. Its danger-full-access policy lets the shell modify any path available to the process, so use it only with an isolated workspace.
12
+ Use `qilin --profile sdk-minimal` when an SDK client needs a small, explicit coding-agent runtime. By default, the profile advertises a platform-selected persistent shell and `read_image`, automatically summarizes older context when it reaches the configured pressure, persists sessions as uncompressed JSONL, and selects the model from the SDK initialization request. It supplies a complete Cordis tree and deliberately excludes `qilin-base`, Web, settings, managed credentials, telemetry, text file tools, workspace instructions, skills, jobs, and subagents. Its danger-full-access policy lets the shell modify any path available to the process, so use it only with an isolated workspace.
13
13
 
14
14
  ## Table of Contents
15
15
 
@@ -38,7 +38,7 @@ Use `qilin plugin --profile sdk-minimal` to manage persistent external dependenc
38
38
 
39
39
  The profile mounts exactly one persistent shell stack: Bash on Linux and macOS, or PowerShell on Windows. Both stacks use a 300-second timeout and one owner-scoped terminal; the other platform's rows remain disabled.
40
40
 
41
- Like every shipped profile, it mounts [MCP resources](../../mcp/mcp-resources/README.md) once. Configure only [MCP client entries](../../mcp/mcp-client/README.md) to add servers. Clients mounted by another provider also count as configured. With no server configured in the caller's scope, MCP contributes no prompt text or tools and the default remains one shell tool.
41
+ Like every shipped profile, it mounts [MCP resources](../../mcp/mcp-resources/README.md) once. Configure only [MCP client entries](../../mcp/mcp-client/README.md) to add servers. Clients mounted by another provider also count as configured. With no server configured in the caller's scope, MCP contributes no prompt text or tools and the default remains one shell tool and `read_image`.
42
42
 
43
43
  -----
44
44
 
@@ -48,7 +48,7 @@ Like every shipped profile, it mounts [MCP resources](../../mcp/mcp-resources/RE
48
48
  <details>
49
49
  <summary>Implementation internals — click to expand</summary>
50
50
 
51
- The bundle's single insert is the complete application tree: SDK stdio startup and JSON-RPC serving, one environment-configured DeepSeek adapter, the explicit agent core, conditional MCP resource tools, local subprocess execution, a platform-selected persistent shell PTY, and uncompressed JSONL persistence under `$QILIN_HOME/sessions`. It does not inherit another bundle, so every extra row is an explicit profile change.
51
+ The bundle's single insert is the complete application tree: SDK stdio startup and JSON-RPC serving, one environment-configured DeepSeek adapter, the explicit agent core, conditional MCP resource tools, local filesystem and image attachments, automatic context compaction with image offload, local subprocess execution, a platform-selected persistent shell PTY, and uncompressed JSONL persistence under `$QILIN_HOME/sessions`. `tool-fs` runs with `read`, `write`, and `edit` off, so only `read_image` joins the shell tool. It does not inherit another bundle, so every extra row is an explicit profile change.
52
52
 
53
53
  ### Source map
54
54
 
@@ -78,21 +78,23 @@ The bundle's single insert is the complete application tree: SDK stdio startup a
78
78
 
79
79
  #### What the model sees
80
80
 
81
- The system prompt is `QILIN_SYSTEM_PROMPT` or `You are a helpful software engineer assistant.`. With no MCP server configured, the only advertised tool is owner-scoped persistent `bash` on Linux/macOS or `pwsh` on Windows; runtime context, filesystem tools, workspace instructions, skills, jobs controls, compaction, and Harness identity are absent.
81
+ The system prompt is `QILIN_SYSTEM_PROMPT` or `You are a helpful software engineer assistant.`. With no MCP server configured, the advertised tools are owner-scoped persistent `bash` on Linux/macOS or `pwsh` on Windows and `read_image`; runtime context, text file tools, workspace instructions, skills, jobs controls, and Harness identity are absent.
82
82
 
83
83
  #### Token effect
84
84
 
85
- By default, one stable persona plus one tool schema. Configured MCP servers add their tools, shared resource tools, and available server instructions. Tool results and ordinary conversation history grow with the session.
85
+ By default, one stable persona plus two tool schemas. Configured MCP servers add their tools, shared resource tools, and available server instructions. Images consume model input tokens. When images exceed the route budget, [image offload](../../compaction/compaction-image-offload/README.md) permanently replaces older image occurrences with attachment/path placeholders and retries the request or compaction summary. Automatic compaction sends an additional summarization request when context pressure reaches the configured threshold and replaces older model-visible history with its summary; the durable JSONL log retains those events.
86
86
 
87
87
  #### KV Cache effect
88
88
 
89
- Stable for a fixed persona, platform, provider, model, and bundle patch stack. Profile changes take effect on the next process.
89
+ Stable for a fixed persona, platform, provider, model, and bundle patch stack. Compaction replaces part of the request history and can reduce cache reuse. Image offload also ends cache reuse at the first changed image. Profile changes take effect on the next process.
90
90
 
91
91
  ## Known Limitations and Deferred Work
92
92
 
93
93
  <a id="known-limitations-and-deferred-work"></a>
94
94
 
95
95
  - **The composition intentionally omits shared product services** — select `qilin --profile sdk` when settings, managed credentials, policy presets, telemetry, Web tools, or the full default tool roster are required.
96
+ - **Image reading requires an image-capable model** — select a route whose adapter declares image input; text-only routes return a tool error. Images are stored under `$QILIN_HOME/attachments/v1`.
97
+ - **Compaction is automatic** — configure [compaction-basic](../../compaction/compaction-basic/README.md) through profile patches. SDK prompt text does not execute `/compact` or other slash commands.
96
98
  - **User patches can expand the tree and corrupt stdout** — profile customization is trusted application composition; a plugin that writes ordinary text to stdout can break JSON-RPC framing.
97
99
 
98
100
  <a id="dev-note"></a>
package/README.zh.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "供需要不含共享 base bundle 的极简跨平台 coding agent(编程智能体)的用户使用的独立 SDK profile,默认提供一个 shell 工具。"
2
+ description: "供需要不含共享 base bundle 的极简跨平台 coding agent(编程智能体)的用户使用的独立 SDK profile,提供持久 shell、图像读取与自动上下文压缩。"
3
3
  kind: "package-bundle"
4
4
  ---
5
5
 
@@ -9,7 +9,7 @@ kind: "package-bundle"
9
9
 
10
10
  ## 概述
11
11
 
12
- 当 SDK 客户端需要小型、显式的 coding agent 运行时时,请使用 `qilin --profile sdk-minimal`。该 profile 默认只公布按平台选择的持久 shell,把会话持久化为未压缩 JSONL,并从 SDK 初始化请求选择模型。它提供完整 Cordis 配置树,并刻意排除 `qilin-base`、Web、settings、托管凭据、遥测、压缩(compaction)、文件系统工具、workspace 指令、skill(技能)、jobs 与 subagent。其 danger-full-access 策略允许 shell 修改进程可访问的任何路径,因此只能配合隔离 workspace 使用。
12
+ 当 SDK 客户端需要小型、显式的 coding agent 运行时时,请使用 `qilin --profile sdk-minimal`。该 profile 默认公布按平台选择的持久 shell 与 `read_image`,在上下文压力达到阈值时自动总结较早历史,把会话持久化为未压缩 JSONL,并从 SDK 初始化请求选择模型。它提供完整 Cordis 配置树,并刻意排除 `qilin-base`、Web、settings、托管凭据、遥测、文本文件工具、workspace 指令、skill(技能)、jobs 与 subagent。其 danger-full-access 策略允许 shell 修改进程可访问的任何路径,因此只能配合隔离 workspace 使用。
13
13
 
14
14
  ## 目录
15
15
 
@@ -38,7 +38,7 @@ qilin --profile sdk-minimal
38
38
 
39
39
  该 profile 只挂载一套持久 shell:Linux 和 macOS 使用 Bash,Windows 使用 PowerShell。两套配置都使用 300 秒超时与一个 agent 自有终端;另一平台的配置项保持禁用。
40
40
 
41
- 与其他随附 profile 一样,它统一挂载 [MCP 资源](../../mcp/mcp-resources/README.zh.md)一次。只需配置 [MCP 客户端条目](../../mcp/mcp-client/README.zh.md)即可添加服务器。其他提供方挂载的客户端也属于已配置状态。调用方作用域中未配置服务器时,MCP 不贡献提示词文本或工具,默认仍只有一个 shell 工具。
41
+ 与其他随附 profile 一样,它统一挂载 [MCP 资源](../../mcp/mcp-resources/README.zh.md)一次。只需配置 [MCP 客户端条目](../../mcp/mcp-client/README.zh.md)即可添加服务器。其他提供方挂载的客户端也属于已配置状态。调用方作用域中未配置服务器时,MCP 不贡献提示词文本或工具,默认仍只有一个 shell 工具与 `read_image`。
42
42
 
43
43
  -----
44
44
 
@@ -48,7 +48,7 @@ qilin --profile sdk-minimal
48
48
  <details>
49
49
  <summary>实现细节——点击展开</summary>
50
50
 
51
- 该 bundle 的单个 insert 就是完整应用配置树:SDK stdio 启动与 JSON-RPC 服务、一个由环境配置的 DeepSeek 适配器、显式 agent 核心、按配置启用的 MCP 资源工具、本地子进程执行、按平台选择的持久 shell PTY,以及位于 `$QILIN_HOME/sessions` 的未压缩 JSONL 持久化。它不继承其他 bundle,因此每个额外配置项都是显式 profile 变更。
51
+ 该 bundle 的单个 insert 就是完整应用配置树:SDK stdio 启动与 JSON-RPC 服务、一个由环境配置的 DeepSeek 适配器、显式 agent 核心、按配置启用的 MCP 资源工具、本地文件系统与图像附件、带图像 offload 的自动上下文压缩(compaction)、本地子进程执行、按平台选择的持久 shell PTY,以及位于 `$QILIN_HOME/sessions` 的未压缩 JSONL 持久化。`tool-fs` 关闭 `read`、`write` 与 `edit`,因此只有 `read_image` 与 shell 工具一并提供。它不继承其他 bundle,因此每个额外配置项都是显式 profile 变更。
52
52
 
53
53
  ### 源码地图
54
54
 
@@ -78,21 +78,23 @@ qilin --profile sdk-minimal
78
78
 
79
79
  #### 模型看到的内容
80
80
 
81
- 系统提示词取 `QILIN_SYSTEM_PROMPT`,未设置时使用 `You are a helpful software engineer assistant.`。未配置 MCP 服务器时,对外公布的唯一工具是 Linux/macOS 上 agent 所有的持久 `bash` 或 Windows 上的 `pwsh`;运行时上下文、文件系统工具、workspace 指令、skill、jobs 控制、压缩与 Harness 身份均不存在。
81
+ 系统提示词取 `QILIN_SYSTEM_PROMPT`,未设置时使用 `You are a helpful software engineer assistant.`。未配置 MCP 服务器时,对外公布的工具是 Linux/macOS 上 agent 所有的持久 `bash` 或 Windows 上的 `pwsh`,以及 `read_image`;运行时上下文、文本文件工具、workspace 指令、skill、jobs 控制与 Harness 身份均不存在。
82
82
 
83
83
  #### Token 影响
84
84
 
85
- 默认是一个稳定 persona 加一个工具 schema。已配置 MCP 服务器会添加自己的工具、共享资源工具及可用的服务器指令。工具结果与普通对话历史随会话增长。
85
+ 默认是一个稳定 persona 加两个工具 schema。已配置 MCP 服务器会添加自己的工具、共享资源工具及可用的服务器指令。图像消耗模型输入 token。图像超出路由预算时,[图像 offload](../../compaction/compaction-image-offload/README.zh.md) 会把较早的图像永久替换为附件/路径占位符,并重试该请求或压缩总结。自动压缩在上下文压力达到配置阈值时额外发送一次总结请求,并用总结替换较早的模型可见历史;持久 JSONL 日志仍保留这些事件。
86
86
 
87
87
  #### KV Cache 影响
88
88
 
89
- 当 persona、平台、提供方、模型与 bundle patch 栈固定时保持稳定。Profile 变更在下一个进程生效。
89
+ 当 persona、平台、提供方、模型与 bundle patch 栈固定时保持稳定。压缩会替换部分请求历史,可能降低缓存复用率。图像 offload 在首个变化的图像处结束缓存复用。Profile 变更在下一个进程生效。
90
90
 
91
91
  ## 已知限制与延期工作
92
92
 
93
93
  <a id="known-limitations-and-deferred-work"></a>
94
94
 
95
95
  - **该组合刻意省略共享产品服务** — 需要 settings、托管凭据、策略预设、遥测、Web 工具或完整默认工具清单时,请选择 `qilin --profile sdk`。
96
+ - **图像读取需要支持图像的模型** — 请选择适配器声明了图像输入的路由;纯文本路由会返回工具错误。图像保存在 `$QILIN_HOME/attachments/v1` 下。
97
+ - **压缩是自动的** — 可通过 profile patch 配置 [compaction-basic](../../compaction/compaction-basic/README.zh.md)。SDK 提示词文本不会执行 `/compact` 或其他斜杠命令。
96
98
  - **用户 patch 可以扩展配置树并破坏 stdout** — profile 自定义属于受信任的应用组合;向 stdout 写入普通文本的插件会破坏 JSON-RPC 分帧。
97
99
 
98
100
  <a id="dev-note"></a>
package/cordis.patch.yml CHANGED
@@ -33,11 +33,36 @@
33
33
  - id: sandbox
34
34
  name: '@qilin-agent/sandbox-local'
35
35
 
36
+ - id: filesystem
37
+ name: '@qilin-agent/fs-local'
38
+
39
+ - id: attachment-local
40
+ name: '@qilin-agent/attachment-local'
41
+
42
+ # Image reading without the text tools: the minimal profile keeps its one
43
+ # shell tool and adds only `read_image`.
44
+ - id: tool-fs
45
+ name: '@qilin-agent/tool-fs'
46
+ config:
47
+ read: false
48
+ readImage: true
49
+ write: false
50
+ edit: false
51
+
36
52
  # Shared projection registry: sandbox-policy and terminal-bash fold
37
53
  # sandbox-mode state through its units and require it as a hard injection.
38
54
  - id: session-projection
39
55
  name: '@qilin-agent/session-projection'
40
56
 
57
+ - id: token-meter
58
+ name: '@qilin-agent/token-meter'
59
+
60
+ - id: compaction-basic
61
+ name: '@qilin-agent/compaction-basic'
62
+
63
+ - id: image-offload
64
+ name: '@qilin-agent/compaction-image-offload'
65
+
41
66
  - id: sandbox-policy
42
67
  name: '@qilin-agent/sandbox-policy'
43
68
  config:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qilin-agent/sdk-minimal",
3
3
  "description": "The standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessions",
4
- "version": "3.1.5",
4
+ "version": "3.1.7",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -37,37 +37,43 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@qilin-agent/kylin-plugin-timer": "~1.1.5",
41
- "@qilin-agent/agent": "3.1.5",
42
- "@qilin-agent/agent-loop": "3.1.5",
43
- "@qilin-agent/deepseek-llm-api-extensions": "3.1.5",
44
- "@qilin-agent/llm": "3.1.5",
45
- "@qilin-agent/jobs-local": "3.1.5",
46
- "@qilin-agent/llm-retry": "3.1.5",
47
- "@qilin-agent/mcp-resources": "3.1.5",
48
- "@qilin-agent/llm-deepseek-api-key": "3.1.5",
49
- "@qilin-agent/plugin-package-inventory-deepseek": "3.1.5",
50
- "@qilin-agent/sandbox-local": "3.1.5",
51
- "@qilin-agent/sandbox-policy": "3.1.5",
52
- "@qilin-agent/sdk-app": "3.1.5",
53
- "@qilin-agent/session": "3.1.5",
54
- "@qilin-agent/session-log-deepseek": "3.1.5",
55
- "@qilin-agent/session-title": "3.1.5",
56
- "@qilin-agent/sdk-jsonrpc-server": "3.1.5",
57
- "@qilin-agent/session-persistence-jsonl": "3.1.5",
58
- "@qilin-agent/subprocess-local": "3.1.5",
59
- "@qilin-agent/system-prompt": "3.1.5",
60
- "@qilin-agent/session-projection": "3.1.5",
61
- "@qilin-agent/terminal": "3.1.5",
62
- "@qilin-agent/terminal-bash": "3.1.5",
63
- "@qilin-agent/tool-bash-persistent": "3.1.5",
64
- "@qilin-agent/tool-pwsh-persistent": "3.1.5",
65
- "@qilin-agent/tools": "3.1.5"
40
+ "@qilin-agent/kylin-plugin-timer": "~1.1.7",
41
+ "@qilin-agent/agent": "3.1.7",
42
+ "@qilin-agent/agent-loop": "3.1.7",
43
+ "@qilin-agent/attachment-local": "3.1.7",
44
+ "@qilin-agent/compaction-image-offload": "3.1.7",
45
+ "@qilin-agent/compaction-basic": "3.1.7",
46
+ "@qilin-agent/deepseek-llm-api-extensions": "3.1.7",
47
+ "@qilin-agent/fs-local": "3.1.7",
48
+ "@qilin-agent/jobs-local": "3.1.7",
49
+ "@qilin-agent/llm-deepseek-api-key": "3.1.7",
50
+ "@qilin-agent/llm": "3.1.7",
51
+ "@qilin-agent/mcp-resources": "3.1.7",
52
+ "@qilin-agent/plugin-package-inventory-deepseek": "3.1.7",
53
+ "@qilin-agent/llm-retry": "3.1.7",
54
+ "@qilin-agent/sandbox-local": "3.1.7",
55
+ "@qilin-agent/sdk-jsonrpc-server": "3.1.7",
56
+ "@qilin-agent/sandbox-policy": "3.1.7",
57
+ "@qilin-agent/session": "3.1.7",
58
+ "@qilin-agent/sdk-app": "3.1.7",
59
+ "@qilin-agent/session-log-deepseek": "3.1.7",
60
+ "@qilin-agent/session-persistence-jsonl": "3.1.7",
61
+ "@qilin-agent/session-projection": "3.1.7",
62
+ "@qilin-agent/session-title": "3.1.7",
63
+ "@qilin-agent/subprocess-local": "3.1.7",
64
+ "@qilin-agent/system-prompt": "3.1.7",
65
+ "@qilin-agent/terminal": "3.1.7",
66
+ "@qilin-agent/terminal-bash": "3.1.7",
67
+ "@qilin-agent/token-meter": "3.1.7",
68
+ "@qilin-agent/tool-fs": "3.1.7",
69
+ "@qilin-agent/tool-pwsh-persistent": "3.1.7",
70
+ "@qilin-agent/tool-bash-persistent": "3.1.7",
71
+ "@qilin-agent/tools": "3.1.7"
66
72
  },
67
73
  "peerDependencies": {
68
- "@qilin-agent/kylin": "~4.0.3"
74
+ "@qilin-agent/kylin": "~4.0.5"
69
75
  },
70
76
  "devDependencies": {
71
- "@qilin-agent/kylin": "~4.0.3"
77
+ "@qilin-agent/kylin": "~4.0.5"
72
78
  }
73
79
  }