Skip to content

Releases: cpufreestyle/my-wiki

MyWiki v3.0.0 - MediaPipe 面部情绪识别 + 桌面端检测增强

Choose a tag to compare

@cpufreestyle cpufreestyle released this 06 Sep 03:58

新增

  • MediaPipe 面部情绪识别模块:新增 face_mood 模块与 /api/face 接口
  • 心情页三路融合:面部情绪 + 文本分析 + 手动记录 三路结果融合展示

修复

  • 检测器稳健性增强:Obsidian 改为「协议注册 + 进程兜底」双重检测;OpenClaw 正确识别 npm 全局包安装方式
  • QClaw 桌面端检测修复:从 qclaw:// 协议反查真实 exe 路径,解决误判/漏检

说明

本版本基于 main 分支最新提交 8aaa768 发布,包含自 v2.9.0 以来的全部变更。

MyWiki v2.7.0 — PySide6 迁移 + 语音声学分析增强

Choose a tag to compare

@cpufreestyle cpufreestyle released this 18 Jul 11:33

MyWiki v2.7.0 — PySide6 迁移 + 语音声学分析增强

本文件记录 v2.7.0 的变更。两大核心改动:桌面端 GUI 从 Tkinter 迁移到 PySide6,以及语音心情录制新增声学分析。

🔄 核心改动一:Tkinter → PySide6 全量迁移

背景

桌面端 wiki_app.py 原本基于 Tkinter,在 macOS 上存在多个长期痛点:

  • 跨线程回调不可靠:Tkinter 从子线程调用 root.after() 在 macOS 上经常不执行,导致录音识别后 UI 卡在"识别中…"
  • 深色模式按钮失效:tk.Button 的 bg/fg 在 macOS 系统深色外观下被 Aqua 主题接管,自定义按钮几乎不可见
  • 模态对话框锁死输入:tk.Toplevel + grab_set() 在 macOS 下会拦截主窗口全部输入
  • ScrolledText 在 Notebook 内失焦:macOS 自带 Tk 8.5 (Carbon) 下键盘输入异常

迁移成果

方面 Tkinter 旧版 PySide6 新版
线程安全 手动队列轮询 (_ui_queue + _poll_ui_queue + after(100)) 信号槽机制天然线程安全 (VoiceSignals + Signal + 自动队列连接)
样式 逐控件设 bg/fg,用 Label 模拟按钮 全局 QSS 样式表(类 CSS),属性选择器 QPushButton[primary="true"]
对话框 Toplevel + 手动 grab_set(锁死主窗口) QDialog + exec(),原生模态不锁主窗口
快捷键 root.bind("<Control-s>") QShortcut(QKeySequence("Ctrl+S"))
可拖拽分隔 tk.PanedWindow QSplitter
代码量 1802 行 ~1050 行(更简洁)

文件变更

  • wiki_app.py:完全重写,使用 PySide6(QMainWindow / QTabWidget / QPlainTextEdit / QSplitter / Signal-Slot)
  • MyWiki.app/Contents/MacOS/mywiki:启动器简化,移除 Tk 版本检测逻辑,改为检测 PySide6
  • 依赖:新增 PySide6(已安装到 .venv)

测试

自动化功能测试 46 项全部通过,覆盖:

  • 核心逻辑:心情分析(开心/低落/平静)、标签提取、日记/心情/提醒存储、中英文 i18n、主题色
  • GUI 界面:4 个标签页、所有控件、保存日记、心情分析、语言切换、主题切换

🎤 核心改动二:语音声学分析增强

声学特征提取

  • 桌面端 (voice_mood.py):新增 analyze_voice_acoustics 与 acoustics_to_mood,使用 wave/struct/math 本地提取音频特征(能量、过零率、基频、频谱质心、静音比),映射到心情
  • 网页端 (voice-controller.js):集成 Web Audio API (AnalyserNode) 进行浏览器端实时声学分析
  • 后端 (web_server.py:新增):为非浏览器环境提供录音/识别 API,集成 voice_mood.analyze_voice_acoustics

融合策略

文本分析(权重 0.6)+ 声学分析(权重 0.4)加权融合:

  • 两者都有 → 加权融合取最高分心情
  • 仅声学(文字识别失败)→ 使用声学结果
  • 仅文本 → 使用文本结果

其他语音改进

  • 修复录音停止后 UI 卡死(竞态条件 + 跨线程回调)
  • 麦克风权限一键重置对话框
  • 识别后自动保存开关(偏好持久化)
  • 网页端复用单一 SpeechRecognition 对象,避免重复弹授权提示
  • mood_web.html 融合文本+声学结果,扩展心情关键词

📦 完整变更清单

新增文件

  • web_server.py:语音录音/识别后端 API
  • RELEASE_v2.7.0.md:本发布文档

修改文件

  • wiki_app.py:Tkinter → PySide6 全量重写
  • voice_mood.py:新增声学分析、调试日志、竞态修复
  • voice-controller.js:Web Audio API 声学分析、麦克风流复用
  • mood_web.html:融合文本+声学结果、关键词扩展
  • MyWiki.app/Contents/MacOS/mywiki:启动器适配 PySide6
  • MyWiki.app/Contents/Resources/AppIcon.icns:更新应用图标
  • assets/AppIcon.icns、icon.ico、icon.png:更新图标资源
  • README.md:版本号更新至 v2.7.0

依赖

  • 新增:PySide6 (6.11.1)
  • 已有:SpeechRecognition、static-ffmpeg

⚡ 升级指南

# 安装 PySide6 依赖
cd my-wiki
.venv/bin/python -m pip install PySide6

# 启动应用
.venv/bin/python wiki_app.py

# 或通过 macOS App
open MyWiki.app

历史版本参考

  • v2.6.0:网页版功能扩展(日记/心情网页版)
  • v2.5.0:三端配色对齐 + 录音权限修复
  • v2.4.0:UI 主题统一(Apple 风浅/深色设计 token)

MyWiki v2.2.0 - 共享 Wiki (Obsidian × 所有 Agent)

Choose a tag to compare

@cpufreestyle cpufreestyle released this 12 Jul 04:43

新增:共享 Wiki 中枢 (Shared Wiki)

让 MyWiki 成为 Obsidian 与电脑里所有 AI Agent 共享的知识中枢。

核心功能

  • 单一事实源:Obsidian 与所有 Agent 读写同一个 wiki 文件夹,无需重复同步
  • MCP 协议支持:新增标准 MCP Server(stdio),Claude Desktop / Cursor / OpenClaw 零代码接入共享 Wiki
  • Agent 自动发现:自动扫描本机运行的 Agent(OpenClaw、A2A 网络节点、Ollama、LM Studio、Claude、Cursor、Memo、Obsidian)
  • 知识广播:Wiki 更新时可向所有在线 Agent 推送事件
  • GUI 集成:主程序新增 Share 标签页,一键启动 MCP Server、查看 Agent、在 Obsidian 打开笔记、广播更新

新增文件

  • modules/shared-wiki/wiki_core.py — 统一读写/搜索/索引内核
  • modules/shared-wiki/agent_registry.py — Agent 发现与广播
  • modules/shared-wiki/obsidian_bridge.py — Obsidian Vault 发现 + URI 打开 + 文件监听
  • modules/shared-wiki/mcp_server.py — 标准 MCP Server(未装 mcp 库时自动降级为 JSON-RPC)
  • modules/shared-wiki/README.md — 模块文档

命令

  • python wiki_tool.py serve — 启动 MCP Server
  • python wiki_tool.py agents — 发现所有 Agent
  • python wiki_tool.py obsidian — 发现 Obsidian Vault
  • python wiki_tool.py broadcast <event> [rel] — 广播 Wiki 更新

其他

  • 更新 MyWiki.spec 打包配置包含 shared-wiki 模块
  • 更新 README.md / deploy_guide.md 文档
  • 新增 .gitignore(忽略 registry.json 运行产物)

MyWiki v2.1.0 - 功能模块集成

Choose a tag to compare

@cpufreestyle cpufreestyle released this 07 Jul 17:19

🎉 MyWiki v2.1.0 — 功能模块集成

本次更新将视频分析、Memo 联动、Obsidian 双 Vault 同步、A2A Agent 网络集成为 MyWiki 标准功能模块,统一通过 wiki_tool.py v2.0 入口调用。


✨ 新增功能

1. 功能模块系统 (modules/)

新增 modules/ 目录,包含 4 个功能模块:

模块 目录 功能
Video Analysis modules/video-analysis/ FFmpeg 帧提取 + Vision 逐帧分析 → Markdown 报告
Memo Sync modules/memo-sync/ 与本地 Memo (MemoAI) 应用双向同步
Obsidian Sync modules/obsidian-sync/ 多 Vault 同步(Documents + Wiki),自动生成首页
A2A Agent modules/a2a-agent/ Google A2A 协议 Agent 网络文档索引

2. wiki_tool.py v2.0

统一命令行入口,集成所有模块:

# 基础命令
python wiki_tool.py update                    # 更新 INDEX.md
python wiki_tool.py daily                     # 创建今日笔记
python wiki_tool.py search <query>            # 搜索 wiki

# 视频分析
python wiki_tool.py video <path> --interval 30 --title "标题"

# Memo 同步
python wiki_tool.py memo-push <file.md> --title "标题"
python wiki_tool.py memo-list
python wiki_tool.py memo-search "关键词"
python wiki_tool.py memo-pull

# Obsidian 双 Vault 同步
python wiki_tool.py sync-obsidian              # 同步到所有 Vault
python wiki_tool.py sync-obsidian --vault documents  # 仅 Documents

3. Video Analysis 模块

  • analyze.py: ffprobe 元数据探测 → ffmpeg 按间隔提取帧 → 均匀采样 12-15 关键帧 → 生成报告框架
  • 与 OpenClaw video-analysis skill 联动,Vision 模型逐帧分析
  • 实战验证:分析 2 小时 AI PM 课程视频(aipmday.mp4 / aipmday2.mp4)

4. Memo Sync 模块

  • sync.py: 通过 SQLite 直接读写 Memo (MemoAI) 应用数据库
  • 支持 push / push-dir / pull / list / search
  • 定时同步:OpenClaw cron 每天 22:00 自动推送
  • 实战验证:已推送 8 篇文档(视频分析报告 + 5 天日记)

5. Obsidian Sync 模块

  • sync.py: 多 Vault 双向同步
  • 支持 ~/Documents/Obsidian Vault/ 和 ~/.qclaw/workspace/wiki/wiki/
  • 自动生成首页 首页.md,带 [[]] 双链导航
  • 同步 daily/、projects/、concepts/、people/、brain/ 目录及分析报告

6. A2A Agent 模块

  • Google A2A 协议本地 Agent 网络文档索引
  • 架构:Orchestrator (10000) + LM Studio (10001) + Ollama (10002) + Blender 3D (10003) + StepFun (10004) + OpenClaw (10005)
  • OpenClaw 作为 A2A Agent 节点,发布 Agent Card(5 项技能)

📦 文件变更

新增文件(11 个):

  • modules/video-analysis/README.md - 视频分析模块文档
  • modules/video-analysis/analyze.py - 视频分析入口脚本
  • modules/memo-sync/README.md - Memo 同步模块文档
  • modules/memo-sync/sync.py - Memo SQLite 同步脚本
  • modules/obsidian-sync/README.md - Obsidian 同步模块文档
  • modules/obsidian-sync/sync.py - 多 Vault 同步脚本
  • modules/a2a-agent/README.md - A2A Agent 网络文档

修改文件:

  • wiki_tool.py - v1 → v2.0,集成所有模块命令
  • README.md - v1.2.0 → v2.0.0,新增功能模块和集成工具章节
  • INDEX.md - 自动更新,包含模块索引

统计: 70 files changed, 5307 insertions(+), 72 deletions(-)


🐛 修复

  • 修复 wiki_tool.py 中 .obsidian 目录被搜索索引的问题
  • 修复 sync_dir_to_vault 跳过隐藏文件

📋 系统要求

  • macOS: 12.0+ (Python 3.8+, FFmpeg)
  • Windows: 10+ (Python 3.8+)
  • Obsidian: 1.0+
  • FFmpeg: 4.0+(视频分析模块,brew install ffmpeg)
  • Memo (MemoAI): 可选,Memo 同步模块

🚀 升级指南

cd /path/to/my-wiki
git pull origin main-remote

# 验证
python wiki_tool.py help

# 测试 Obsidian 同步
python wiki_tool.py sync-obsidian

🔗 相关链接


Full Changelog: v1.2.0...v2.1.0

v1.2.0 - Mac + Obsidian Support

Choose a tag to compare

@cpufreestyle cpufreestyle released this 30 Jun 16:43

My Wiki v1.2.0 - Mac + Obsidian 支持

🎉 重大更新

本版本添加了完整的 macOS 支持、Obsidian 集成和本地模型支持,让你可以在 Obsidian 中无缝使用 OpenClaw 管理的知识库,并支持使用本地运行的大语言模型。


✨ 新增功能

1. macOS 支持

  • ✅ 新增 scripts/setup-mac.sh - Mac 环境自动设置脚本
  • ✅ 自动安装 Python 依赖(beautifulsoup4, markdown, python-dateutil 等)
  • ✅ 自动设置脚本权限
  • ✅ 自动检测 Obsidian 安装
  • ✅ 自动为现有笔记添加 YAML frontmatter

2. Obsidian 集成

  • ✅ 完整的 Obsidian 配置(.obsidian/app.json)
  • ✅ 启用 6 个核心插件:
    • templates(模板)
    • daily-notes(每日笔记)
    • calendar(日历)
    • dataview(数据视图)
    • tag-pane(标签面板)
    • outline(大纲)
  • ✅ 创建笔记模板:
    • .obsidian/templates/daily-note.md - 每日笔记模板
    • .obsidian/templates/project.md - 项目笔记模板
  • ✅ 所有笔记添加 YAML frontmatter(title, date, tags, type)

3. 本地模型支持 🆕

  • ✅ 支持 Ollama(推荐)- 简单易用,OpenAI 兼容 API
  • ✅ 支持 LM Studio - 图形界面,Local Server 支持
  • ✅ 支持 GPT4All - 开源,Python API
  • ✅ 支持 llama.cpp - 高级用户,最大灵活性
  • ✅ 完整配置指南(LOCAL-MODELS.md)
  • ✅ 隐私保护:数据不离开本地
  • ✅ 成本节约:无 API 费用

4. 跨平台支持

  • ✅ 更新 obsidian_integration.md - 添加 Mac + Windows 详细配置说明
  • ✅ 创建 HOW-TO-FIND-VAULT-NAME.md - Obsidian vault 名称故障排除指南
  • ✅ 创建 scripts/generate_obsidian_uri.py - 生成正确的 Obsidian URI
  • ✅ 使用 pathlib.Path 处理跨平台路径

5. 文档更新

  • ✅ 完整的 Obsidian 使用指南
  • ✅ Mac 设置说明
  • ✅ 本地模型配置指南
  • ✅ 常见问题解答
  • ✅ URI 命令示例

📦 安装

macOS 用户

# 克隆仓库
git clone https://github.com/cpufreestyle/my-wiki.git
cd my-wiki

# 运行 Mac 设置脚本
./scripts/setup-mac.sh

# (可选)安装 Ollama 使用本地模型
brew install ollama
ollama serve &
ollama pull llama3

# 在 Obsidian 中打开
# Open Folder as Vault → 选择当前文件夹

Windows 用户

# 克隆仓库
git clone https://github.com/cpufreestyle/my-wiki.git
cd my-wiki

# 安装 Python 依赖
pip install -r requirements.txt

# 在 Obsidian 中打开
# Open Folder as Vault → 选择当前文件夹

使用本地模型(可选)

查看 LOCAL-MODELS.md 获取完整指南:

# 快速开始(Ollama)
brew install ollama
ollama serve &
ollama pull llama3

# 配置 OpenClaw
# 编辑 ~/.config/openclaw/config.yaml

📝 完整更新日志

提交历史

  • 09a4c74 - Add local model support (Ollama, LM Studio, GPT4All, llama.cpp)
  • 9f86c5a - Update README.md with detailed software list and operation flow
  • abc0c7b - Add daily note for 2026-07-01
  • 053714b - Add YAML frontmatter to all notes for Obsidian compatibility (41 files)
  • 52938d6 - Fix Obsidian vault name issue and add URI generator
  • 7187a3d - Add Mac and Obsidian support

文件变更

新增文件(8 个):

  • LOCAL-MODELS.md - 本地模型支持完整指南
  • scripts/setup-mac.sh - Mac 设置脚本
  • .obsidian/app.json - Obsidian 配置
  • .obsidian/templates/daily-note.md - 每日笔记模板
  • .obsidian/templates/project.md - 项目笔记模板
  • HOW-TO-FIND-VAULT-NAME.md - Vault 名称指南
  • scripts/generate_obsidian_uri.py - URI 生成器
  • scripts/add_frontmatter.py - Frontmatter 添加脚本

修改文件(46 个):

  • README.md - 添加本地模型支持章节
  • obsidian_integration.md - 更新 Mac + Windows 说明
  • 所有每日笔记(添加 frontmatter)
  • 所有项目笔记(添加 frontmatter)
  • 所有概念笔记(添加 frontmatter)

🐛 修复问题

  • ✅ 修复 Obsidian URI "Unable to find a vault" 错误
  • ✅ 修复跨平台路径问题
  • ✅ 修复 Python 依赖安装问题

📋 系统要求

  • macOS: 10.15+ (Python 3.8+)
  • Windows: 10+ (Python 3.8+)
  • Obsidian: 1.0+
  • Git: 2.30+
  • 本地模型(可选): 8GB+ RAM(3B-7B 模型),32GB+ RAM(13B-30B 模型)

🚀 升级指南

从 v1.1.0 升级

cd /path/to/my-wiki
git pull origin main

# macOS 用户:重新运行设置脚本
./scripts/setup-mac.sh

# (可选)安装 Ollama
brew install ollama

🔗 相关链接


🙏 致谢

感谢所有贡献者和用户!


Full Changelog: v1.1.0...v1.2.0

My Wiki v2.0 - 本地 LLM 知识管理

Choose a tag to compare

@cpufreestyle cpufreestyle released this 08 Jun 13:14

📦 下载

MyWiki.exe (11.3 MB)

下载后双击运行,无需安装。


✨ 新特性

  • 模块化架构:6 个独立模块文件
  • 动态路径管理:告别硬编码,支持多用户
  • 情绪分析:内置心情记录与趋势分析
  • 智能标签:自动提取日记关键词
  • 提醒系统:支持定时提醒与通知
  • Obsidian 集成:自动检测并支持 Obsidian 打开

🛠️ 改进

  • 清理遗留文件(daily_ui.py, reminder_ui.py 等)
  • 更新部署文档与 Obsidian 集成指南

🔧 源码运行

pip install tkinter-tooltip Pillow
python wiki_app.py

📋 环境变量

MYWIKI_LLM_PROVIDER=ollama|lmstudio
MYWIKI_OLLAMA_MODEL=qwen2.5
MYWIKI_LMSTUDIO_MODEL=

v1.1.0

Choose a tag to compare

@cpufreestyle cpufreestyle released this 23 May 14:50

v1.1.0 Updates:

  • Voice diary auto-tag extraction
  • Mood tracking (keyword-based sentiment analysis)
  • Reminder system (Windows Task Scheduler + heartbeat)
  • Removed Obsidian dependency

v1.0.0

Choose a tag to compare

@cpufreestyle cpufreestyle released this 23 May 08:08

MyWiki v1.0.0

Personal Wiki & Diary Manager / 个人知识库与日记管理工具


Download / 下载

MyWiki.exe (10.7 MB)

Download and run directly — no installation needed.
下载后双击运行,无需安装。


Quick Start / 快速上手

Step 1: Run the App / 启动程序

  • Double-click MyWiki.exe to launch
  • 双击 MyWiki.exe 即可启动
  • A dark-themed window will pop up (always on top by default)
  • 窗口默认置顶显示,暗色主题

Step 2: Write Your Diary / 写日记

  1. Click Diary tab (default) / 点击 Diary 标签页(默认)
  2. Date is auto-filled with today / 日期自动填入今天
  3. Type your diary content in the text area / 在文本框中输入日记内容
  4. Click Save to save / 点击 Save 保存
  5. Click Tags button to auto-extract tags from content / 点击 Tags 自动提取标签

Step 3: Track Mood / 记录心情

  1. Click Mood tab / 点击 Mood 标签页
  2. Select today's mood emoji / 选择今天的心情表情
  3. Add a short note (optional) / 可添加简短备注
  4. Click Save / 点击 Save

Step 4: Set Reminders / 设置提醒

  1. Click Reminder tab / 点击 Reminder 标签页
  2. Pick date and time / 选择日期和时间
  3. Type your reminder message / 输入提醒内容
  4. Click Add Reminder / 点击 Add Reminder
  5. The system creates a Windows scheduled task automatically
    • 系统自动创建 Windows 计划任务
  6. When time comes, you'll receive a WeChat notification (if configured)
    • 到时间后会收到微信通知(需配置微信通道)

Step 5: Use Templates / 使用模板

  1. Click Template button in Diary tab / 在 Diary 页点击 Template
  2. Choose a template from the dropdown / 从下拉框选择模板
  3. Content is inserted into editor / 模板内容插入编辑器

Features / 功能特性

Feature Description
Diary / 日记 Daily journal with date, tags, markdown support
Mood / 心情 Mood tracking with emoji and analysis
Reminder / 提醒 Windows Task Scheduler integration, WeChat notify
Dark Theme / 暗色主题 VS Code style (#1e1e1e), easy on eyes
Custom Icon / 自定义图标 Blue circle with W logo
Tag Extraction / 标签提取 Auto-generate tags from diary content
Obsidian / Obsidian联动 Open files in Obsidian vault
Always on Top / 置顶 Window stays visible while working

File Structure / 文件结构

MyWiki/
├── wiki_app.py          # Main GUI app / 主程序
├── reminder_manager.py  # Reminder engine / 提醒引擎
├── mood_analyzer.py     # Mood analysis / 心情分析
├── tag_extractor.py     # Tag extraction / 标签提取
├── icon.ico             # App icon / 图标
├── daily/               # Diary files / 日记文件
│   └── YYYY-MM-DD.md
├── mood/                # Mood data / 心情数据
│   └── YYYY-MM-DD.json
└── reminders/           # Reminder data / 提醒数据
    └── reminders.json

Requirements (Source Mode / 源码运行)

  • Python 3.11+
  • tkinter (included with Python)
  • Pillow (pip install Pillow)
  • pywin32 (pip install pywin32)

Run: python wiki_app.py


Tips / 小贴士

  • Diary files are saved as Markdown in daily/ folder
  • 日记以 Markdown 格式保存在 daily/ 目录
  • All data stored locally — fully private
  • 所有数据本地存储,完全私密
  • Reminders use Windows built-in Task Scheduler — no extra service needed
  • 提醒使用 Windows 内置计划任务,无需额外服务