@luoyi-dsh/instagram-scroll 1.0.6 → 1.0.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.
|
@@ -51,8 +51,10 @@ export interface EvaluationResult {
|
|
|
51
51
|
export declare function parsePostContent(caption?: string): ParsedPostContent;
|
|
52
52
|
/**
|
|
53
53
|
* 嚴密的高精度內容檢驗引擎 (Content Inspection Pipeline)
|
|
54
|
-
*
|
|
54
|
+
* 解決痛點:
|
|
55
|
+
* 1. 根據與用戶對話的記憶 (dsh-fish-memory) 動態選擇用戶可能喜歡的內容才做推薦
|
|
56
|
+
* 2. 推薦時的 @+文字 必須根據該貼文或 Reel 的具體內容動態生成,嚴禁空泛說「很推薦...」或使用罐頭模板
|
|
55
57
|
*/
|
|
56
|
-
export declare function inspectAndEvaluatePost(ctx: any, post: InstagramPost, config: InstagramScrollConfig): Promise<EvaluationResult>;
|
|
58
|
+
export declare function inspectAndEvaluatePost(ctx: any, post: InstagramPost, config: InstagramScrollConfig, mcp?: InstagramMcpClient): Promise<EvaluationResult>;
|
|
57
59
|
export declare function executeScrollRound(ctx: any, config: InstagramScrollConfig, mcp: InstagramMcpClient, ledger: ScrollLedgerManager, log?: (msg: string) => void): Promise<ScrollRoundResult>;
|
|
58
60
|
//# sourceMappingURL=scrollDuty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollDuty.d.ts","sourceRoot":"","sources":["../../src/core/scrollDuty.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"scrollDuty.d.ts","sourceRoot":"","sources":["../../src/core/scrollDuty.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,KAAK,CAAC;QACrB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,KAAK,GAAG,WAAW,CAAA;CAClC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAW,GAAG,iBAAiB,CAkCxE;AAmVD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAkO3B;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,mBAAmB,EAC3B,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAmT5B"}
|
package/dist/core/scrollDuty.js
CHANGED
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* 就在該貼文底下留一條評論「@主人 + 推薦原因」,並記錄至今日日報。
|
|
8
8
|
* ============================================================================
|
|
9
9
|
*/
|
|
10
|
+
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
11
|
+
import { homedir } from 'node:os';
|
|
12
|
+
import { join } from 'node:path';
|
|
10
13
|
/**
|
|
11
14
|
* 正文解析與標籤分離器
|
|
12
15
|
* 徹底區分貼文真正的正文內容與文末堆砌的標籤 (防止標籤農場誤導)
|
|
@@ -116,16 +119,172 @@ function detectAigcPost(caption = '', username = '') {
|
|
|
116
119
|
return m[0];
|
|
117
120
|
return null;
|
|
118
121
|
}
|
|
122
|
+
const SCROLL_CONTENT_SPECIFIC_RULE = `【推坑留言內容動態生成鐵則(嚴禁空泛說「很推薦 / 值得一看 / 乾貨滿滿」)】
|
|
123
|
+
1. 你的推坑留言(@主人 後面的那句話)必須 100% 根據「這則貼文或 Reel 裡面的具體內容」動態生成!
|
|
124
|
+
2. 必須點出這則貼文/Reel 裡只有看過的人才說得出來的一個具體細節、畫面亮點、某個做法、某個詞、某個反差或技術點(例如:「那個護目鏡的反光好像是用圖層混合疊出來的,邊緣卻收得很乾淨」、「他把狀態機拆成三層去接 WebSocket,那段重連處理寫得挺聰明的」)。
|
|
125
|
+
3. 絕對禁止任何萬金油推薦套話!嚴禁出現:「很推薦」、「強烈推薦」、「特別推薦」、「非常推薦」、「值得一看」、「很值得看」、「推薦你看」、「乾貨滿滿」、「推推」、「大推」、「不能錯過」、「分享非常扎實」、「分析得很透徹」、「這篇關於…」、「這支影片…」等放在哪篇貼文都通用的廢話!
|
|
126
|
+
4. 直接從你在貼文裡注意到的那個具體細節開口,像跟很熟的主人隨口聊起眼前看到的東西,不超過兩句話,自然收尾。`;
|
|
127
|
+
function resolveOwnerMemoryContext(masterUsername) {
|
|
128
|
+
const shared = globalThis.__DSH_INSTAGRAM_LLM__;
|
|
129
|
+
if (shared && typeof shared.loadOwnerMemoryInterestContext === 'function') {
|
|
130
|
+
try {
|
|
131
|
+
return shared.loadOwnerMemoryInterestContext(masterUsername);
|
|
132
|
+
}
|
|
133
|
+
catch { }
|
|
134
|
+
}
|
|
135
|
+
// 獨立運行時的備援記憶讀取器 (~/.dsh/fish-memory/session-*.json)
|
|
136
|
+
const empty = { hasMemories: false, memoryCount: 0, memoryLines: [], dynamicKeywords: [], promptBlock: '' };
|
|
137
|
+
try {
|
|
138
|
+
const dshHome = process.env.DSH_HOME || join(process.env.USERPROFILE || process.env.HOME || homedir(), '.dsh');
|
|
139
|
+
const fishDir = join(dshHome, 'fish-memory');
|
|
140
|
+
if (!existsSync(fishDir))
|
|
141
|
+
return empty;
|
|
142
|
+
const files = readdirSync(fishDir).filter((f) => f.endsWith('.json') && (f.startsWith('session-') || f === 'global.json' || f === 'default.json'));
|
|
143
|
+
if (files.length === 0)
|
|
144
|
+
return empty;
|
|
145
|
+
const nowMs = Date.now();
|
|
146
|
+
const items = [];
|
|
147
|
+
for (const file of files) {
|
|
148
|
+
try {
|
|
149
|
+
const raw = JSON.parse(readFileSync(join(fishDir, file), 'utf-8'));
|
|
150
|
+
for (const m of Array.isArray(raw?.memories) ? raw.memories : []) {
|
|
151
|
+
const text = String(m?.text || '').trim();
|
|
152
|
+
if (!text || text.length < 4)
|
|
153
|
+
continue;
|
|
154
|
+
const createdMs = new Date(m.at || m.createdAt || nowMs).getTime();
|
|
155
|
+
const ageDays = Math.max(0, (nowMs - (Number.isFinite(createdMs) ? createdMs : nowMs)) / 86400000);
|
|
156
|
+
const recency = Math.exp(-(Math.LN2 * ageDays) / 21);
|
|
157
|
+
const imp = Math.max(0, Math.min(1, Number(m.importance ?? 0.5)));
|
|
158
|
+
items.push({
|
|
159
|
+
text,
|
|
160
|
+
tags: Array.isArray(m.tags) ? m.tags : [],
|
|
161
|
+
related: Array.isArray(m.related) ? m.related : [],
|
|
162
|
+
score: 0.5 * recency + 0.35 * imp + (m.category === 'stable_profile' ? 0.25 : 0),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch { }
|
|
167
|
+
}
|
|
168
|
+
if (items.length === 0)
|
|
169
|
+
return empty;
|
|
170
|
+
items.sort((a, b) => b.score - a.score);
|
|
171
|
+
const memoryLines = items.slice(0, 10).map((m) => `- ${m.text}`);
|
|
172
|
+
const kwSet = new Set();
|
|
173
|
+
for (const m of items.slice(0, 10)) {
|
|
174
|
+
const eng = m.text.match(/\b[a-zA-Z][a-zA-Z0-9+#.-]{2,18}\b/g) || [];
|
|
175
|
+
for (const w of eng) {
|
|
176
|
+
if (!/^(http|https|www|com|org|net|the|and|for|with|from)$/i.test(w))
|
|
177
|
+
kwSet.add(w.toLowerCase());
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const dynamicKeywords = Array.from(kwSet).slice(0, 5);
|
|
181
|
+
const promptBlock = `【與主人的過往對話記憶脈絡 (dsh-fish-memory,用於動態選擇主人真正可能喜歡的內容)】:\n${memoryLines.join('\n')}\n- 【記憶驅動選片準則】:請結合上方「與用戶對話的記憶」與主人的興趣偏好,動態判斷這則貼文或 Reel 是否契合主人近期關注的事物、聊過的話題、技術方向或審美喜好。\n- 【隱私保護紅線】:上方對話記憶僅供你在心裡判斷選片口味,撰寫公開留言時必須 100% 聚焦於「這則貼文/Reel 本身的內容細節」,絕對不可把主人的私人行程、作息時間或隱私對話直接寫在公開留言區!`;
|
|
182
|
+
return {
|
|
183
|
+
hasMemories: true,
|
|
184
|
+
memoryCount: memoryLines.length,
|
|
185
|
+
memoryLines,
|
|
186
|
+
dynamicKeywords,
|
|
187
|
+
promptBlock,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return empty;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
function sanitizeRecommendText(rawComment, targetUser) {
|
|
195
|
+
const shared = globalThis.__DSH_INSTAGRAM_LLM__;
|
|
196
|
+
if (shared && typeof shared.sanitizeRecommendationComment === 'function') {
|
|
197
|
+
return shared.sanitizeRecommendationComment(rawComment, targetUser);
|
|
198
|
+
}
|
|
199
|
+
if (!rawComment)
|
|
200
|
+
return '';
|
|
201
|
+
let text = String(rawComment)
|
|
202
|
+
.trim()
|
|
203
|
+
.replace(/^["'「『“”]+|["'」』“”]+$/g, '')
|
|
204
|
+
.replace(/^\[?\d{1,3}\s*分\]?[::、,,\s-]*/g, '')
|
|
205
|
+
.replace(/^@[\p{L}\p{N}._]+[\s,,::、]+/u, '')
|
|
206
|
+
.replace(/^這篇關於\s*#?[^\s::,,]+?\s*的內容(很|非常|超)?值得一看[::,,\s]*/g, '')
|
|
207
|
+
.replace(/[,,。!!;;\s]*(真的|非常|特別|強烈|真心|超|很)*(很推薦給?你看|推薦給?你看|推薦給?你|很推薦|強烈推薦|特別推薦|值得一看|很值得看|乾貨滿滿|不能錯過|分享非常扎實|分析得很透徹|推推|大推|特地\s*@\s*你存起來)[!!~~。]*$/g, '')
|
|
208
|
+
.trim();
|
|
209
|
+
if (!text || text.length < 5)
|
|
210
|
+
return '';
|
|
211
|
+
if (/^(很推薦|推薦你看|值得一看|分享給你|這篇很棒|這篇不錯)[!!。~~\s]*$/.test(text))
|
|
212
|
+
return '';
|
|
213
|
+
return text;
|
|
214
|
+
}
|
|
215
|
+
function parseRecommendLlmOutput(llmReply, minScore = 80, targetUser) {
|
|
216
|
+
const shared = globalThis.__DSH_INSTAGRAM_LLM__;
|
|
217
|
+
if (shared && typeof shared.parseRecommendationLlmOutput === 'function') {
|
|
218
|
+
return shared.parseRecommendationLlmOutput(llmReply, minScore, targetUser);
|
|
219
|
+
}
|
|
220
|
+
const raw = String(llmReply || '').trim();
|
|
221
|
+
const jsonMatch = raw.match(/\{[\s\S]*\}/);
|
|
222
|
+
if (jsonMatch) {
|
|
223
|
+
try {
|
|
224
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
225
|
+
const score = Number(parsed.score ?? (parsed.isWorthy || parsed.recommend ? 85 : 30));
|
|
226
|
+
const isApprove = Boolean(parsed.isWorthy ?? parsed.recommend) && score >= minScore;
|
|
227
|
+
const rawHook = String(parsed.comment || parsed.hookPhrase || parsed.reason || '').trim();
|
|
228
|
+
const commentBody = isApprove ? sanitizeRecommendText(rawHook, targetUser) : '';
|
|
229
|
+
if (isApprove && commentBody) {
|
|
230
|
+
return {
|
|
231
|
+
isRecommend: true,
|
|
232
|
+
score,
|
|
233
|
+
commentBody,
|
|
234
|
+
reason: String(parsed.reason || parsed.summary || commentBody),
|
|
235
|
+
rejectionReason: '',
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
return {
|
|
239
|
+
isRecommend: false,
|
|
240
|
+
score,
|
|
241
|
+
commentBody: '',
|
|
242
|
+
reason: '',
|
|
243
|
+
rejectionReason: String(parsed.rejectionReason || '未達推薦門檻或無具體貼文評論'),
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch { }
|
|
247
|
+
}
|
|
248
|
+
const scoreMatch = raw.match(/(?:^|\b)(100|[1-9]\d)\s*分(?:[::、,,\s-]*([\s\S]+))?/);
|
|
249
|
+
if (scoreMatch) {
|
|
250
|
+
const score = Number(scoreMatch[1]);
|
|
251
|
+
const rest = String(scoreMatch[2] || raw.replace(scoreMatch[0], '')).trim();
|
|
252
|
+
const commentBody = score >= minScore ? sanitizeRecommendText(rest, targetUser) : '';
|
|
253
|
+
if (score >= minScore && commentBody) {
|
|
254
|
+
return {
|
|
255
|
+
isRecommend: true,
|
|
256
|
+
score,
|
|
257
|
+
commentBody,
|
|
258
|
+
reason: `符合主人記憶偏好 (${score}分):${commentBody}`,
|
|
259
|
+
rejectionReason: '',
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
return {
|
|
263
|
+
isRecommend: false,
|
|
264
|
+
score,
|
|
265
|
+
commentBody: '',
|
|
266
|
+
reason: '',
|
|
267
|
+
rejectionReason: `評分 (${score}分) 未達門檻 (${minScore}分)`,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
271
|
+
isRecommend: false,
|
|
272
|
+
score: 0,
|
|
273
|
+
commentBody: '',
|
|
274
|
+
reason: '',
|
|
275
|
+
rejectionReason: 'LLM 未給出高分與針對貼文內容的具體評論',
|
|
276
|
+
};
|
|
277
|
+
}
|
|
119
278
|
/**
|
|
120
279
|
* 調用共享外部插件訂閱額度 (dsh-plugin-subscriptions / __DSH_INSTAGRAM_LLM__)、宿主 LLM 或自訂 API 進行深度語義內容審查
|
|
121
280
|
*/
|
|
122
|
-
async function callLlmInference(ctx, systemPrompt, userPrompt) {
|
|
123
|
-
// 0. 優先使用 dsh-instagram-plugin 共享的統一 LLM 引擎 (支援讀取 dsh-plugin-subscriptions
|
|
281
|
+
async function callLlmInference(ctx, systemPrompt, userPrompt, imageUrls = []) {
|
|
282
|
+
// 0. 優先使用 dsh-instagram-plugin 共享的統一 LLM 引擎 (支援讀取 dsh-plugin-subscriptions 外部額度與多模態視覺圖片)
|
|
124
283
|
const sharedIgLlm = globalThis.__DSH_INSTAGRAM_LLM__;
|
|
125
284
|
if (sharedIgLlm && typeof sharedIgLlm.callLlmForInstagram === 'function') {
|
|
126
285
|
try {
|
|
127
286
|
const sharedCfg = globalThis.__DSH_INSTAGRAM_PLUGIN_CONFIG__ || {};
|
|
128
|
-
const res = await sharedIgLlm.callLlmForInstagram(ctx, sharedCfg, systemPrompt, userPrompt);
|
|
287
|
+
const res = await sharedIgLlm.callLlmForInstagram(ctx, sharedCfg, systemPrompt, userPrompt, console.log, imageUrls);
|
|
129
288
|
if (res && res.trim())
|
|
130
289
|
return res.trim();
|
|
131
290
|
}
|
|
@@ -143,7 +302,7 @@ async function callLlmInference(ctx, systemPrompt, userPrompt) {
|
|
|
143
302
|
{ role: 'system', content: systemPrompt },
|
|
144
303
|
{ role: 'user', content: userPrompt },
|
|
145
304
|
],
|
|
146
|
-
temperature: 0.
|
|
305
|
+
temperature: 0.5,
|
|
147
306
|
});
|
|
148
307
|
const reply = res?.content || res?.text || (typeof res === 'string' ? res : '');
|
|
149
308
|
if (reply)
|
|
@@ -176,8 +335,7 @@ async function callLlmInference(ctx, systemPrompt, userPrompt) {
|
|
|
176
335
|
{ role: 'system', content: systemPrompt },
|
|
177
336
|
{ role: 'user', content: userPrompt },
|
|
178
337
|
],
|
|
179
|
-
temperature: 0.
|
|
180
|
-
response_format: { type: 'json_object' },
|
|
338
|
+
temperature: 0.5,
|
|
181
339
|
}),
|
|
182
340
|
});
|
|
183
341
|
if (resp.ok) {
|
|
@@ -193,23 +351,65 @@ async function callLlmInference(ctx, systemPrompt, userPrompt) {
|
|
|
193
351
|
}
|
|
194
352
|
/**
|
|
195
353
|
* 嚴密的高精度內容檢驗引擎 (Content Inspection Pipeline)
|
|
196
|
-
*
|
|
354
|
+
* 解決痛點:
|
|
355
|
+
* 1. 根據與用戶對話的記憶 (dsh-fish-memory) 動態選擇用戶可能喜歡的內容才做推薦
|
|
356
|
+
* 2. 推薦時的 @+文字 必須根據該貼文或 Reel 的具體內容動態生成,嚴禁空泛說「很推薦...」或使用罐頭模板
|
|
197
357
|
*/
|
|
198
|
-
export async function inspectAndEvaluatePost(ctx, post, config) {
|
|
358
|
+
export async function inspectAndEvaluatePost(ctx, post, config, mcp) {
|
|
199
359
|
const mcpSvc = globalThis.__DSH_INSTAGRAM_MCP__;
|
|
200
360
|
const master = (mcpSvc?.config?.masterUsername || config.masterUsername || '').replace(/^@/, '').trim();
|
|
201
|
-
const
|
|
361
|
+
const postPk = String(post.pk || post.id || '').split('_')[0].trim();
|
|
362
|
+
// 若貼文文字較短或為 Reel 短片,嘗試拉取完整上下文(字幕、視覺描述、音訊、圖片)以供 AI 讀取真實內容
|
|
363
|
+
let rawCaption = String(post.caption || '');
|
|
364
|
+
let postTitle = String(post.title || '');
|
|
365
|
+
let a11yCaption = String(post.accessibility_caption || '');
|
|
366
|
+
let videoSubtitles = String(post.video_subtitles || '');
|
|
367
|
+
let audioInfo = String(post.audio_info || '');
|
|
368
|
+
let imageUrls = Array.isArray(post.image_urls) ? [...post.image_urls] : [];
|
|
369
|
+
if (post.thumbnail_url && !imageUrls.includes(post.thumbnail_url)) {
|
|
370
|
+
imageUrls.unshift(post.thumbnail_url);
|
|
371
|
+
}
|
|
372
|
+
if (mcp && postPk && (rawCaption.length < 60 || imageUrls.length === 0 || post.media_type === 2 || post.product_type === 'clips')) {
|
|
373
|
+
try {
|
|
374
|
+
const detailCtx = await mcp.igGetPostContext(postPk, 8);
|
|
375
|
+
const dp = detailCtx?.media || detailCtx?.post;
|
|
376
|
+
if (dp) {
|
|
377
|
+
if (dp.caption && String(dp.caption).length > rawCaption.length)
|
|
378
|
+
rawCaption = String(dp.caption);
|
|
379
|
+
if (dp.title)
|
|
380
|
+
postTitle = String(dp.title);
|
|
381
|
+
if (dp.accessibility_caption)
|
|
382
|
+
a11yCaption = String(dp.accessibility_caption);
|
|
383
|
+
if (dp.video_subtitles)
|
|
384
|
+
videoSubtitles = String(dp.video_subtitles);
|
|
385
|
+
if (dp.audio_info)
|
|
386
|
+
audioInfo = String(dp.audio_info);
|
|
387
|
+
if (Array.isArray(dp.image_urls) && dp.image_urls.length > 0) {
|
|
388
|
+
imageUrls = dp.image_urls;
|
|
389
|
+
}
|
|
390
|
+
else if (dp.thumbnail_url && !imageUrls.includes(dp.thumbnail_url)) {
|
|
391
|
+
imageUrls.push(dp.thumbnail_url);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
catch { }
|
|
396
|
+
}
|
|
397
|
+
const parsed = parsePostContent(rawCaption);
|
|
202
398
|
const minScore = config.minScore || 80;
|
|
203
399
|
const minLength = config.minCaptionLength || 30;
|
|
204
400
|
const userInterests = config.userInterests ||
|
|
205
|
-
'
|
|
206
|
-
//
|
|
207
|
-
|
|
401
|
+
'專注於真實人類原創手繪藝術 (插畫、Kemono、角色設計)、前沿軟體技術、開源專案、實用開發工具與原創見解。';
|
|
402
|
+
// 載入與主人的對話記憶脈絡
|
|
403
|
+
const ownerMemory = resolveOwnerMemoryContext(master);
|
|
404
|
+
// === 第 1 關:實質內容檢驗 (若既無正文、無字幕/視覺描述,且無圖片視覺可供多模態審閱,則拒絕) ===
|
|
405
|
+
const combinedTextLength = parsed.cleanLength + a11yCaption.length + videoSubtitles.length + postTitle.length;
|
|
406
|
+
const hasVisualMedia = imageUrls.length > 0;
|
|
407
|
+
if (combinedTextLength < Math.min(minLength, 12) && !hasVisualMedia) {
|
|
208
408
|
return {
|
|
209
409
|
isWorthy: false,
|
|
210
410
|
score: 15,
|
|
211
411
|
reason: '',
|
|
212
|
-
rejectionReason:
|
|
412
|
+
rejectionReason: `貼文有效資訊不足 (${combinedTextLength} 字) 且無視覺畫面可供審閱。`,
|
|
213
413
|
commentText: '',
|
|
214
414
|
reviewMethod: 'heuristic',
|
|
215
415
|
};
|
|
@@ -253,159 +453,120 @@ export async function inspectAndEvaluatePost(ctx, post, config) {
|
|
|
253
453
|
};
|
|
254
454
|
}
|
|
255
455
|
}
|
|
256
|
-
// === 第 4
|
|
456
|
+
// === 第 4 關:計算關鍵詞命中輔助資訊 (融合設定關鍵字 + 與用戶對話記憶中的動態興趣詞) ===
|
|
257
457
|
const positiveWords = Array.from(new Set([
|
|
258
458
|
...(config.positiveKeywords || []),
|
|
259
459
|
...(config.fuzzyKeywords || []),
|
|
260
460
|
...(config.interestTags || []),
|
|
461
|
+
...(ownerMemory.dynamicKeywords || []),
|
|
261
462
|
]));
|
|
262
|
-
const
|
|
463
|
+
const searchableLower = `${parsed.cleanBody} ${postTitle} ${a11yCaption} ${videoSubtitles}`.toLowerCase();
|
|
263
464
|
const hitBodyKeywords = [];
|
|
264
465
|
for (const kw of positiveWords) {
|
|
265
466
|
const cleanKw = kw.toLowerCase().trim();
|
|
266
|
-
if (cleanKw &&
|
|
467
|
+
if (cleanKw && searchableLower.includes(cleanKw)) {
|
|
267
468
|
hitBodyKeywords.push(cleanKw);
|
|
268
469
|
}
|
|
269
470
|
}
|
|
270
|
-
//
|
|
271
|
-
if (config.requireBodyMatch &&
|
|
471
|
+
// 若無對話記憶、無視覺圖片且開啟強制字面命中時才做前置攔截;若有對話記憶或圖片,交由第 5 關 LLM 結合記憶動態判斷
|
|
472
|
+
if (config.requireBodyMatch &&
|
|
473
|
+
hitBodyKeywords.length === 0 &&
|
|
474
|
+
!ownerMemory.hasMemories &&
|
|
475
|
+
!hasVisualMedia &&
|
|
476
|
+
parsed.cleanLength < minLength) {
|
|
272
477
|
return {
|
|
273
478
|
isWorthy: false,
|
|
274
479
|
score: 30,
|
|
275
480
|
reason: '',
|
|
276
|
-
rejectionReason:
|
|
481
|
+
rejectionReason: `內文未提及主人偏好領域關鍵字且字數不足。`,
|
|
277
482
|
commentText: '',
|
|
278
483
|
reviewMethod: 'heuristic',
|
|
279
484
|
};
|
|
280
485
|
}
|
|
281
|
-
// === 第 5 關:LLM
|
|
486
|
+
// === 第 5 關:LLM 深度語義與記憶契合度質檢 (唯一推薦決策來源,嚴禁使用罐頭 Heuristic 留言) ===
|
|
282
487
|
const sharedCompanion = globalThis.__DSH_INSTAGRAM_LLM__;
|
|
283
488
|
const moodBlock = typeof sharedCompanion?.buildFeiyuMoodPromptBlock === 'function'
|
|
284
489
|
? sharedCompanion.buildFeiyuMoodPromptBlock(true)
|
|
285
490
|
: '';
|
|
286
491
|
const antiAiRule = sharedCompanion?.ANTI_AI_FLAVOR_PRIMARY_RULE ||
|
|
287
492
|
'【第一條件(最高優先級鐵則):推坑留言絕對不要 AI 味,嚴禁客服腔、總結腔、排比句或機械式吹捧,要像真人朋友隨手分享一樣自然口語】';
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
${
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
${
|
|
316
|
-
|
|
317
|
-
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
493
|
+
const personaText = config.personaPrompt ||
|
|
494
|
+
'你是一位眼光敏銳、說話自然的夥伴。請根據與主人的對話記憶與主人的偏好,判斷這則貼文是否值得推坑,並針對貼文裡的具體細節寫一句自然的話。';
|
|
495
|
+
const systemPrompt = `${antiAiRule}
|
|
496
|
+
|
|
497
|
+
${SCROLL_CONTENT_SPECIFIC_RULE}
|
|
498
|
+
|
|
499
|
+
【角色人設與說話方式】:
|
|
500
|
+
${personaText}
|
|
501
|
+
${moodBlock ? `\n${moodBlock}` : ''}
|
|
502
|
+
${ownerMemory.promptBlock ? `\n${ownerMemory.promptBlock}` : ''}
|
|
503
|
+
|
|
504
|
+
【主人長期內容偏好】:
|
|
505
|
+
${userInterests}
|
|
506
|
+
|
|
507
|
+
【審查與推坑留言鐵律】:
|
|
508
|
+
1. 【最高鐵律】嚴格排除任何「AI 生成的影片、AI 動畫、AI 繪圖/算圖、AI 配音或 AI 生成的農場文章」(例如 Sora、Runway、Midjourney、Stable Diffusion、Kling、可靈、即夢、AIGC 等)。只要懷疑是 AI 算圖或 AI 影片/文章,無條件不推薦!
|
|
509
|
+
2. 【根據與用戶對話的記憶動態選片】請對照上方「與主人的過往對話記憶脈絡」與「主人長期內容偏好」,動態判斷主人看到這則貼文/Reel 會不會真心喜歡、想收藏或想討論。若只是普通流量文或主人不會感興趣,請給低於 ${minScore} 分(設 isWorthy: false)。
|
|
510
|
+
3. 【推坑文字必須緊扣該貼文的具體內容】若決定推薦(分數 >= ${minScore}),你寫給主人的那句話(hookPhrase)必須直接講這則貼文/Reel 裡的某個具體細節、某個畫面呈現、某句話或某個做法(只有看過這則貼文的人才說得出來的內容),絕對禁止說「很推薦」、「強烈推薦」、「值得一看」、「乾貨滿滿」、「推推」、「這篇關於…的內容分享非常扎實」等空泛套話!`;
|
|
511
|
+
const extraLines = [];
|
|
512
|
+
if (postTitle)
|
|
513
|
+
extraLines.push(`- 標題:${postTitle}`);
|
|
514
|
+
if (a11yCaption)
|
|
515
|
+
extraLines.push(`- 畫面視覺描述 (Accessibility):${a11yCaption}`);
|
|
516
|
+
if (videoSubtitles)
|
|
517
|
+
extraLines.push(`- 影片字幕內容:${videoSubtitles.slice(0, 500)}`);
|
|
518
|
+
if (audioInfo)
|
|
519
|
+
extraLines.push(`- 音訊資訊:${audioInfo}`);
|
|
520
|
+
const userPrompt = `請審查以下 Instagram ${post.media_type === 2 || post.product_type === 'clips' ? 'Reel 短片' : '貼文'}(若有附圖請一併檢視畫面細節):
|
|
521
|
+
- 作者:@${post.user?.username || 'unknown'} (${post.user?.full_name || ''})
|
|
522
|
+
- 互動數據:${post.like_count || 0} 讚, ${post.comment_count || 0} 則留言
|
|
523
|
+
${extraLines.length > 0 ? extraLines.join('\n') + '\n' : ''}- 貼文正文內容 (已剔除文末標籤):
|
|
524
|
+
"""
|
|
525
|
+
${parsed.cleanBody.slice(0, 900) || '(此貼文以畫面/視覺呈現為主,請參考畫面描述與附圖)'}
|
|
526
|
+
"""
|
|
527
|
+
- 文末標籤清單:#${parsed.hashtags.join(', #')}
|
|
528
|
+
- 命中之興趣/記憶關鍵詞:${hitBodyKeywords.join(', ') || '由語義與記憶脈絡動態判斷'}
|
|
529
|
+
|
|
530
|
+
請輸出 JSON 格式:
|
|
531
|
+
{
|
|
532
|
+
"isWorthy": boolean,
|
|
533
|
+
"score": number, // 0-100,達 ${minScore} 分以上才推薦
|
|
534
|
+
"rejectionReason": "未通過的原因 (若不合格)",
|
|
535
|
+
"reason": "為什麼根據主人的對話記憶與喜好覺得主人會喜歡這篇 (內部日誌用)",
|
|
536
|
+
"hookPhrase": "直接對主人說的那一句推坑留言(必須點出這則貼文/畫面裡的具體細節,不要加 @用戶名,嚴禁出現『很推薦』『值得一看』『乾貨滿滿』『推推』等套話!)"
|
|
537
|
+
}
|
|
538
|
+
(或依你的人設直接回覆:「85分 <針對這則貼文具體內容細節的那一句推坑>」;若不合格則回覆「不推薦」)`;
|
|
539
|
+
const llmResponse = await callLlmInference(ctx, systemPrompt, userPrompt, imageUrls.slice(0, 2));
|
|
322
540
|
if (llmResponse) {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
const commentText = master ? `@${master} ${hook}` : hook;
|
|
334
|
-
return {
|
|
335
|
-
isWorthy: true,
|
|
336
|
-
score,
|
|
337
|
-
reason: String(parsedLlm.reason || parsedLlm.summary || '內容深度契合主人關注領域且具備乾貨價值。'),
|
|
338
|
-
commentText,
|
|
339
|
-
reviewMethod: 'llm',
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
return {
|
|
344
|
-
isWorthy: false,
|
|
345
|
-
score,
|
|
346
|
-
reason: '',
|
|
347
|
-
rejectionReason: String(parsedLlm.rejectionReason || '內容深度未達主人品味標準或主題不符。'),
|
|
348
|
-
commentText: '',
|
|
349
|
-
reviewMethod: 'llm',
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
catch (e) {
|
|
354
|
-
console.warn(`[ScrollDuty] LLM 結果 JSON 解析異常: ${e.message}`);
|
|
541
|
+
const parsedEval = parseRecommendLlmOutput(llmResponse, minScore, master);
|
|
542
|
+
if (parsedEval.isRecommend && parsedEval.commentBody) {
|
|
543
|
+
const commentText = master ? `@${master} ${parsedEval.commentBody}` : parsedEval.commentBody;
|
|
544
|
+
return {
|
|
545
|
+
isWorthy: true,
|
|
546
|
+
score: parsedEval.score,
|
|
547
|
+
reason: parsedEval.reason,
|
|
548
|
+
commentText,
|
|
549
|
+
reviewMethod: 'llm',
|
|
550
|
+
};
|
|
355
551
|
}
|
|
356
|
-
}
|
|
357
|
-
// === 備援:啟發式嚴密內容質檢 (Heuristic Rule Engine) ===
|
|
358
|
-
// 當宿主無 LLM 或 LLM 調用異常時,依然嚴守品質底線,絕不隨便推薦!
|
|
359
|
-
let heuristicScore = 40; // 底分
|
|
360
|
-
// 正文字數深度加分 (有較長詳細說明通常具備更高乾貨密度)
|
|
361
|
-
if (parsed.cleanLength > 300)
|
|
362
|
-
heuristicScore += 18;
|
|
363
|
-
else if (parsed.cleanLength > 150)
|
|
364
|
-
heuristicScore += 12;
|
|
365
|
-
else if (parsed.cleanLength > 60)
|
|
366
|
-
heuristicScore += 6;
|
|
367
|
-
// 正文實質命中關鍵詞加分
|
|
368
|
-
heuristicScore += Math.min(25, hitBodyKeywords.length * 8);
|
|
369
|
-
// 乾貨排版特徵檢查 (具備條列、步驟或結構化排版)
|
|
370
|
-
if (/[0-9][.、]|👉|✅|🔹|💡|📌|\n- |\n\* /.test(parsed.cleanBody)) {
|
|
371
|
-
heuristicScore += 10;
|
|
372
|
-
}
|
|
373
|
-
// 社群互動數據適度輔助加分 (最多 12 分,避免高讚垃圾貼文)
|
|
374
|
-
const likes = post.like_count || 0;
|
|
375
|
-
const comments = post.comment_count || 0;
|
|
376
|
-
if (likes > 300)
|
|
377
|
-
heuristicScore += 6;
|
|
378
|
-
if (comments > 15)
|
|
379
|
-
heuristicScore += 6;
|
|
380
|
-
heuristicScore = Math.min(96, Math.max(10, heuristicScore));
|
|
381
|
-
const isHeuristicWorthy = heuristicScore >= minScore;
|
|
382
|
-
if (isHeuristicWorthy) {
|
|
383
|
-
const reason = `正文實質深度探討 [${hitBodyKeywords.slice(0, 3).join(', ')}],文字詳實完整 (${parsed.cleanLength} 字),結構條理分明。`;
|
|
384
|
-
const hookPhrases = [
|
|
385
|
-
`這篇關於 ${hitBodyKeywords[0] || '該主題'} 的內容分享非常扎實,特別推薦你看!`,
|
|
386
|
-
`發現這篇乾貨對你的方向很有啟發,特地 @ 你存起來!`,
|
|
387
|
-
`這篇思路與案例分析得很透徹,內容很硬核,推推!`,
|
|
388
|
-
];
|
|
389
|
-
const chosenHook = hookPhrases[Math.floor(Math.random() * hookPhrases.length)];
|
|
390
|
-
const commentText = master ? `@${master} ${chosenHook}` : `這篇乾貨非常精彩,推薦關注!`;
|
|
391
|
-
return {
|
|
392
|
-
isWorthy: true,
|
|
393
|
-
score: heuristicScore,
|
|
394
|
-
reason,
|
|
395
|
-
commentText,
|
|
396
|
-
reviewMethod: 'heuristic',
|
|
397
|
-
};
|
|
398
|
-
}
|
|
399
|
-
else {
|
|
400
552
|
return {
|
|
401
553
|
isWorthy: false,
|
|
402
|
-
score:
|
|
554
|
+
score: parsedEval.score || 35,
|
|
403
555
|
reason: '',
|
|
404
|
-
rejectionReason:
|
|
556
|
+
rejectionReason: parsedEval.rejectionReason || '經 AI 結合主人對話記憶與貼文內容審查,未達推薦標準。',
|
|
405
557
|
commentText: '',
|
|
406
|
-
reviewMethod: '
|
|
558
|
+
reviewMethod: 'llm',
|
|
407
559
|
};
|
|
408
560
|
}
|
|
561
|
+
// 當 LLM 無法連線或未回應時,絕不使用罐頭模板亂發「很推薦 / 乾貨滿滿 / 推推」留言!
|
|
562
|
+
return {
|
|
563
|
+
isWorthy: false,
|
|
564
|
+
score: 0,
|
|
565
|
+
reason: '',
|
|
566
|
+
rejectionReason: 'AI 模型暫時無法連線生成針對該貼文內容的具體推坑留言,為避免發送罐頭套話已跳過推薦。',
|
|
567
|
+
commentText: '',
|
|
568
|
+
reviewMethod: 'llm',
|
|
569
|
+
};
|
|
409
570
|
}
|
|
410
571
|
export async function executeScrollRound(ctx, config, mcp, ledger, log = console.log) {
|
|
411
572
|
// 防風控冷卻保護檢查
|
|
@@ -429,6 +590,13 @@ export async function executeScrollRound(ctx, config, mcp, ledger, log = console
|
|
|
429
590
|
if (!master) {
|
|
430
591
|
log('[ScrollDuty] ⚠️ 尚未在 MCP 配置主人帳號 (masterUsername),將僅進行瀏覽審核而不留言 @主人。');
|
|
431
592
|
}
|
|
593
|
+
// 載入與主人的過往對話記憶,用於動態擴充檢索興趣詞與選片判斷
|
|
594
|
+
const ownerMemory = resolveOwnerMemoryContext(master);
|
|
595
|
+
if (ownerMemory.hasMemories) {
|
|
596
|
+
log(`[ScrollDuty] 🧠 已讀取與主人 (@${master || 'master'}) 的對話記憶 ${ownerMemory.memoryCount} 條${ownerMemory.dynamicKeywords.length > 0
|
|
597
|
+
? `,動態記憶興趣詞: [${ownerMemory.dynamicKeywords.slice(0, 4).join(', ')}]`
|
|
598
|
+
: ''}`);
|
|
599
|
+
}
|
|
432
600
|
const batchSize = Math.max(5, config.batchSize || 15);
|
|
433
601
|
const maxPerRun = config.maxRecommendsPerRun || 1;
|
|
434
602
|
const candidatePosts = [];
|
|
@@ -455,11 +623,12 @@ export async function executeScrollRound(ctx, config, mcp, ledger, log = console
|
|
|
455
623
|
};
|
|
456
624
|
}
|
|
457
625
|
}
|
|
458
|
-
// 2A. 模糊搜尋探索 (Fuzzy Search) ——
|
|
626
|
+
// 2A. 模糊搜尋探索 (Fuzzy Search) —— 結合設定關鍵字與從主人對話記憶動態提取的興趣詞
|
|
459
627
|
const useFuzzy = config.fuzzySearchEnabled !== false;
|
|
460
|
-
const
|
|
628
|
+
const baseFuzzyWords = config.fuzzyKeywords && config.fuzzyKeywords.length > 0
|
|
461
629
|
? config.fuzzyKeywords
|
|
462
|
-
:
|
|
630
|
+
: config.interestTags || [];
|
|
631
|
+
const fuzzyWords = Array.from(new Set([...(ownerMemory.dynamicKeywords || []).slice(0, 3), ...baseFuzzyWords]));
|
|
463
632
|
if (useFuzzy && fuzzyWords.length > 0) {
|
|
464
633
|
const randomKeyword = fuzzyWords[Math.floor(Math.random() * fuzzyWords.length)].replace(/^#/, '').trim();
|
|
465
634
|
if (randomKeyword) {
|
|
@@ -552,11 +721,11 @@ export async function executeScrollRound(ctx, config, mcp, ledger, log = console
|
|
|
552
721
|
const readWaitMs = Math.floor((minDelay + Math.random() * (maxDelay - minDelay)) * 1000);
|
|
553
722
|
await new Promise((r) => setTimeout(r, readWaitMs));
|
|
554
723
|
totalScanned++;
|
|
555
|
-
const evalRes = await inspectAndEvaluatePost(ctx, post, config);
|
|
724
|
+
const evalRes = await inspectAndEvaluatePost(ctx, post, config, mcp);
|
|
556
725
|
if (evalRes.isWorthy) {
|
|
557
726
|
worthyCount++;
|
|
558
|
-
log(`[ScrollDuty] ⭐
|
|
559
|
-
log(`[ScrollDuty]
|
|
727
|
+
log(`[ScrollDuty] ⭐ 發現契合主人對話記憶與偏好的高分內容!審查機制: [${evalRes.reviewMethod.toUpperCase()}], 評分: ${evalRes.score}/100, 作者: @${post.user?.username || 'unknown'}`);
|
|
728
|
+
log(`[ScrollDuty] 選片依據: ${evalRes.reason}`);
|
|
560
729
|
// 檢查是否還能推坑 (每日上限控制)
|
|
561
730
|
const cap = config.dailyRecommendCap || 5;
|
|
562
731
|
if (ledger.canRecommend(cap) && master) {
|
|
@@ -580,11 +749,14 @@ export async function executeScrollRound(ctx, config, mcp, ledger, log = console
|
|
|
580
749
|
}
|
|
581
750
|
}
|
|
582
751
|
catch { }
|
|
583
|
-
// @
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
752
|
+
// @ 前進行最後內容具體性核驗 (絕不允許空泛套話或無內容預設句)
|
|
753
|
+
const cleanBody = sanitizeRecommendText(evalRes.commentText || '', master);
|
|
754
|
+
if (!cleanBody) {
|
|
755
|
+
log(`[ScrollDuty] ⏭️ 推坑語句過於空泛或含推薦套話,拒絕發送罐頭留言 (${postPk})`);
|
|
756
|
+
ledger.markSeen(post, false);
|
|
757
|
+
continue;
|
|
587
758
|
}
|
|
759
|
+
evalRes.commentText = `@${master} ${cleanBody}`;
|
|
588
760
|
log(`[ScrollDuty] 正在貼文下留言推坑: "${evalRes.commentText}"...`);
|
|
589
761
|
try {
|
|
590
762
|
const commentRes = await mcp.igPostComment({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollDuty.js","sourceRoot":"","sources":["../../src/core/scrollDuty.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scrollDuty.js","sourceRoot":"","sources":["../../src/core/scrollDuty.ts"],"names":[],"mappings":"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"}
|