@hedgehog-finance/hedgehog-plugin 1.0.21 → 1.0.23
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/dist/index.d.ts +4 -3
- package/dist/index.js +49 -6
- package/dist/index.js.map +1 -1
- package/dist/setup-api.d.ts +2 -0
- package/dist/setup-api.js +8 -0
- package/dist/setup-api.js.map +1 -0
- package/dist/src/channel.js +25 -23
- package/dist/src/channel.js.map +1 -1
- package/dist/src/core/database.js +449 -39
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/dailyMorningBriefingCron.d.ts +46 -0
- package/dist/src/dailyMorningBriefingCron.js +82 -0
- package/dist/src/dailyMorningBriefingCron.js.map +1 -0
- package/dist/src/features/chartOutput.d.ts +2 -0
- package/dist/src/features/chartOutput.js +35 -0
- package/dist/src/features/chartOutput.js.map +1 -0
- package/dist/src/features/dailyMorningBriefing/schema.d.ts +56 -0
- package/dist/src/features/dailyMorningBriefing/schema.js +22 -0
- package/dist/src/features/dailyMorningBriefing/schema.js.map +1 -0
- package/dist/src/features/dailyMorningBriefing/tools.d.ts +12 -0
- package/dist/src/features/dailyMorningBriefing/tools.js +204 -0
- package/dist/src/features/dailyMorningBriefing/tools.js.map +1 -0
- package/dist/src/features/deepReasoning/schema.d.ts +43 -0
- package/dist/src/features/deepReasoning/schema.js +17 -0
- package/dist/src/features/deepReasoning/schema.js.map +1 -0
- package/dist/src/features/deepReasoning/tools.d.ts +12 -0
- package/dist/src/features/deepReasoning/tools.js +163 -0
- package/dist/src/features/deepReasoning/tools.js.map +1 -0
- package/dist/src/features/index.d.ts +2 -1
- package/dist/src/features/index.js +9 -1
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/features/informationVerification/schema.d.ts +43 -0
- package/dist/src/features/informationVerification/schema.js +17 -0
- package/dist/src/features/informationVerification/schema.js.map +1 -0
- package/dist/src/features/informationVerification/tools.d.ts +12 -0
- package/dist/src/features/informationVerification/tools.js +162 -0
- package/dist/src/features/informationVerification/tools.js.map +1 -0
- package/dist/src/features/notes/schema.d.ts +136 -39
- package/dist/src/features/notes/schema.js +13 -10
- package/dist/src/features/notes/schema.js.map +1 -1
- package/dist/src/features/notes/tools.d.ts +1 -0
- package/dist/src/features/notes/tools.js +47 -14
- package/dist/src/features/notes/tools.js.map +1 -1
- package/dist/src/features/pluginInfo/schema.d.ts +79 -0
- package/dist/src/features/pluginInfo/schema.js +14 -0
- package/dist/src/features/pluginInfo/schema.js.map +1 -0
- package/dist/src/features/pluginInfo/tools.d.ts +1 -0
- package/dist/src/features/pluginInfo/tools.js +157 -2
- package/dist/src/features/pluginInfo/tools.js.map +1 -1
- package/dist/src/features/profileLibrary/schema.d.ts +34 -6
- package/dist/src/features/profileLibrary/schema.js +1 -1
- package/dist/src/features/profileLibrary/schema.js.map +1 -1
- package/dist/src/features/stockAnalysis/schema.d.ts +224 -31
- package/dist/src/features/stockAnalysis/schema.js +76 -12
- package/dist/src/features/stockAnalysis/schema.js.map +1 -1
- package/dist/src/features/stockAnalysis/tools.d.ts +6 -4
- package/dist/src/features/stockAnalysis/tools.js +389 -44
- package/dist/src/features/stockAnalysis/tools.js.map +1 -1
- package/dist/src/features/stockBasic/schema.d.ts +149 -0
- package/dist/src/features/stockBasic/schema.js +26 -0
- package/dist/src/features/stockBasic/schema.js.map +1 -0
- package/dist/src/features/stockBasic/tools.d.ts +12 -0
- package/dist/src/features/stockBasic/tools.js +124 -0
- package/dist/src/features/stockBasic/tools.js.map +1 -0
- package/dist/src/features/watchlist/logic.d.ts +3 -3
- package/dist/src/features/watchlist/logic.js +47 -46
- package/dist/src/features/watchlist/logic.js.map +1 -1
- package/dist/src/features/watchlist/schema.d.ts +89 -54
- package/dist/src/features/watchlist/schema.js +7 -4
- package/dist/src/features/watchlist/schema.js.map +1 -1
- package/dist/src/features/watchlist/tools.d.ts +106 -59
- package/dist/src/features/watchlist/tools.js +182 -104
- package/dist/src/features/watchlist/tools.js.map +1 -1
- package/dist/src/openclawConfig.d.ts +6 -0
- package/dist/src/openclawConfig.js +74 -0
- package/dist/src/openclawConfig.js.map +1 -0
- package/dist/src/openclawConstants.d.ts +4 -0
- package/dist/src/openclawConstants.js +10 -0
- package/dist/src/openclawConstants.js.map +1 -0
- package/dist/src/runtime.js +20 -0
- package/dist/src/runtime.js.map +1 -1
- package/index.ts +52 -5
- package/openclaw.plugin.json +24 -0
- package/package.json +20 -5
- package/setup-api.ts +10 -0
- package/src/channel.ts +26 -25
- package/src/core/database.ts +447 -40
- package/src/dailyMorningBriefingCron.ts +129 -0
- package/src/features/chartOutput.ts +35 -0
- package/src/features/dailyMorningBriefing/schema.ts +38 -0
- package/src/features/dailyMorningBriefing/tools.ts +246 -0
- package/src/features/deepReasoning/schema.ts +22 -0
- package/src/features/deepReasoning/tools.ts +182 -0
- package/src/features/index.ts +11 -2
- package/src/features/informationVerification/schema.ts +22 -0
- package/src/features/informationVerification/tools.ts +181 -0
- package/src/features/notes/schema.ts +17 -12
- package/src/features/notes/tools.ts +54 -17
- package/src/features/pluginInfo/schema.ts +19 -0
- package/src/features/pluginInfo/tools.ts +173 -2
- package/src/features/profileLibrary/schema.ts +1 -1
- package/src/features/stockAnalysis/schema.ts +99 -17
- package/src/features/stockAnalysis/tools.ts +447 -49
- package/src/features/stockBasic/schema.ts +33 -0
- package/src/features/stockBasic/tools.ts +157 -0
- package/src/features/watchlist/logic.ts +56 -53
- package/src/features/watchlist/schema.ts +11 -6
- package/src/features/watchlist/tools.ts +191 -106
- package/src/openclawConfig.ts +101 -0
- package/src/openclawConstants.ts +11 -0
- package/src/runtime.ts +19 -0
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { z } from "
|
|
2
|
+
import { z } from "zod";
|
|
3
3
|
import { getDB } from "../../core/database.js";
|
|
4
4
|
import { logger } from "../../core/logger.js";
|
|
5
5
|
import { watchlistLogic } from "./logic.js";
|
|
6
|
-
import { AddToWatchlistParamsSchema, GetWatchlistParamsSchema, SyncCategoriesParamsSchema, BatchUpdateSortOrdersParamsSchema } from "./schema.js";
|
|
6
|
+
import { AddToWatchlistParamsSchema, GetWatchlistParamsSchema, SyncCategoriesParamsSchema, BatchUpdateSortOrdersParamsSchema, GetIndustryListParamsSchema } from "./schema.js";
|
|
7
7
|
let watchlistMutationQueue = Promise.resolve();
|
|
8
|
+
const GetWatchlistAgentToolSchema = {
|
|
9
|
+
type: "object",
|
|
10
|
+
additionalProperties: false,
|
|
11
|
+
properties: {
|
|
12
|
+
categoryId: { type: "string", description: "分类 ID,不传返回所有" },
|
|
13
|
+
categoryType: { type: "string", enum: ["industry", "theme"], description: "分类类型" }
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const GetIndustryListAgentToolSchema = {
|
|
17
|
+
type: "object",
|
|
18
|
+
additionalProperties: false,
|
|
19
|
+
properties: {
|
|
20
|
+
type: { type: "string", enum: ["industry", "theme", ""], description: "分类类型:industry 行业,theme 主题,空字符串或不传表示全部" }
|
|
21
|
+
}
|
|
22
|
+
};
|
|
8
23
|
function enqueueWatchlistMutation(task) {
|
|
9
24
|
const previous = watchlistMutationQueue;
|
|
10
25
|
let release;
|
|
@@ -27,11 +42,11 @@ function normalizeTags(input) {
|
|
|
27
42
|
function normalizeWatchlistStock(stock) {
|
|
28
43
|
return {
|
|
29
44
|
...stock,
|
|
30
|
-
|
|
45
|
+
stock_code: watchlistLogic._normalizeStockCodeForCache(stock.stock_code, stock.exchange)
|
|
31
46
|
};
|
|
32
47
|
}
|
|
33
48
|
function watchlistStockKey(stock) {
|
|
34
|
-
return `${watchlistLogic._normalizeStockCodeForCache(stock.
|
|
49
|
+
return `${watchlistLogic._normalizeStockCodeForCache(stock.stock_code, stock.exchange)}:${stock.exchange}`;
|
|
35
50
|
}
|
|
36
51
|
function updateWatchlistTags(db, watchlistId, userId, industry, theme) {
|
|
37
52
|
db.prepare("DELETE FROM watchlist_industry_items WHERE watchlistId = ? AND userId = ?").run(watchlistId, userId);
|
|
@@ -58,18 +73,83 @@ function updateWatchlistTags(db, watchlistId, userId, industry, theme) {
|
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
75
|
function upsertStockClassificationCache(db, stock, classification) {
|
|
61
|
-
const cacheCode = watchlistLogic._normalizeStockCodeForCache(stock.
|
|
62
|
-
const legacyCode = stock.
|
|
76
|
+
const cacheCode = watchlistLogic._normalizeStockCodeForCache(stock.stock_code, stock.exchange);
|
|
77
|
+
const legacyCode = stock.stock_code.trim().toUpperCase().replace(/\.(SH|SS|SZ|HK|US)$/i, "");
|
|
63
78
|
db.prepare(`
|
|
64
|
-
INSERT OR REPLACE INTO
|
|
79
|
+
INSERT OR REPLACE INTO stock_classification_cache (stock_code, exchange, stock_name, industry_classification, theme_classification)
|
|
65
80
|
VALUES (?, ?, ?, ?, ?)
|
|
66
|
-
`).run(cacheCode, stock.exchange, stock.
|
|
81
|
+
`).run(cacheCode, stock.exchange, stock.stock_name, JSON.stringify(classification.industry), JSON.stringify(classification.theme || []));
|
|
67
82
|
if (legacyCode && legacyCode !== cacheCode) {
|
|
68
83
|
db.prepare(`
|
|
69
|
-
DELETE FROM
|
|
84
|
+
DELETE FROM stock_classification_cache WHERE stock_code = ? AND exchange = ?
|
|
70
85
|
`).run(legacyCode, stock.exchange);
|
|
71
86
|
}
|
|
72
87
|
}
|
|
88
|
+
function readWatchlistRows(db, args, userId) {
|
|
89
|
+
let query;
|
|
90
|
+
const params = [];
|
|
91
|
+
if (userId) {
|
|
92
|
+
params.push(userId);
|
|
93
|
+
if (args.categoryId && args.categoryType) {
|
|
94
|
+
const table = args.categoryType === "industry" ? "watchlist_industry_items" : "watchlist_theme_items";
|
|
95
|
+
query = `
|
|
96
|
+
SELECT w.*, ci.weight as relWeight
|
|
97
|
+
FROM watchlist w
|
|
98
|
+
JOIN ${table} ci ON w.id = ci.watchlistId
|
|
99
|
+
WHERE w.userId = ? AND w.isDeleted = 0 AND ci.categoryId = ?
|
|
100
|
+
ORDER BY w.sortOrder ASC
|
|
101
|
+
`;
|
|
102
|
+
params.push(args.categoryId);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
query = `
|
|
106
|
+
SELECT w.*
|
|
107
|
+
FROM watchlist w
|
|
108
|
+
WHERE w.userId = ? AND w.isDeleted = 0
|
|
109
|
+
ORDER BY w.sortOrder ASC
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else if (args.categoryId && args.categoryType) {
|
|
114
|
+
const table = args.categoryType === "industry" ? "watchlist_industry_items" : "watchlist_theme_items";
|
|
115
|
+
query = `
|
|
116
|
+
SELECT w.*, ci.weight as relWeight
|
|
117
|
+
FROM watchlist w
|
|
118
|
+
JOIN ${table} ci ON w.id = ci.watchlistId
|
|
119
|
+
WHERE w.isDeleted = 0 AND ci.categoryId = ?
|
|
120
|
+
ORDER BY w.userId ASC, w.sortOrder ASC
|
|
121
|
+
`;
|
|
122
|
+
params.push(args.categoryId);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
query = `
|
|
126
|
+
SELECT w.*
|
|
127
|
+
FROM watchlist w
|
|
128
|
+
WHERE w.isDeleted = 0
|
|
129
|
+
ORDER BY w.userId ASC, w.sortOrder ASC
|
|
130
|
+
`;
|
|
131
|
+
}
|
|
132
|
+
return db.prepare(query).all(...params);
|
|
133
|
+
}
|
|
134
|
+
function attachWatchlistTags(db, stocks) {
|
|
135
|
+
return stocks.map(stock => {
|
|
136
|
+
const industries = db.prepare(`
|
|
137
|
+
SELECT c.name FROM industry_theme_categories c
|
|
138
|
+
JOIN watchlist_industry_items i ON c.id = i.categoryId
|
|
139
|
+
WHERE i.watchlistId = ? ORDER BY i.weight DESC
|
|
140
|
+
`).all(stock.id);
|
|
141
|
+
const themes = db.prepare(`
|
|
142
|
+
SELECT c.name FROM industry_theme_categories c
|
|
143
|
+
JOIN watchlist_theme_items t ON c.id = t.categoryId
|
|
144
|
+
WHERE t.watchlistId = ? ORDER BY t.weight DESC
|
|
145
|
+
`).all(stock.id);
|
|
146
|
+
return {
|
|
147
|
+
...stock,
|
|
148
|
+
industries: industries.map(i => i.name),
|
|
149
|
+
themes: themes.map(t => t.name)
|
|
150
|
+
};
|
|
151
|
+
});
|
|
152
|
+
}
|
|
73
153
|
export const watchlistTools = {
|
|
74
154
|
add_to_watchlist: {
|
|
75
155
|
name: "add_to_watchlist",
|
|
@@ -84,8 +164,8 @@ export const watchlistTools = {
|
|
|
84
164
|
}
|
|
85
165
|
const db = getDB();
|
|
86
166
|
const stock = normalizeWatchlistStock(args);
|
|
87
|
-
const existingBeforeClassify = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND
|
|
88
|
-
.get(uId, stock.
|
|
167
|
+
const existingBeforeClassify = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND stock_code = ? AND exchange = ?")
|
|
168
|
+
.get(uId, stock.stock_code, stock.exchange);
|
|
89
169
|
if (existingBeforeClassify?.isDeleted === 0) {
|
|
90
170
|
return JSON.stringify({ success: true, skipped: true, reason: "duplicate", id: existingBeforeClassify.id });
|
|
91
171
|
}
|
|
@@ -95,7 +175,7 @@ export const watchlistTools = {
|
|
|
95
175
|
}
|
|
96
176
|
let classification;
|
|
97
177
|
try {
|
|
98
|
-
classification = await watchlistLogic.getStockClassification(ctx.runtime, stock.
|
|
178
|
+
classification = await watchlistLogic.getStockClassification(ctx.runtime, stock.stock_name, stock.stock_code, stock.exchange, uId);
|
|
99
179
|
}
|
|
100
180
|
catch (e) {
|
|
101
181
|
return JSON.stringify({ success: false, error: e.message });
|
|
@@ -110,13 +190,13 @@ export const watchlistTools = {
|
|
|
110
190
|
const sortRow = db.prepare("SELECT MAX(sortOrder) as max FROM watchlist WHERE userId=? AND isDeleted=0").get(uId);
|
|
111
191
|
const nextOrder = (sortRow?.max ?? 0) + 1024;
|
|
112
192
|
let watchlistId;
|
|
113
|
-
const existingItem = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND
|
|
193
|
+
const existingItem = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND stock_code = ? AND exchange = ?").get(uId, stock.stock_code, stock.exchange);
|
|
114
194
|
if (existingItem) {
|
|
115
195
|
watchlistId = existingItem.id;
|
|
116
196
|
if (existingItem.isDeleted === 1) {
|
|
117
197
|
db.prepare(`
|
|
118
|
-
UPDATE watchlist SET isDeleted = 0,
|
|
119
|
-
`).run(stock.
|
|
198
|
+
UPDATE watchlist SET isDeleted = 0, stock_name = ?, sortOrder = ?, updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW') WHERE id = ?
|
|
199
|
+
`).run(stock.stock_name, nextOrder, watchlistId);
|
|
120
200
|
}
|
|
121
201
|
else {
|
|
122
202
|
db.exec("ROLLBACK");
|
|
@@ -126,9 +206,9 @@ export const watchlistTools = {
|
|
|
126
206
|
else {
|
|
127
207
|
watchlistId = randomUUID();
|
|
128
208
|
db.prepare(`
|
|
129
|
-
INSERT INTO watchlist (id, userId,
|
|
209
|
+
INSERT INTO watchlist (id, userId, stock_code, stock_name, exchange, market, sortOrder)
|
|
130
210
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
131
|
-
`).run(watchlistId, uId, stock.
|
|
211
|
+
`).run(watchlistId, uId, stock.stock_code, stock.stock_name, stock.exchange, stock.market, nextOrder);
|
|
132
212
|
}
|
|
133
213
|
upsertStockClassificationCache(db, stock, classification);
|
|
134
214
|
updateWatchlistTags(db, watchlistId, uId, classification.industry, classification.theme);
|
|
@@ -165,7 +245,7 @@ export const watchlistTools = {
|
|
|
165
245
|
const stock = normalizeWatchlistStock(rawStock);
|
|
166
246
|
const key = watchlistStockKey(stock);
|
|
167
247
|
if (inputSeen.has(key)) {
|
|
168
|
-
skipped.push({
|
|
248
|
+
skipped.push({ stock_code: stock.stock_code, exchange: stock.exchange, reason: "input_duplicate" });
|
|
169
249
|
continue;
|
|
170
250
|
}
|
|
171
251
|
inputSeen.add(key);
|
|
@@ -173,10 +253,10 @@ export const watchlistTools = {
|
|
|
173
253
|
}
|
|
174
254
|
const stocksToAdd = [];
|
|
175
255
|
for (const stock of uniqueStocks) {
|
|
176
|
-
const existing = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND
|
|
177
|
-
.get(uId, stock.
|
|
256
|
+
const existing = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND stock_code = ? AND exchange = ?")
|
|
257
|
+
.get(uId, stock.stock_code, stock.exchange);
|
|
178
258
|
if (existing?.isDeleted === 0) {
|
|
179
|
-
skipped.push({
|
|
259
|
+
skipped.push({ stock_code: stock.stock_code, exchange: stock.exchange, reason: "duplicate", id: existing.id });
|
|
180
260
|
}
|
|
181
261
|
else {
|
|
182
262
|
stocksToAdd.push(stock);
|
|
@@ -199,7 +279,7 @@ export const watchlistTools = {
|
|
|
199
279
|
catch (e) {
|
|
200
280
|
logger.warn({
|
|
201
281
|
count: stocksToAdd.length,
|
|
202
|
-
codes: stocksToAdd.map(stock => stock.
|
|
282
|
+
codes: stocksToAdd.map(stock => stock.stock_code),
|
|
203
283
|
error: e.message || String(e)
|
|
204
284
|
}, "[Watchlist] batch_add_to_watchlist classification failed");
|
|
205
285
|
return JSON.stringify({
|
|
@@ -221,28 +301,28 @@ export const watchlistTools = {
|
|
|
221
301
|
currentMaxOrder = nextOrder;
|
|
222
302
|
const classification = batchResults[i];
|
|
223
303
|
if (!classification) {
|
|
224
|
-
throw new Error(`行业/主题关系分析失败: ${stock.
|
|
304
|
+
throw new Error(`行业/主题关系分析失败: ${stock.stock_name}`);
|
|
225
305
|
}
|
|
226
306
|
let watchlistId;
|
|
227
|
-
const existingItem = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND
|
|
307
|
+
const existingItem = db.prepare("SELECT id, isDeleted FROM watchlist WHERE userId = ? AND stock_code = ? AND exchange = ?").get(uId, stock.stock_code, stock.exchange);
|
|
228
308
|
if (existingItem) {
|
|
229
309
|
watchlistId = existingItem.id;
|
|
230
310
|
if (existingItem.isDeleted === 1) {
|
|
231
311
|
db.prepare(`
|
|
232
|
-
UPDATE watchlist SET isDeleted = 0,
|
|
233
|
-
`).run(stock.
|
|
312
|
+
UPDATE watchlist SET isDeleted = 0, stock_name = ?, sortOrder = ?, updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW') WHERE id = ?
|
|
313
|
+
`).run(stock.stock_name, nextOrder, watchlistId);
|
|
234
314
|
}
|
|
235
315
|
else {
|
|
236
|
-
skipped.push({
|
|
316
|
+
skipped.push({ stock_code: stock.stock_code, exchange: stock.exchange, reason: "duplicate", id: watchlistId });
|
|
237
317
|
return;
|
|
238
318
|
}
|
|
239
319
|
}
|
|
240
320
|
else {
|
|
241
321
|
watchlistId = randomUUID();
|
|
242
322
|
db.prepare(`
|
|
243
|
-
INSERT INTO watchlist (id, userId,
|
|
323
|
+
INSERT INTO watchlist (id, userId, stock_code, stock_name, exchange, market, sortOrder)
|
|
244
324
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
245
|
-
`).run(watchlistId, uId, stock.
|
|
325
|
+
`).run(watchlistId, uId, stock.stock_code, stock.stock_name, stock.exchange, stock.market, nextOrder);
|
|
246
326
|
}
|
|
247
327
|
results.push(watchlistId);
|
|
248
328
|
writtenItems.push({ id: watchlistId, stock, classification });
|
|
@@ -278,12 +358,9 @@ export const watchlistTools = {
|
|
|
278
358
|
db.exec("BEGIN TRANSACTION");
|
|
279
359
|
try {
|
|
280
360
|
const info = db.prepare(`
|
|
281
|
-
|
|
282
|
-
SET isDeleted = 1,
|
|
283
|
-
updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
|
|
361
|
+
DELETE FROM watchlist
|
|
284
362
|
WHERE id = ?
|
|
285
363
|
AND userId = ?
|
|
286
|
-
AND isDeleted = 0
|
|
287
364
|
`).run(args.id, uId);
|
|
288
365
|
if (info.changes > 0) {
|
|
289
366
|
db.prepare("DELETE FROM watchlist_industry_items WHERE watchlistId = ? AND userId = ?").run(args.id, uId);
|
|
@@ -309,53 +386,47 @@ export const watchlistTools = {
|
|
|
309
386
|
},
|
|
310
387
|
get_watchlist: {
|
|
311
388
|
name: "get_watchlist",
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
389
|
+
label: "获取自选股",
|
|
390
|
+
description: "获取当前全部自选股列表及其行业、主题标签。",
|
|
391
|
+
parameters: GetWatchlistAgentToolSchema,
|
|
392
|
+
registerTool: true,
|
|
393
|
+
execute: async (rawArgs, ctx) => {
|
|
316
394
|
try {
|
|
395
|
+
const args = GetWatchlistParamsSchema.parse(rawArgs ?? {});
|
|
317
396
|
const db = getDB();
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
397
|
+
const stocks = readWatchlistRows(db, args, ctx?.userId ? String(ctx.userId) : undefined);
|
|
398
|
+
const fullList = attachWatchlistTags(db, stocks);
|
|
399
|
+
return JSON.stringify({ success: true, data: fullList });
|
|
400
|
+
}
|
|
401
|
+
catch (e) {
|
|
402
|
+
return JSON.stringify({ success: false, error: e.message });
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
get_industry_list: {
|
|
407
|
+
name: "get_industry_list",
|
|
408
|
+
label: "拉取申万一级行业分类或主题板块列表",
|
|
409
|
+
description: "拉取申万一级行业分类或主题板块列表。",
|
|
410
|
+
parameters: GetIndustryListAgentToolSchema,
|
|
411
|
+
registerTool: true,
|
|
412
|
+
execute: async (rawArgs) => {
|
|
413
|
+
try {
|
|
414
|
+
const args = GetIndustryListParamsSchema.parse(rawArgs ?? {});
|
|
415
|
+
const db = getDB();
|
|
416
|
+
let query = "SELECT DISTINCT name FROM industry_theme_categories";
|
|
417
|
+
const params = [];
|
|
418
|
+
const conditions = [];
|
|
419
|
+
if (args.type && args.type !== "") {
|
|
420
|
+
conditions.push("type = ?");
|
|
421
|
+
params.push(args.type);
|
|
331
422
|
}
|
|
332
|
-
|
|
333
|
-
query
|
|
334
|
-
SELECT w.*
|
|
335
|
-
FROM watchlist w
|
|
336
|
-
WHERE w.userId = ? AND w.isDeleted = 0
|
|
337
|
-
ORDER BY w.sortOrder ASC
|
|
338
|
-
`;
|
|
423
|
+
if (conditions.length > 0) {
|
|
424
|
+
query += ` WHERE ${conditions.join(" AND ")}`;
|
|
339
425
|
}
|
|
340
|
-
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
JOIN watchlist_industry_items i ON c.id = i.categoryId
|
|
345
|
-
WHERE i.watchlistId = ? ORDER BY i.weight DESC
|
|
346
|
-
`).all(stock.id);
|
|
347
|
-
const themes = db.prepare(`
|
|
348
|
-
SELECT c.name FROM watchlist_categories c
|
|
349
|
-
JOIN watchlist_theme_items t ON c.id = t.categoryId
|
|
350
|
-
WHERE t.watchlistId = ? ORDER BY t.weight DESC
|
|
351
|
-
`).all(stock.id);
|
|
352
|
-
return {
|
|
353
|
-
...stock,
|
|
354
|
-
industries: industries.map(i => i.name),
|
|
355
|
-
themes: themes.map(t => t.name)
|
|
356
|
-
};
|
|
357
|
-
});
|
|
358
|
-
return JSON.stringify({ success: true, data: fullList });
|
|
426
|
+
query += " ORDER BY name ASC";
|
|
427
|
+
const rows = db.prepare(query).all(...params);
|
|
428
|
+
const data = rows.map(r => r.name);
|
|
429
|
+
return JSON.stringify({ success: true, data });
|
|
359
430
|
}
|
|
360
431
|
catch (e) {
|
|
361
432
|
return JSON.stringify({ success: false, error: e.message });
|
|
@@ -372,15 +443,15 @@ export const watchlistTools = {
|
|
|
372
443
|
const db = getDB();
|
|
373
444
|
const uId = String(ctx.userId);
|
|
374
445
|
const industryData = db.prepare(`
|
|
375
|
-
SELECT c.name as category_name, i.weight, w.
|
|
376
|
-
FROM
|
|
446
|
+
SELECT c.name as category_name, i.weight, w.stock_code
|
|
447
|
+
FROM industry_theme_categories c
|
|
377
448
|
JOIN watchlist_industry_items i ON c.id = i.categoryId
|
|
378
449
|
JOIN watchlist w ON i.watchlistId = w.id
|
|
379
450
|
WHERE i.userId = ? AND w.isDeleted = 0
|
|
380
451
|
`).all(uId);
|
|
381
452
|
const themeData = db.prepare(`
|
|
382
|
-
SELECT c.name as category_name, t.weight, w.
|
|
383
|
-
FROM
|
|
453
|
+
SELECT c.name as category_name, t.weight, w.stock_code
|
|
454
|
+
FROM industry_theme_categories c
|
|
384
455
|
JOIN watchlist_theme_items t ON c.id = t.categoryId
|
|
385
456
|
JOIN watchlist w ON t.watchlistId = w.id
|
|
386
457
|
WHERE t.userId = ? AND w.isDeleted = 0
|
|
@@ -391,8 +462,8 @@ export const watchlistTools = {
|
|
|
391
462
|
const name = item.category_name;
|
|
392
463
|
const existing = aggMap.get(name) || { category_name: name, weight_total: 0, stocks: [] };
|
|
393
464
|
existing.weight_total += (item.weight || 0);
|
|
394
|
-
if (!existing.stocks.includes(item.
|
|
395
|
-
existing.stocks.push(item.
|
|
465
|
+
if (!existing.stocks.includes(item.stock_code)) {
|
|
466
|
+
existing.stocks.push(item.stock_code);
|
|
396
467
|
}
|
|
397
468
|
aggMap.set(name, existing);
|
|
398
469
|
});
|
|
@@ -415,14 +486,14 @@ export const watchlistTools = {
|
|
|
415
486
|
const uId = String(ctx.userId);
|
|
416
487
|
const industries = db.prepare(`
|
|
417
488
|
SELECT DISTINCT c.id, c.name, c.type, c.sortOrder
|
|
418
|
-
FROM
|
|
489
|
+
FROM industry_theme_categories c
|
|
419
490
|
JOIN watchlist_industry_items i ON c.id = i.categoryId
|
|
420
491
|
WHERE i.userId = ?
|
|
421
492
|
ORDER BY c.sortOrder ASC, c.name ASC
|
|
422
493
|
`).all(uId);
|
|
423
494
|
const themes = db.prepare(`
|
|
424
495
|
SELECT DISTINCT c.id, c.name, c.type, c.sortOrder
|
|
425
|
-
FROM
|
|
496
|
+
FROM industry_theme_categories c
|
|
426
497
|
JOIN watchlist_theme_items t ON c.id = t.categoryId
|
|
427
498
|
WHERE t.userId = ?
|
|
428
499
|
ORDER BY c.sortOrder ASC, c.name ASC
|
|
@@ -450,7 +521,7 @@ export const watchlistTools = {
|
|
|
450
521
|
const db = getDB();
|
|
451
522
|
const uId = String(ctx.userId);
|
|
452
523
|
try {
|
|
453
|
-
const stocks = db.prepare("SELECT
|
|
524
|
+
const stocks = db.prepare("SELECT stock_code as code, stock_name as name FROM watchlist WHERE userId = ? AND isDeleted = 0").all(uId);
|
|
454
525
|
if (stocks.length === 0)
|
|
455
526
|
return JSON.stringify({ success: true, message: "没有可排序的股票" });
|
|
456
527
|
const sortedResults = await watchlistLogic.applySmartSort(ctx.runtime, `sort-${uId}`, stocks);
|
|
@@ -458,7 +529,7 @@ export const watchlistTools = {
|
|
|
458
529
|
db.exec("BEGIN TRANSACTION");
|
|
459
530
|
const stmt = db.prepare(`
|
|
460
531
|
UPDATE watchlist SET sortOrder = ?, updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
|
|
461
|
-
WHERE userId = ? AND
|
|
532
|
+
WHERE userId = ? AND stock_code = ? AND isDeleted = 0
|
|
462
533
|
`);
|
|
463
534
|
sortedResults.forEach((item, i) => {
|
|
464
535
|
const currentOrder = i * 10;
|
|
@@ -486,31 +557,38 @@ export const watchlistTools = {
|
|
|
486
557
|
const uId = String(ctx.userId);
|
|
487
558
|
db.exec("BEGIN TRANSACTION");
|
|
488
559
|
try {
|
|
560
|
+
const existing = db.prepare("SELECT name, type FROM industry_theme_categories WHERE userId = ?").all(uId);
|
|
561
|
+
const existingSet = new Set(existing.map(row => `${row.name}:${row.type}`));
|
|
562
|
+
const stmt = db.prepare(`
|
|
563
|
+
INSERT INTO industry_theme_categories (id, remoteId, userId, name, type, weight, sortOrder)
|
|
564
|
+
VALUES (?, ?, ?, ?, ?, 0, 0)
|
|
565
|
+
ON CONFLICT(userId, remoteId) DO UPDATE SET name = excluded.name, updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
|
|
566
|
+
ON CONFLICT(userId, name, type) DO UPDATE SET remoteId = excluded.remoteId, updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
|
|
567
|
+
`);
|
|
489
568
|
if (args.industries) {
|
|
490
569
|
for (const name of args.industries) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
`).run(randomUUID(), name, uId, name);
|
|
570
|
+
const key = `${name}:industry`;
|
|
571
|
+
if (!existingSet.has(key)) {
|
|
572
|
+
stmt.run(randomUUID(), name, uId, name, 'industry');
|
|
573
|
+
existingSet.add(key);
|
|
574
|
+
}
|
|
497
575
|
}
|
|
498
576
|
}
|
|
499
577
|
if (args.themes) {
|
|
500
578
|
for (const name of args.themes) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
`).run(randomUUID(), name, uId, name);
|
|
579
|
+
const key = `${name}:theme`;
|
|
580
|
+
if (!existingSet.has(key)) {
|
|
581
|
+
stmt.run(randomUUID(), name, uId, name, 'theme');
|
|
582
|
+
existingSet.add(key);
|
|
583
|
+
}
|
|
507
584
|
}
|
|
508
585
|
}
|
|
509
586
|
db.exec("COMMIT");
|
|
510
587
|
return JSON.stringify({ success: true });
|
|
511
588
|
}
|
|
512
589
|
catch (e) {
|
|
513
|
-
db.
|
|
590
|
+
if (db.inTransaction)
|
|
591
|
+
db.exec("ROLLBACK");
|
|
514
592
|
return JSON.stringify({ success: false, error: e.message });
|
|
515
593
|
}
|
|
516
594
|
}
|
|
@@ -550,7 +628,7 @@ export const watchlistTools = {
|
|
|
550
628
|
const db = getDB();
|
|
551
629
|
const uId = String(ctx.userId);
|
|
552
630
|
try {
|
|
553
|
-
const stocks = db.prepare("SELECT
|
|
631
|
+
const stocks = db.prepare("SELECT stock_name, stock_code, exchange, market FROM watchlist WHERE userId = ? AND isDeleted = 0").all(uId);
|
|
554
632
|
if (stocks.length > 30) {
|
|
555
633
|
return JSON.stringify({ success: false, error: "自选股数量超过 30 只,暂不支持批量重置分类" });
|
|
556
634
|
}
|
|
@@ -565,15 +643,15 @@ export const watchlistTools = {
|
|
|
565
643
|
try {
|
|
566
644
|
db.prepare("DELETE FROM watchlist_industry_items WHERE userId = ?").run(uId);
|
|
567
645
|
db.prepare("DELETE FROM watchlist_theme_items WHERE userId = ?").run(uId);
|
|
568
|
-
const userStocks = db.prepare("SELECT id,
|
|
646
|
+
const userStocks = db.prepare("SELECT id, stock_code, exchange FROM watchlist WHERE userId = ? AND isDeleted = 0").all(uId);
|
|
569
647
|
batchResults.forEach((res, i) => {
|
|
570
648
|
if (res) {
|
|
571
649
|
const s = stocks[i];
|
|
572
|
-
const match = userStocks.find(us => us.
|
|
650
|
+
const match = userStocks.find(us => us.stock_code === s.stock_code && us.exchange === s.exchange);
|
|
573
651
|
if (match) {
|
|
574
652
|
upsertStockClassificationCache(db, {
|
|
575
|
-
|
|
576
|
-
|
|
653
|
+
stock_name: s.stock_name,
|
|
654
|
+
stock_code: s.stock_code,
|
|
577
655
|
exchange: s.exchange,
|
|
578
656
|
market: s.market
|
|
579
657
|
}, res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/watchlist/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/watchlist/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { OpenClawConfig } from "openclaw/plugin-sdk/core";
|
|
2
|
+
export type HedgehogAgentToolAllowMigration = {
|
|
3
|
+
config: OpenClawConfig;
|
|
4
|
+
changes: string[];
|
|
5
|
+
};
|
|
6
|
+
export declare function ensureRegisteredToolsAllowedInConfig(config: OpenClawConfig): HedgehogAgentToolAllowMigration | null;
|