@hithink-tech/hithink-finance-cli 0.1.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 +5 -0
- package/LICENSE +21 -0
- package/README.md +161 -0
- package/SECURITY.md +3 -0
- package/dist/application/config.d.ts +44 -0
- package/dist/application/config.js +111 -0
- package/dist/application/ports/auth-provider.d.ts +23 -0
- package/dist/application/ports/auth-provider.js +2 -0
- package/dist/application/source-policy.d.ts +13 -0
- package/dist/application/source-policy.js +31 -0
- package/dist/application/use-cases/data-clean.d.ts +2 -0
- package/dist/application/use-cases/data-clean.js +18 -0
- package/dist/application/use-cases/data-init.d.ts +4 -0
- package/dist/application/use-cases/data-init.js +9 -0
- package/dist/application/use-cases/data-remove.d.ts +2 -0
- package/dist/application/use-cases/data-remove.js +27 -0
- package/dist/application/use-cases/data-repair.d.ts +5 -0
- package/dist/application/use-cases/data-repair.js +5 -0
- package/dist/application/use-cases/data-sync.d.ts +25 -0
- package/dist/application/use-cases/data-sync.js +55 -0
- package/dist/application/use-cases/local-query.d.ts +4 -0
- package/dist/application/use-cases/local-query.js +88 -0
- package/dist/application/use-cases/market-history.d.ts +8 -0
- package/dist/application/use-cases/market-history.js +16 -0
- package/dist/application/use-cases/market-panel.d.ts +3 -0
- package/dist/application/use-cases/market-panel.js +5 -0
- package/dist/application/use-cases/remote-query.d.ts +4 -0
- package/dist/application/use-cases/remote-query.js +66 -0
- package/dist/cli/context.d.ts +17 -0
- package/dist/cli/context.js +52 -0
- package/dist/cli/i18n.d.ts +23 -0
- package/dist/cli/i18n.js +150 -0
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +80 -0
- package/dist/cli/program.d.ts +20 -0
- package/dist/cli/program.js +111 -0
- package/dist/commands/auth/index.d.ts +10 -0
- package/dist/commands/auth/index.js +131 -0
- package/dist/commands/config/index.d.ts +13 -0
- package/dist/commands/config/index.js +26 -0
- package/dist/commands/data/index.d.ts +10 -0
- package/dist/commands/data/index.js +185 -0
- package/dist/commands/db/index.d.ts +4 -0
- package/dist/commands/db/index.js +72 -0
- package/dist/commands/financials/index.d.ts +5 -0
- package/dist/commands/financials/index.js +6 -0
- package/dist/commands/index/index.d.ts +5 -0
- package/dist/commands/index/index.js +6 -0
- package/dist/commands/market/index.d.ts +5 -0
- package/dist/commands/market/index.js +6 -0
- package/dist/commands/market/local.d.ts +4 -0
- package/dist/commands/market/local.js +97 -0
- package/dist/commands/remote.d.ts +11 -0
- package/dist/commands/remote.js +195 -0
- package/dist/commands/skills/index.d.ts +4 -0
- package/dist/commands/skills/index.js +43 -0
- package/dist/commands/special/index.d.ts +5 -0
- package/dist/commands/special/index.js +6 -0
- package/dist/commands/symbol/index.d.ts +5 -0
- package/dist/commands/symbol/index.js +6 -0
- package/dist/commands/system/capabilities.d.ts +4 -0
- package/dist/commands/system/capabilities.js +24 -0
- package/dist/commands/system/doctor.d.ts +4 -0
- package/dist/commands/system/doctor.js +15 -0
- package/dist/commands/system/schema.d.ts +4 -0
- package/dist/commands/system/schema.js +47 -0
- package/dist/commands/system/uninstall.d.ts +11 -0
- package/dist/commands/system/uninstall.js +68 -0
- package/dist/commands/system/update.d.ts +11 -0
- package/dist/commands/system/update.js +72 -0
- package/dist/contracts/envelope.d.ts +37 -0
- package/dist/contracts/envelope.js +36 -0
- package/dist/contracts/errors.d.ts +23 -0
- package/dist/contracts/errors.js +33 -0
- package/dist/contracts/local-capabilities.d.ts +13 -0
- package/dist/contracts/local-capabilities.js +37 -0
- package/dist/contracts/registry.d.ts +9 -0
- package/dist/contracts/registry.js +4 -0
- package/dist/contracts/remote-capabilities.d.ts +24 -0
- package/dist/contracts/remote-capabilities.js +667 -0
- package/dist/domains/financials/types.d.ts +6 -0
- package/dist/domains/financials/types.js +2 -0
- package/dist/domains/index/types.d.ts +6 -0
- package/dist/domains/index/types.js +2 -0
- package/dist/domains/market/types.d.ts +6 -0
- package/dist/domains/market/types.js +2 -0
- package/dist/domains/special/types.d.ts +5 -0
- package/dist/domains/special/types.js +2 -0
- package/dist/domains/symbol/types.d.ts +6 -0
- package/dist/domains/symbol/types.js +2 -0
- package/dist/infrastructure/credentials/api-key-provider.d.ts +14 -0
- package/dist/infrastructure/credentials/api-key-provider.js +102 -0
- package/dist/infrastructure/credentials/keyring.d.ts +15 -0
- package/dist/infrastructure/credentials/keyring.js +21 -0
- package/dist/infrastructure/credentials/redact.d.ts +3 -0
- package/dist/infrastructure/credentials/redact.js +26 -0
- package/dist/infrastructure/duckdb/connection.d.ts +8 -0
- package/dist/infrastructure/duckdb/connection.js +18 -0
- package/dist/infrastructure/duckdb/dump-client.d.ts +20 -0
- package/dist/infrastructure/duckdb/dump-client.js +66 -0
- package/dist/infrastructure/duckdb/factors.d.ts +3 -0
- package/dist/infrastructure/duckdb/factors.js +83 -0
- package/dist/infrastructure/duckdb/importer.d.ts +11 -0
- package/dist/infrastructure/duckdb/importer.js +105 -0
- package/dist/infrastructure/duckdb/migrations.d.ts +17 -0
- package/dist/infrastructure/duckdb/migrations.js +92 -0
- package/dist/infrastructure/duckdb/quality.d.ts +12 -0
- package/dist/infrastructure/duckdb/quality.js +56 -0
- package/dist/infrastructure/duckdb/schema.d.ts +4 -0
- package/dist/infrastructure/duckdb/schema.js +14 -0
- package/dist/infrastructure/filesystem/atomic-file.d.ts +2 -0
- package/dist/infrastructure/filesystem/atomic-file.js +38 -0
- package/dist/infrastructure/filesystem/platform-paths.d.ts +15 -0
- package/dist/infrastructure/filesystem/platform-paths.js +42 -0
- package/dist/infrastructure/filesystem/process-lock.d.ts +6 -0
- package/dist/infrastructure/filesystem/process-lock.js +56 -0
- package/dist/infrastructure/filesystem/stdin.d.ts +5 -0
- package/dist/infrastructure/filesystem/stdin.js +9 -0
- package/dist/infrastructure/fuyao/client.d.ts +31 -0
- package/dist/infrastructure/fuyao/client.js +145 -0
- package/dist/infrastructure/fuyao/envelope.d.ts +9 -0
- package/dist/infrastructure/fuyao/envelope.js +8 -0
- package/dist/infrastructure/fuyao/pagination.d.ts +16 -0
- package/dist/infrastructure/fuyao/pagination.js +44 -0
- package/dist/infrastructure/fuyao/retry.d.ts +5 -0
- package/dist/infrastructure/fuyao/retry.js +18 -0
- package/dist/infrastructure/fuyao/windowing.d.ts +8 -0
- package/dist/infrastructure/fuyao/windowing.js +25 -0
- package/dist/infrastructure/skills/drift.d.ts +3 -0
- package/dist/infrastructure/skills/drift.js +8 -0
- package/dist/infrastructure/skills/installer.d.ts +13 -0
- package/dist/infrastructure/skills/installer.js +48 -0
- package/dist/infrastructure/skills/manifest.d.ts +11 -0
- package/dist/infrastructure/skills/manifest.js +62 -0
- package/dist/infrastructure/updater/cache.d.ts +15 -0
- package/dist/infrastructure/updater/cache.js +76 -0
- package/dist/infrastructure/updater/check.d.ts +13 -0
- package/dist/infrastructure/updater/check.js +51 -0
- package/dist/infrastructure/updater/install.d.ts +4 -0
- package/dist/infrastructure/updater/install.js +39 -0
- package/dist/output/json.d.ts +3 -0
- package/dist/output/json.js +16 -0
- package/dist/output/renderer.d.ts +4 -0
- package/dist/output/renderer.js +47 -0
- package/dist/output/table.d.ts +2 -0
- package/dist/output/table.js +31 -0
- package/migrations/001-initial.sql +95 -0
- package/migrations/manifest.json +12 -0
- package/package.json +66 -0
- package/schemas/capabilities.json +290 -0
- package/schemas/command-envelope.schema.json +12 -0
- package/scripts/postinstall.mjs +27 -0
- package/scripts/update-check.mjs +23 -0
- package/skills/hithink-finance-data/SKILL.md +74 -0
- package/skills/hithink-finance-data/references/data-clean.md +33 -0
- package/skills/hithink-finance-data/references/data-init.md +35 -0
- package/skills/hithink-finance-data/references/data-migrate.md +33 -0
- package/skills/hithink-finance-data/references/data-remove.md +33 -0
- package/skills/hithink-finance-data/references/data-repair.md +33 -0
- package/skills/hithink-finance-data/references/data-status.md +33 -0
- package/skills/hithink-finance-data/references/data-sync.md +34 -0
- package/skills/hithink-finance-data/references/data-validate.md +33 -0
- package/skills/hithink-finance-data/references/db-describe.md +33 -0
- package/skills/hithink-finance-data/references/db-export.md +33 -0
- package/skills/hithink-finance-data/references/db-query.md +33 -0
- package/skills/hithink-finance-financials/SKILL.md +59 -0
- package/skills/hithink-finance-financials/references/financials-balance-sheet.md +40 -0
- package/skills/hithink-finance-financials/references/financials-cash-flow.md +40 -0
- package/skills/hithink-finance-financials/references/financials-income.md +40 -0
- package/skills/hithink-finance-financials/references/financials-indicators.md +37 -0
- package/skills/hithink-finance-index/SKILL.md +59 -0
- package/skills/hithink-finance-index/references/index-catalog.md +36 -0
- package/skills/hithink-finance-index/references/index-constituents.md +36 -0
- package/skills/hithink-finance-index/references/index-history.md +38 -0
- package/skills/hithink-finance-index/references/index-snapshot.md +37 -0
- package/skills/hithink-finance-market/SKILL.md +63 -0
- package/skills/hithink-finance-market/references/market-adjustment-factors.md +33 -0
- package/skills/hithink-finance-market/references/market-calendar.md +35 -0
- package/skills/hithink-finance-market/references/market-corporate-actions.md +38 -0
- package/skills/hithink-finance-market/references/market-history.md +39 -0
- package/skills/hithink-finance-market/references/market-panel.md +33 -0
- package/skills/hithink-finance-market/references/market-snapshot.md +39 -0
- package/skills/hithink-finance-research/SKILL.md +58 -0
- package/skills/hithink-finance-research/references/research-workflow.md +34 -0
- package/skills/hithink-finance-shared/SKILL.md +55 -0
- package/skills/hithink-finance-shared/references/auth-and-config.md +31 -0
- package/skills/hithink-finance-shared/references/global-rules.md +21 -0
- package/skills/hithink-finance-shared/references/lifecycle.md +23 -0
- package/skills/hithink-finance-shared/references/skills-management.md +22 -0
- package/skills/hithink-finance-special-data/SKILL.md +68 -0
- package/skills/hithink-finance-special-data/references/special-anomaly-list.md +36 -0
- package/skills/hithink-finance-special-data/references/special-anomaly-stock.md +37 -0
- package/skills/hithink-finance-special-data/references/special-dragon-tiger.md +37 -0
- package/skills/hithink-finance-special-data/references/special-hot-stock-history.md +36 -0
- package/skills/hithink-finance-special-data/references/special-hot-stock-trend.md +38 -0
- package/skills/hithink-finance-special-data/references/special-hot-stock.md +36 -0
- package/skills/hithink-finance-special-data/references/special-limit-up-ladder.md +35 -0
- package/skills/hithink-finance-special-data/references/special-limit-up-pool.md +40 -0
- package/skills/hithink-finance-special-data/references/special-skyrocket.md +36 -0
- package/skills/hithink-finance-symbol/SKILL.md +56 -0
- package/skills/hithink-finance-symbol/references/symbol-list.md +39 -0
- package/skills/hithink-finance-symbol/references/symbol-search.md +39 -0
- package/skills/manifest.json +55 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1",
|
|
3
|
+
"capabilities": [
|
|
4
|
+
{
|
|
5
|
+
"id": "data.clean",
|
|
6
|
+
"command": ["data", "clean"],
|
|
7
|
+
"description": "Local capability data.clean",
|
|
8
|
+
"source": "local"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "data.init",
|
|
12
|
+
"command": ["data", "init"],
|
|
13
|
+
"description": "Local capability data.init",
|
|
14
|
+
"source": "local"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "data.migrate",
|
|
18
|
+
"command": ["data", "migrate"],
|
|
19
|
+
"description": "Local capability data.migrate",
|
|
20
|
+
"source": "local"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "data.remove",
|
|
24
|
+
"command": ["data", "remove"],
|
|
25
|
+
"description": "Local capability data.remove",
|
|
26
|
+
"source": "local"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "data.repair",
|
|
30
|
+
"command": ["data", "repair"],
|
|
31
|
+
"description": "Local capability data.repair",
|
|
32
|
+
"source": "local"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "data.status",
|
|
36
|
+
"command": ["data", "status"],
|
|
37
|
+
"description": "Local capability data.status",
|
|
38
|
+
"source": "local"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "data.sync",
|
|
42
|
+
"command": ["data", "sync"],
|
|
43
|
+
"description": "Local capability data.sync",
|
|
44
|
+
"source": "local"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "data.validate",
|
|
48
|
+
"command": ["data", "validate"],
|
|
49
|
+
"description": "Local capability data.validate",
|
|
50
|
+
"source": "local"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "db.describe",
|
|
54
|
+
"command": ["db", "describe"],
|
|
55
|
+
"description": "Local capability db.describe",
|
|
56
|
+
"source": "local"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "db.export",
|
|
60
|
+
"command": ["db", "export"],
|
|
61
|
+
"description": "Local capability db.export",
|
|
62
|
+
"source": "local"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "db.query",
|
|
66
|
+
"command": ["db", "query"],
|
|
67
|
+
"description": "Local capability db.query",
|
|
68
|
+
"source": "local"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "financials.balance-sheet",
|
|
72
|
+
"command": ["financials", "balance-sheet"],
|
|
73
|
+
"endpoint": "/api/a-share/financials/balance-sheets",
|
|
74
|
+
"method": "GET",
|
|
75
|
+
"paging": "none",
|
|
76
|
+
"window": "ten-years",
|
|
77
|
+
"source": "remote"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "financials.cash-flow",
|
|
81
|
+
"command": ["financials", "cash-flow"],
|
|
82
|
+
"endpoint": "/api/a-share/financials/cash-flow-statements",
|
|
83
|
+
"method": "GET",
|
|
84
|
+
"paging": "none",
|
|
85
|
+
"window": "ten-years",
|
|
86
|
+
"source": "remote"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "financials.income",
|
|
90
|
+
"command": ["financials", "income"],
|
|
91
|
+
"endpoint": "/api/a-share/financials/income-statements",
|
|
92
|
+
"method": "GET",
|
|
93
|
+
"paging": "none",
|
|
94
|
+
"window": "ten-years",
|
|
95
|
+
"source": "remote"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "financials.indicators",
|
|
99
|
+
"command": ["financials", "indicators"],
|
|
100
|
+
"endpoint": "/api/a-share/financials/indicators",
|
|
101
|
+
"method": "GET",
|
|
102
|
+
"paging": "none",
|
|
103
|
+
"window": "none",
|
|
104
|
+
"source": "remote"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "index.catalog",
|
|
108
|
+
"command": ["index", "catalog"],
|
|
109
|
+
"endpoint": "/api/a-share-index/catalog/ths-index-list",
|
|
110
|
+
"method": "GET",
|
|
111
|
+
"paging": "none",
|
|
112
|
+
"window": "none",
|
|
113
|
+
"source": "remote"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "index.constituents",
|
|
117
|
+
"command": ["index", "constituents"],
|
|
118
|
+
"endpoint": "/api/a-share-index/constituents/ths-stock-list",
|
|
119
|
+
"method": "GET",
|
|
120
|
+
"paging": "none",
|
|
121
|
+
"window": "none",
|
|
122
|
+
"source": "remote"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": "index.history",
|
|
126
|
+
"command": ["index", "history"],
|
|
127
|
+
"endpoint": "/api/a-share-index/prices/historical",
|
|
128
|
+
"method": "GET",
|
|
129
|
+
"paging": "none",
|
|
130
|
+
"window": "ten-years",
|
|
131
|
+
"source": "remote"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"id": "index.snapshot",
|
|
135
|
+
"command": ["index", "snapshot"],
|
|
136
|
+
"endpoint": "/api/a-share-index/prices/snapshot",
|
|
137
|
+
"method": "GET",
|
|
138
|
+
"paging": "none",
|
|
139
|
+
"window": "none",
|
|
140
|
+
"source": "remote"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "market.adjustment-factors",
|
|
144
|
+
"command": ["market", "adjustment-factors"],
|
|
145
|
+
"description": "Local capability market.adjustment-factors",
|
|
146
|
+
"source": "local"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "market.calendar",
|
|
150
|
+
"command": ["market", "calendar"],
|
|
151
|
+
"endpoint": "/api/a-share/calendar/trading-days",
|
|
152
|
+
"method": "GET",
|
|
153
|
+
"paging": "none",
|
|
154
|
+
"window": "one-year",
|
|
155
|
+
"source": "remote"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "market.corporate-actions",
|
|
159
|
+
"command": ["market", "corporate-actions"],
|
|
160
|
+
"endpoint": "/api/a-share/corporate-actions/adjustment-factors",
|
|
161
|
+
"method": "GET",
|
|
162
|
+
"paging": "none",
|
|
163
|
+
"window": "none",
|
|
164
|
+
"source": "remote"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "market.history",
|
|
168
|
+
"command": ["market", "history"],
|
|
169
|
+
"endpoint": "/api/a-share/prices/historical",
|
|
170
|
+
"method": "GET",
|
|
171
|
+
"paging": "none",
|
|
172
|
+
"window": "ten-years",
|
|
173
|
+
"source": "remote"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "market.panel",
|
|
177
|
+
"command": ["market", "panel"],
|
|
178
|
+
"description": "Local capability market.panel",
|
|
179
|
+
"source": "local"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"id": "market.snapshot",
|
|
183
|
+
"command": ["market", "snapshot"],
|
|
184
|
+
"endpoint": "/api/a-share/prices/snapshot",
|
|
185
|
+
"method": "GET",
|
|
186
|
+
"paging": "offset",
|
|
187
|
+
"window": "none",
|
|
188
|
+
"source": "remote"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"id": "special.anomaly-list",
|
|
192
|
+
"command": ["special", "anomaly-list"],
|
|
193
|
+
"endpoint": "/api/a-share/special-data/anomaly-analysis-list",
|
|
194
|
+
"method": "GET",
|
|
195
|
+
"paging": "none",
|
|
196
|
+
"window": "today-only",
|
|
197
|
+
"source": "remote"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"id": "special.anomaly-stock",
|
|
201
|
+
"command": ["special", "anomaly-stock"],
|
|
202
|
+
"endpoint": "/api/a-share/special-data/anomaly-analysis-stock",
|
|
203
|
+
"method": "GET",
|
|
204
|
+
"paging": "none",
|
|
205
|
+
"window": "today-only",
|
|
206
|
+
"source": "remote"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "special.dragon-tiger",
|
|
210
|
+
"command": ["special", "dragon-tiger"],
|
|
211
|
+
"endpoint": "/api/a-share/special-data/dragon-tiger-list",
|
|
212
|
+
"method": "GET",
|
|
213
|
+
"paging": "none",
|
|
214
|
+
"window": "one-year",
|
|
215
|
+
"source": "remote"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "special.hot-stock",
|
|
219
|
+
"command": ["special", "hot-stock"],
|
|
220
|
+
"endpoint": "/api/a-share/special-data/hot-stock-list",
|
|
221
|
+
"method": "GET",
|
|
222
|
+
"paging": "none",
|
|
223
|
+
"window": "none",
|
|
224
|
+
"source": "remote"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "special.hot-stock-history",
|
|
228
|
+
"command": ["special", "hot-stock-history"],
|
|
229
|
+
"endpoint": "/api/a-share/special-data/hot-stock-list-history",
|
|
230
|
+
"method": "GET",
|
|
231
|
+
"paging": "none",
|
|
232
|
+
"window": "one-year",
|
|
233
|
+
"source": "remote"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"id": "special.hot-stock-trend",
|
|
237
|
+
"command": ["special", "hot-stock-trend"],
|
|
238
|
+
"endpoint": "/api/a-share/special-data/hot-stock-rank-trend",
|
|
239
|
+
"method": "GET",
|
|
240
|
+
"paging": "none",
|
|
241
|
+
"window": "one-year",
|
|
242
|
+
"source": "remote"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "special.limit-up-ladder",
|
|
246
|
+
"command": ["special", "limit-up-ladder"],
|
|
247
|
+
"endpoint": "/api/a-share/special-data/limit-up-ladder",
|
|
248
|
+
"method": "GET",
|
|
249
|
+
"paging": "none",
|
|
250
|
+
"window": "none",
|
|
251
|
+
"source": "remote"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"id": "special.limit-up-pool",
|
|
255
|
+
"command": ["special", "limit-up-pool"],
|
|
256
|
+
"endpoint": "/api/a-share/special-data/limit-up-pool",
|
|
257
|
+
"method": "GET",
|
|
258
|
+
"paging": "page",
|
|
259
|
+
"window": "none",
|
|
260
|
+
"source": "remote"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"id": "special.skyrocket",
|
|
264
|
+
"command": ["special", "skyrocket"],
|
|
265
|
+
"endpoint": "/api/a-share/special-data/skyrocket-list",
|
|
266
|
+
"method": "GET",
|
|
267
|
+
"paging": "none",
|
|
268
|
+
"window": "none",
|
|
269
|
+
"source": "remote"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "symbol.list",
|
|
273
|
+
"command": ["symbol", "list"],
|
|
274
|
+
"endpoint": "/api/meta/tickers/list",
|
|
275
|
+
"method": "GET",
|
|
276
|
+
"paging": "offset",
|
|
277
|
+
"window": "none",
|
|
278
|
+
"source": "remote"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "symbol.search",
|
|
282
|
+
"command": ["symbol", "search"],
|
|
283
|
+
"endpoint": "/api/meta/tickers/search",
|
|
284
|
+
"method": "GET",
|
|
285
|
+
"paging": "none",
|
|
286
|
+
"window": "none",
|
|
287
|
+
"source": "remote"
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
4
|
+
|
|
5
|
+
const root = path.resolve(import.meta.dirname, '..');
|
|
6
|
+
const globalInstall =
|
|
7
|
+
!root.includes(`${path.sep}node_modules${path.sep}.pnpm${path.sep}`) &&
|
|
8
|
+
root.includes(`${path.sep}node_modules${path.sep}`);
|
|
9
|
+
if (globalInstall && existsSync(path.join(root, 'node_modules', 'skills', 'bin', 'cli.mjs'))) {
|
|
10
|
+
const result = spawnSync(
|
|
11
|
+
process.execPath,
|
|
12
|
+
[
|
|
13
|
+
path.join(root, 'node_modules', 'skills', 'bin', 'cli.mjs'),
|
|
14
|
+
'add',
|
|
15
|
+
path.join(root, 'skills'),
|
|
16
|
+
'--global',
|
|
17
|
+
'--copy',
|
|
18
|
+
'--all',
|
|
19
|
+
'--full-depth',
|
|
20
|
+
],
|
|
21
|
+
{ stdio: 'inherit', env: { ...process.env, DISABLE_TELEMETRY: '1' }, windowsHide: true },
|
|
22
|
+
);
|
|
23
|
+
if (result.status !== 0)
|
|
24
|
+
process.stderr.write(
|
|
25
|
+
'hithink-finance: Skills sync incomplete; run `hithink-finance skills sync --repair`.\n',
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { mkdir, rename, writeFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
|
|
4
|
+
const [packageName, cacheFile] = process.argv.slice(2);
|
|
5
|
+
if (packageName === undefined || cacheFile === undefined) process.exit(2);
|
|
6
|
+
const state = { checkedAt: Date.now(), status: 'failure' };
|
|
7
|
+
try {
|
|
8
|
+
const response = await fetch(
|
|
9
|
+
`https://registry.npmjs.org/${packageName.replace('/', '%2f')}/latest`,
|
|
10
|
+
{ signal: AbortSignal.timeout(15_000) },
|
|
11
|
+
);
|
|
12
|
+
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
13
|
+
const body = await response.json();
|
|
14
|
+
if (typeof body.version !== 'string') throw new Error('missing version');
|
|
15
|
+
state.status = 'success';
|
|
16
|
+
state.latestVersion = body.version;
|
|
17
|
+
} catch {
|
|
18
|
+
// Update checks are advisory; failure is represented only in the cache.
|
|
19
|
+
}
|
|
20
|
+
await mkdir(path.dirname(cacheFile), { recursive: true });
|
|
21
|
+
const temporary = `${cacheFile}.${process.pid}.tmp`;
|
|
22
|
+
await writeFile(temporary, `${JSON.stringify(state)}\n`, { mode: 0o600 });
|
|
23
|
+
await rename(temporary, cacheFile);
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hithink-finance-data
|
|
3
|
+
description: '用于 Agent 通过 hithink-finance CLI 管理本地 DuckDB:初始化、同步、状态、校验、迁移、修复、清理、删除、只读 SQL、导出;远端实时数据转对应业务 skill。'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# hithink-finance-data
|
|
7
|
+
|
|
8
|
+
本地数据生命周期和 SQL 入口。负责让数据可用、可校验、可导出,而不是解释所有研究结论。
|
|
9
|
+
|
|
10
|
+
## 前置条件表
|
|
11
|
+
|
|
12
|
+
| 条件 | 操作 |
|
|
13
|
+
| -------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
14
|
+
| 开始任何 CLI 调用 | 先读取并遵循 [hithink-finance-shared](../hithink-finance-shared/SKILL.md) |
|
|
15
|
+
| 不确定命令是否存在或参数是否变化 | 运行 `hithink-finance capabilities --format json`,再运行 `hithink-finance schema <id> --format json` |
|
|
16
|
+
| 需要执行下表某个命令 | 先读取对应 reference 文件,不要只凭命令名猜参数 |
|
|
17
|
+
| 结果可能是全市场、分页、多标的或长区间 | 使用命令声明的 `--output <path>` 落盘;远端 stdout 只返回摘要 |
|
|
18
|
+
|
|
19
|
+
## 快速决策
|
|
20
|
+
|
|
21
|
+
| 用户意图 | 首选命令 / 路由 |
|
|
22
|
+
| ---------------------- | --------------------------------------- |
|
|
23
|
+
| 首次建库或从 dump 导入 | `data init` |
|
|
24
|
+
| 增量/重新同步本地数据 | `data sync` |
|
|
25
|
+
| 查看库路径和 schema | `data status` |
|
|
26
|
+
| 质量校验 | `data validate` |
|
|
27
|
+
| 迁移计划或应用 | `data migrate` |
|
|
28
|
+
| 重建复权等派生数据 | `data repair` |
|
|
29
|
+
| 清理下载缓存 | `data clean` |
|
|
30
|
+
| 删除本地库 | `data remove --plan` 先预览 |
|
|
31
|
+
| 查看表/视图 | `db describe` |
|
|
32
|
+
| 只读 SQL 查询 | `db query --sql <sql>` |
|
|
33
|
+
| 大结果导出 | `db export --sql <sql> --output <file>` |
|
|
34
|
+
|
|
35
|
+
## Shortcuts
|
|
36
|
+
|
|
37
|
+
| 命令 | 何时使用 |
|
|
38
|
+
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
39
|
+
| [data clean](references/data-clean.md) | 只清理 CLI 管理的下载缓存,不删除数据库。 |
|
|
40
|
+
| [data init](references/data-init.md) | 远端初始化需要 API Key;执行前先运行 `hithink-finance auth status --format json`,未登录时到 https://fuyao.aicubes.cn/admin 获取 API Key 并运行 `hithink-finance auth login`。 |
|
|
41
|
+
| [data migrate](references/data-migrate.md) | 默认只输出迁移计划;应用迁移前让用户确认。 |
|
|
42
|
+
| [data remove](references/data-remove.md) | 高风险操作;先运行 `--plan` 报告路径和大小。 |
|
|
43
|
+
| [data repair](references/data-repair.md) | 用于重建派生复权因子等本地派生数据。 |
|
|
44
|
+
| [data status](references/data-status.md) | 本地库不存在时用于确认默认路径和 schema 状态。 |
|
|
45
|
+
| [data sync](references/data-sync.md) | 需要 API Key;执行前先运行 `hithink-finance auth status --format json`,未登录时到 https://fuyao.aicubes.cn/admin 获取 API Key 并运行 `hithink-finance auth login`。 |
|
|
46
|
+
| [data validate](references/data-validate.md) | 用于同步、迁移、研究导出前的质量门禁。 |
|
|
47
|
+
| [db describe](references/db-describe.md) | 查询本地 DuckDB 表和视图清单。 |
|
|
48
|
+
| [db export](references/db-export.md) | 用于大结果或下游 pandas/notebook 消费。 |
|
|
49
|
+
| [db query](references/db-query.md) | 只读 SQL;小结果才可直接读取 JSON。 |
|
|
50
|
+
|
|
51
|
+
## 原生命令与 schema
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
hithink-finance capabilities --format json
|
|
55
|
+
hithink-finance schema <capability-id> --format json
|
|
56
|
+
hithink-finance data <command> --help
|
|
57
|
+
hithink-finance db <command> --help
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
使用原生命令前必须先看 schema;schema 是当前 CLI 参数契约,reference 是决策和边界补充。
|
|
61
|
+
|
|
62
|
+
## 权限表
|
|
63
|
+
|
|
64
|
+
| 命令类型 | 要求 |
|
|
65
|
+
| ------------------------------ | ---------------------------------------------------------------------- |
|
|
66
|
+
| 远端服务查询 | API Key 来自系统凭据库、`HITHINK_FINANCE_API_KEY` 或 `--api-key-stdin` |
|
|
67
|
+
| 本地 DuckDB 查询/导出 | 本地库存在且 schema 兼容;可用全局 `--db <path>` 指定 |
|
|
68
|
+
| 删除、迁移、修复等有副作用操作 | 先预览或说明影响;需要用户明确确认时才加 `--yes` |
|
|
69
|
+
|
|
70
|
+
## 边界声明
|
|
71
|
+
|
|
72
|
+
- SQL 必须只读;写入、DDL、删除或外部副作用不属于 `db query`。
|
|
73
|
+
- 删除数据库或清除数据前先用 plan/状态输出让用户确认,真正删除需要显式 `--yes`。
|
|
74
|
+
- 查询结果很多时用 `db export --output <file>`,不要回显全表。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `hithink-finance data clean`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.clean --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 只清理 CLI 管理的下载缓存,不删除数据库。
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hithink-finance schema data.clean --format json
|
|
14
|
+
hithink-finance data clean --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 参数选择策略
|
|
18
|
+
|
|
19
|
+
- 当前实现清理 cache;仍使用 `--format json` 读取结果。
|
|
20
|
+
|
|
21
|
+
## 窗口与分页
|
|
22
|
+
|
|
23
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
24
|
+
|
|
25
|
+
## 常见错误
|
|
26
|
+
|
|
27
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
28
|
+
- 不要把 cache 清理当作数据库删除。
|
|
29
|
+
|
|
30
|
+
## 批量操作说明
|
|
31
|
+
|
|
32
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
33
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# `hithink-finance data init`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.init --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 远端初始化需要 API Key;执行前先运行 `hithink-finance auth status --format json`,未登录时到 https://fuyao.aicubes.cn/admin 获取 API Key 并运行 `hithink-finance auth login`。
|
|
9
|
+
- 本地文件导入必须同时提供 `--kline` 和 `--events`。
|
|
10
|
+
|
|
11
|
+
## 命令
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
hithink-finance schema data.init --format json
|
|
15
|
+
hithink-finance data init --kline <kline.parquet> --events <events.parquet> --format json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 参数选择策略
|
|
19
|
+
|
|
20
|
+
- `--kline <path>` 与 `--events <path>` 成对出现;可选 `--symbols <path>`。
|
|
21
|
+
- 省略本地文件时从远端 Market Dump 初始化,使用全局 `--profile` / `--api-key-stdin`。
|
|
22
|
+
|
|
23
|
+
## 窗口与分页
|
|
24
|
+
|
|
25
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
26
|
+
|
|
27
|
+
## 常见错误
|
|
28
|
+
|
|
29
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
30
|
+
- 只给 `--kline` 或只给 `--events` 会失败;两者必须成对。
|
|
31
|
+
|
|
32
|
+
## 批量操作说明
|
|
33
|
+
|
|
34
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
35
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `hithink-finance data migrate`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.migrate --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 默认只输出迁移计划;应用迁移前让用户确认。
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hithink-finance schema data.migrate --format json
|
|
14
|
+
hithink-finance data migrate --apply --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 参数选择策略
|
|
18
|
+
|
|
19
|
+
- `--apply` 应用迁移;重型迁移需要 `--allow-heavy`。
|
|
20
|
+
|
|
21
|
+
## 窗口与分页
|
|
22
|
+
|
|
23
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
24
|
+
|
|
25
|
+
## 常见错误
|
|
26
|
+
|
|
27
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
28
|
+
- 看到重型迁移提示时不要自动加 `--allow-heavy`。
|
|
29
|
+
|
|
30
|
+
## 批量操作说明
|
|
31
|
+
|
|
32
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
33
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `hithink-finance data remove`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.remove --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 高风险操作;先运行 `--plan` 报告路径和大小。
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hithink-finance schema data.remove --format json
|
|
14
|
+
hithink-finance data remove --plan --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 参数选择策略
|
|
18
|
+
|
|
19
|
+
- 真正删除需要全局 `--yes`;可用全局 `--db <path>` 指定目标。
|
|
20
|
+
|
|
21
|
+
## 窗口与分页
|
|
22
|
+
|
|
23
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
24
|
+
|
|
25
|
+
## 常见错误
|
|
26
|
+
|
|
27
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
28
|
+
- 没有用户明确确认时不要追加 `--yes`。
|
|
29
|
+
|
|
30
|
+
## 批量操作说明
|
|
31
|
+
|
|
32
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
33
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `hithink-finance data repair`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.repair --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 用于重建派生复权因子等本地派生数据。
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hithink-finance schema data.repair --format json
|
|
14
|
+
hithink-finance data repair --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 参数选择策略
|
|
18
|
+
|
|
19
|
+
- 可用全局 `--db <path>` 指定库。
|
|
20
|
+
|
|
21
|
+
## 窗口与分页
|
|
22
|
+
|
|
23
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
24
|
+
|
|
25
|
+
## 常见错误
|
|
26
|
+
|
|
27
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
28
|
+
- 修复前后建议跑 `data validate` 复核。
|
|
29
|
+
|
|
30
|
+
## 批量操作说明
|
|
31
|
+
|
|
32
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
33
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `hithink-finance data status`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.status --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 本地库不存在时用于确认默认路径和 schema 状态。
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hithink-finance schema data.status --format json
|
|
14
|
+
hithink-finance data status --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 参数选择策略
|
|
18
|
+
|
|
19
|
+
- 可用全局 `--db <path>` 指定库。
|
|
20
|
+
|
|
21
|
+
## 窗口与分页
|
|
22
|
+
|
|
23
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
24
|
+
|
|
25
|
+
## 常见错误
|
|
26
|
+
|
|
27
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
28
|
+
- schema 过新时升级 CLI;schema 过旧时看 `data migrate`。
|
|
29
|
+
|
|
30
|
+
## 批量操作说明
|
|
31
|
+
|
|
32
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
33
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `hithink-finance data sync`
|
|
2
|
+
|
|
3
|
+
## 前置条件
|
|
4
|
+
|
|
5
|
+
- 先读取本 skill 的 `SKILL.md` 和 `../hithink-finance-shared/SKILL.md`。
|
|
6
|
+
- 执行前用 `hithink-finance schema data.sync --format json` 确认当前参数契约。
|
|
7
|
+
- 本地命令通常需要可用 DuckDB 或本地数据目录。
|
|
8
|
+
- 需要 API Key;执行前先运行 `hithink-finance auth status --format json`,未登录时到 https://fuyao.aicubes.cn/admin 获取 API Key 并运行 `hithink-finance auth login`。
|
|
9
|
+
- 命令会持有数据锁,避免并发写库。
|
|
10
|
+
|
|
11
|
+
## 命令
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
hithink-finance schema data.sync --format json
|
|
15
|
+
hithink-finance data sync --format json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 参数选择策略
|
|
19
|
+
|
|
20
|
+
- 使用全局 `--db` 指定库路径;默认路径来自平台数据目录。
|
|
21
|
+
|
|
22
|
+
## 窗口与分页
|
|
23
|
+
|
|
24
|
+
- 本地命令无远端分页;只有声明 `--output` 的命令可直接落盘;其他大结果改用导出命令。
|
|
25
|
+
|
|
26
|
+
## 常见错误
|
|
27
|
+
|
|
28
|
+
- 本地库不存在或 schema 不兼容时先运行 `data status` / `data migrate`。
|
|
29
|
+
- 认证失败时先回到 shared skill 的 auth 流程。
|
|
30
|
+
|
|
31
|
+
## 批量操作说明
|
|
32
|
+
|
|
33
|
+
- 批量或全量请求必须落盘,最终只报告路径、行数和窗口。
|
|
34
|
+
- 如果需要多标的循环,逐批执行并记录每批参数;不要把完整结果塞进上下文。
|