Files
L2keka/server/update-standard-content.js

69 lines
4.3 KiB
JavaScript

const BASE = 'http://localhost:3002';
const SID = '48e1344e-9ae5-4a74-b7c9-f22cd0a4c1d4';
const NEW_CONTENT = [
'## 场景价值与合理性(10分)',
'评审场景论述文档(docs/ 目录)。如果没有场景文档→0分。场景是否真实(真实业务需求还是虚构案例)、Agent是否不可替代(为什么非用Agent不可)、ROI是否可量化。',
'',
'## 开发范式应用(10分)',
'考核参赛者对项目的理解深度和应用了什么成熟技术/Skill来强化效果。检查:是否使用了成熟的逆向工程Skill(如从COBOL/JCL等遗留系统自动生成设计文档)、是否有明确的开发范式证据(spec-first、TDD、规则先行)。如果没有→0分。重点看参赛者如何将通用技术能力适配到特定项目场景中。',
'',
'## 架构设计(10分)',
'检查 DESIGN.md 或 docs/design.md。没有→0分。模块化程度、分层设计、数据流清晰度、是否有架构图。架构是否经过评审和迭代。',
'',
'## 工具使用与集成深度(10分)',
'仅考核IDE深度集成。检查:是否开发了VSCode插件、Webview面板、Language Server等IDE扩展。是否利用IDE的API实现了代码补全/诊断/重构/调试等深度集成能力。仅评审IDE相关集成,不考虑其他工具使用。',
'',
'## Agent核心能力(20分)',
'考核AI Agent的使用情况。评审参赛者利用了多少个Agent(如:代码生成Agent、评审Agent、测试Agent等)、每个Agent实现了哪些功能(代码生成/评审/测试/部署/文档)、Agent之间是否协作。重点:Agent功能的多样性和实际落地效果,而非概念设计。',
'',
'## 实现完整度与稳定性(10分)',
'将项目成功启动后,对系统进行测试确认能正常启动。检查:启动是否有报错、核心功能是否完整可运行、边界情况处理(输入验证/异常处理)、是否包含自动化测试来验证功能完整性。无法启动→5分以下。',
'',
'## 规模与功能点(15分)',
'以功能点数量为主要依据。列出项目的所有主要功能模块和功能点,判断规模。小规模(<=5功能点)5-7分;中规模(6-10功能点)8-11分;大规模(>10功能点)12-15分。代码行数、文件数量作为辅助参考。',
'',
'## 演示与文档(5分)',
'全面评审项目文档完整性。检查:README(项目介绍/启动方式/架构概述)、设计书(DESIGN.md/docs/design.md)、测试用例、测试结果报告、需求分析文档。如果没有任何文档→0分。文档质量高(清晰/结构化/完整)加分。',
'',
'## AI使用日志(5分)',
'评审AGENTS.md/CLAUDE.md等AI使用日志。检查日志是否覆盖需求/设计/编码/测试各阶段、每条日志是否标注了使用的AI工具和提示词、日志是否真实反映开发过程。没有日志→0分。',
'',
'## 效果与数据(5分)',
'参考业内测试标准和方法论,评审项目的测试完整度和质量。检查:是否包含功能测试、UI测试、单元测试、集成测试、用户验收测试等。测试是否全面(覆盖主要功能路径)、测试是否真实(数据可复现而非捏造)、是否有量化的成功率/覆盖率数据。参考ISO 25010或类似标准对比。'
].join('\n');
async function main() {
const login = await fetch(`${BASE}/api/auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ password: '620f4c96' })
});
const { token } = await login.json();
const auth = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` };
// Read current
const get = await fetch(`${BASE}/api/standards/${SID}`, { headers: auth });
const current = await get.json();
if (!current.id) {
console.log('GET failed:', JSON.stringify(current).slice(0, 100));
process.exit();
}
console.log('Current name:', current.name);
const r = await fetch(`${BASE}/api/standards/${SID}`, {
method: 'PUT',
headers: auth,
body: JSON.stringify({
name: current.name,
category_tag: current.category_tag || '',
content: NEW_CONTENT
})
});
const result = await r.text();
console.log('PUT result:', r.status, result.slice(0, 200));
}
main().catch(console.error);