shaleme 0.1.6 → 0.1.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.
- package/dist/cli.js +24 -10
- package/dist/index.js +24 -10
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1864,7 +1864,7 @@ async function runUnifiedScan(options = {}, detector = new SycophancyDetector) {
|
|
|
1864
1864
|
stats,
|
|
1865
1865
|
harnessStats,
|
|
1866
1866
|
activeHarnessCount,
|
|
1867
|
-
version: "0.1.
|
|
1867
|
+
version: "0.1.7"
|
|
1868
1868
|
});
|
|
1869
1869
|
}
|
|
1870
1870
|
|
|
@@ -2521,6 +2521,14 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2521
2521
|
.btn-text:hover { border-color: transparent; background: var(--accent-soft); }
|
|
2522
2522
|
.btn[disabled] { opacity: 0.5; cursor: not-allowed; transform: none; }
|
|
2523
2523
|
.btn.loading { cursor: progress; opacity: 0.85; }
|
|
2524
|
+
.btn-upload {
|
|
2525
|
+
background: var(--accent);
|
|
2526
|
+
border-color: var(--accent);
|
|
2527
|
+
color: #fff;
|
|
2528
|
+
box-shadow: 0 1px 2px rgba(79, 70, 229, 0.35);
|
|
2529
|
+
}
|
|
2530
|
+
.btn-upload:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
|
|
2531
|
+
.brand-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: flex-end; }
|
|
2524
2532
|
.btn .spinner {
|
|
2525
2533
|
width: 14px;
|
|
2526
2534
|
height: 14px;
|
|
@@ -2652,7 +2660,7 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2652
2660
|
/* ---------- Print ---------- */
|
|
2653
2661
|
@media print {
|
|
2654
2662
|
body { background: #fff; padding: 0; }
|
|
2655
|
-
.table-toolbar, .result-line, .actions, .back-top, .toast { display: none !important; }
|
|
2663
|
+
.table-toolbar, .result-line, .actions, .brand-actions, .back-top, .toast { display: none !important; }
|
|
2656
2664
|
.quote-card, .harness-list, table { break-inside: avoid; }
|
|
2657
2665
|
}
|
|
2658
2666
|
</style>
|
|
@@ -2662,7 +2670,10 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2662
2670
|
<header class="masthead">
|
|
2663
2671
|
<div class="brand-row">
|
|
2664
2672
|
<div class="brand">SHALEME<span class="sub">傻了么</span></div>
|
|
2665
|
-
<div class="
|
|
2673
|
+
<div class="brand-actions">
|
|
2674
|
+
<div class="meta num">${summary.generatedDate} · ${summary.totalSessionsScanned.toLocaleString()} 组会话 · ${summary.activeHarnessCount} 个平台</div>
|
|
2675
|
+
<button type="button" class="btn btn-upload" data-upload-btn onclick="submitToLeaderboard()">↑ 上传到榜单</button>
|
|
2676
|
+
</div>
|
|
2666
2677
|
</div>
|
|
2667
2678
|
<div class="masthead-main">
|
|
2668
2679
|
<h1>AI 模型<span class="hl">「你说得对」</span>行为基准分析报告</h1>
|
|
@@ -2785,7 +2796,7 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2785
2796
|
<button type="button" class="btn btn-primary" id="copyBtn" onclick="copySummaryText()">复制战报摘要</button>
|
|
2786
2797
|
<button type="button" class="btn" onclick="exportPayload()">导出成绩 JSON</button>
|
|
2787
2798
|
<button type="button" class="btn" onclick="window.print()">打印 / 导出 PDF</button>
|
|
2788
|
-
<button type="button" class="btn"
|
|
2799
|
+
<button type="button" class="btn" data-upload-btn onclick="submitToLeaderboard()">上传到榜单</button>
|
|
2789
2800
|
<p class="actions-hint">上传仅含汇总计数,不含对话内容。</p>
|
|
2790
2801
|
</section>
|
|
2791
2802
|
|
|
@@ -3063,11 +3074,14 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
3063
3074
|
toast('本报告未配置榜单地址,请先导出成绩 JSON');
|
|
3064
3075
|
return;
|
|
3065
3076
|
}
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3077
|
+
// masthead 和 actions 各有一个上传按钮,状态要同步,否则一个转圈一个可点。
|
|
3078
|
+
const btns = document.querySelectorAll('[data-upload-btn]');
|
|
3079
|
+
btns.forEach(function (btn) {
|
|
3080
|
+
btn.disabled = true;
|
|
3081
|
+
btn.classList.add('loading');
|
|
3082
|
+
btn.setAttribute('aria-busy', 'true');
|
|
3083
|
+
btn.innerHTML = '<span class="spinner"></span>正在上传…';
|
|
3084
|
+
});
|
|
3071
3085
|
const payload = buildPayload();
|
|
3072
3086
|
const form = document.createElement('form');
|
|
3073
3087
|
form.method = 'POST';
|
|
@@ -3316,7 +3330,7 @@ ${c.bold("支持的 Agent 平台:")}
|
|
|
3316
3330
|
process.exit(0);
|
|
3317
3331
|
}
|
|
3318
3332
|
if (args.includes("--version") || args.includes("-v")) {
|
|
3319
|
-
console.log("shaleme v0.1.
|
|
3333
|
+
console.log("shaleme v0.1.7");
|
|
3320
3334
|
process.exit(0);
|
|
3321
3335
|
}
|
|
3322
3336
|
const isJson = args.includes("--json");
|
package/dist/index.js
CHANGED
|
@@ -1862,7 +1862,7 @@ async function runUnifiedScan(options = {}, detector = new SycophancyDetector) {
|
|
|
1862
1862
|
stats,
|
|
1863
1863
|
harnessStats,
|
|
1864
1864
|
activeHarnessCount,
|
|
1865
|
-
version: "0.1.
|
|
1865
|
+
version: "0.1.7"
|
|
1866
1866
|
});
|
|
1867
1867
|
}
|
|
1868
1868
|
// src/report/generator.ts
|
|
@@ -2518,6 +2518,14 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2518
2518
|
.btn-text:hover { border-color: transparent; background: var(--accent-soft); }
|
|
2519
2519
|
.btn[disabled] { opacity: 0.5; cursor: not-allowed; transform: none; }
|
|
2520
2520
|
.btn.loading { cursor: progress; opacity: 0.85; }
|
|
2521
|
+
.btn-upload {
|
|
2522
|
+
background: var(--accent);
|
|
2523
|
+
border-color: var(--accent);
|
|
2524
|
+
color: #fff;
|
|
2525
|
+
box-shadow: 0 1px 2px rgba(79, 70, 229, 0.35);
|
|
2526
|
+
}
|
|
2527
|
+
.btn-upload:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
|
|
2528
|
+
.brand-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: flex-end; }
|
|
2521
2529
|
.btn .spinner {
|
|
2522
2530
|
width: 14px;
|
|
2523
2531
|
height: 14px;
|
|
@@ -2649,7 +2657,7 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2649
2657
|
/* ---------- Print ---------- */
|
|
2650
2658
|
@media print {
|
|
2651
2659
|
body { background: #fff; padding: 0; }
|
|
2652
|
-
.table-toolbar, .result-line, .actions, .back-top, .toast { display: none !important; }
|
|
2660
|
+
.table-toolbar, .result-line, .actions, .brand-actions, .back-top, .toast { display: none !important; }
|
|
2653
2661
|
.quote-card, .harness-list, table { break-inside: avoid; }
|
|
2654
2662
|
}
|
|
2655
2663
|
</style>
|
|
@@ -2659,7 +2667,10 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2659
2667
|
<header class="masthead">
|
|
2660
2668
|
<div class="brand-row">
|
|
2661
2669
|
<div class="brand">SHALEME<span class="sub">傻了么</span></div>
|
|
2662
|
-
<div class="
|
|
2670
|
+
<div class="brand-actions">
|
|
2671
|
+
<div class="meta num">${summary.generatedDate} · ${summary.totalSessionsScanned.toLocaleString()} 组会话 · ${summary.activeHarnessCount} 个平台</div>
|
|
2672
|
+
<button type="button" class="btn btn-upload" data-upload-btn onclick="submitToLeaderboard()">↑ 上传到榜单</button>
|
|
2673
|
+
</div>
|
|
2663
2674
|
</div>
|
|
2664
2675
|
<div class="masthead-main">
|
|
2665
2676
|
<h1>AI 模型<span class="hl">「你说得对」</span>行为基准分析报告</h1>
|
|
@@ -2782,7 +2793,7 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
2782
2793
|
<button type="button" class="btn btn-primary" id="copyBtn" onclick="copySummaryText()">复制战报摘要</button>
|
|
2783
2794
|
<button type="button" class="btn" onclick="exportPayload()">导出成绩 JSON</button>
|
|
2784
2795
|
<button type="button" class="btn" onclick="window.print()">打印 / 导出 PDF</button>
|
|
2785
|
-
<button type="button" class="btn"
|
|
2796
|
+
<button type="button" class="btn" data-upload-btn onclick="submitToLeaderboard()">上传到榜单</button>
|
|
2786
2797
|
<p class="actions-hint">上传仅含汇总计数,不含对话内容。</p>
|
|
2787
2798
|
</section>
|
|
2788
2799
|
|
|
@@ -3060,11 +3071,14 @@ function generateReportHtml(summary, leaderboardEndpoint) {
|
|
|
3060
3071
|
toast('本报告未配置榜单地址,请先导出成绩 JSON');
|
|
3061
3072
|
return;
|
|
3062
3073
|
}
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3074
|
+
// masthead 和 actions 各有一个上传按钮,状态要同步,否则一个转圈一个可点。
|
|
3075
|
+
const btns = document.querySelectorAll('[data-upload-btn]');
|
|
3076
|
+
btns.forEach(function (btn) {
|
|
3077
|
+
btn.disabled = true;
|
|
3078
|
+
btn.classList.add('loading');
|
|
3079
|
+
btn.setAttribute('aria-busy', 'true');
|
|
3080
|
+
btn.innerHTML = '<span class="spinner"></span>正在上传…';
|
|
3081
|
+
});
|
|
3068
3082
|
const payload = buildPayload();
|
|
3069
3083
|
const form = document.createElement('form');
|
|
3070
3084
|
form.method = 'POST';
|
|
@@ -3310,7 +3324,7 @@ ${c.bold("支持的 Agent 平台:")}
|
|
|
3310
3324
|
process.exit(0);
|
|
3311
3325
|
}
|
|
3312
3326
|
if (args.includes("--version") || args.includes("-v")) {
|
|
3313
|
-
console.log("shaleme v0.1.
|
|
3327
|
+
console.log("shaleme v0.1.7");
|
|
3314
3328
|
process.exit(0);
|
|
3315
3329
|
}
|
|
3316
3330
|
const isJson = args.includes("--json");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shaleme",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "傻了么 (shaleme) - 统计主流 Coding Agent (Codex, Claude Code, Pi, CodeBuddy, OMP, Cline, OpenClaw, Hermes...) 中各模型说过「你说得对」的流口水排行榜与谄媚指数",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|