Skip to content

Dev#130

Merged
koishi510 merged 23 commits into
mainfrom
dev
Mar 9, 2026
Merged

Dev#130
koishi510 merged 23 commits into
mainfrom
dev

Conversation

@koishi510
Copy link
Copy Markdown
Owner

Related Issue

Summary

Change Type

  • New Feature (feat)
  • Bug Fix (fix)
  • Refactoring (refactor)
  • Documentation (docs)
  • Dependency / Configuration (chore)

Self-Check Checklist

Backend (Go):

  • go build ./... passes
  • go vet ./... passes
  • gofmt produces no diff

Frontend (Vue):

  • npm run lint passes
  • npm run typecheck passes

General:

  • Removed all temporary debug output
  • No sensitive data in the code

Test Steps

  1. Pull branch and install dependencies:
    cd backend && go mod download
    cd ../frontend && npm install
  2. Start the application:
    make dev-backend    # Terminal 1
    make dev-frontend   # Terminal 2
  3. Verification steps:
    • ...

koishi510 and others added 23 commits March 9, 2026 12:00
- Add Firecrawl web search client (pkg/firecrawl)
- Add CommunityAIService that generates AI answers/comments when users
  mention @小石光 or @koishi in posts or replies
- AI reads full thread context (question + answers + comments) and
  searches the web for grounded responses with anti-hallucination prompts
- Add web search to chat service (both authenticated and guest)
- Auto-create AI user (xiaoshiguang) on startup with ai_assistant role
- Graceful degradation when FIRECRAWL_API_KEY or OPENAI_API_KEY not set

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… footnotes

- AI replies to every new published question by default (no @mention needed)
- AI replies to comments on AI answers, replies to AI comments, or @mentions
- Append source footnotes (title + URL) when AI cites [来源N] in replies

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When AI only cites [来源3], it now gets renumbered to [来源1] in both
the reply text and the footnote, so citations always start from 1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update AI system prompt to only reference [来源N] when providing
factual information like medical knowledge or specific recommendations,
not for everyday empathy and encouragement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hot tab with my collections. Add inline edit/delete controls
for questions and answers (author + admin), delete for comments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Display ai_avatar.png for AI assistant role in community panel.
Remove @koishi from mention pattern, keep only @小石光.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete answers and their comments before deleting a question
- Delete comments before deleting an answer
- Rename chat persona to 小石光
- Remove community sprite, update shell/star/conque sprites

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add photo gallery backend: model, repository, service, handler, DTO,
config (IMAGE_MODEL), migration, and route wiring. Support upload and
AI-generated photos with wall management (up to 9 on wall).

Extend OpenAI client with GenerateImage method supporting ModelScope
async polling with X-ModelScope-Task-Type header. Poll interval set
to 10s with 5-minute timeout for image generation.
Add cleanMemoirText helper to remove trailing JSON braces, quotes,
and markdown code fences from LLM-generated memoir content. Applied
to all parsing paths in parseMemoirLLMResponse.
The admin page was checking meData.role !== 'admin' but the API
returns is_admin as a separate boolean field. Changed to check
meData.is_admin instead.
Add photo API client, photo wall display on CarPage with suitcase
modal for photo management. Update MemoryPanel to show AI-generated
photo in memoir result card instead of SVG gradient.
Refactor user.ts API client, update ProfilePanel display, and
improve dev-setup scripts with cross-platform support.
Previously only comments triggered AI replies when mentioning @小石光.
Now answers (帖子评论) also trigger HandleNewAnswer which generates an
AI comment on the answer. Also add IMAGE_MODEL and FIRECRAWL_API_KEY
to .env.example and dev-setup.sh.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Conque (海螺) - Whisper/Heart Words:
- Mom writes feelings/wishes, Dad reads them with AI-generated tips
- AI analyzes Mom's whispers and gives Dad actionable advice

Star (海星) - Daily Task System:
- Dad gets 4 random daily tasks (housework, parenting, health, emotional)
- Dad marks tasks complete, Mom verifies and scores (1-5)
- XP accumulates from scores, level calculated automatically
- 20 seed tasks across 4 categories

Both features require partner binding. Includes full backend
(model/dto/repo/service/handler/routes) and frontend (API modules,
overlay panels, sprite click routing).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes golangci-lint unused type error in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace asterisk (*) with unicode stars (★/☆) for difficulty and
  rating display
- Add reject (未完成) button so Mom can send tasks back to pending
- Add 10-second background polling when task panel is open, with
  in-place field mutation to avoid screen flicker
- New backend endpoint POST /tasks/:id/reject with ResetUserTaskToPending
@koishi510 koishi510 requested a review from 4rthurCai as a code owner March 9, 2026 04:01
@koishi510 koishi510 merged commit 040fc36 into main Mar 9, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants