fix ask-AI

This commit is contained in:
2025-06-14 18:51:22 +09:00
parent 3b2c53fc97
commit b7f62e729a
7 changed files with 25 additions and 18 deletions

View File

@ -16,7 +16,7 @@ auto_translate = false
comment_moderation = false comment_moderation = false
ask_ai = true ask_ai = true
provider = "ollama" provider = "ollama"
model = "gemma3:2b" model = "gemma3:4b"
host = "https://ollama.syui.ai" host = "https://ollama.syui.ai"
system_prompt = "you are a helpful ai assistant trained on this blog's content. you can answer questions about the articles, provide insights, and help users understand the topics discussed." system_prompt = "you are a helpful ai assistant trained on this blog's content. you can answer questions about the articles, provide insights, and help users understand the topics discussed."
ai_did = "did:plc:4hqjfn7m6n5hno3doamuhgef" ai_did = "did:plc:4hqjfn7m6n5hno3doamuhgef"

View File

@ -17,7 +17,7 @@
/css/* /css/*
Content-Type: text/css Content-Type: text/css
Cache-Control: public, max-age=60 Cache-Control: no-cache
/*.js /*.js
Content-Type: application/javascript Content-Type: application/javascript

View File

@ -1,6 +1,3 @@
# Ask-AI機能をOllamaにプロキシ
/api/ask https://ollama.syui.ai/api/generate 200
# OAuth routes # OAuth routes
/oauth/* /oauth/index.html 200 /oauth/* /oauth/index.html 200

View File

@ -59,7 +59,7 @@ a.view-markdown:any-link {
.container { .container {
min-height: 100vh; min-height: 100vh;
display: grid; display: grid;
grid-template-rows: auto auto 1fr auto; grid-template-rows: auto 0fr 1fr auto;
grid-template-areas: grid-template-areas:
"header" "header"
"ask-ai" "ask-ai"
@ -158,6 +158,15 @@ a.view-markdown:any-link {
background: #f6f8fa; background: #f6f8fa;
border-bottom: 1px solid #d1d9e0; border-bottom: 1px solid #d1d9e0;
padding: 24px; padding: 24px;
overflow: hidden;
}
.ask-ai-panel[style*="block"] {
display: block !important;
}
.container:has(.ask-ai-panel[style*="block"]) {
grid-template-rows: auto auto 1fr auto;
} }
.ask-ai-content { .ask-ai-content {
@ -193,13 +202,15 @@ a.view-markdown:any-link {
grid-area: main; grid-area: main;
max-width: 1000px; max-width: 1000px;
margin: 0 auto; margin: 0 auto;
padding: 24px; /* padding: 24px; */
padding-top: 80px;
width: 100%; width: 100%;
} }
@media (max-width: 1000px) { @media (max-width: 1000px) {
.main-content { .main-content {
padding: 20px; /* padding: 20px; */
padding: 0px;
max-width: 100%; max-width: 100%;
} }
} }
@ -324,6 +335,10 @@ a.view-markdown:any-link {
margin: 0 auto; margin: 0 auto;
} }
article.article-content {
padding: 10px;
}
.article-meta { .article-meta {
display: flex; display: flex;
gap: 16px; gap: 16px;
@ -818,13 +833,13 @@ a.view-markdown:any-link {
justify-self: end; justify-self: end;
} }
/* Ask AI button mobile style */ /* Ask AI button mobile style - icon only */
.ask-ai-btn { .ask-ai-btn {
padding: 8px; padding: 8px;
min-width: 40px; min-width: 40px;
justify-content: center; justify-content: center;
font-size: 0;
gap: 0; gap: 0;
font-size: 0; /* Hide all text content */
} }
.ask-ai-btn .ai-icon { .ask-ai-btn .ai-icon {

View File

@ -186,12 +186,7 @@ function updateAskAIButton() {
const button = document.getElementById('askAiButton'); const button = document.getElementById('askAiButton');
if (!button) return; if (!button) return;
const iconSpan = button.querySelector('.ai-icon'); // Only update text, never modify the icon
if (aiProfileData && aiProfileData.avatar && iconSpan) {
iconSpan.innerHTML = `<img src="${aiProfileData.avatar}" alt="${aiProfileData.displayName || 'AI'}" class="ai-avatar-small">`;
}
if (aiProfileData && aiProfileData.displayName) { if (aiProfileData && aiProfileData.displayName) {
const textNode = button.childNodes[2] || button.lastChild; const textNode = button.childNodes[2] || button.lastChild;
if (textNode && textNode.nodeType === Node.TEXT_NODE) { if (textNode && textNode.nodeType === Node.TEXT_NODE) {

View File

@ -66,7 +66,7 @@
<div id="chatForm" class="ask-ai-form" style="display: none;"> <div id="chatForm" class="ask-ai-form" style="display: none;">
<input type="text" id="aiQuestion" placeholder="What would you like to know?" /> <input type="text" id="aiQuestion" placeholder="What would you like to know?" />
<button onclick="AskAI.ask()" id="askButton">Ask</button> <button onclick="askQuestion()" id="askButton">Ask</button>
</div> </div>
<div id="chatHistory" class="chat-history" style="display: none;"></div> <div id="chatHistory" class="chat-history" style="display: none;"></div>

View File

@ -18,7 +18,7 @@ AILOG_COLLECTION_CHAT=ai.syui.log.chat
VITE_AI_ENABLED=true VITE_AI_ENABLED=true
VITE_AI_ASK_AI=true VITE_AI_ASK_AI=true
VITE_AI_PROVIDER=ollama VITE_AI_PROVIDER=ollama
VITE_AI_MODEL=gemma3:2b VITE_AI_MODEL=gemma3:4b
VITE_AI_HOST=https://ollama.syui.ai VITE_AI_HOST=https://ollama.syui.ai
VITE_AI_SYSTEM_PROMPT="you are a helpful ai assistant trained on this blog's content. you can answer questions about the articles, provide insights, and help users understand the topics discussed." VITE_AI_SYSTEM_PROMPT="you are a helpful ai assistant trained on this blog's content. you can answer questions about the articles, provide insights, and help users understand the topics discussed."
VITE_AI_DID=did:plc:4hqjfn7m6n5hno3doamuhgef VITE_AI_DID=did:plc:4hqjfn7m6n5hno3doamuhgef