# _strip_frontmatter.py
import os
from pathlib import Path
WIKI_DIR = Path(__file__).parent
OUTPUT_DIR = WIKI_DIR / "_render"
SKIP_DIRS = {'node_modules', '_render', '__pycache__'}
def strip_frontmatter(content: str) -> str:
lines = content.split('\n')
if not lines or lines[0].strip() != '---':
return content
result = []
in_fm = True
for line in lines[1:]:
if in_fm:
if line.strip() == '---':
in_fm = False
else:
result.append(line)
return '\n'.join(result)
def main():
for root, dirs, files in os.walk(WIKI_DIR):
dirs[:] = [d for d in dirs if d not in SKIP_DIRS]
for fname in files:
if fname.endswith('.md'):
src = Path(root) / fname
rel = src.relative_to(WIKI_DIR)
out = OUTPUT_DIR / rel
out.parent.mkdir(parents=True, exist_ok=True)
out.write_text(strip_frontmatter(src.read_text()), encoding='utf-8')
if __name__ == '__main__':
main()
这段时间一直在折腾各种AI Agent开源应用,所以来社区和发帖的时间少了。最近两天折腾Hermes,然后尝试用它构建了一个本地私人知识库,它的方便之处在于---自动化处理。你现有的资料可以让Hermes批量给你导入库内,如果阅读网站文章或公众号文章,有用的信息和资料你可以随手粘贴给它,或者发送给它,也可以放入规定的文件夹内,它自动帮你归档入库和提炼。用下来感觉效果还不错,所以今天分享给大家,嗯,有条件的话大家可以试试~当然,你有更好的方案也可以分享、分享。
好现在进入正题---
前言
知识焦虑大概是每个搞机党都逃不过的坎——收藏夹堆满文章、笔记软件塞满碎片、某天想找某个知识点时翻遍全网也找不到本地那份。
今天分享一个我在 Deepin 25 上折腾出来的方案:基于 Hermes Agent + docsify 构建本地私人知识库。成本几乎为零,效果超出预期。【最终想要什么风格效果你可以让hermes或用AI CLI助手帮你修改】
效果先看
我的知识库长这样:
点击即可跳转、搜索、暗黑模式适配、右侧悬浮目录导航。核心文件 MD 格式,改动即更新。
核心技术栈
构建步骤
第一步:初始化目录结构
让 Hermes 帮你规划,直接说「帮我规划一个 AI 知识库的结构」即可。
第二步:安装 docsify 并初始化
或者用这套简单现成的
index.html:第三步:解决 MD 文件的 frontmatter 问题
docsify 原生不支持 Jekyll/YAML frontmatter(
---包裹的元数据),但我们希望源文件保留 frontmatter 方便管理。写一个 Python 脚本自动剥离:
运行一次即可:
第四步:配置本地静态服务
docsify 需要通过 HTTP 访问才能正常工作(不能直接
file://打开)。写一个简单的 Python 服务器:启动:
访问
http://localhost:3001/即可。第五步:用 AI 批量填充内容
这是最有意思的部分。
传统方案是你自己写每篇内容。有了 Hermes Agent,你可以:
raw/articles/目录放入 markdown 或 docx 文件示例 prompt:
内容规范(SCHEMA)
为了防止知识库变成垃圾场,给自己定几条规则:
进阶玩法
1. 多设备同步
把
~/wiki目录放到 NAS 或内网服务器上,手机/平板也能访问。2. 自动更新 CI
配合 GitHub Actions,push 原始 MD 文件后自动触发渲染 + 部署。
3. AI 自动摘要
写一个脚本,定期让 AI 阅读新的 RSS 源/文章,自动生成 entities/concepts 页面。
总结
这套方案的核心优势:
相关资源