@gengjiawen/os-init 1.20.0 → 1.21.0
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 +7 -0
- package/build/claude-code.js +13 -1
- package/libs/claude-code.test.ts +7 -0
- package/libs/claude-code.ts +13 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.21.0](https://github.com/gengjiawen/os-init/compare/v1.20.0...v1.21.0) (2026-03-31)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* limit claude code context defaults ([bc40196](https://github.com/gengjiawen/os-init/commit/bc40196bbb4be0187ebbd2ed6a695808636b3554))
|
|
9
|
+
|
|
3
10
|
## [1.20.0](https://github.com/gengjiawen/os-init/compare/v1.19.0...v1.20.0) (2026-03-27)
|
|
4
11
|
|
|
5
12
|
|
package/build/claude-code.js
CHANGED
|
@@ -9,6 +9,8 @@ const execa_1 = require("execa");
|
|
|
9
9
|
const jsonc_parser_1 = require("jsonc-parser");
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
11
|
const CLAUDE_BASE_URL = 'https://ai.gengjiawen.com/api/claude/';
|
|
12
|
+
const CLAUDE_AUTO_COMPACT_WINDOW = '128000';
|
|
13
|
+
const CLAUDE_DISABLE_1M_CONTEXT = '1';
|
|
12
14
|
function getClaudeSettingsDir() {
|
|
13
15
|
return path.join(os.homedir(), '.claude');
|
|
14
16
|
}
|
|
@@ -29,7 +31,9 @@ const CLAUDE_SETTINGS_TEMPLATE = `{
|
|
|
29
31
|
"OTEL_METRICS_EXPORTER": "otlp",
|
|
30
32
|
"ANTHROPIC_API_KEY": "API_KEY_PLACEHOLDER",
|
|
31
33
|
"ANTHROPIC_BASE_URL": "${CLAUDE_BASE_URL}",
|
|
32
|
-
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
|
|
34
|
+
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
|
|
35
|
+
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "${CLAUDE_AUTO_COMPACT_WINDOW}",
|
|
36
|
+
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "${CLAUDE_DISABLE_1M_CONTEXT}"
|
|
33
37
|
},
|
|
34
38
|
"includeCoAuthoredBy": false,
|
|
35
39
|
"apiKeyHelper": "echo 'API_KEY_PLACEHOLDER'",
|
|
@@ -63,6 +67,14 @@ function writeVSCodeClaudePluginConfig(apiKey) {
|
|
|
63
67
|
{ name: 'ANTHROPIC_BASE_URL', value: CLAUDE_BASE_URL },
|
|
64
68
|
{ name: 'ANTHROPIC_AUTH_TOKEN', value: apiKey },
|
|
65
69
|
{ name: 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC', value: '1' },
|
|
70
|
+
{
|
|
71
|
+
name: 'CLAUDE_CODE_AUTO_COMPACT_WINDOW',
|
|
72
|
+
value: CLAUDE_AUTO_COMPACT_WINDOW,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'CLAUDE_CODE_DISABLE_1M_CONTEXT',
|
|
76
|
+
value: CLAUDE_DISABLE_1M_CONTEXT,
|
|
77
|
+
},
|
|
66
78
|
], {
|
|
67
79
|
formattingOptions: {
|
|
68
80
|
insertSpaces: true,
|
package/libs/claude-code.test.ts
CHANGED
|
@@ -74,6 +74,10 @@ describe('writeClaudeConfig', () => {
|
|
|
74
74
|
expect(claudeSettings).toContain(
|
|
75
75
|
'"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"'
|
|
76
76
|
)
|
|
77
|
+
expect(claudeSettings).toContain(
|
|
78
|
+
'"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "128000"'
|
|
79
|
+
)
|
|
80
|
+
expect(claudeSettings).toContain('"CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"')
|
|
77
81
|
|
|
78
82
|
const vscodeSettings = fs.readFileSync(result.vscodeSettingsPath, 'utf8')
|
|
79
83
|
expect(vscodeSettings).toContain('"editor.fontSize": 14')
|
|
@@ -83,6 +87,9 @@ describe('writeClaudeConfig', () => {
|
|
|
83
87
|
expect(vscodeSettings).toContain(
|
|
84
88
|
'"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC"'
|
|
85
89
|
)
|
|
90
|
+
expect(vscodeSettings).toContain('"CLAUDE_CODE_AUTO_COMPACT_WINDOW"')
|
|
91
|
+
expect(vscodeSettings).toContain('"128000"')
|
|
92
|
+
expect(vscodeSettings).toContain('"CLAUDE_CODE_DISABLE_1M_CONTEXT"')
|
|
86
93
|
expect(vscodeSettings).toContain('"1"')
|
|
87
94
|
expect(vscodeSettings).toContain('"test-api-key"')
|
|
88
95
|
})
|
package/libs/claude-code.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { ParseError, applyEdits, modify, parse } from 'jsonc-parser'
|
|
|
6
6
|
import { ensureDir, commandExists, PNPM_INSTALL_ENV } from './utils'
|
|
7
7
|
|
|
8
8
|
const CLAUDE_BASE_URL = 'https://ai.gengjiawen.com/api/claude/'
|
|
9
|
+
const CLAUDE_AUTO_COMPACT_WINDOW = '128000'
|
|
10
|
+
const CLAUDE_DISABLE_1M_CONTEXT = '1'
|
|
9
11
|
|
|
10
12
|
/** Return Claude settings directory path */
|
|
11
13
|
function getClaudeSettingsDir(): string {
|
|
@@ -43,7 +45,9 @@ const CLAUDE_SETTINGS_TEMPLATE = `{
|
|
|
43
45
|
"OTEL_METRICS_EXPORTER": "otlp",
|
|
44
46
|
"ANTHROPIC_API_KEY": "API_KEY_PLACEHOLDER",
|
|
45
47
|
"ANTHROPIC_BASE_URL": "${CLAUDE_BASE_URL}",
|
|
46
|
-
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
|
|
48
|
+
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
|
|
49
|
+
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "${CLAUDE_AUTO_COMPACT_WINDOW}",
|
|
50
|
+
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "${CLAUDE_DISABLE_1M_CONTEXT}"
|
|
47
51
|
},
|
|
48
52
|
"includeCoAuthoredBy": false,
|
|
49
53
|
"apiKeyHelper": "echo 'API_KEY_PLACEHOLDER'",
|
|
@@ -95,6 +99,14 @@ function writeVSCodeClaudePluginConfig(apiKey: string): {
|
|
|
95
99
|
{ name: 'ANTHROPIC_BASE_URL', value: CLAUDE_BASE_URL },
|
|
96
100
|
{ name: 'ANTHROPIC_AUTH_TOKEN', value: apiKey },
|
|
97
101
|
{ name: 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC', value: '1' },
|
|
102
|
+
{
|
|
103
|
+
name: 'CLAUDE_CODE_AUTO_COMPACT_WINDOW',
|
|
104
|
+
value: CLAUDE_AUTO_COMPACT_WINDOW,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'CLAUDE_CODE_DISABLE_1M_CONTEXT',
|
|
108
|
+
value: CLAUDE_DISABLE_1M_CONTEXT,
|
|
109
|
+
},
|
|
98
110
|
],
|
|
99
111
|
{
|
|
100
112
|
formattingOptions: {
|