This commit is contained in:
2025-09-07 22:00:47 +08:00
parent 0a8b20e450
commit c2b2e84416
63 changed files with 1939 additions and 1343 deletions

View File

@@ -0,0 +1,35 @@
// AI写诗小助手配置文件
const CONFIG = {
// GitHub API 配置
GITHUB_TOKEN: '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',
endpoint: 'https://models.github.ai/inference/chat/completions',
MODEL_NAME: 'openai/gpt-4o-mini',
// 专业的古诗生成提示词
createPoemPrompt: (theme) => {
return `你是一位精通中国古典诗词的大师,请根据用户提供的主题创作一首优美的古诗。
要求:
1. 严格遵循中国古诗的格律和韵律
2. 可以是五言绝句、七言绝句、五言律诗或七言律诗
3. 注重意境的营造,体现中国传统文化的美感
4. 用词典雅,富有诗意
5. 根据主题选择合适的风格(豪放、婉约、田园、边塞等)
6. 确保押韵和平仄协调
7. 请先给诗歌起一个优美的标题,然后换行写出诗歌内容
8. 格式:标题\n诗歌正文
9. 注意排版对齐,标题居中,诗歌正文左对齐
10. 诗歌内容必须是中文
主题:${theme}
请创作一首古诗:`;
}
};
// 导出配置
if (typeof module !== 'undefined' && module.exports) {
module.exports = CONFIG;
} else {
window.CONFIG = CONFIG;
}

View File

@@ -227,34 +227,16 @@
</div>
</div>
<script src="env.js"></script>
<script>
// GitHub API 配
const GITHUB_TOKEN = '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';
const endpoint = 'https://models.github.ai/inference/chat/completions';
// 从配置文件导入设
// 配置在 env.js 文件中定义
const generateBtn = document.getElementById('generateBtn');
const loading = document.getElementById('loading');
const poemOutput = document.getElementById('poemOutput');
// 专业的古诗生成提示词
const createPoemPrompt = (theme) => {
return `你是一位精通中国古典诗词的大师,请根据用户提供的主题创作一首优美的古诗。
要求:
1. 严格遵循中国古诗的格律和韵律
2. 可以是五言绝句、七言绝句、五言律诗或七言律诗
3. 注重意境的营造,体现中国传统文化的美感
4. 用词典雅,富有诗意
5. 根据主题选择合适的风格(豪放、婉约、田园、边塞等)
6. 确保押韵和平仄协调
7. 请先给诗歌起一个优美的标题,然后换行写出诗歌内容
8. 格式:标题\n诗歌正文
9. 注意排版对齐,标题居中,诗歌正文左对齐
10. 诗歌内容必须是中文
主题:${theme}
请创作一首古诗:`;
};
generateBtn.addEventListener('click', async () => {
const theme = document.getElementById('theme').value.trim();
@@ -277,21 +259,21 @@
}
const requestBody = {
model: "openai/gpt-4o-mini",
model: CONFIG.MODEL_NAME,
messages: [{
role: "user",
content: createPoemPrompt(theme)
content: CONFIG.createPoemPrompt(theme)
}],
temperature: 0.8,
max_tokens: 500
};
try {
const response = await fetch(endpoint, {
const response = await fetch(CONFIG.endpoint, {
method: 'POST',
headers: {
'Accept': 'application/vnd.github+json',
'Authorization': `Bearer ${GITHUB_TOKEN}`,
'Authorization': `Bearer ${CONFIG.GITHUB_TOKEN}`,
'X-GitHub-Api-Version': '2022-11-28',
'Content-Type': 'application/json'
},

View File

@@ -0,0 +1,68 @@
// AI变量命名助手配置文件
const CONFIG = {
// GitHub Models API 配置
GITHUB_TOKEN: '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',
API_URL: 'https://models.github.ai/inference/chat/completions',
MODEL_NAME: 'openai/gpt-4o-mini',
// AI提示词模板
createNamingPrompt: (description) => {
return `你是一个专业的变量命名助手。请根据以下描述为变量生成合适的名称:
描述:${description}
请为每种命名规范生成3个变量名建议
1. camelCase (驼峰命名法)
2. PascalCase (帕斯卡命名法)
3. snake_case (下划线命名法)
4. kebab-case (短横线命名法)
5. CONSTANT_CASE (常量命名法)
要求:
- 变量名要准确反映功能和用途
- 严格遵循各自的命名规范
- 避免使用缩写,除非是广泛认知的缩写
- 名称要简洁但具有描述性
- 考虑代码的可读性和维护性
请按以下JSON格式返回
{
"suggestions": {
"camelCase": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"PascalCase": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"snake_case": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"kebab-case": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"CONSTANT_CASE": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
]
}
}
只返回JSON格式的结果不要包含其他文字。`;
}
};
// 导出配置
if (typeof module !== 'undefined' && module.exports) {
module.exports = CONFIG;
} else {
window.CONFIG = CONFIG;
}

View File

@@ -37,6 +37,7 @@
</div>
</div>
<script src="env.js"></script>
<script src="script.js"></script>
</body>
</html>

View File

@@ -1,7 +1,5 @@
// GitHub Models API 配
const GITHUB_TOKEN = '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';
const API_URL = 'https://models.github.ai/inference/chat/completions';
const MODEL_NAME = 'openai/gpt-4o-mini';
// 从配置文件导入设
// 配置在 env.js 文件中定义
// DOM 元素
const descriptionInput = document.getElementById('description');
@@ -37,68 +35,16 @@ const namingConventions = {
}
};
// 创建AI提示词
function createNamingPrompt(description) {
return `你是一个专业的变量命名助手。请根据以下描述为变量生成合适的名称:
描述:${description}
请为每种命名规范生成3个变量名建议
1. camelCase (驼峰命名法)
2. PascalCase (帕斯卡命名法)
3. snake_case (下划线命名法)
4. kebab-case (短横线命名法)
5. CONSTANT_CASE (常量命名法)
要求:
- 变量名要准确反映功能和用途
- 严格遵循各自的命名规范
- 避免使用缩写,除非是广泛认知的缩写
- 名称要简洁但具有描述性
- 考虑代码的可读性和维护性
请按以下JSON格式返回
{
"suggestions": {
"camelCase": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"PascalCase": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"snake_case": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"kebab-case": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
],
"CONSTANT_CASE": [
{"name": "变量名1", "description": "解释说明1"},
{"name": "变量名2", "description": "解释说明2"},
{"name": "变量名3", "description": "解释说明3"}
]
}
}
只返回JSON格式的结果不要包含其他文字。`;
}
// 调用GitHub Models API
async function callGitHubModelsAPI(prompt) {
try {
const response = await fetch(API_URL, {
const response = await fetch(CONFIG.API_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${GITHUB_TOKEN}`
'Authorization': `Bearer ${CONFIG.GITHUB_TOKEN}`
},
body: JSON.stringify({
messages: [
@@ -107,7 +53,7 @@ async function callGitHubModelsAPI(prompt) {
content: prompt
}
],
model: MODEL_NAME,
model: CONFIG.MODEL_NAME,
temperature: 0.7,
max_tokens: 1000
})
@@ -270,7 +216,7 @@ async function generateSuggestions() {
suggestionsContainer.innerHTML = '';
try {
const prompt = createNamingPrompt(description);
const prompt = CONFIG.createNamingPrompt(description);
const response = await callGitHubModelsAPI(prompt);
const suggestions = parseAIResponse(response);

View File

@@ -0,0 +1,47 @@
// AI姓名评测配置文件
const CONFIG = {
// GitHub API 配置
GITHUB_TOKEN: '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',
endpoint: 'https://models.github.ai/inference/chat/completions',
model: 'deepseek/DeepSeek-V3-0324',
// 专业的姓名分析提示词
createNameAnalysisPrompt: (name) => {
return `你是一位专业的姓名学专家和语言学家,请对输入的姓名进行全面分析。请直接输出分析结果,不要包含任何思考过程或<think>标签。
姓名:${name}
请按照以下格式严格输出分析结果:
【稀有度评分】
评分X%
评价:[对稀有度的详细说明,包括姓氏和名字的常见程度分析]
【音韵评价】
评分X%
评价:[对音韵美感的分析,包括声调搭配、读音流畅度、音律和谐度等]
【含义解读】
[详细分析姓名的寓意内涵,包括:
1. 姓氏的历史渊源和文化背景
2. 名字各字的含义和象征
3. 整体姓名的寓意组合
4. 可能体现的父母期望或文化内涵
5. 与传统文化、诗词典故的关联等]
要求:
1. 评分必须是1-100的整数百分比要有明显区分度避免雷同
2. 分析要专业、客观、有依据,评分要根据实际情况有所差异
3. 含义解读要详细深入至少150字
4. 严格按照上述格式输出,不要添加思考过程、<think>标签或其他内容
5. 如果是生僻字或罕见姓名,要特别说明
6. 直接输出最终结果,不要显示推理过程`;
}
};
// 导出配置
if (typeof module !== 'undefined' && module.exports) {
module.exports = CONFIG;
} else {
window.CONFIG = CONFIG;
}

View File

@@ -51,6 +51,7 @@
</div>
</div>
<script src="env.js"></script>
<script src="script.js"></script>
</body>
</html>

View File

@@ -1,7 +1,5 @@
// GitHub API 配
const GITHUB_TOKEN = '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';
const endpoint = 'https://models.github.ai/inference/chat/completions';
const model = 'deepseek/DeepSeek-V3-0324';
// 从配置文件导入设
// 配置在 env.js 文件中定义
// DOM 元素
const nameInput = document.getElementById('nameInput');
@@ -13,38 +11,7 @@ const phoneticScore = document.getElementById('phoneticScore');
const phoneticDesc = document.getElementById('phoneticDesc');
const meaningAnalysis = document.getElementById('meaningAnalysis');
// 专业的姓名分析提示词
const createNameAnalysisPrompt = (name) => {
return `你是一位专业的姓名学专家和语言学家,请对输入的姓名进行全面分析。请直接输出分析结果,不要包含任何思考过程或<think>标签。
姓名:${name}
请按照以下格式严格输出分析结果:
【稀有度评分】
评分X%
评价:[对稀有度的详细说明,包括姓氏和名字的常见程度分析]
【音韵评价】
评分X%
评价:[对音韵美感的分析,包括声调搭配、读音流畅度、音律和谐度等]
【含义解读】
[详细分析姓名的寓意内涵,包括:
1. 姓氏的历史渊源和文化背景
2. 名字各字的含义和象征
3. 整体姓名的寓意组合
4. 可能体现的父母期望或文化内涵
5. 与传统文化、诗词典故的关联等]
要求:
1. 评分必须是1-100的整数百分比要有明显区分度避免雷同
2. 分析要专业、客观、有依据,评分要根据实际情况有所差异
3. 含义解读要详细深入至少150字
4. 严格按照上述格式输出,不要添加思考过程、<think>标签或其他内容
5. 如果是生僻字或罕见姓名,要特别说明
6. 直接输出最终结果,不要显示推理过程`;
};
// 解析AI返回的分析结果
function parseAnalysisResult(content) {
@@ -221,21 +188,21 @@ async function analyzeName() {
}
const requestBody = {
model: model,
model: CONFIG.model,
messages: [{
role: "user",
content: createNameAnalysisPrompt(name)
content: CONFIG.createNameAnalysisPrompt(name)
}],
temperature: 0.7,
max_tokens: 1000
};
try {
const response = await fetch(endpoint, {
const response = await fetch(CONFIG.endpoint, {
method: 'POST',
headers: {
'Accept': 'application/vnd.github+json',
'Authorization': `Bearer ${GITHUB_TOKEN}`,
'Authorization': `Bearer ${CONFIG.GITHUB_TOKEN}`,
'X-GitHub-Api-Version': '2022-11-28',
'Content-Type': 'application/json'
},