@knyazevai/dsh 0.1.3 → 0.1.4
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.md +3 -5
- package/cordis.patch.yml +6 -22
- package/lib/provider.js +74 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ git clone https://github.com/knyazev741/deepseek-harness
|
|
|
44
44
|
cd deepseek-harness
|
|
45
45
|
pnpm install
|
|
46
46
|
pnpm run build
|
|
47
|
-
pnpm dsh plugin --profile web add @knyazevai/dsh
|
|
47
|
+
pnpm dsh plugin --profile fork-web add -w @knyazevai/dsh@0.1.4
|
|
48
48
|
pnpm dsh web
|
|
49
49
|
```
|
|
50
50
|
|
|
@@ -101,15 +101,13 @@ git push origin v0.1.1 # пуш тега запускает тесты + пуб
|
|
|
101
101
|
|
|
102
102
|
Тесты перед публикацией идут сами (`prepublishOnly` в `package.json`).
|
|
103
103
|
|
|
104
|
-
Установка **по имени** —
|
|
104
|
+
Установка **по имени** — на любой машине:
|
|
105
105
|
|
|
106
106
|
```sh
|
|
107
|
-
npx @deepseek-ai/dsh plugin --profile web add @knyazevai/dsh
|
|
107
|
+
npx @deepseek-ai/dsh plugin --profile web add -w @knyazevai/dsh
|
|
108
108
|
npx @deepseek-ai/dsh web
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
Пока пакет не на npm — действует установка с GitHub из раздела «Установка».
|
|
112
|
-
|
|
113
111
|
## Docs
|
|
114
112
|
|
|
115
113
|
https://knyazevai.work/docs
|
package/cordis.patch.yml
CHANGED
|
@@ -76,25 +76,9 @@
|
|
|
76
76
|
provider: knyazev-ai
|
|
77
77
|
model: deepseek-v4-flash
|
|
78
78
|
|
|
79
|
-
#
|
|
80
|
-
#
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
# and maxOverflowRetries are bumped so a slow gateway prefill gets more chances.
|
|
86
|
-
- id: compaction-basic
|
|
87
|
-
config:
|
|
88
|
-
maxSummarizationInputTokens: 0
|
|
89
|
-
compactionRetries: 2
|
|
90
|
-
maxOverflowRetries: 2
|
|
91
|
-
modelPolicies:
|
|
92
|
-
- provider: knyazev-ai
|
|
93
|
-
model: deepseek-v4-flash
|
|
94
|
-
maxSummarizationInputTokens: 131072
|
|
95
|
-
- provider: knyazev-ai
|
|
96
|
-
model: kimi-2.6
|
|
97
|
-
maxSummarizationInputTokens: 131072
|
|
98
|
-
- provider: knyazev-ai
|
|
99
|
-
model: minimax-2.7
|
|
100
|
-
maxSummarizationInputTokens: 131072
|
|
79
|
+
# Agent Presets mount compaction in a nested `compaction` group. The deployment
|
|
80
|
+
# plugin contributes a complete group replacement to standard, code, and
|
|
81
|
+
# cordis at preset-mount time, while minimal intentionally keeps no compaction.
|
|
82
|
+
- insert:
|
|
83
|
+
- id: knyazev-ai-compaction
|
|
84
|
+
name: '@knyazevai/dsh'
|
package/lib/provider.js
CHANGED
|
@@ -6,6 +6,80 @@ export const BASE_URL = "https://knyazevai.work/v1";
|
|
|
6
6
|
export const DEFAULT_MODEL_ID = "deepseek-v4-flash";
|
|
7
7
|
export const DEFAULT_REASONING = "max";
|
|
8
8
|
|
|
9
|
+
/** Cordis plugin name for the per-agent-preset compaction overlay. */
|
|
10
|
+
export const name = "knyazev-ai-compaction";
|
|
11
|
+
|
|
12
|
+
/** No required services: headless profiles do not compose Agent Presets. */
|
|
13
|
+
export const inject = [];
|
|
14
|
+
|
|
15
|
+
const AGENT_PRESET_PATCH_CONTRIBUTOR = Symbol.for("dsh.agent-presets.patch-contributor");
|
|
16
|
+
|
|
17
|
+
const COMPACTION_PATCH = {
|
|
18
|
+
id: "compaction",
|
|
19
|
+
config: [
|
|
20
|
+
{
|
|
21
|
+
id: "compaction-basic",
|
|
22
|
+
name: "@deepseek-ai/dsh-compaction-basic",
|
|
23
|
+
config: {
|
|
24
|
+
maxSummarizationInputTokens: 0,
|
|
25
|
+
compactionRetries: 2,
|
|
26
|
+
maxOverflowRetries: 2,
|
|
27
|
+
modelPolicies: [
|
|
28
|
+
{
|
|
29
|
+
provider: "knyazev-ai",
|
|
30
|
+
model: "deepseek-v4-flash",
|
|
31
|
+
thresholdRatio: 0.5,
|
|
32
|
+
maxSummarizationInputTokens: 131072,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
provider: "knyazev-ai",
|
|
36
|
+
model: "kimi-2.6",
|
|
37
|
+
maxSummarizationInputTokens: 131072,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
provider: "knyazev-ai",
|
|
41
|
+
model: "minimax-2.7",
|
|
42
|
+
maxSummarizationInputTokens: 131072,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "command-compact",
|
|
49
|
+
name: "@deepseek-ai/dsh-command-compact",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "tool-result-pruner",
|
|
53
|
+
name: "@deepseek-ai/dsh-compaction-tool-result-pruner",
|
|
54
|
+
config: {
|
|
55
|
+
thresholdChars: 8192,
|
|
56
|
+
headChars: 4096,
|
|
57
|
+
tailChars: 1024,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const COMPACTION_PRESET_IDS = ["standard", "code", "cordis"];
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Contribute the compaction group to the shipped presets that own it.
|
|
67
|
+
*
|
|
68
|
+
* The contributor face is optional so the provider remains loadable on older
|
|
69
|
+
* Harness builds; those builds simply retain their stored preset composition.
|
|
70
|
+
*/
|
|
71
|
+
export function apply(ctx) {
|
|
72
|
+
ctx.inject(["agentPresets"], (childCtx) => {
|
|
73
|
+
const agentPresets = typeof childCtx.get === "function" ? childCtx.get("agentPresets") : childCtx.agentPresets;
|
|
74
|
+
const contributor = agentPresets?.[AGENT_PRESET_PATCH_CONTRIBUTOR];
|
|
75
|
+
if (contributor === undefined || typeof contributor.register !== "function") return;
|
|
76
|
+
|
|
77
|
+
for (const presetId of COMPACTION_PRESET_IDS) {
|
|
78
|
+
contributor.register({ presetId, patches: [COMPACTION_PATCH] });
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
9
83
|
export const REASONING_EFFORTS = Object.freeze({
|
|
10
84
|
off: null,
|
|
11
85
|
high: "high",
|