数字我 Digital Me:全量入库(大文件走 Git LFS)
nginx serve /uploads direct (audio speed) / patch-nginx (push) Failing after 1m34s

This commit is contained in:
2026-10-10 16:24:43 +08:00
commit 0593ff7e62
1893 changed files with 361723 additions and 0 deletions
@@ -0,0 +1,27 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { buildDebunkPrompt, parseVerdict, VERDICTS } from '../src/zhaoyaojing.js';
test('buildDebunkPrompt:三档定义 + 敢说查不实 + 只输出JSON', () => {
const msgs = buildDebunkPrompt('诸葛亮借东风');
assert.equal(msgs[0].role, 'system');
assert.ok(/shizheng/.test(msgs[0].content) && /yanyi/.test(msgs[0].content) && /cunyi/.test(msgs[0].content));
assert.ok(/查不實|查不实|存疑/.test(msgs[0].content), '须含敢说查不实的铁律');
assert.ok(/JSON/.test(msgs[0].content));
assert.ok(msgs[1].content.includes('诸葛亮借东风'));
});
test('parseVerdict:从LLM输出宽松解析(容围栏/前后缀)', () => {
const raw = '好的,判定如下:\n```json\n{"verdict":"yanyi","title":"借东风是演义虚构","explain":"《三国演义》桥段,正史无。","real":"《三国志·周瑜传》载『时风盛猛』为自然大风。","cites":["《三国志·吴书·周瑜传》"]}\n```';
const v = parseVerdict(raw);
assert.equal(v.verdict, 'yanyi');
assert.equal(v.label, VERDICTS.yanyi.label);
assert.equal(v.tone, 'crit');
assert.ok(v.title && v.real && v.cites.length === 1);
});
test('parseVerdict:非法/无verdict → null(前端回落显 raw)', () => {
assert.equal(parseVerdict('我不确定'), null);
assert.equal(parseVerdict('{"verdict":"nonsense"}'), null);
assert.equal(parseVerdict(''), null);
});