跳转至
PROJECT CASE

Personal Digital Garden + Biying

A long-term entrance where public notes, project records, guestbook messages, public knowledge, and Biying can grow together.

MkDocs EdgeOne Updated: 2026-05-21
Positioning A personal digital garden, not a one-off portfolio.
Core Public content, bilingual notes, RAG retrieval, Biying chat, and guestbook.
Status The site is live, with backend APIs, knowledge generation, mobile checks, and deployment validation wired together.

This is the long-term personal website I am building for myself. It is not just a portfolio, and it is not only a chat demo. It brings public notes, project records, current status, guestbook messages, public knowledge, and Biying into one entrance.

I want it to grow with my learning and building. It now has bilingual pages, course notes, public retrieval, guestbook and admin APIs, mobile smoke tests, and self-hosted math rendering assets. Later it can hold more real projects, debugging records, temporary thoughts, and steadier production details.

Background

I wanted a place that feels more stable than a social profile and more relaxed than a formal introduction. Friends can see what I have been working on recently. People who are also interested in AI and engineering can follow the notes and projects into the actual process.

Biying is the unusual part of this project. He is not an all-knowing substitute for me, just a gentle guide to public content: he reads what has already been published on the site, helps visitors find useful signals, and says he does not know when the material is not there.

What I Did

Site Structure Built the MkDocs Material site structure and planned pages for home, about, now, notes, projects, Biying, and guestbook.
Bilingual Content Designed the `/zh/` and `/en/` structure so navigation, pages, and public knowledge stay paired.
Note Import Imported three course notes, then fixed math rendering and chapter navigation for long lecture pages.
Biying and Guestbook Designed Biying's tone, readable scope, and refusal boundaries, then implemented the chat frontend, guestbook frontend, admin entry, and EdgeOne Functions style APIs.
Knowledge and Retrieval Built public pages into a readable knowledge base, split content by sections, and gave the current page, Now page, and project pages stronger retrieval weight.
Reliability Checks Added shared frontend utilities, API error handling, rate-limit responses, public-scope validation, site-sync checks, and Playwright mobile tests.

Tech Stack

Content Site

MkDocs Material, Markdown, Pymdown Extensions, and MathJax for notes, page structure, and math rendering.

Bilingual Content

Chinese is the source language, English stays in step, and navigation, pages, and public knowledge are maintained in pairs.

Biying Chat

Public knowledge generation, section-level chunks, source boundaries, dialogue design, EdgeOne Functions style APIs, and DeepSeek/OpenAI-compatible model access.

Interaction and Deployment

Vanilla JavaScript, shared frontend utilities, cyber-style CSS, public guestbook, EdgeOne Pages/Functions/KV deployment path, GitHub CI, and Playwright mobile tests.

Assets and Math

MathJax is self-hosted with the repository and generated site, reducing CDN dependency; the build script keeps static output in sync.

Results

  • The site can be built and previewed locally, and python scripts/build_site.py now handles knowledge generation, MkDocs build, and site-sync validation.
  • Chinese and English pages now have a clear structure for future additions.
  • Three course notes have become readable website pages with math rendering and chapter navigation.
  • Biying can answer questions related to site content from the public knowledge base while respecting the public-scope boundary.
  • Guestbook, admin message management, authentication helper APIs, and the EdgeOne deployment path now have a basic loop.
  • Public-scope validation, mobile smoke tests, site-sync checks, and self-hosted MathJax are part of the maintenance flow.

Limitations

  • English course notes still need fuller translation and human review.
  • The production environment still needs confirmed model keys, KV bindings, and EdgeOne platform configuration.
  • The guestbook still needs finer moderation, deletion, anti-spam, and a smoother admin flow.
  • Mobile reading, long-note experience, and visual details can still be refined.
  • The edgeone development dependency chain has npm audit findings, so dependency cleanup deserves a separate pass.

Next

  • Project pages need more real work, reflections, and progress notes over time.
  • Connect EdgeOne Functions, KV, model keys, and public source citations into steadier production behavior.
  • Handle dependency audit separately instead of mixing toolchain upgrades into content maintenance.
  • Keep future projects on the same structure: background, what I did, stack, results, limitations, and next steps.