diff --git a/wiki/sources/ChromeDevTools与CDP协议完全指南 b/wiki/sources/ChromeDevTools与CDP协议完全指南 new file mode 100755 index 0000000..b7dba53 --- /dev/null +++ b/wiki/sources/ChromeDevTools与CDP协议完全指南 @@ -0,0 +1,425 @@ +# Chrome DevTools 与 CDP 协议完全指南 + +> Chrome DevTools 开发者工具 + Chrome DevTools Protocol (CDP) 协议深度研究 +> +> 归档:2026-04-25 + +--- + +## 📊 生态概览 + +| 项目 | Stars | 定位 | +|------|-------|------| +| **Puppeteer** | 94,185 | Google 官方 Node.js CDP 库 | +| **Playwright** | 87,219 | 微软多浏览器自动化框架 | +| **go-rod/rod** | 6,881 | Go 语言 CDP 驱动 | +| **CDP 协议仓库** | 1,476 | 官方协议定义 | +| **cdpnetool** | 336 | CDP 网络调试工具 | +| **ichrome** | 259 | Python CDP 控制器 | + +--- + +## 🎯 Chrome DevTools 是什么 + +**Chrome DevTools** 是 Chrome/Chromium 浏览器内置的**开发者调试工具集**,提供: +- DOM/CSS 检查与编辑 +- JavaScript 调试与性能分析 +- 网络请求监控与拦截 +- 内存泄漏检测 +- 移动端模拟 + +**底层协议:CDP(Chrome DevTools Protocol)** + +CDP 是 DevTools 的**通信协议**,允许外部工具通过 WebSocket 与浏览器交互,实现: +- 自动化测试 +- 网页爬取 +- 性能监控 +- 安全审计 + +--- + +## 🔌 CDP 协议架构 + +### 核心概念 + +``` +外部工具(Puppeteer/Playwright/自定义) + ↓ WebSocket +Chrome DevTools Protocol (CDP) + ↓ +Chromium 浏览器内核 +``` + +- **Domain(域)**:功能分类(Network、DOM、Page 等) +- **Command(命令)**:工具→浏览器的请求 +- **Event(事件)**:浏览器→工具的通知 +- **Type(类型)**:数据结构定义 + +### 协议版本 + +| 版本 | 说明 | 适用场景 | +|------|------|---------| +| **latest (tot)** | 最新版本,频繁变更 | 最新功能探索 | +| **v8-inspector** | Node.js 调试专用 | Node.js 调试 | +| **stable 1.3** | Chrome 64 锁定,向后兼容 | 生产环境 | + +--- + +## 📦 45+ 核心 Domain 分类 + +### 🔍 页面与 DOM + +| Domain | 核心能力 | +|--------|---------| +| **Page** | 页面导航、截图、打印、生命周期管理 | +| **DOM** | DOM 树查询、修改、监听变化 | +| **DOMSnapshot** | 获取完整 DOM 快照 | +| **DOMDebugger** | DOM 事件断点 | +| **DOMStorage** | localStorage/sessionStorage 操作 | + +### 🌐 网络 + +| Domain | 核心能力 | +|--------|---------| +| **Network** | 请求/响应拦截、修改、性能分析 | +| **Fetch** | 请求级拦截与修改(Mock API) | +| **Security** | 证书、HTTPS、安全状态 | +| **ServiceWorker** | SW 注册/注销/调试 | + +### ⚡ 调试与性能 + +| Domain | 核心能力 | +|--------|---------| +| **Runtime** | JS 执行、对象检查、异常捕获 | +| **Debugger** | 断点、单步执行、调用栈 | +| **Profiler** | CPU 性能分析 | +| **HeapProfiler** | 内存堆分析、泄漏检测 | +| **Performance** | 性能指标采集 | +| **Tracing** | 底层追踪数据 | + +### 📱 模拟与仿真 + +| Domain | 核心能力 | +|--------|---------| +| **Emulation** | 设备模拟、屏幕尺寸、地理位置 | +| **Input** | 模拟鼠标/键盘/触摸输入 | +| **DeviceOrientation** | 模拟设备方向 | + +### 🎨 样式与渲染 + +| Domain | 核心能力 | +|--------|---------| +| **CSS** | 样式表查询、修改、计算样式 | +| **Overlay** | 高亮元素、网格线、滚动条 | +| **LayerTree** | 渲染层分析 | +| **Animation** | 动画检查与控制 | + +### 🔧 其他 + +| Domain | 核心能力 | +|--------|---------| +| **Browser** | 浏览器级操作(版本、窗口管理) | +| **Target** | Tab/Worker 管理 | +| **Log** | 控制台日志捕获 | +| **Console** | 控制台消息 | +| **IO** | 流式数据读写 | +| **Storage** | Cookie、IndexedDB、Cache | + +--- + +## 💻 常用 CDP 命令速查 + +### 页面操作 + +```javascript +// 导航到页面 +Page.navigate({ url: 'https://example.com' }) + +// 截图 +Page.captureScreenshot({ format: 'png' }) + +// 打印为 PDF +Page.printToPDF({ + landscape: false, + displayHeaderFooter: true +}) +``` + +### 网络拦截 + +```javascript +// 启用网络域 +Network.enable() + +// 拦截并修改请求 +Fetch.enable({ + patterns: [{ urlPattern: '*', requestStage: 'Request' }] +}) + +// 修改请求头 +Fetch.continueRequest({ + requestId, + headers: [{ name: 'User-Agent', value: 'Custom' }] +}) + +// Mock 响应 +Fetch.fulfillRequest({ + requestId, + responseCode: 200, + body: btoa(JSON.stringify({ mock: true })) +}) +``` + +### JS 执行 + +```javascript +// 执行 JS +Runtime.evaluate({ + expression: 'document.title' +}) + +// 设置断点 +Debugger.enable() +Debugger.setBreakpoint({ + location: { + scriptId: '1', + lineNumber: 10 + } +}) +``` + +### 设备模拟 + +```javascript +// 模拟 iPhone +Emulation.setDeviceMetricsOverride({ + width: 375, + height: 812, + deviceScaleFactor: 3, + mobile: true +}) + +// 模拟地理位置 +Emulation.setGeolocationOverride({ + latitude: 39.9042, + longitude: 116.4074 +}) +``` + +### DOM 操作 + +```javascript +// 获取 DOM 树 +DOM.getDocument({ depth: 2 }) + +// 查询元素 +DOM.querySelector({ + nodeId: 1, + selector: '.my-class' +}) + +// 修改属性 +DOM.setAttributeValue({ + nodeId: 42, + name: 'class', + value: 'new-class' +}) +``` + +--- + +## 🛠️ 主流 CDP 库对比 + +### Puppeteer(官方推荐) + +```javascript +const puppeteer = require('puppeteer'); + +const browser = await puppeteer.launch(); +const page = await browser.newPage(); +await page.goto('https://example.com'); +await page.screenshot({ path: 'example.png' }); +await browser.close(); +``` + +| 特性 | 说明 | +|------|------| +| **语言** | Node.js | +| **维护** | Google 官方 | +| **Stars** | 94k+ | +| **适合** | 爬虫、截图、自动化测试 | + +### Playwright(多浏览器) + +```javascript +const { chromium } = require('playwright'); + +const browser = await chromium.launch(); +const page = await browser.newPage(); +await page.goto('https://example.com'); +// 同时支持 Chromium / Firefox / WebKit +``` + +| 特性 | 说明 | +|------|------| +| **语言** | JS/Python/Java/.NET | +| **维护** | 微软 | +| **Stars** | 87k+ | +| **适合** | 跨浏览器 E2E 测试 | + +### go-rod(Go 语言) + +```go +package main + +import "github.com/go-rod/rod" + +func main() { + page := rod.New().MustConnect().MustPage("https://example.com") + page.MustElement("input").MustInput("hello") + page.MustScreenshot("example.png") +} +``` + +| 特性 | 说明 | +|------|------| +| **语言** | Go | +| **Stars** | 6.8k | +| **适合** | Go 生态、高性能爬虫 | + +### ichrome(Python) + +```python +import asyncio +from ichrome import AsyncChrome + +async def main(): + async with AsyncChrome() as chrome: + tab = await chrome.connect_tab(0) + await tab.goto('https://example.com') + await tab.screenshot(path='example.png') + +asyncio.run(main()) +``` + +| 特性 | 说明 | +|------|------| +| **语言** | Python | +| **Stars** | 259 | +| **适合** | Python 爬虫、自动化 | + +--- + +## 🎯 典型应用场景 + +### 1. 网页自动化 + +``` +场景:自动填写表单、点击按钮、爬取数据 +方案:Puppeteer / Playwright +关键 API:Page.navigate, Page.click, Page.type +``` + +### 2. 网络请求拦截 + +``` +场景:Mock API 响应、修改请求头 +方案:Fetch Domain +关键 API:Fetch.enable, Fetch.fulfillRequest +``` + +### 3. 性能分析 + +``` +场景:检测页面加载性能、内存泄漏 +方案:Performance + HeapProfiler Domain +关键 API:Performance.getMetrics, HeapProfiler.takeHeapSnapshot +``` + +### 4. 移动端测试 + +``` +场景:模拟手机设备访问 +方案:Emulation Domain +关键 API:Emulation.setDeviceMetricsOverride +``` + +### 5. 安全审计 + +``` +场景:检测 XSS、检查 HTTPS +方案:Security + DOMDebugger Domain +关键 API:Security.getSecurityState, DOMDebugger.setDOMBreakpoint +``` + +--- + +## 🔧 开发调试技巧 + +### 启用 Protocol Monitor + +1. 打开 DevTools → 设置 ⚙️ +2. Experiments → 启用 "Protocol Monitor" +3. More Tools → Protocol monitor +4. 查看所有 CDP 命令和响应 + +### 直接发送 CDP 命令 + +``` +# 截图 +Page.captureScreenshot + +# 带参数 +{"cmd":"Page.captureScreenshot","args":{"format":"jpeg"}} +``` + +### 远程调试 + +```bash +# 启动 Chrome 远程调试 +chrome --remote-debugging-port=9222 + +# 连接 WebSocket +ws://localhost:9222/devtools/page/ +``` + +--- + +## 📊 CDP 在 AI 编程中的应用 + +| 场景 | CDP 的作用 | +|------|-----------| +| **Superpowers 代码审查** | 通过 CDP 检查页面实际渲染效果 | +| **AI 自动化测试** | 控制浏览器执行 E2E 测试 | +| **网页爬取** | 动态渲染页面的内容提取 | +| **性能优化建议** | CDP 采集真实性能数据 | +| **安全扫描** | 自动检测前端安全问题 | + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **CDP 官方文档** | https://chromedevtools.github.io/devtools-protocol/ | +| **Getting Started with CDP** | https://github.com/aslushnikov/getting-started-with-cdp | +| **awesome-chrome-devtools** | https://github.com/ChromeDevTools/awesome-chrome-devtools | +| **Puppeteer** | https://github.com/puppeteer/puppeteer | +| **Playwright** | https://github.com/microsoft/playwright | +| **go-rod** | https://github.com/go-rod/rod | +| **cdpnetool** | https://github.com/241x/cdpnetool | + +--- + +## 💡 与 OpenClaw 的结合点 + +| 结合方式 | 说明 | +|---------|------| +| **Browser 工具** | OpenClaw 已通过 Playwright 集成 CDP | +| **网页自动化** | 可通过 CDP 控制浏览器完成任务 | +| **性能监控** | CDP 采集数据 → AI 分析建议 | +| **安全审计** | CDP 检测 → AI 生成报告 | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/ClaudeHaiku完全研究 b/wiki/sources/ClaudeHaiku完全研究 new file mode 100755 index 0000000..75ae5a8 --- /dev/null +++ b/wiki/sources/ClaudeHaiku完全研究 @@ -0,0 +1,191 @@ +# Claude Haiku 完全研究 + +> Anthropic 轻量级大模型家族:速度与成本的平衡艺术 +> +> 归档:2026-04-25 + +--- + +## 📊 生态概览 + +**Haiku** 是 Anthropic Claude 家族中的**轻量级模型**,定位为"速度最快、成本最低"的选择。 + +--- + +## 🏆 Haiku 家族三代对比 + +| 特性 | Claude 3 Haiku | Claude 3.5 Haiku | Claude Haiku 4.5 | +|------|---------------|-----------------|-----------------| +| **发布时间** | 2024 年 3 月 | 2024 年 11 月 | 2025 年 10 月 | +| **上下文窗口** | 200K | 200K | 200K | +| **输入价格** | $0.25/M | $0.80/M | $1.00/M | +| **输出价格** | $1.25/M | $4.00/M | $5.00/M | +| **缓存读取** | $0.03/M | $0.08/M | $0.10/M | +| **缓存写入** | $0.30/M | $1.00/M | $1.25/M | +| **联网搜索** | - | $0.01/次 | $0.01/次 | + +### 定价对比(全家族) + +| 模型 | 输入价格 | 输出价格 | 倍数关系 | +|------|---------|---------|---------| +| **Haiku 4.5** | $1/M | $5/M | 基准 | +| **Sonnet 4.6** | $3/M | $15/M | 3x | +| **Opus 4.7** | $5/M | $25/M | 5x | + +--- + +## 🎯 核心定位 + +``` +Opus ───→ 最强大,适合复杂推理和编码 +Sonnet ──→ 平衡选择,日常生产力 +Haiku ───→ 最快最便宜,简单任务首选 +``` + +**Haiku = 速度优先 + 成本优先** + +--- + +## 💪 典型应用场景 + +| 场景 | 说明 | +|------|------| +| **数据提取** | 从文本/表格中提取结构化数据 | +| **内容审核** | 快速判断内容是否合规 | +| **分类任务** | 文本分类、情感分析 | +| **简单问答** | 常见问题解答 | +| **格式转换** | 数据格式转换、JSON 输出 | +| **子代理** | 多代理架构中的轻量执行者 | +| **网页读取** | 网页内容摘要和提取 | + +--- + +## 🤖 与 Opus/Sonnet 的协作模式 + +### 子代理模式(推荐) + +``` +Opus(主代理) + ↓ 拆分任务 +Haiku(子代理)→ 处理简单任务(分类、提取、格式化) + ↓ 返回结果 +Opus 汇总 +``` + +**优势**: +- 80% 的简单任务用 Haiku(便宜 5 倍) +- 20% 的复杂任务用 Opus +- 整体成本降低 60%+ + +### 分类路由模式 + +``` +用户请求 → 路由器(Haiku) + ↓ 简单任务 → Haiku 处理 + ↓ 复杂任务 → Sonnet/Opus 处理 +``` + +--- + +## 🔧 API 使用示例 + +### Python + +```python +import anthropic + +client = anthropic.Anthropic(api_key="your_api_key") + +message = client.messages.create( + model="claude-haiku-4-5-20251001-v1:0", + max_tokens=1024, + messages=[ + {"role": "user", "content": "提取以下文本中的关键信息:..."} + ] +) + +print(message.content[0].text) +``` + +### Node.js + +```javascript +const { Anthropic } = require('@anthropic-ai/sdk'); + +const client = new Anthropic({ + apiKey: process.env.ANTHROPIC_API_KEY +}); + +const message = await client.messages.create({ + model: 'claude-haiku-4-5-20251001-v1:0', + max_tokens: 1024, + messages: [ + { role: 'user', content: '提取以下文本中的关键信息:...' } + ] +}); + +console.log(message.content[0].text); +``` + +--- + +## 📊 性能对比(相对排名) + +| 能力 | Haiku 4.5 | Sonnet 4.6 | Opus 4.7 | +|------|-----------|-----------|---------| +| **数学推理** | ★★★☆☆ | ★★★★☆ | ★★★★★ | +| **编码能力** | ★★★☆☆ | ★★★★☆ | ★★★★★ | +| **创意写作** | ★★★☆☆ | ★★★★☆ | ★★★★★ | +| **数据分析** | ★★★★☆ | ★★★★☆ | ★★★★★ | +| **响应速度** | ★★★★★ | ★★★★☆ | ★★★☆☆ | +| **成本效率** | ★★★★★ | ★★★★☆ | ★★★☆☆ | + +--- + +## 🔗 获取渠道 + +| 平台 | 说明 | +|------|------| +| **Anthropic API** | 官方渠道 | +| **AWS Bedrock** | 企业集成 | +| **Google Vertex AI** | GCP 生态 | +| **OpenRouter** | 多模型聚合 | + +--- + +## 💡 最佳实践 + +| 实践 | 说明 | +|------|------| +| **简单任务用 Haiku** | 分类、提取、格式化等任务首选 | +| **提示词精简** | Haiku 上下文窗口虽大,但精简提示词效果更好 | +| **批量处理** | 大量简单任务批量用 Haiku,成本极低 | +| **缓存利用** | 系统提示词缓存可进一步降低成本 | +| **分级路由** | 用 Haiku 做任务分类器,再路由到更强模型 | + +--- + +## 📝 选型建议 + +| 你的需求 | 选它 | +|---------|------| +| 复杂推理、编码、深度分析 | Opus | +| 日常对话、文档生成 | Sonnet | +| 分类、提取、简单问答、批量处理 | **Haiku** | +| 成本控制优先 | **Haiku** | +| 速度优先 | **Haiku** | + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **Anthropic 官方** | https://www.anthropic.com | +| **Claude Cookbook** | https://github.com/anthropics/claude-cookbooks | +| **Anthropic Discord** | https://www.anthropic.com/discord | +| **OpenRouter** | https://openrouter.ai | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/GitButler完全研究 b/wiki/sources/GitButler完全研究 new file mode 100755 index 0000000..7438da9 --- /dev/null +++ b/wiki/sources/GitButler完全研究 @@ -0,0 +1,322 @@ +# GitButler 完全研究 + +> Git 的现代替代品:堆叠分支 + AI 集成 + 无限撤销 +> +> 归档:2026-04-25 + +--- + +## 📊 项目概览 + +| 属性 | 值 | +|------|------| +| **仓库** | gitbutlerapp/gitbutler | +| **Stars** | 20,643 | +| **语言** | Rust (后端) + Svelte/TypeScript (前端) | +| **框架** | Tauri | +| **创建** | 2023-01-31 | +| **许可** | Fair Source(2 年后转 MIT) | +| **下载** | gitbutler.com/downloads | + +--- + +## 🎯 核心定位 + +``` +GitButler = Git 的现代 GUI + CLI 替代品 + ↓ + 底层依然是 Git + ↓ + 但体验更简单、更强大 +``` + +**一句话**:在现有 Git 仓库上直接运行,提供更友好、更强大的版本控制体验。 + +--- + +## 🏗️ 技术架构 + +``` +┌──────────────────────────────────┐ +│ 用户界面 │ +│ ┌──────────┐ ┌──────────────┐ │ +│ │ GUI │ │ CLI │ │ +│ │ (Svelte) │ │ (but) │ │ +│ └────┬─────┘ └──────┬───────┘ │ +└───────┼───────────────┼──────────┘ + │ │ +┌───────┴───────────────┴──────────┐ +│ Rust 后端引擎 │ +│ (版本控制逻辑 + Git 操作) │ +└───────────────┬──────────────────┘ + │ +┌───────────────┴──────────────────┐ +│ Git │ +│ (底层存储) │ +└──────────────────────────────────┘ +``` + +| 组件 | 技术 | +|------|------| +| **GUI** | Tauri + Svelte + TypeScript | +| **CLI** | Rust (but 命令) | +| **后端** | Rust | +| **底层** | Git(直接操作现有仓库) | + +--- + +## 🚀 七大核心特性 + +### 1. 堆叠分支(Stacked Branches) + +``` +main + └── feature-a + └── feature-b ← 基于 feature-a + └── fix-c ← 基于 feature-b +``` + +**解决的问题**: +- 在开发功能 B 时,需要基于还没合并的功能 A +- 传统 Git 需要频繁 cherry-pick 或 rebase +- GitButler 自动处理堆叠和重新堆叠 + +**编辑任何提交**:修改堆叠中间的提交,上方分支自动重新堆叠。 + +### 2. 并行分支(Parallel Branches) + +``` +同时工作: +- feature-a (branch-1) +- bug-fix (branch-2) +- experiment (branch-3) + +不需要切换分支! +``` + +**解决的问题**: +- 传统 Git 需要在不同分支间频繁 `checkout` +- GitButler 允许同时工作,各自提交 + +### 3. 提交管理(Commit Management) + +| 操作 | 传统 Git | GitButler | +|------|---------|----------| +| 修改提交 | `git commit --amend` | 拖拽 | +| 拆分提交 | `git rebase -i` | 拖拽 | +| 移动提交 | `git cherry-pick` | 拖拽 | +| 重命名提交 | `git rebase -i` | 点击重命名 | +| 撤销提交 | `git revert` | 点击撤销 | + +**忘掉 `git rebase -i`**:拖拽就够了。 + +### 4. 无限撤销(Undo Timeline) + +``` +操作日志: +09:00 - 创建了提交 "fix: bug" +09:15 - 合并到 main +09:30 - 推送 +10:00 - 发现错误 → 一键撤销! +``` + +**解决的问题**: +- Git 的 `git reflog` 很难用 +- GitButler 记录所有操作和变更 +- 一键撤销或回退任何操作 + +### 5. 冲突处理(Conflict Resolution) + +``` +rebase 永远成功! + +提交可以标记为"冲突中" +随时以任何顺序解决冲突 +``` + +**解决的问题**: +- Git rebase 冲突时会中断 +- GitButler 允许冲突存在,标记后继续工作 +- 随时解决冲突,不阻塞其他操作 + +### 6. 代码托管集成(Forge Integration) + +| 平台 | 功能 | +|------|------| +| **GitHub** | PR 创建/更新、CI 状态、分支列表 | +| **GitLab** | MR 创建/更新、Pipeline 状态 | +| **Bitbucket** | 支持中 | + +**认证一次**,就能: +- 一键创建/更新 PR +- 查看 CI 状态 +- 管理远程分支 + +### 7. AI 集成(AI Tooling) + +| AI 功能 | 说明 | +|---------|------| +| 提交信息 | AI 自动生成 commit message | +| 分支命名 | AI 建议分支名 | +| PR 描述 | AI 生成 PR 描述 | +| Agent Hooks | 支持 Claude Code、Cursor 等 AI 编程工具 | + +--- + +## 🤖 CLI:but 命令 + +### 安装 + +```bash +# macOS +brew install gitbutler + +# 或从 releases 下载 +``` + +### 常用命令 + +```bash +# 初始化项目 +but init + +# 创建分支 +but branch create feature-abc + +# 提交变更 +but commit -m "fix: bug" + +# 查看状态 +but status + +# AI 生成提交信息 +but ai commit-message + +# 创建 PR +but pr create +``` + +--- + +## 🆚 与 Git GUI 工具对比 + +| 特性 | GitButler | SourceTree | GitKraken | GitHub Desktop | +|------|-----------|-----------|----------|---------------| +| 堆叠分支 | ✅ | ❌ | ❌ | ❌ | +| 并行分支 | ✅ | ❌ | ❌ | ❌ | +| 拖拽提交管理 | ✅ | ❌ | 部分 | ❌ | +| 无限撤销 | ✅ | ❌ | ❌ | ❌ | +| 冲突标记 | ✅ | ❌ | ❌ | ❌ | +| AI 集成 | ✅ | ❌ | ❌ | ❌ | +| CLI | ✅ | ❌ | ❌ | ❌ | +| 跨平台 | ✅ | ✅ | ✅ | ✅ | +| 开源 | Fair Source | ❌ | ❌ | ✅ | +| 价格 | 免费 | 免费 | 付费 | 免费 | + +--- + +## 💡 典型工作流 + +### 场景一:功能开发 + +``` +1. gitbutler open . +2. 创建分支 "feature-user-auth" +3. 编写代码 → 拖拽文件到暂存区 +4. AI 生成提交信息 → 提交 +5. 推送 → 一键创建 PR +6. 查看 CI 状态 → 合并 +``` + +### 场景二:多任务并行 + +``` +1. 同时在 3 个分支工作: + - bug-fix (紧急) + - feature-a (计划内) + - experiment (探索) +2. 不需要切换分支 +3. 各自提交,互不干扰 +``` + +### 场景三:AI 编程助手 + +``` +1. Claude Code 生成代码 +2. GitButler 自动检测变更 +3. AI 生成提交信息和分支名 +4. 一键创建 PR +``` + +--- + +## 🔧 安装 + +### GUI + +| 平台 | 方式 | +|------|------| +| **macOS** | Homebrew / DMG | +| **Windows** | MSI / Winget | +| **Linux** | AppImage / Deb | + +### CLI + +```bash +brew install gitbutler +# 或 +cargo install gitbutler-cli +``` + +--- + +## 📝 许可说明 + +| 条款 | 说明 | +|------|------| +| **当前** | Fair Source License | +| **含义** | 可以使用、查看源码、贡献,但不能构建竞品 | +| **2 年后** | 自动转为 MIT License | +| **实际** | MIT + 2 年非竞争条款 | + +--- + +## 📊 评价 + +### 优点 +- ✅ **堆叠分支**:复杂分支管理变得简单 +- ✅ **拖拽操作**:告别 rebase -i +- ✅ **无限撤销**:不怕误操作 +- ✅ **并行分支**:多任务不切换 +- ✅ **AI 集成**:自动化提交信息、PR 描述 +- ✅ **CLI 支持**:适合终端用户和 AI 代理 +- ✅ **现有仓库直接使用**:不需要迁移 + +### 注意点 +- ⚠️ Fair Source 许可(非严格开源) +- ⚠️ 相对较新(2023 年创建) +- ⚠️ 部分高级 Git 操作仍需命令行 +- ⚠️ Bitbucket 支持还在开发中 + +### 适用场景 +- 日常需要管理多个分支的开发者 +- 使用 AI 编程工具(Claude Code/Cursor)的团队 +- 希望简化 Git 操作的团队 +- 需要频繁 rebase/变基的场景 + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **官网** | https://gitbutler.com | +| **GitHub** | https://github.com/gitbutlerapp/gitbutler | +| **文档** | https://docs.gitbutler.com | +| **下载** | https://gitbutler.com/downloads | +| **Discord** | https://discord.gg/MmFkmaJ42D | +| **博客** | https://blog.gitbutler.com | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/HarnessEngineering研究总结 b/wiki/sources/HarnessEngineering研究总结 new file mode 100755 index 0000000..3513930 --- /dev/null +++ b/wiki/sources/HarnessEngineering研究总结 @@ -0,0 +1,252 @@ +# Harness Engineering in AI Coding 研究总结 + +> 探索在 AI 编程中的 Harness Engineering,确保 AI 编程可约束、可评估、可追溯 +> +> 归档:2026-04-24 + +--- + +## 📊 项目概览 + +| 属性 | 值 | +|------|---| +| **仓库** | [2361485765/harness-engineering-in-ai-coding](https://github.com/2361485765/harness-engineering-in-ai-coding) | +| **语言** | Shell | +| **创建时间** | 2026-04-23(极新项目) | +| **License** | MIT | +| **定位** | AI 编程约束框架(Harness Engineering) | + +--- + +## 🎯 核心理念 + +**Harness Engineering** = 在 AI 编程工具(Claude Code/Cursor/Copilot)之上,构建一套完整的**约束框架**,覆盖软件研发全生命周期。 + +### 四大目标 + +| 目标 | 说明 | 手段 | +|------|------|------| +| **可约束** | AI 输出符合团队规范 | Skill 体系 + 上下文注入 | +| **可评估** | 产物质量可度量 | 质量门禁 + 评估机制 | +| **可追溯** | 过程透明可审计 | 记录 + 日志 + Hook | +| **可扩展** | 持续扩展能力边界 | 可插拔 Skill 体系 | + +--- + +## 🏗️ 架构设计 + +``` +需求 → 技术方案 → 编码 → 研发自测 → QA 测试 + ↑ ↑ ↑ ↑ ↑ + └────────┴─────────┴────────┴─────────┘ + Harness(约束·评估·追溯) + ↕ + 可插拔 Skill 体系 +``` + +### 五大研发阶段 + +| 阶段 | 目录 | 核心能力 | +|------|------|---------| +| **01 需求引入** | 01-requirements/ | brainstorming + openspec 管理 | +| **02 技术方案** | 02-technical-design/ | harness-init 扫描项目 + 设计生成 | +| **03 编码** | 03-coding/ | 约束感知编码 + 自动 Code Review | +| **04 研发自测** | 04-dev-testing/ | Subagent 并行测试(单元+API) | +| **05 QA 测试** | 05-qa-testing/ | E2E 测试(Playwright) | + +### 两个横切关注点 + +| 关注点 | 目录 | 功能 | +|--------|------|------| +| **任务进度管理** | 06-task-progress/ | 状态模型 + 看板 + 自动更新 | +| **Debug 与纠错** | 07-debug-and-correction/ | 质量门禁 + 失败分析 + 修复流程 | + +--- + +## ⚙️ 核心机制 + +### 1. Hook 机制(执行保障层) + +**核心原则**:确定性规则 → shell 脚本;语义理解 → Skill + +| 事件 | 触发时机 | 典型用途 | +|------|----------|----------| +| `PreToolUse` | AI 调用工具**前** | 拦截、校验、注入前置约束 | +| `PostToolUse` | AI 调用工具**后** | 检查输出、触发后续动作 | + +#### Hook 全景 + +| 阶段 | Hook 名称 | 触发 | 目的 | +|------|-----------|------|------| +| 需求 | `requirement-guard` | PreToolUse( Skill=openspec) | 拦截散乱需求,强制完整性 | +| 需求 | `p0-constraint-writer` | PostToolUse(Skill=openspec) | P0 bug 写回代码约束 | +| 编码 | `post-edit-lint` | PostToolUse(Edit) | 修改后自动 lint | +| 编码 | `pre-commit-review` | PreToolUse(git commit) | commit 前自动 review | +| 自测 | `post-implementation-test` | 实现完成后 | 触发 subagent 自测 | +| QA | `post-dev-test-qa` | 自测通过后 | 生成 QA 测试用例 | + +#### Hook 返回码约定 + +| 返回码 | 含义 | +|--------|------| +| `0` | 通过,继续 | +| `非 0` | 拦截,反馈原因 | + +--- + +### 2. Skill 体系(能力扩展层) + +| Skill | 用途 | +|-------|------| +| **harness-init** | 初始化项目 Harness 文档结构(扫描代码库 → 生成 CLAUDE.md/ARCHITECTURE.md 等) | +| **design-generator** | 技术方案生成 | +| **progress-tracker** | 任务进度跟踪与看板 | +| **constraint-extractor** | 从 bug 描述提取代码约束 | +| **design-arch-validator** | 设计方案架构校验 | +| **requirement-semantic-check** | 需求语义完整性检查 | + +### 3. Agent 体系(执行层) + +| Agent | 职责 | +|-------|------| +| **code-reviewer** | 自动化代码审查 | +| **api-tester** | API 集成测试 | +| **qa-tester** | QA 端到端测试 | +| **debug-analyst** | 调试与根因分析 | + +--- + +## 🔧 关键技术实现 + +### harness-init 工作流 + +``` +1. 检测项目状态(已有文件 vs 新项目) +2. 扫描代码库: + - 技术栈识别(package.json/go.mod/...) + - 项目结构(3 层目录) + - 最近提交(git log -20) + - 关键代码模式(入口/配置/测试) +3. 创建文档结构(CLAUDE.md / AGENTS.md / ARCHITECTURE.md / docs/) +4. 填充内容(已有项目)或占位符(新项目) +5. 输出完成报告 +``` + +### 生成的文档清单 + +| 文件 | 内容 | +|------|------| +| `CLAUDE.md` | Claude 专用项目指令 | +| `AGENTS.md` | AI 代理协作指南 | +| `ARCHITECTURE.md` | 系统架构概述 | +| `docs/DESIGN.md` | 设计原则 | +| `docs/SECURITY.md` | 安全规范 | +| `docs/RELIABILITY.md` | 可靠性标准 | +| `docs/QUALITY_SCORE.md` | 质量度量定义 | +| `docs/PLANS.md` | 路线图 | +| `docs/PRODUCT_SENSE.md` | 产品哲学 | + +### 代码约束写回流程 + +``` +P0 bug 创建 → constraint-extractor 语义提炼 → 写入 docs/code-constraints.md + → 追加到 CLAUDE.md 的 "Do Not" 区块 → 后续 AI 编码自动遵守 +``` + +--- + +## 🆚 与已有框架的对比 + +| 维度 | Harness Engineering | Superpowers | ClaudeForge | +|------|-------------------|-------------|-------------| +| **定位** | 全流程约束框架 | 开发方法论 | CLAUDE.md 生成 | +| **覆盖范围** | 需求→测试→QA 全链路 | 编码阶段为主 | 文档生成 | +| **Hook 机制** | ✅ Pre/Post 双事件 | ❌ | ❌ | +| **openspec 集成** | ✅ 需求管理核心 | ❌ | ❌ | +| **代码约束写回** | ✅ P0 bug → 自动禁止项 | ❌ | ❌ | +| **多 Agent 并行** | ✅ 测试阶段 | ✅ | ❌ | +| **成熟度** | 新项目(2026-04-23) | 159k ⭐ | 353 ⭐ | +| **语言** | 中文 | 英文 | 英文 | + +--- + +## 💡 独特价值 + +### 1. 需求管理闭环 + +``` +散乱想法 → requirement-guard 拦截 → AI 反问引导 → 结构化需求 + → openspec 管理(proposal → design → spec → task) + → P0 bug 自动提炼代码约束 → 写回项目 +``` + +这是**首个**将需求管理与代码约束自动关联的框架。 + +### 2. 代码约束自动化 + +``` +P0 bug 发现 → 语义提炼"AI 编码禁止项" → 写入约束文档 + → CLAUDE.md "Do Not" 区块 → AI 后续编码自动遵守 + → pre-commit-review 自动检查 +``` + +**Bug → 约束 → 预防**的自动闭环,减少重复错误。 + +### 3. 中文优先 + 开箱即用 + +- 全中文文档,降低国内团队学习门槛 +- 完整的 Hook 脚本 + Skill + Agent 配置 +- 可直接复制 `hooks/` 目录到目标项目 + +--- + +## 📋 接入新项目步骤 + +```bash +# 1. 复制 hooks 目录 +cp -r hooks/ /your/project/ + +# 2. 合并 hook 配置 +# 将 .claude/settings.json 中的 hooks 配置合并到目标项目 + +# 3. 根据技术栈调整 lint 命令 +# 编辑 hooks/scripts/post-edit-lint.sh + +# 4. 验证脚本可执行 +bash hooks/scripts/requirement-guard.sh +``` + +--- + +## 🔗 相关资源 + +| 资源 | 链接 | +|------|------| +| 仓库 | https://github.com/2361485765/harness-engineering-in-ai-coding | +| Superpowers | https://github.com/obra/superpowers | +| openspec | https://github.com/anthropics/openspec | + +--- + +## 📊 评价 + +### 优点 +- ✅ **全流程覆盖**:从需求到 QA,不只是编码辅助 +- ✅ **Hook 机制完善**:Pre/Post 双事件 + shell/Skill 分层 +- ✅ **代码约束自动关联**:P0 bug → 自动禁止项,减少重复错误 +- ✅ **中文友好**:降低国内团队门槛 +- ✅ **不重复造轮子**:复用 superpowers、openspec 等成熟工具 + +### 注意点 +- ⚠️ **极新项目**(2026-04-23 创建),0 stars,仍在建设中 +- ⚠️ 目前主要面向 Claude Code,其他工具适配待补充 +- ⚠️ 文档完成度约 70%,部分章节待填充 + +### 适用场景 +- 团队想系统性引入 AI 编程工具(而非零散使用) +- 需要对 AI 产物建立质量门禁和审计记录 +- 希望沉淀 AI 编程最佳实践为工程规范 + +--- + +*整理:知识库管理员 | 归档:2026-04-24* \ No newline at end of file diff --git a/wiki/sources/IMX219_vs_OG05B10对比研究 b/wiki/sources/IMX219_vs_OG05B10对比研究 new file mode 100755 index 0000000..168a28b --- /dev/null +++ b/wiki/sources/IMX219_vs_OG05B10对比研究 @@ -0,0 +1,170 @@ +# IMX219 vs OG05B10 深度对比研究 + +> 索尼 IMX219(树莓派 V2)vs 豪威 OG05B10 +> +> 归档:2026-04-24 + +--- + +## 📊 核心参数对比 + +| 维度 | **索尼 IMX219** | **豪威 OG05B10** | +|------|----------------|-----------------| +| **厂商** | Sony Semiconductor | OmniVision(豪威科技) | +| **分辨率** | **8MP**(3280×2464) | 5MP(2592×1944) | +| **传感器尺寸** | **1/4 英寸** | **1/2.53 英寸**(更大!) | +| **像素大小** | ~1.12 μm(估算) | **2.2 μm**(大 2 倍!) | +| **快门类型** | 卷帘快门(Rolling) | **全局快门(Global)** | +| **视频帧率** | 1080P@30 / 720P@60 | 1080P@**90** / 5MP@53 | +| **HDR** | ❌ 不支持 | ✅ 支持 | +| **LED 闪烁抑制** | ❌ 无 | ✅ LFM 支持 | +| **车规认证** | ❌ 消费级 | ✅ AEC-Q100 | +| **接口** | MIPI CSI-2(2 通道) | MIPI CSI-2(**4 通道**) | +| **目标市场** | 消费/教育/原型 | **车载/工业/ADAS** | +| **树莓派兼容** | ✅ 官方 V2 | ✅ 第三方模块(Arducam) | + +--- + +## 🎯 核心差异解读 + +### 1. 分辨率 vs 像素质量 + +| 指标 | IMX219 | OG05B10 | 胜出 | +|------|--------|---------|------| +| 像素数 | 800 万 | 500 万 | IMX219 | +| 单个像素面积 | ~1.25 μm² | ~4.84 μm² | **OG05B10(大 3.9 倍)** | +| 低光灵敏度 | 差(像素小) | **好(像素大)** | **OG05B10** | +| 信噪比 | 较低 | **较高** | **OG05B10** | + +**结论**:IMX219 分辨率更高,但 OG05B10 像素质量更好。在车载/工业场景中,**图像质量比分辨率更重要**。 + +--- + +### 2. 卷帘快门 vs 全局快门 ⭐ + +| 场景 | IMX219(卷帘) | OG05B10(全局) | +|------|---------------|----------------| +| **静止拍摄** | ✅ 清晰 | ✅ 清晰 | +| **高速运动** | ❌ 果冻效应 | ✅ 无畸变 | +| **交通信号灯** | ❌ 频闪问题 | ✅ LFM 抑制 | +| **多相机同步** | ❌ 难以同步 | ✅ 完美同步 | +| **360° 环视** | ❌ 拼接畸变 | ✅ 无畸变拼接 | +| **条码扫描** | ❌ 运动模糊 | ✅ 清晰识别 | + +**这是最关键差异!** 全局快门是 OG05B10 的核心竞争力。 + +--- + +### 3. 帧率对比 + +| 分辨率 | IMX219 | OG05B10 | 胜出 | +|--------|--------|---------|------| +| 1080P | 30 FPS | **90 FPS** | **OG05B10(3 倍)** | +| 720P | 60 FPS | - | - | +| 全分辨率 | 3280×2464@~15 | 2592×1944@**53** | **OG05B10** | +| 640×480 | 90 FPS | - | - | + +**OG05B10 在 1080P 下帧率是 IMX219 的 3 倍**,对高速运动检测至关重要。 + +--- + +### 4. 传感器尺寸对比 + +``` +IMX219: 1/4" ≈ 4.5×3.4 mm +OG05B10: 1/2.53" ≈ 5.7×4.3 mm + +OG05B10 感光面积比 IMX219 大 68% +``` + +**更大的传感器 = 更好的低光性能 + 更少的噪点** + +--- + +### 5. 应用场景对比 + +| 场景 | 推荐 | 原因 | +|------|------|------| +| **树莓派学习/原型** | IMX219 | 官方支持,社区成熟 | +| **静态图像采集** | IMX219 | 分辨率更高 | +| **ADAS 车载** | **OG05B10** | 车规 + 全局快门 + LFM | +| **工业机器视觉** | **OG05B10** | 无畸变 + 高帧率 | +| **360° 环视** | **OG05B10** | 多相机同步无畸变 | +| **交通监控** | **OG05B10** | LFM 抑制信号灯频闪 | +| **高速运动检测** | **OG05B10** | 全局快门无果冻 | +| **夜视/低光** | **OG05B10** | 像素大,进光多 | +| **视频会议** | IMX219 | 成本低,够用 | +| **无人机航拍** | IMX219 | 轻量化,分辨率高 | + +--- + +## 📋 产品宣传亮点提取 + +### IMX219 宣传点 +- ✅ **800 万像素**:静态图像清晰度高 +- ✅ **官方树莓派兼容**:即插即用,社区支持好 +- ✅ **成熟生态**:OpenCV/ROS 完美支持 +- ✅ **低成本**:树莓派 V2 模块约 ¥100-150 +- ❌ 卷帘快门、无 HDR、无车规认证 + +### OG05B10 宣传点 +- ✅ **全局快门**:运动无畸变,ADAS 必备 +- ✅ **LED 闪烁抑制**:交通信号灯清晰可辨 +- ✅ **高帧率**:1080P@90FPS,高速场景利器 +- ✅ **大像素**:2.2μm,低光性能好 +- ✅ **车规认证**:AEC-Q100,安全可靠 +- ✅ **多相机同步**:360° 环视/立体视觉 +- ❌ 分辨率 5MP(低于 IMX219 的 8MP) + +--- + +## 💡 选型决策树 + +``` +需要拍摄静态图像? +├── 是 → IMX219(分辨率高) +└── 否 ↓ +需要拍摄运动物体? +├── 慢速运动 → IMX219 +└── 高速运动 → OG05B10(全局快门) + ↓ +需要车载/工业应用? +├── 是 → OG05B10(车规+LFM) +└── 否 → IMX219(成本低) + ↓ +需要多相机同步? +├── 是 → OG05B10(全局同步) +└── 否 → 看分辨率需求 +``` + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| IMX219 产品页 | https://www.sony-semicon.com/en/products/is/industry/imx219.html | +| OG05B10 产品页 | https://www.ovt.com/products/og05b/ | +| 树莓派 V2 | https://www.raspberrypi.com/products/camera-module-v2/ | + +--- + +## 📊 总结 + +| 维度 | 胜出 | 说明 | +|------|------|------| +| 分辨率 | IMX219 | 8MP vs 5MP | +| 像素质量 | **OG05B10** | 2.2μm vs 1.12μm | +| 低光性能 | **OG05B10** | 传感器大 68% | +| 运动畸变 | **OG05B10** | 全局快门 vs 卷帘 | +| 帧率 | **OG05B10** | 1080P@90 vs @30 | +| LED 频闪 | **OG05B10** | LFM vs 无 | +| 车规认证 | **OG05B10** | AEC-Q100 vs 无 | +| 成本 | IMX219 | ¥100-150 vs ¥300-500 | +| 生态成熟度 | IMX219 | 官方+社区 vs 第三方 | + +**一句话**:IMX219 适合学习/原型/静态采集;OG05B10 适合车载/工业/高速运动场景。 + +--- + +*整理:知识库管理员 | 归档:2026-04-24* \ No newline at end of file diff --git a/wiki/sources/LLMWiki与Obsidian结合指南 b/wiki/sources/LLMWiki与Obsidian结合指南 new file mode 100755 index 0000000..86cc60b --- /dev/null +++ b/wiki/sources/LLMWiki与Obsidian结合指南 @@ -0,0 +1,309 @@ +# LLM Wiki 与 Obsidian 结合运用完全指南 + +> 从 Karpathy 原始模式到现代 Obsidian AI 生态 +> +> 归档:2026-04-25 + +--- + +## 📊 生态全景 + +LLM Wiki 的核心思想源自 **Andrej Karpathy** 的个人知识管理模式:让 LLM 持续读取、整理、更新你的笔记,形成一个自我演进的知识库。 + +--- + +## 🏆 主流项目对比 + +| 项目 | Stars | 定位 | 适合场景 | +|------|-------|------|---------| +| **claude-obsidian** | 3,296 | Claude + Obsidian 知识引擎 | Claude Code 用户 | +| **khoj** | 34,245 | AI 第二大脑(RAG) | 全平台、多模型 | +| **Understand-Anything** | 8,886 | 知识图谱教学 | 可视化学习 | +| **swarmvault** | 264 | 本地 RAG 编译器 | 本地优先 | +| **llm-wiki-skill** | 401 | Karpathy 模式 Skill | OpenClaw/Codex | + +--- + +## 🎯 Karpathy LLM Wiki 原始模式 + +### 核心理念 + +``` +你提供资料 → LLM 读取、提取概念、建立关联 + ↓ + 形成结构化 Wiki + ↓ + 知识像利息一样复利增长 +``` + +### 关键特征 + +| 特征 | 说明 | +|------|------| +| **零手动归档** | LLM 自动整理、分类、链接 | +| **热缓存** | 每次会话结束更新上下文,下次直接继续 | +| **交叉引用** | 自动发现概念间的关联 | +| **持续编译** | 资料越多,知识库越有价值 | + +--- + +## 🔥 推荐方案一:claude-obsidian(⭐3,296) + +### 核心能力 + +``` +你投放资料源 → Claude 读取 → 提取实体和概念 + ↓ + 更新交叉引用 → 归档到 Obsidian Vault + ↓ + 每次摄入,知识库更丰富 +``` + +| 能力 | 说明 | +|------|------| +| 自动整理 | 创建实体、概念、交叉引用 | +| 矛盾标记 | `[!contradiction]` 标注冲突 | +| 会话记忆 | 热缓存在对话间持续 | +| 知识维护 | 8 类健康检查(孤儿、死链、缺口) | +| 自主研究 | 3 轮网络研究 + 缺口填补 | +| 多模型 | Claude / Gemini / Codex / Cursor | + +### 命令体系 + +| 命令 | 功能 | +|------|------| +| `/wiki` | 初始化 Vault | +| `ingest [file]` | 读取源文件,创建 8-15 页 Wiki | +| `what do you know about X?` | 索引→相关页→综合回答 | +| `/save` | 保存当前对话为 Wiki 笔记 | +| `/autoresearch [topic]` | 自主研究循环 | +| `lint the wiki` | 健康检查 | + +### Wiki 结构 + +``` +wiki/ +├── index.md # 主目录 +├── log.md # 操作日志 +├── hot.md # 近期上下文缓存 +├── overview.md # 执行摘要 +├── concepts/ # 概念页 +├── entities/ # 实体页 +├── sources/ # 源文件 +└── meta/ + ├── dashboard.base # Bases 仪表盘 + └── dashboard.md # Dataview 仪表盘 +``` + +### 安装 + +```bash +git clone https://github.com/AgriciDaniel/claude-obsidian +cd claude-obsidian +bash bin/setup-vault.sh + +# Claude Code 中 +claude plugin marketplace add AgriciDaniel/claude-obsidian +claude plugin install claude-obsidian@claude-obsidian-marketplace +``` + +--- + +## 🔥 推荐方案二:khoj(⭐34,245) + +### 核心能力 + +``` +本地/云端 LLM + 你的文档 → RAG 语义搜索 → 智能回答 +``` + +| 能力 | 说明 | +|------|------| +| 多文档支持 | PDF / Markdown / Notion / Word | +| 多模型 | llama3 / qwen / gemma / gpt / claude | +| 多平台 | 浏览器 / Obsidian / Emacs / 桌面 / 手机 | +| 自定义 Agent | persona + 知识库 + 工具 | +| 自动化 | 个人通讯稿 + 智能通知 | +| 自托管 | Docker / 本地 | + +### 与 Obsidian 集成 + +``` +Obsidian Vault → Khoj 索引 → 语义搜索 → LLM 回答 +``` + +### 安装 + +```bash +# Docker +docker run -d -p 42110:42110 khojai/khoj + +# 或云应用 +# https://app.khoj.dev +``` + +--- + +## 🆚 方案对比 + +| 维度 | claude-obsidian | khoj | Understand-Anything | +|------|----------------|------|-------------------| +| 核心方法 | 知识引擎(创建+维护) | RAG 搜索+回答 | 知识图谱 | +| 自动整理 | ✅ | 部分 | ✅ | +| 会话记忆 | ✅ | ✅ | ✅ | +| 知识维护 | 8 类检查 | ❌ | ❌ | +| 自主研究 | 3 轮循环 | ✅ | ❌ | +| 可视化 | Canvas | ❌ | ✅ 图谱 | +| 多模型 | 多 | 多 | 多 | +| 本地优先 | ✅ | ✅ | ✅ | +| 安装难度 | 中 | 低 | 中 | + +--- + +## 📐 Obsidian + LLM Wiki 架构模式 + +### 模式一:Agent 驱动(claude-obsidian) + +``` +┌─────────────────────────────────┐ +│ AI Agent (Claude) │ +│ /wiki /ingest /query /lint │ +└──────────────┬──────────────────┘ + │ MCP / 文件系统 +┌──────────────┴──────────────────┐ +│ Obsidian Vault │ +│ wiki/ │ +│ ├── index.md │ +│ ├── concepts/ │ +│ ├── entities/ │ +│ ├── sources/ │ +│ └── meta/ │ +└─────────────────────────────────┘ +``` + +### 模式二:RAG 驱动(khoj) + +``` +┌─────────────────────────────────┐ +│ Khoj Server │ +│ 索引 + 语义搜索 + LLM │ +└──────────────┬──────────────────┘ + │ API +┌──────────────┴──────────────────┐ +│ Obsidian Vault │ +│ (只读索引,不修改) │ +└─────────────────────────────────┘ +``` + +### 模式三:图谱驱动(Understand-Anything) + +``` +┌─────────────────────────────────┐ +│ Understand-Anything │ +│ 知识图谱 + 交互式探索 │ +└──────────────┬──────────────────┘ + │ +┌──────────────┴──────────────────┐ +│ Obsidian Vault │ +│ (Karpathy LLM Wiki 格式) │ +└─────────────────────────────────┘ +``` + +--- + +## 💡 典型工作流 + +### 工作流一:知识沉淀 + +``` +1. 投放资料(文章/笔记/对话) +2. Claude 自动读取、提取概念 +3. 创建 Wiki 页面,建立交叉引用 +4. 更新索引和热缓存 +5. 下次会话自动加载上下文 +``` + +### 工作流二:知识查询 + +``` +1. 提问:"你知道 X 吗?" +2. Claude 读取热缓存(近期上下文) +3. 扫描索引,找到相关页 +4. 深入阅读相关页 +5. 综合回答,引用具体页面 +``` + +### 工作流三:知识维护 + +``` +1. 运行 lint the wiki +2. 发现孤儿页、死链、缺口 +3. 自动修复或提示修复 +4. 更新健康状态 +``` + +### 工作流四:自主研究 + +``` +1. /autoresearch [主题] +2. 搜索网络资料 +3. 3 轮研究循环 +4. 提取概念、创建页面 +5. 归档到 Wiki +``` + +--- + +## 🔧 与 Obsidian 插件的协同 + +| Obsidian 插件 | 与 LLM Wiki 的关系 | +|--------------|-------------------| +| **Bases** | 原生数据库视图,替代 Dataview | +| **Templater** | 自动填充笔记模板 | +| **Obsidian Git** | 每 15 分钟自动提交 | +| **Calendar** | 日历视图 + 字数统计 | +| **Excalidraw** | 画布绘图、标注 | +| **Local REST API** | MCP 连接 | +| **Web Clipper** | 一键导入网页 | + +--- + +## 📊 选型建议 + +| 你的需求 | 选它 | +|---------|------| +| Claude Code 用户,想自动维护知识库 | **claude-obsidian** | +| 多模型、多平台、自托管 | **khoj** | +| 可视化知识图谱学习 | **Understand-Anything** | +| OpenClaw/Codex 环境 | **llm-wiki-skill** | +| 本地 RAG + MCP | **swarmvault** | + +--- + +## 📝 与现有 OpenClaw 的结合 + +你已经有的基础: + +| 已有 | 可用 | +|------|------| +| Obsidian Vault (`/obsidian`) | ✅ 可直接作为 Wiki 底座 | +| BRAT 插件 | ✅ 可安装 claude-obsidian | +| obs 命令行工具 | ✅ 可管理笔记 | +| MiniMax + 百炼 API | ✅ 可驱动 LLM | + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **Karpathy 原始模式** | https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f | +| **claude-obsidian** | https://github.com/AgriciDaniel/claude-obsidian | +| **khoj** | https://github.com/khoj-ai/khoj | +| **Understand-Anything** | https://github.com/Lum1104/Understand-Anything | +| **swarmvault** | https://github.com/swarmclawai/swarmvault | +| **llm-wiki-skill** | https://github.com/lewislulu/llm-wiki-skill | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/ObsidianWebClipper研究 b/wiki/sources/ObsidianWebClipper研究 new file mode 100755 index 0000000..7fcdc73 --- /dev/null +++ b/wiki/sources/ObsidianWebClipper研究 @@ -0,0 +1,265 @@ +# Obsidian Web Clipper 完全研究 + +> Obsidian 官方网页剪存插件:高亮与捕获网页内容 +> +> 归档:2026-04-25 + +--- + +## 📊 项目概览 + +| 属性 | 值 | +|------|---| +| **仓库** | obsidianmd/obsidian-clipper | +| **定位** | Obsidian 官方网页剪存浏览器扩展 | +| **技术栈** | TypeScript + Web Extension | +| **许可** | 官方开源 | +| **安装** | Chrome / Firefox / Safari / Edge | + +--- + +## 🎯 核心定位 + +``` +网页内容 → Web Clipper 浏览器扩展 → 转换为 Markdown → 保存到 Obsidian Vault +``` + +**关键特点**: +- 存储为**持久的 Markdown 文件**,可离线阅读 +- 长期保存,不受网站变更影响 +- 支持高亮标注 +- 支持模板自定义 + +--- + +## 🌐 浏览器支持 + +| 浏览器 | 安装渠道 | +|--------|---------| +| **Chrome / Brave / Arc** | Chrome Web Store | +| **Firefox / Firefox Mobile** | Firefox Add-Ons | +| **Safari (macOS/iOS/iPadOS)** | App Store | +| **Microsoft Edge** | Edge Add-Ons | + +--- + +## 🔧 核心功能 + +### 1. 内容捕获 + +- 提取网页正文内容 +- 自动转换为 Markdown +- 保留链接和图片引用 + +### 2. 高亮标注 + +- 在网页上直接选中文本高亮 +- 高亮内容保存为笔记的一部分 +- 可添加注释 + +### 3. 模板系统 + +- 自定义剪存笔记格式 +- 支持变量(日期、标题、URL 等) +- 模板压缩存储(lz-string) + +### 4. 过滤器 + +- 按 CSS 选择器过滤页面元素 +- 排除不需要的内容 +- 精确控制捕获范围 + +### 5. 本地图片保存 + +- Obsidian 1.8.0+ 支持 +- 网页图片自动下载到本地 +- 不依赖外部链接 + +--- + +## 🏗️ 技术架构 + +### 核心依赖 + +| 依赖 | 用途 | +|------|------| +| **webextension-polyfill** | 跨浏览器兼容 | +| **defuddle** | 内容提取 + Markdown 转换 | +| **dayjs** | 日期解析和格式化 | +| **lz-string** | 模板压缩,减少存储空间 | +| **lucide** | 图标库 | +| **dompurify** | HTML 清理,安全防护 | + +### 构建输出 + +``` +npm run build + ↓ +dist/ → Chromium 版本 +dist_firefox/ → Firefox 版本 +dist_safari/ → Safari 版本 +``` + +--- + +## 🆚 与其他剪存工具对比 + +| 工具 | 输出格式 | 离线可用 | 开源 | 生态 | +|------|---------|---------|------|------| +| **Obsidian Web Clipper** | Markdown | ✅ | ✅ | Obsidian | +| **Evernote Web Clipper** | 专有格式 | ❌ | ❌ | Evernote | +| **Notion Web Clipper** | Notion Block | ✅ | ❌ | Notion | +| **Joplin Web Clipper** | Markdown | ✅ | ✅ | Joplin | +| **Logseq Web Clipper** | Markdown | ✅ | ✅ | Logseq | + +--- + +## 💡 使用场景 + +| 场景 | 说明 | +|------|------| +| 研究资料收集 | 保存网页文章到知识库 | +| 读书笔记 | 保存在线书籍内容 | +| 代码片段 | 保存技术博客和教程 | +| 灵感收集 | 快速捕获灵感网页 | +| 长期存档 | 防止网页内容失效 | + +--- + +## 🔗 与 Obsidian Desktop/Mobile 的区别 + +| 特性 | Web Clipper | Obsidian App | +|------|------------|-------------| +| **平台** | 浏览器扩展 | 桌面/手机应用 | +| **用途** | 从网页捕获内容 | 编辑和管理笔记 | +| **存储** | 直接写入 Vault | 本地文件系统 | +| **同步** | 依赖 Vault 同步 | 支持多端同步 | + +--- + +## 📝 模板示例 + +```markdown +--- +title: {{title}} +url: {{url}} +date: {{date}} +tags: +--- + +# {{title}} + +{{content}} + +--- +*Clipped from {{url}}* +``` + +### 可用变量 + +| 变量 | 说明 | +|------|------| +| `{{title}}` | 网页标题 | +| `{{url}}` | 网页 URL | +| `{{date}}` | 剪存日期 | +| `{{content}}` | 网页内容 | +| `{{selection}}` | 选中的文本 | + +--- + +## 🔧 本地开发 + +### 安装步骤 + +```bash +# 克隆仓库 +git clone https://github.com/obsidianmd/obsidian-clipper.git +cd obsidian-clipper + +# 安装依赖 +npm install + +# 构建 +npm run build + +# 测试 +npm test +``` + +### Chrome 加载 + +1. 打开 `chrome://extensions` +2. 启用开发者模式 +3. 点击"加载已解压的扩展程序" +4. 选择 `dist/` 目录 + +### Firefox 加载 + +1. 打开 `about:debugging#/runtime/this-firefox` +2. 点击"临时加载附加组件" +3. 选择 `dist_firefox/manifest.json` + +--- + +## 🚀 路线图(待开发功能) + +| 功能 | 状态 | +|------|------| +| 高亮注释 | ✅ 已完成 | +| 模板目录 | ✅ 已完成 | +| 本地图片保存 | ✅ 已完成 (Obsidian 1.8.0+) | +| 模板验证 | 计划中 | +| 模板逻辑 (if/for) | 计划中 | +| 更多语言翻译 | 进行中 | + +--- + +## 💡 与 Obsidian 插件的区别 + +| 维度 | Web Clipper | Obsidian 插件 | +|------|------------|-------------| +| **运行位置** | 浏览器 | Obsidian 应用内 | +| **功能** | 网页→笔记 | 增强笔记编辑 | +| **安装** | 浏览器扩展商店 | Obsidian 社区插件市场 | +| **依赖** | 独立运行 | 依赖 Obsidian | + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **GitHub** | https://github.com/obsidianmd/obsidian-clipper | +| **官方下载** | https://obsidian.md/clipper | +| **帮助文档** | https://help.obsidian.md/web-clipper | +| **Chrome 安装** | https://chromewebstore.google.com/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf | +| **Firefox 安装** | https://addons.mozilla.org/en-US/firefox/addon/web-clipper-obsidian/ | +| **Safari 安装** | https://apps.apple.com/us/app/obsidian-web-clipper/id6720708363 | +| **Edge 安装** | https://microsoftedge.microsoft.com/addons/detail/obsidian-web-clipper/eigdjhmgnaaeaonimdklocfekkaanfme | + +--- + +## 📊 评价 + +### 优点 +- ✅ **官方出品**:与 Obsidian 深度集成 +- ✅ **Markdown 优先**:输出持久化、可离线 +- ✅ **多浏览器支持**:Chrome / Firefox / Safari / Edge +- ✅ **高亮标注**:网页内容直接标记 +- ✅ **模板自定义**:灵活控制笔记格式 +- ✅ **开源**:社区可贡献 + +### 注意点 +- ⚠️ 需要配合 Obsidian 桌面端使用 +- ⚠️ 模板功能相对简单(不支持 if/for) +- ⚠️ 移动端支持有限(仅 Safari iOS/iPadOS) + +### 适用场景 +- 需要将网页内容保存到 Obsidian 知识库 +- 希望内容以 Markdown 格式长期保存 +- 需要高亮标注功能 +- 跨浏览器使用场景 + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/PromptOptimizer生态研究 b/wiki/sources/PromptOptimizer生态研究 new file mode 100755 index 0000000..ca8f79f --- /dev/null +++ b/wiki/sources/PromptOptimizer生态研究 @@ -0,0 +1,229 @@ +# Prompt Optimizer 生态完全研究 + +> 提示词优化器工具生态:从用户产品到自动优化框架 +> +> 归档:2026-04-25 + +--- + +## 📊 生态全景 + +Prompt Optimizer 生态分为两大方向: + +| 方向 | 代表项目 | 定位 | +|------|---------|------| +| **用户工具** | linshenkx/prompt-optimizer | 交互式提示词优化产品 | +| **自动优化框架** | GEPA / PromptWizard / prompt-ops | AI 自动迭代优化 | + +--- + +## 🏆 主流项目对比 + +| 项目 | Stars | 语言 | 定位 | 维护方 | +|------|-------|------|------|--------| +| **prompt-optimizer** | 26,823 | TypeScript | 用户端优化工具 | 个人开发者 | +| **Context-Engineering** | 8,773 | Markdown | Prompt Engineering 手册 | 社区 | +| **GEPA** | 3,980 | Python | 反射式文本进化框架 | gepa-ai | +| **PromptWizard** | 3,839 | Python | Agent 驱动的自动优化 | Microsoft | +| **auto-prompt** | 764 | TypeScript | AI 提示词优化平台 | AIDotNet | +| **prompt-ops** | 804 | Python | LLM 提示词优化工具 | Meta | +| **SAMMO** | 753 | Python | 多目标元提示词优化 | Microsoft | + +--- + +## 🎯 linshenkx/prompt-optimizer(⭐26,823) + +### 项目概览 + +| 属性 | 值 | +|------|---| +| **创建时间** | 2025-02-12 | +| **语言** | TypeScript | +| **Forks** | 3,167 | +| **许可** | 开源 | +| **在线体验** | https://prompt.always200.com | + +### 核心能力 + +``` +用户输入原始提示词 → AI 优化引擎 → 输出优化后提示词 + ↕ ↓ + 多轮迭代优化 ←── 评估对比 ←── 多模型生成 +``` + +| 能力 | 说明 | +|------|------| +| 🎯 智能优化 | 一键优化 + 多轮迭代优化 | +| 📝 双模式 | 系统提示词优化 + 用户提示词优化 | +| 🔄 评估对比 | 单结果评估 + 多结果对比评估 | +| 🤖 多模型 | OpenAI / Gemini / DeepSeek / 智谱 / 硅基流动 | +| 🖼️ 图片生成 | T2I 文生图 + I2I 图生图 | +| 📊 高级模式 | 变量管理 + 多轮对话测试 + Function Calling | +| 🔒 安全架构 | 纯前端 + 数据本地存储 | +| 🧩 MCP 协议 | 集成 Claude Desktop 等 MCP 应用 | + +### 四种使用方式 + +| 方式 | 特点 | +|------|------| +| **Web 应用** | 在线即用,数据存浏览器 | +| **桌面应用** | 无 CORS 限制,支持自动更新 | +| **Chrome 扩展** | 浏览器内嵌使用 | +| **Docker 部署** | 自托管,支持密码保护 | + +### 部署方案 + +```bash +# Docker 快速部署 +docker run -d -p 8081:80 --restart unless-stopped \ + --name prompt-optimizer linshen/prompt-optimizer + +# Docker Compose 完整部署 +git clone https://github.com/linshenkx/prompt-optimizer.git +cd prompt-optimizer +cat > .env << EOF +VITE_OPENAI_API_KEY=your_key +VITE_GEMINI_API_KEY=your_key +VITE_DEEPSEEK_API_KEY=your_key +ACCESS_PASSWORD=your_password +EOF +docker compose up -d +``` + +### MCP 集成 + +```json +// Claude Desktop 配置 (~/.config/Claude/services/services.json) +{ + "services": [ + { + "name": "Prompt Optimizer", + "url": "http://localhost:8081/mcp" + } + ] +} +``` + +**暴露的 3 个 MCP 工具**: +- `optimize-user-prompt`:优化用户提示词 +- `optimize-system-prompt`:优化系统提示词 +- `iterate-prompt`:迭代优化成熟提示词 + +### 三大经典场景 + +| 场景 | 效果 | +|------|------| +| 严厉审稿人 | 从泛泛附和 → 结构化批评,指出假设薄弱点、证据缺口 | +| 讨价还价回复 | 单模板变量化,不同商品/价格/语调复用 | +| 文生图优化 | 一句话想法 → 主体 + 空间关系 + 情绪锚点的专业提示词 | + +--- + +## 🤖 自动优化框架对比 + +### GEPA(⭐3,980) + +``` +提示词 → 反射式进化 → 评估 → 再进化 → 最优提示词 +``` + +| 特性 | 说明 | +|------|------| +| **方法** | Reflective Text Evolution | +| **适用** | 提示词、代码、任何文本 | +| **特点** | AI 驱动的自动迭代优化 | + +### Microsoft PromptWizard(⭐3,839) + +``` +任务 → Agent 分析 → 生成候选提示词 → 评估 → 选择最优 +``` + +| 特性 | 说明 | +|------|------| +| **方法** | Task-Aware Agent-driven | +| **适用** | 特定任务感知的自动优化 | +| **特点** | Agent 驱动,任务适配 | + +### Meta prompt-ops(⭐804) + +| 特性 | 说明 | +|------|------| +| **方法** | 系统化提示词优化 | +| **适用** | LLM 应用场景 | +| **特点** | Meta 官方出品 | + +--- + +## 📐 提示词优化的方法论 + +### 从 Prompt Engineering 到 Context Engineering + +| 维度 | Prompt Engineering | Context Engineering | +|------|-------------------|-------------------| +| **范围** | 单条提示词优化 | 上下文窗口全局设计 | +| **方法** | 人工迭代 | 系统性架构 | +| **关注点** | 文字表达 | 信息填充、编排、优化 | + +> "Context engineering is the delicate art and science of filling the context window with just the right information for the next step." — Andrej Karpathy + +### 优化流程 + +``` +1. 明确任务目标 → 2. 编写初始提示词 → 3. 测试效果 + ↕ +7. 持续监控 ← 6. 部署使用 ← 5. 评估对比 ← 4. 迭代优化 +``` + +### 关键技巧 + +| 技巧 | 说明 | +|------|------| +| **角色扮演** | 赋予 AI 专家角色 | +| **结构化输出** | 要求 JSON/表格/特定格式 | +| **少样本示例** | 提供 1-3 个示例 | +| **思维链** | 要求逐步推理 | +| **边界条件** | 明确处理范围和限制 | +| **变量化** | 可复用模板 + 变量替换 | + +--- + +## 🆚 三选一指南 + +| 你的需求 | 推荐方案 | +|---------|---------| +| **想交互式优化提示词** | linshenkx/prompt-optimizer | +| **想自动批量优化** | GEPA / PromptWizard | +| **想学习方法论** | Context-Engineering 手册 | +| **想在 Claude Desktop 中集成** | prompt-optimizer + MCP | +| **想自托管** | prompt-optimizer Docker | +| **Meta 生态用户** | Meta prompt-ops | + +--- + +## 💡 与 OpenClaw 的结合 + +| 结合方式 | 说明 | +|---------|------| +| **MCP 集成** | prompt-optimizer 通过 MCP 暴露优化能力 | +| **Claude Desktop** | 可在 Claude Desktop 调用优化服务 | +| **提示词模板** | 优化后的提示词可用于 OpenClaw Agent 配置 | +| **SOUL.md 优化** | 可用工具优化 Agent 人格提示词 | + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **prompt-optimizer** | https://github.com/linshenkx/prompt-optimizer | +| **在线体验** | https://prompt.always200.com | +| **GEPA** | https://github.com/gepa-ai/gepa | +| **PromptWizard** | https://github.com/microsoft/PromptWizard | +| **Context-Engineering** | https://github.com/davidkimai/Context-Engineering | +| **Meta prompt-ops** | https://github.com/meta-llama/prompt-ops | +| **auto-prompt** | https://github.com/AIDotNet/auto-prompt | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/Rclone管理WebDAV笔记 b/wiki/sources/Rclone管理WebDAV笔记 new file mode 100755 index 0000000..ee0f29b --- /dev/null +++ b/wiki/sources/Rclone管理WebDAV笔记 @@ -0,0 +1,331 @@ +# Rclone 管理 WebDAV 笔记 + +> 使用 rclone 命令行工具管理 Obsidian WebDAV 服务器 + +--- + +## ✅ 实测成功! + +**rclone 可以连接你的 WebDAV 服务器!** + +--- + +## 安装 rclone + +### Linux/macOS/Windows + +```bash +# 下载最新版本 +curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip +unzip rclone-current-linux-amd64.zip +sudo mv rclone-*-linux-amd64/rclone /usr/local/bin/ +sudo chmod +x /usr/local/bin/rclone +rm -rf rclone-*-linux-amd64* + +# 验证安装 +rclone --version +``` + +### Docker 环境(无需安装) + +```bash +# 直接下载二进制文件 +wget https://downloads.rclone.org/rclone-current-linux-amd64.zip +unzip rclone-current-linux-amd64.zip +./rclone-v*-linux-amd64/rclone --version +``` + +--- + +## 配置 WebDAV 远程 + +### 1. 交互式配置 + +```bash +rclone config + +# 步骤: +# n) 新建远程 +# name: obsidian-webdav +# Storage: webdav +# URL: http://8.134.220.229:13803/实践积累 +# vendor: other +# user: admin +# password: blackhill +``` + +### 2. 手动创建配置文件 + +```bash +mkdir -p ~/.config/rclone + +cat > ~/.config/rclone/rclone.conf << 'EOF' +[obsidian-webdav] +type = webdav +url = http://8.134.220.229:13803/实践积累 +vendor = other +user = admin +pass = blackhill +EOF +``` + +⚠️ **注意**:某些 WebDAV 服务器不支持 Digest 认证,需要用 Basic 认证。 + +### 3. 测试连接 + +```bash +# 列出所有文件 +rclone ls obsidian-webdav: --max-depth 5 + +# 列出所有文件夹 +rclone lsd obsidian-webdav: +``` + +--- + +## 常用命令 + +### 查看文件 + +```bash +# 列出根目录 +rclone ls obsidian-webdav: + +# 列出指定目录 +rclone ls obsidian-webdav:AI工程 + +# 递归列出所有文件 +rclone ls obsidian-webdav: --max-depth 10 + +# 按大小排序显示 +rclone ls obsidian-webdav: --max-depth 1 | sort -k1 -n +``` + +### 上传文件 + +```bash +# 上传单个文件 +rclone copy /path/to/file.md obsidian-webdav:目标文件夹/ + +# 上传整个目录 +rclone copy /path/to/folder obsidian-webdav:目标文件夹/ + +# 示例:上传到 AI工程 文件夹 +rclone copy ~/笔记/AI工程.md obsidian-webdav:AI工程/ +``` + +### 下载文件 + +```bash +# 下载单个文件 +rclone copy obsidian-webdav:AI工程/code-reviewer技能.md /tmp/ + +# 下载整个文件夹 +rclone copy obsidian-webdav:AI工程 /tmp/ai-folder/ +``` + +### 同步本地与远程 + +```bash +# 同步本地文件夹到 WebDAV(单向) +rclone sync /path/to/local obsidian-webdav:remote --progress + +# 双向同步(需要小心使用) +rclone bisync /path/to/local obsidian-webdav:remote --progress +``` + +### 删除文件 + +```bash +# 删除远程文件 +rclone delete obsidian-webdav:文件夹/文件名.md + +# 删除空文件夹 +rclone rmdir obsidian-webdav:空文件夹/ +``` + +### 搜索文件 + +```bash +# 搜索文件名包含关键字的文件 +rclone ls obsidian-webdav: | grep "关键字" + +# 搜索多个关键词 +rclone ls obsidian-webdav: | grep -E "关键词1|关键词2" +``` + +--- + +## 挂载为本地目录(可选) + +将 WebDAV 挂载为本地文件夹,像操作本地文件一样使用。 + +### 需要 FUSE 支持 + +```bash +# Debian/Ubuntu 安装 fuse +sudo apt-get install fuse + +# 检查 FUSE 可用 +cat /proc/filesystems | grep fuse +``` + +### 挂载命令 + +```bash +# 创建挂载点 +mkdir -p ~/obsidian-webdav + +# 前台运行(测试用) +rclone mount obsidian-webdav: ~/obsidian-webdav --vv + +# 后台运行 +rclone mount obsidian-webdav: ~/obsidian-webdav \ + --daemon \ + --vfs-cache-mode writes \ + --allow-other + +# 查看挂载状态 +df -h | grep obsidian + +# 卸载 +fusermount -uz ~/obsidian-webdav +``` + +### 开机自启(systemd) + +```bash +cat > ~/.config/systemd/user/rclone-obsidian.service << 'EOF' +[Unit] +Description=rclone mount for Obsidian WebDAV +After=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/rclone mount obsidian-webdav: %h/obsidian-webdav \ + --vfs-cache-mode writes \ + --allow-other +ExecStop=/bin/fusermount -uz %h/obsidian-webdav +Restart=on-failure + +[Install] +WantedBy=default.target +EOF + +# 启用服务 +systemctl --user enable rclone-obsidian.service +systemctl --user start rclone-obsidian.service +``` + +--- + +## 与 Obsidian Headless 配合使用 + +安装 rclone 后,可以配合 obsidian-headless 使用: + +```bash +# 1. 挂载 WebDAV 为本地目录 +rclone mount obsidian-webdav: ~/obsidian-webdav --daemon --vfs-cache-mode writes + +# 2. 配置 obsidian-headless 使用该目录 +echo "~/obsidian-webdav" > ~/.config/obsidian-headless/vault-path + +# 3. 使用自然语言管理笔记 +obs创建笔记 新想法 +obs搜索笔记 关键字 +obs列出所有 +``` + +--- + +## 你的服务器配置 + +``` +服务器: http://8.134.220.229:13803 +路径: /实践积累 +用户名: admin +密码: blackhill +``` + +--- + +## 常见问题 + +### Q: 连接返回 401 Unauthorized + +**原因**:某些 WebDAV 服务器不支持 Digest 认证 + +**解决**:在配置文件中使用明文密码(rclone 会自动处理) + +``` +pass = blackhill # 不要加密 +``` + +### Q: 文件名中文乱码 + +**解决**:确保终端编码为 UTF-8 + +```bash +export LANG=zh_CN.UTF-8 +export LC_ALL=zh_CN.UTF-8 +``` + +### Q: 挂载后访问很慢 + +**解决**:使用 VFS 缓存模式 + +```bash +rclone mount obsidian-webdav: ~/obsidian-webdav \ + --vfs-cache-mode writes \ + --vfs-cache-max-age 168h \ + --vfs-write-back 5s +``` + +### Q: 挂载占用大量内存 + +**解决**:限制缓存大小 + +```bash +rclone mount obsidian-webdav: ~/obsidian-webdav \ + --vfs-cache-mode writes \ + --buffer-size 256M +``` + +--- + +## 完整工作流示例 + +```bash +# 1. 配置远程 +rclone config << 'EOF' +n +obsidian-webdav +webdav +http://8.134.220.229:13803/实践积累 +other +admin +blackhill +y +EOF + +# 2. 查看文件结构 +rclone lsd obsidian-webdav: + +# 3. 挂载为本地目录 +mkdir -p ~/obsidian-webdav +rclone mount obsidian-webdav: ~/obsidian-webdav --daemon --vfs-cache-mode writes + +# 4. 在 Obsidian 中直接使用 +# 文件会自动同步到 WebDAV + +# 5. 卸载 +fusermount -uz ~/obsidian-webdav +``` + +--- + +## 参考链接 + +- [rclone 官网](https://rclone.org) +- [rclone WebDAV 配置](https://rclone.org/webdav/) +- [obsidian-headless GitHub](https://github.com/imakid/obsidian-headless) diff --git a/wiki/sources/WPSNoteSkills研究 b/wiki/sources/WPSNoteSkills研究 new file mode 100755 index 0000000..0a51eb3 --- /dev/null +++ b/wiki/sources/WPSNoteSkills研究 @@ -0,0 +1,307 @@ +# WPS Note Skills 完全研究 + +> WPS 笔记的 AI Agent Skill 生态:让 Agent 替你打理记忆层 +> +> 归档:2026-04-25 + +--- + +## 📊 项目概览 + +| 属性 | 值 | +|------|------| +| **仓库** | wpsnote/wpsnote-skills | +| **Stars** | 119 | +| **创建** | 2026-03-11(极新项目) | +| **定位** | WPS 笔记的 AI Agent Skill 生态 | +| **支持平台** | Claude Code / Cursor / OpenClaw | + +--- + +## 🎯 核心定位 + +``` +WPS 笔记 + AI Agent Skills + ↓ +Agent 读取 → 编辑 → 搜索 → 管理 → 创作 → 灵感 + ↓ +笔记不再是你自己整理的地方 +而是 Agent 替你打理的记忆层 +``` + +**一句话**:以 WPS 笔记为底座,让 Claude Code/Cursor/OpenClaw 等 AI Agent 直接驱动笔记系统。 + +--- + +## 🏗️ 架构设计 + +``` +┌──────────────────────────────────────┐ +│ AI Agent │ +│ Claude Code / Cursor / OpenClaw │ +└──────────────┬───────────────────────┘ + │ MCP / CLI +┌──────────────┴───────────────────────┐ +│ wpsnote-skills 生态 │ +│ 30+ Skills 按功能分组 │ +└──────────────┬───────────────────────┘ + │ +┌──────────────┴───────────────────────┐ +│ WPS 笔记底层 │ +│ 读取 / 编辑 / 搜索 / 管理 │ +└──────────────────────────────────────┘ +``` + +--- + +## 📦 七大 Skill 分组(30+ Skills) + +### 1. 基础层(Core Skills) + +| Skill | 功能 | +|-------|------| +| **wps-note** | 基础能力:读取、编辑、搜索、管理笔记(所有 Skill 的依赖) | +| **wpsnote-beautifier** | 智能美化:优化标题、高亮块、分栏、统一配色 | +| **note-copilot** | 协作打磨:处理援助标记、发现逻辑错误着色提醒 | +| **tag-organize** | 标签整理:清理混乱标签、重构体系(MCP 版) | +| **tag-organize-cli** | 同上(CLI 版) | +| **skill-creator** | Skill 创建、迭代与评估工具 | + +### 2. 内容创作(Content Skills) + +| Skill | 功能 | +|-------|------| +| **content-creator** | 完整创作流:风格画像→需求→大纲→研究→文章→定稿 | +| **wechat-publisher** | 笔记→微信公众号 HTML,多模板风格 | +| **short-video-copywriter** | 原稿→短视频口播文案,分镜脚本+AI 配图 | +| **xiaohongshu-note-creator** | 笔记/文章→小红书图文方案 | +| **image-gen** | AI 图像生成(文生图+图生图),对接多平台 | + +### 3. 搜索阅读(Capture Skills) + +| Skill | 功能 | +|-------|------| +| **content-digest** | 万能内容提炼:URL/图片/PDF/文本→结构化笔记 | +| **news-to-note** | 新闻智能解读,关联笔记库产出洞察 | +| **wps-note-intelligent-search** | 深度搜索,跨笔记关联+知识图谱 | +| **literature-reader** | 学术文献阅读:元信息+方法论+多篇对比 | +| **paper-researcher** | 论文全流程:搜索→下载→精读→存入笔记 | + +### 4. 信息捕获(Capture Skills) + +| Skill | 功能 | +|-------|------| +| **live-transcript-summary** | 实时音频转写监听+自动总结(会议/听课/播客) | +| **doc-importer** | 批量导入本地文档(Obsidian/思源/PDF/Word) | +| **web-importer** | 网页无损导入(公众号/推文/通用网页) | +| **coding-assistant** | 多平台编码助手,生成技术文档 | +| **note-calendar** | WPS 笔记与 macOS 日历双向联动 | + +### 5. 灵感引擎(Creative Skills) + +| Skill | 功能 | +|-------|------| +| **ie-engine** | 统一入口:完整灵感生成流水线 | +| **ie-retrieve-memory** | 记忆层:从历史笔记检索 | +| **ie-connect-dots** | 推理层:语义聚类+发现隐含关联 | +| **ie-generate-insight** | 洞见层:转化为启发性内容 | +| **ie-recall-memory** | 选择性召回:当前最该想起的旧笔记 | + +### 6. 学习(Learning Skills) + +| Skill | 功能 | +|-------|------| +| **class-note-builder** | 课堂逐字稿/OCR→结构化主笔记 | +| **lecture-focus-extractor** | 长篇笔记→提取复习重点 | +| **misconception-finder** | 检查理解错误/概念混淆/逻辑跳步 | +| **notes-to-flashcards** | 笔记→主动回忆复习卡片 | +| **notes-to-lesson-plan** | 笔记→teach-back 提纲 | +| **prerequisite-gap-finder** | 找出学习卡点与缺失前置知识 | +| **study-note-linker** | 新笔记关联旧笔记,构建知识网络 | + +### 7. 长篇创作(Creative Skills) + +| Skill | 功能 | +|-------|------| +| **novel-writer** | AI 陪伴式长篇小说创作(有记忆、不穿帮) | +| **novel-writer-cli** | 同上(CLI 版) | + +--- + +## 🔧 两种驱动方式 + +### CLI 模式 + +```bash +# 安装:WPS 笔记桌面端 MCP 设置页点击安装 CLI +wpsnote-cli status # 检查连接 +wpsnote-cli list # 列出笔记 +wpsnote-cli read --help # 查看用法 +``` + +适合:Claude Code / Cursor / OpenClaw 等终端型 Agent + +### MCP 模式 + +图形化配置,开箱即用,20+ 工具与 CLI 命令一一对应。 + +适合:Cherry Studio 等图形化 Agent + +--- + +## 📋 核心操作模式 + +``` +定位(outline/search)→ 读取(read)→ 编辑(edit) +``` + +| 操作 | CLI 命令 | MCP 工具 | +|------|---------|---------| +| 获取大纲 | `wpsnote-cli outline` | `get_note_outline` | +| 读取全文 | `wpsnote-cli read` | `read_note_content` | +| 按章节读 | `wpsnote-cli section` | `read_section` | +| 搜索 | `wpsnote-cli search` | `search_note_content` | +| 编辑 | `wpsnote-cli edit` | `edit_block` | +| 批量编辑 | `wpsnote-cli batch-edit` | `batch_edit` | +| 创建笔记 | `wpsnote-cli create` | `create_note` | +| 搜索笔记 | `wpsnote-cli find` | `search_notes` | +| 标签管理 | `wpsnote-cli tags` | `list_tags` | + +--- + +## 🚀 安装与使用 + +### 在 Claude Code 中 + +```bash +# 注册为插件市场 +/plugin marketplace add wpsnote/wpsnote-skills + +# 安装 Skill 组 +/plugin install core-skills@wpsnote-skills +/plugin install content-skills@wpsnote-skills +/plugin install capture-skills@wpsnote-skills +/plugin install creative-skills@wpsnote-skills +/plugin install learning-skills@wpsnote-skills +``` + +### 创建自定义 Skill + +```markdown +--- +name: my-skill-name +description: 一句话描述功能和触发时机 +--- + +# Skill 名称 + +[Agent 执行指令] + +## 示例 +- 使用场景 1 +- 使用场景 2 + +## 规则 +- 规则 1 +- 规则 2 +``` + +--- + +## 🧪 评测系统 + +内置三态评测骨架(只看结果,不看过程): + +| 状态 | 说明 | +|------|------| +| **original_state** | 执行前的真实基线 | +| **expected_state** | 期望达到的目标状态 | +| **final_state** | 执行后的真实观测状态 | + +首版覆盖:doc-importer / tag-organize / web-importer / wps-deep-search + +--- + +## 🆚 与 Obsidian 生态对比 + +| 维度 | WPS Note Skills | Obsidian 插件 | +|------|-----------------|--------------| +| 底层 | WPS 笔记 | 本地 Markdown | +| AI Agent 驱动 | ✅ 原生支持 | 需额外配置 | +| 技能市场 | ✅ 插件式安装 | ✅ 社区市场 | +| 多平台 | WPS 全平台 | 桌面+移动 | +| 团队协作 | ✅ WPS 内置 | 需同步服务 | +| 学习工作流 | ✅ 完整 | 部分 | +| 灵感引擎 | ✅ 四层流水线 | ❌ | +| 开源 | ✅ | ✅ | + +--- + +## 💡 典型场景 + +### 场景一:知识管理 + +``` +网页导入 → 内容提炼 → 标签整理 → 知识图谱 → 灵感关联 +``` + +### 场景二:内容创作 + +``` +风格画像 → 需求确认 → 大纲 → 深度研究 → 文章 → 多平台发布 + ↓ +微信公众号 / 小红书 / 短视频文案 +``` + +### 场景三:学习笔记 + +``` +课堂录音 → 转写 → 结构化笔记 → 重点提取 → 复习卡片 + ↓ +关联旧笔记 → 查漏补缺 → 知识网络 +``` + +### 场景四:小说创作 + +``` +角色设定 → 大纲 → 逐章创作 → 记忆追踪 → 不穿帮 +``` + +--- + +## 📊 评价 + +### 优点 +- ✅ **完整 Skill 生态**:30+ Skills 覆盖笔记全生命周期 +- ✅ **多 Agent 支持**:Claude Code / Cursor / OpenClaw +- ✅ **双驱动模式**:CLI + MCP 灵活选择 +- ✅ **分层设计**:基础→创作→搜索→灵感→学习→长篇 +- ✅ **评测系统**:内置三态评测,质量有保障 +- ✅ **社区共创**:鼓励贡献自定义 Skill + +### 注意点 +- ⚠️ **极新项目**(2026-03-11 创建,119 stars) +- ⚠️ **依赖 WPS 笔记**:需要 WPS 桌面端 +- ⚠️ **中文为主**:文档和社区以中文为主 +- ⚠️ **部分 Skill 需 MCP 配置**:需要一定技术基础 + +### 适用场景 +- 使用 WPS 笔记的知识工作者 +- 需要 AI Agent 驱动笔记管理的用户 +- 有内容创作需求的创作者 +- 需要系统化学习的学习者 + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **GitHub** | https://github.com/wpsnote/wpsnote-skills | +| **WPS 笔记** | https://ainote.kdocs.cn | +| **Skill 集合** | https://ainote.kdocs.cn/wps-notes-hub/ | +| **文档** | https://365.kdocs.cn/l/cau3Z9vsAUQt | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/WebDAV挂载指南 b/wiki/sources/WebDAV挂载指南 new file mode 100755 index 0000000..908a9bd --- /dev/null +++ b/wiki/sources/WebDAV挂载指南 @@ -0,0 +1,226 @@ +# WebDAV 挂载到 Linux 本地目录 + +将远程 WebDAV 服务器(如 Obsidian/Synology NAS)挂载为本地文件夹,像操作本地文件一样管理。 + +--- + +## 方法一:davfs2(推荐,最稳定) + +### 1. 安装 davfs2 + +```bash +# Debian/Ubuntu +sudo apt-get install davfs2 + +# CentOS/RHEL +sudo yum install davfs2 + +# macOS +brew install davfs2 +``` + +### 2. 挂载 WebDAV + +```bash +# 创建挂载点 +sudo mkdir -p /mnt/webdav + +# 挂载(需要输入用户名密码) +sudo mount -t davfs http://your-server:port/path /mnt/webdav + +# 或者指定用户名 +sudo mount -t davfs -o username=admin http://your-server:port/path /mnt/webdav +``` + +### 3. 开机自动挂载 + +```bash +# 添加到 /etc/fstab +echo "http://your-server:port/path /mnt/webdav davfs defaults,username=admin,password=yourpass 0 0" | sudo tee -a /etc/fstab + +# 或者保存密码到文件(更安全) +echo "yourpass" | sudo tee /etc/davfs2/secrets +chmod 600 /etc/davfs2/secrets +echo "/mnt/webdav username password" | sudo tee -a /etc/davfs2/secrets +``` + +--- + +## 方法二:rclone(支持云存储,适合 Docker 环境) + +### 1. 安装 rclone + +```bash +# 下载最新版本 +curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip +unzip rclone-current-linux-amd64.zip +sudo mv rclone-*-linux-amd64/rclone /usr/local/bin/ +sudo chown root:root /usr/local/bin/rclone +sudo chmod 755 /usr/local/bin/rclone +rm -rf rclone-*-linux-amd64 rclone-current-linux-amd64.zip +``` + +### 2. 配置 rclone + +```bash +# 交互式配置 +rclone config + +# 选择 n 新建配置 +# 输入名称,如:obsidian-webdav +# 类型选择:webdav +# URL:https://your-server:port/path +# vendor:other +# 输入用户名密码 +``` + +### 3. 挂载为本地目录 + +```bash +# 创建挂载点 +mkdir -p ~/obsidian-webdav + +# 前台测试(确认能连接) +rclone mount obsidian-webdav: ~/obsidian-webdav --vv + +# 后台运行 +rclone mount obsidian-webdav: ~/obsidian-webdav \ + --daemon \ + --vfs-cache-mode writes \ + --allow-other + +# 开机自启(systemd) +cat > ~/.config/systemd/user/rclone-obsidian.service << 'EOF' +[Unit] +Description=rclone mount for Obsidian +After=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/rclone mount obsidian-webdav: %h/obsidian-webdav --vfs-cache-mode writes +ExecStop=/bin/fusermount -uz %h/obsidian-webdav +Restart=on-failure + +[Install] +WantedBy=default.target +EOF + +systemctl --user enable rclone-obsidian.service +systemctl --user start rclone-obsidian.service +``` + +--- + +## 方法三:fUSE + davfs2(用户空间挂载,无需 root) + +### 1. 安装 fuse 和 davfs2 + +```bash +sudo apt-get install fuse davfs2 +``` + +### 2. 配置非 root 用户使用 FUSE + +```bash +sudo usermod -a -G fuse $USER +# 重新登录生效 +``` + +### 3. 挂载 + +```bash +mkdir -p ~/webdav +fusedav https://your-server:port/path -u username -p password ~/webdav +``` + +--- + +## 方法四:curlftps(FTP over HTTPS,需要 FUSE) + +```bash +# 安装 +sudo apt-get install curlftpfs + +# 挂载 +sudo curlftpfs -o allow_other,user=username:password https://your-server/path /mnt/webdav +``` + +--- + +## 方法五:直接在代码中使用 WebDAV + +### Python 示例 + +```python +import webdav3.client as wc + +options = { + 'webdav_hostname': "https://your-server:port/path", + 'webdav_login': "username", + 'webdav_password': "password" +} + +client = wc.Client(options) + +# 列出文件 +print(client.list()) + +# 下载文件 +client.download_sync(remote_path="file.md", local_path="file.md") + +# 上传文件 +client.upload_sync(local_path="new.md", remote_path="new.md") +``` + +### 安装 webdav3 +```bash +pip install webdav3 +``` + +--- + +## 你的服务器信息 + +``` +服务器: http://8.134.220.229:13803 +用户名: admin +密码: blackhill +路径: /实践积累 +``` + +--- + +## 快速测试命令 + +```bash +# 测试连接(curl) +curl -s --digest --user admin:blackhill \ + "http://8.134.220.229:13803/实践积累/" | head -20 + +# 列出文件 +curl -s --digest --user admin:blackhill \ + -X PROPFIND "http://8.134.220.229:13803/实践积累/" -H "Depth: 1" | \ + grep -oE '[^<]+' | head -10 +``` + +--- + +## 常见问题 + +### Q: 挂载后文件看不到? +- 检查网络连接 +- 确认用户名密码正确 +- 查看日志:`dmesg | tail` + +### Q: 写入慢或失败? +- davfs2 有缓存,可能有延迟 +- 尝试增加缓存大小 +- 检查服务器端是否有写入权限限制 + +### Q: Docker 容器内无法挂载? +- Docker 需要 `--privileged` 模式 +- 或者使用 rclone 的 `--allow-non-empty` + +### Q: 开机自启失败? +- 检查 systemd 服务配置 +- 确保网络在挂载前已就绪(添加 `After=network.target`) diff --git a/wiki/sources/WhisperCal完全研究 b/wiki/sources/WhisperCal完全研究 new file mode 100755 index 0000000..e1350b3 --- /dev/null +++ b/wiki/sources/WhisperCal完全研究 @@ -0,0 +1,295 @@ +# WhisperCal 完全研究 + +> Obsidian 日历集成 + 会议录音 + 五阶段 AI 流水线 +> +> 归档:2026-04-25 + +--- + +## 📊 项目概览 + +| 属性 | 值 | +|------|------| +| **仓库** | dloomis/WhisperCal | +| **作者** | dloomis | +| **定位** | Obsidian 桌面插件:日历 + 录音 + 转写 + 摘要 + 研究 | +| **平台** | macOS + Windows(仅桌面) | +| **安装** | BRAT 或手动安装 | + +--- + +## 🎯 核心定位 + +``` +Google/Microsoft 日历 → Obsidian 侧边栏 + ↓ + 一键创建会议笔记 + ↓ + 录音 + 转写(Whisper) + ↓ + LLM 说话人识别 + 摘要 + 会前研究 +``` + +**一句话**:把日历、录音、转写、摘要、研究整合到一个 Obsidian 插件里。 + +--- + +## 🏗️ 五阶段流水线(核心设计) + +| 阶段 | 名称 | 功能 | +|------|------|------| +| **Stage 1** | Note | 从日历事件一键创建会议笔记(支持模板) | +| **Stage 2** | Record/Transcript | 录音并转写为文字 | +| **Stage 3** | Speakers | LLM 识别说话人,逐人分段标注 | +| **Stage 4** | Summary | LLM 生成会议纪要、关键决策、行动项 | +| **Stage 5** | Research | 基于知识库的会前研究准备 | + +### 流水线状态追踪 + +每个会议卡片上有 5 个药丸按钮,显示每个阶段的完成状态。 + +--- + +## 📅 日历侧边栏 + +### 支持平台 + +| 日历 | 连接方式 | +|------|---------| +| **Microsoft 365** | Microsoft Graph API (OAuth2 + PKCE) | +| **Google Calendar** | Google Calendar API (OAuth2 + PKCE) | + +### 日历功能 + +| 功能 | 说明 | +|------|------| +| 日视图 | 按天浏览会议 | +| 自动刷新 | 默认每 5 分钟刷新 | +| 离线缓存 | 无网络时显示缓存数据 | +| 冲突检测 | 时间重叠的会议分组显示 | +| 状态指示 | 绿点=实时 / 灰点=缓存 / 灰点=离线 | + +### 会议卡片 + +``` +┌──────────────────────────────────────┐ +│ 09:00 ┃ 项目评审会议 │ +│ 09:30 ┃ 📍 Zoom · 5人 · 3✅ 1? 1❌ │ +│ ┃ [Note] [Record] [Speakers] │ +│ ┃ [Summary] [Research] │ +└──────────────────────────────────────┘ +``` + +- **时间线槽**:开始/结束时间、时长 +- **组织者**:名称 + 人员链接 +- **元信息**:地点、参会人数、RSVP 状态 +- **工作流药丸**:5 个阶段按钮 + +--- + +## 🎙️ 录音源 + +### MacWhisper(macOS 专用) + +| 特点 | 说明 | +|------|------| +| 价格 | 付费应用(~$25) | +| 质量 | 高质量本地转写 | +| 集成 | 通过时间戳匹配自动关联 | + +### Recording API(跨平台) + +| 特点 | 说明 | +|------|------| +| 方式 | REST API 录音 | +| 平台 | macOS + Windows | +| 功能 | 实时计时器 | + +--- + +## 🤖 LLM 集成 + +### 支持能力 + +| 能力 | 说明 | +|------|------| +| **说话人识别** | 分析转写文本,识别不同说话人 | +| **会议纪要** | 生成摘要、关键决策、行动项 | +| **会前研究** | 基于知识库生成会议背景研究 | + +### 模型选择 + +支持为每个阶段选择不同的 Claude 模型: +- 说话人识别 → Haiku(便宜) +- 会议纪要 → Sonnet(平衡) +- 会前研究 → Opus(深度) + +### 默认 CLI 工具 + +```bash +claude CLI(Claude Code) +``` + +也支持其他 LLM CLI 工具。 + +--- + +## 👥 人员匹配 + +``` +日历参会人 → 匹配 People/ 文件夹中的笔记 + ↓ + 显示为 [[wiki links]] + ↓ + 未匹配的组织者可自动创建笔记 +``` + +--- + +## 📝 模板系统 + +### 模板变量 + +| 变量 | 说明 | +|------|------| +| `{{title}}` | 会议标题 | +| `{{date}}` | 会议日期 | +| `{{time}}` | 会议时间 | +| `{{attendees}}` | 参会人列表 | +| `{{location}}` | 会议地点 | + +### 预留 Frontmatter + +```yaml +--- +meeting_date: 2026-04-25 +meeting_time: 09:00 +attendees: + - [[张三]] + - [[李四]] +location: Zoom +--- +``` + +--- + +## 🔧 安装步骤 + +### 方式一:BRAT 安装(推荐) + +``` +1. Obsidian → 设置 → 社区插件 → 搜索 BRAT → 安装启用 +2. 设置 → BRAT → Add Beta plugin +3. 输入 dloomis/whisper-cal → Add Plugin +4. 设置 → 社区插件 → 启用 WhisperCal +``` + +### 方式二:手动安装 + +``` +1. 从 GitHub Releases 下载 main.js / manifest.json / styles.css +2. 创建 .obsidian/plugins/whisper-cal/ 目录 +3. 复制三个文件到该目录 +4. Obsidian → 设置 → 社区插件 → 启用 +``` + +--- + +## ⚙️ 日历设置 + +### Google Calendar + +``` +1. Google Cloud Console → 创建项目 +2. 启用 Google Calendar API + People API +3. 创建 OAuth 客户端 ID(Desktop app) +4. WhisperCal 设置 → 粘贴 Client ID + Secret +5. 点击 Sign in → 浏览器授权 +``` + +### Microsoft 365 + +``` +1. Azure Portal → App registrations → New registration +2. Redirect URI: http://localhost +3. 添加权限: Calendars.Read + offline_access +4. WhisperCal 设置 → 粘贴 Client ID +5. 点击 Sign in → 浏览器授权 +``` + +--- + +## 🆚 与普通 Whisper 插件对比 + +| 维度 | Whisper 插件 | WhisperCal | +|------|-------------|-----------| +| 录音转文字 | ✅ | ✅ | +| LLM 后处理 | ✅ | ✅ | +| 日历集成 | ❌ | ✅ | +| 一键创建笔记 | ❌ | ✅ | +| 说话人识别 | ❌ | ✅ | +| 会前研究 | ❌ | ✅ | +| 会议摘要 | ❌ | ✅ | +| 人员匹配 | ❌ | ✅ | +| 移动端 | ✅ | ❌ | +| 安装难度 | 低(社区市场) | 中(BRAT) | + +--- + +## 💡 典型工作流 + +``` +早上: + 1. 打开 Obsidian → 侧边栏看今日日历 + 2. 点击"Research" → LLM 生成会前研究 + 3. 点击"Note" → 创建会议笔记 + +会中: + 4. 点击"Record" → 开始录音 + 5. 会议结束 → 自动转写 + +会后: + 6. 点击"Speakers" → LLM 识别说话人 → 审核确认 + 7. 点击"Summary" → 生成会议纪要和行动项 + 8. 完成!一键完整的会议记录 +``` + +--- + +## 📊 评价 + +### 优点 +- ✅ **全流程覆盖**:从日历到会议记录一站式解决 +- ✅ **五阶段流水线**:结构化的会议管理流程 +- ✅ **LLM 深度集成**:说话人识别、摘要、研究 +- ✅ **日历侧边栏**:在 Obsidian 内直接看日历 +- ✅ **人员匹配**:自动关联参会人笔记 +- ✅ **模板系统**:灵活的笔记格式自定义 + +### 注意点 +- ⚠️ **仅桌面**:不支持移动端 +- ⚠️ **未收录社区市场**:需通过 BRAT 安装 +- ⚠️ **需要 LLM CLI**:说话人识别/摘要需要 Claude CLI +- ⚠️ **日历配置复杂**:需要 Azure AD 或 Google Cloud 设置 +- ⚠️ **MacWhisper 仅 macOS**:Windows 用户需要 Recording API + +### 适用场景 +- 日常会议频繁的知识工作者 +- 希望统一管理会议记录和行动项 +- 已有 Obsidian + 日历使用习惯 +- 需要 AI 辅助的会议整理 + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| **GitHub** | https://github.com/dloomis/WhisperCal | +| **BRAT 安装** | github.com/TfTHacker/obsidian42-brat | +| **MacWhisper** | https://goodsnooze.gumroad.com/l/macwhisper | +| **Claude Code** | https://docs.anthropic.com/en/docs/claude-code/overview | + +--- + +*整理:知识库管理员 | 归档:2026-04-25* \ No newline at end of file diff --git a/wiki/sources/obsidian-headless-SKILL b/wiki/sources/obsidian-headless-SKILL new file mode 100755 index 0000000..61c8aa3 --- /dev/null +++ b/wiki/sources/obsidian-headless-SKILL @@ -0,0 +1,344 @@ +--- +name: obsidian-headless +description: 在无显示器/无 GUI 环境下通过自然语言指令管理 Obsidian 笔记仓库。支持创建笔记、删除笔记(带确认)、搜索标题、搜索内容、模糊搜索、创建日记等功能。当用户需要在无头服务器、SSH 环境、或没有安装 Obsidian 桌面应用的情况下管理 Obsidian 笔记时使用此技能。触发词包括"obsidian", "笔记", "搜索笔记", "创建笔记", "删除笔记", "今天日记", "无头 obsidian", "命令行 obsidian"。 +slash_commands: + - name: obsidian-headless + description: 主命令 - 无头 Obsidian 笔记管理 + usage: /obsidian-headless [子命令] [参数] + subcommands: + - create: 创建新笔记 (/obsidian-headless create 文件名 内容) + - delete: 删除笔记 (/obsidian-headless delete 文件名) + - search: 搜索笔记 (/obsidian-headless search 关键词) + - daily: 今天日记 (/obsidian-headless daily 内容) + - list: 列出所有笔记 (/obsidian-headless list) + - save: 保存内容 (/obsidian-headless save 文件名 内容) + - name: obs-create + description: 创建新笔记 + usage: /obs-create [文件名] [内容] + - name: obs-delete + description: 删除笔记 + usage: /obs-delete [文件名] + - name: obs-search + description: 搜索笔记内容 + usage: /obs-search [关键词] + - name: obs-daily + description: 创建/查看今天日记 + usage: /obs-daily [可选内容] + - name: obs-list + description: 列出所有笔记 + usage: /obs-list + - name: obs-save + description: 保存对话内容到笔记 + usage: /obs-save [文件名] [内容] +--- + +# Obsidian Headless - 无头 Obsidian 管理工具 + +在无显示器/无 GUI 环境下通过自然语言指令管理 Obsidian 笔记仓库。 + +## 适用场景 + +- 在 SSH 远程服务器上管理 Obsidian 笔记 +- 无显示器环境(如 VPS、Docker 容器) +- 不想启动 Obsidian GUI 桌面应用时 +- 需要通过脚本自动化管理笔记时 + +## 文档 + +- **USAGE.md** - 完整使用手册(包含快速参考、详细说明、示例、故障排除) + +## 目录结构 + +``` +obsidian-headless/ +├── obs # 便捷入口脚本 +├── install.sh # 安装脚本 +├── SKILL.md # 本文件(技能说明) +├── USAGE.md # 完整使用手册 +├── bin/ +│ └── obsidian-headless.sh # 主程序 +├── examples/ +│ └── examples.sh # 使用示例脚本 +└── tests/ + └── test.sh # 测试脚本 +``` + +## 配置文件 + +首次使用时会提示输入仓库路径,配置保存在: +``` +~/.config/obsidian-headless/vault-path +``` + +## 快速开始 + +### 1. 安装 + +```bash +cd ~/.openclaw/skills/obsidian-headless +./install.sh +``` + +或手动使用: +```bash +~/.openclaw/skills/obsidian-headless/obs "obs指令" +``` + +### 指令格式 + +所有指令都支持 `obs` 前缀(**大小写不敏感**),`obs` 和指令之间可以有**空格、-、_、: 等连接符**: + +| 格式 | 示例 | +|------|------| +| `obs指令` | `obs创建笔记 新笔记` | +| `obs 指令` | `obs 创建笔记 新笔记` | +| `obs-指令` | `obs-创建笔记 新笔记` | +| `OBS指令` | `OBS创建笔记 新笔记` | + +**推荐使用 `obs指令` 格式**,避免误触。 + +### 2. 配置仓库路径 + +**首次使用:** +运行任意命令时会提示输入仓库路径,路径会保存到配置文件中供后续使用。 + +``` +首次使用 Obsidian Headless +========================== + +请输入 Obsidian 仓库路径: /home/user/my-vault +✓ 已保存配置 +``` + +**手动配置(可选):** + +方式 1 - 环境变量(优先级最高): +```bash +export OBSIDIAN_VAULT=/path/to/your/vault +``` + +方式 2 - 删除配置文件重新输入: +```bash +rm ~/.config/obsidian-headless/vault-path +# 下次运行时会重新提示输入 +``` + +### 3. 使用 + +```bash +# 使用安装后的快捷命令 +obs "创建笔记 新想法" + +# 或直接调用 +~/.openclaw/skills/obsidian-headless/obs "搜索内容 home assistant" +``` + +## 支持的指令 + +### 创建笔记 +``` +obs创建笔记 [文件名] [可选内容] +``` + +**说明:** +- `文件名` 支持路径,如 `文件夹/笔记名` 或 `笔记名` +- 如果**只输入文件名**(无内容),创建**空笔记文件** +- 如果**输入了内容**,内容**直接写入文件**,不会自动添加标题 +- 笔记的标题需要用户在 `内容` 中自行定义(如 `# 我的标题`) +- **文件名和内容之间可以用空格或换行符分隔** + +**示例:** +- `obs创建笔记 待办清单` → 创建空文件 `待办清单.md` +- `obs创建笔记 项目想法 这个项目的核心目标是...` → 文件内容为 "这个项目的核心目标是..." +- `obs创建笔记 AI/总结 # AI 总结\n\n今天学习了...` → 文件内容包含自定义标题 + +**多行内容示例:** +``` +obs创建笔记 笔记名 +# 标题 +内容第一行 +内容第二行 +``` + +### 删除笔记(带确认) +``` +obs删除笔记 [文件名] +``` + +**删除确认流程:** + +**单个匹配时:** +``` +即将删除笔记: + 标题: xxx + 路径: /path/to/xxx.md + + 内容预览 (共 15 行): + # xxx + ... + +请回复确认: + [Y] 确认删除 + [N] 取消 +``` + +**多个匹配时:** +``` +找到多个匹配的笔记: + + [1] 笔记A + 位置: folder1/ + 大小: 20 行 + + [2] 笔记B + 位置: folder2/ + 大小: 35 行 + +请回复要删除的笔记编号 (或 0 取消) +``` + +### 查看笔记内容 +``` +obs查看笔记 [文件名] +``` + +### 搜索笔记标题 +``` +obs搜索标题 [关键词] +``` + +### 搜索笔记内容 +``` +obs搜索内容 [关键词] +``` + +### 模糊搜索(标题+内容) +``` +obs模糊搜索 [关键词] +``` + +### 创建/打开今天日记 +``` +obs今天日记 [可选内容] +``` + +自动在 `日记/` 文件夹下创建 `YYYY-MM-DD.md` + +### 修改库路径 +``` +obs修改库路径 +obs修改库目录 +obs更改路径 +obs切换仓库 +``` + +交互式修改仓库路径,保存到配置文件。 + +**示例:** +- `obs修改库路径` → 提示输入新路径 +- `obs-修改库目录` → 同上 + +### 列出所有笔记 +``` +obs列出所有 +``` + +### 列出所有文件夹 +``` +obs列出文件夹 +``` + +### 显示最近修改的笔记 +``` +obs最近笔记 +``` + +## 前置要求 + +1. **Obsidian 仓库:** 首次使用时会提示输入仓库路径 + +2. **依赖:** + - `bash` (必须) + - `find` (必须) + - `grep` (必须) + - `ripgrep (rg)` (推荐,搜索更快) + +3. **安装 ripgrep:** + ```bash + # Ubuntu/Debian + sudo apt install ripgrep + + # macOS + brew install ripgrep + ``` + +## 测试 + +运行测试脚本验证功能: + +```bash +cd ~/.openclaw/skills/obsidian-headless +./tests/test.sh +``` + +## 查看示例 + +运行示例脚本查看各种用法: + +```bash +cd ~/.openclaw/skills/obsidian-headless +./examples/examples.sh +``` + +## 与 obsidian-cli 的对比 + +| 功能 | obsidian-cli | obsidian-headless | +|------|-------------|-------------------| +| 依赖 Obsidian GUI | 是(需要索引) | 否 | +| search-content | 依赖索引,常失败 | 使用 ripgrep,可靠 | +| 删除确认 | 无 | 有(显示预览) | +| 多匹配处理 | 无 | 列出序号选择 | +| 自然语言支持 | 有限 | 完整支持 | +| 无头环境 | 不支持 | 专门设计 | + +## 故障排除 + +### 提示"未找到 Obsidian 仓库路径" +1. 首次使用时会自动提示输入路径 +2. 或手动设置环境变量: + ```bash + export OBSIDIAN_VAULT=/path/to/your/vault + ``` +3. 或删除配置重新输入: + ```bash + rm ~/.config/obsidian-headless/vault-path + ``` + +### 修改已保存的仓库路径 +```bash +# 方法1: 使用环境变量覆盖 +export OBSIDIAN_VAULT=/new/path + +# 方法2: 删除配置,下次重新输入 +rm ~/.config/obsidian-headless/vault-path +``` + +### 搜索速度慢 +安装 ripgrep: +```bash +sudo apt install ripgrep # Ubuntu/Debian +brew install ripgrep # macOS +``` + +### 删除时找不到笔记 +使用更精确的标题,或使用"模糊搜索"先找到准确标题。 + +## 脚本说明 + +| 脚本 | 用途 | +|------|------| +| `obs` | 便捷入口,推荐日常使用 | +| `bin/obsidian-headless.sh` | 主程序 | +| `install.sh` | 安装脚本,设置别名和快捷方式 | +| `tests/test.sh` | 功能测试 | +| `examples/examples.sh` | 使用示例 | diff --git a/wiki/sources/无人机视频测流_IMX219_vs_OG05B10对比 b/wiki/sources/无人机视频测流_IMX219_vs_OG05B10对比 new file mode 100755 index 0000000..ac04834 --- /dev/null +++ b/wiki/sources/无人机视频测流_IMX219_vs_OG05B10对比 @@ -0,0 +1,267 @@ +# 无人机视频测流:IMX219 vs OG05B10 对比分析 + +> 面向 LSPIV/PTV 水流测速场景的传感器选型 +> +> 归档:2026-04-24 + +--- + +## 📊 场景需求分析 + +### 无人机视频测流原理 + +``` +无人机拍摄水面视频 → 提取水面特征点 → 追踪特征位移 → 计算流速 + ↓ + 公式:v = d / t(像素位移 × 标定系数 / 时间) +``` + +### 核心需求 + +| 需求 | 重要性 | 说明 | +|------|--------|------| +| **无运动畸变** | ⭐⭐⭐⭐⭐ | 无人机抖动 + 水流运动,双重运动源 | +| **高帧率** | ⭐⭐⭐⭐ | 提高时间分辨率,捕捉快速水流 | +| **无频闪** | ⭐⭐⭐ | 水面反光 + 天空强光,高动态场景 | +| **全局同步** | ⭐⭐⭐ | 多相机立体标定时需同步曝光 | +| **低光性能** | ⭐⭐ | 阴天/早晚作业时需要 | +| **分辨率** | ⭐⭐ | 决定测量区域覆盖范围 | + +--- + +## 🎯 详细对比 + +### 1. 运动畸变(最关键指标) + +#### 滚动快门(IMX219)的问题 + +``` +无人机振动 + 水流运动 = 双重畸变源 + +┌─────────────────────────────────────┐ +│ 水面波纹被"扭曲"成波浪形 │ +│ 无人机移动方向上的物体被拉伸/压缩 │ +│ 特征点位置误差可达 5-20 像素 │ +└─────────────────────────────────────┘ + +速度测量误差 = 畸变导致的像素误差 × 标定系数 + = 10 像素 × 0.05 m/像素 + = 0.5 m/s(严重偏差!) +``` + +#### 全局快门(OG05B10)的优势 + +``` +全像素同时曝光 → 无畸变 → 特征点位置准确 + +┌─────────────────────────────────────┐ +│ 水面波纹保持真实形状 │ +│ 特征点位置误差 < 1 像素 │ +│ 速度测量误差 < 0.05 m/s │ +└─────────────────────────────────────┘ +``` + +| 指标 | IMX219 | OG05B10 | +|------|--------|---------| +| 运动畸变 | ❌ 严重(5-20 像素) | ✅ 无(<1 像素) | +| 速度测量误差 | 0.2-1.0 m/s | **<0.05 m/s** | +| 适用流速范围 | 仅适合 <1 m/s | 适合 **0.1-5 m/s** | + +--- + +### 2. 时间分辨率(帧率) + +#### LSPIV 对帧率的要求 + +``` +采样定理:帧率 > 2 × 最大流速 / 特征间距 + +示例: +- 流速 3 m/s +- 特征间距 0.1 m +- 最低帧率 > 60 FPS +``` + +| 分辨率 | IMX219 | OG05B10 | 测流适用性 | +|--------|--------|---------|-----------| +| 全分辨率 | ~15 FPS | **53 FPS** | OG05B10 可用 | +| 1080P | **30 FPS** | **90 FPS** | OG05B10 覆盖更快流速 | +| 720P | 60 FPS | - | IMX219 勉强 | +| VGA | 90 FPS | - | 分辨率太低 | + +**结论**:OG05B10 在 1080P 下 90 FPS,是 IMX219 的 3 倍,可测量更快的流速。 + +--- + +### 3. 动态范围与频闪 + +#### 水面高动态场景 + +``` +水面反射天空 → 过曝区域 +水流阴影 → 欠曝区域 +┌─────────────────────────────────────┐ +│ 过曝区域:特征丢失 │ +│ 欠曝区域:特征丢失 │ +│ 有效追踪区域减少 30-50% │ +└─────────────────────────────────────┘ +``` + +| 指标 | IMX219 | OG05B10 | +|------|--------|---------| +| HDR | ❌ 不支持 | ✅ 支持 | +| 水面过曝处理 | 差 | **好** | +| 有效追踪区域 | 60-70% | **85-95%** | + +--- + +### 4. 多相机同步 + +#### 立体 PIV(双相机 3D 流速场) + +``` +IMX219(卷帘快门): + 相机 A:曝光时间 t0 → t0+10ms(逐行) + 相机 B:曝光时间 t0 → t0+10ms(逐行) + → 两相机行间曝光不同步 → 3D 重建误差 + +OG05B10(全局快门): + 相机 A:曝光时间 t0(全局) + 相机 B:曝光时间 t0(全局) + → 完美同步 → 3D 重建准确 +``` + +| 场景 | IMX219 | OG05B10 | +|------|--------|---------| +| 单相机 2D 测流 | ✅ 可用 | ✅ 更好 | +| 双相机 3D 测流 | ❌ 误差大 | ✅ 完美同步 | +| 多机协同测量 | ❌ 不可行 | ✅ 可行 | + +--- + +### 5. 低光性能 + +| 场景 | IMX219 | OG05B10 | +|------|--------|---------| +| 晴天正午 | ✅ | ✅ | +| 阴天 | ⚠️ 噪点多 | ✅ 噪点少 | +| 早晚/黄昏 | ❌ 特征丢失 | ⚠️ 可用 | +| 夜间(无补光) | ❌ 不可用 | ❌ 不可用 | + +**OG05B10 大像素(2.2μm)进光量是 IMX219(1.12μm)的 3.9 倍** + +--- + +## 📋 测流场景综合评分 + +| 维度 | 权重 | IMX219 | OG05B10 | +|------|------|--------|---------| +| 运动畸变 | 30% | 30 | **95** | +| 帧率 | 20% | 50 | **90** | +| 动态范围 | 15% | 40 | **85** | +| 多相机同步 | 10% | 20 | **95** | +| 低光性能 | 10% | 40 | **75** | +| 分辨率 | 10% | **80** | 60 | +| 成本 | 5% | **90** | 50 | +| **加权总分** | 100% | **45** | **83** | + +--- + +## 🏆 产品宣传亮点提取 + +### OG05B10 在无人机测流场景的核心卖点 + +#### 卖点 1:全局快门 = 测量精度保障 + +> "无人机抖动 + 水流运动,双重运动源下, +> 卷帘快门引入 5-20 像素畸变,速度误差高达 0.5-1.0 m/s。 +> OG05B10 全局快门,像素级无畸变,误差 <0.05 m/s。" + +#### 卖点 2:90 FPS = 更高流速测量能力 + +> "1080P@90FPS 高帧率,是 IMX219 的 3 倍。 +> 可测量 0.1-5 m/s 流速范围,覆盖 95% 以上天然河道。" + +#### 卖点 3:HDR + 大像素 = 复杂光照适应性 + +> "水面强反光 + 阴影区域,HDR 支持确保特征点不丢失。 +> 2.2μm 大像素,阴天/早晚仍可正常工作。" + +#### 卖点 4:全局同步 = 支持 3D 流速场 + +> "多相机完美同步曝光,支持立体 PIV 测量。 +> 从 2D 表面流速升级到 3D 流速场分布。" + +--- + +### IMX219 的适用场景(对比参考) + +| 场景 | 适用性 | 说明 | +|------|--------|------| +| 平静水面(<0.5 m/s) | ✅ | 流速慢,畸变影响小 | +| 教学/演示用途 | ✅ | 成本低,够用 | +| 晴天正午 | ✅ | 光照充足 | +| 急流/湍流(>1 m/s) | ❌ | 畸变导致误差大 | +| 专业水文测量 | ❌ | 精度不达标 | +| 3D 流速场 | ❌ | 无法同步 | + +--- + +## 📊 测流精度对比表 + +| 流速范围 | IMX219 误差 | OG05B10 误差 | 推荐 | +|---------|-----------|-------------|------| +| 0.1-0.5 m/s | ±0.1 m/s | ±0.02 m/s | OG05B10 | +| 0.5-1.0 m/s | ±0.2 m/s | ±0.03 m/s | OG05B10 | +| 1.0-2.0 m/s | ±0.5 m/s | ±0.05 m/s | **仅 OG05B10** | +| 2.0-5.0 m/s | ❌ 不可用 | ±0.08 m/s | **仅 OG05B10** | + +--- + +## 💡 针对性宣传文案 + +### 方案 A:技术向(面向水文工程师) + +``` +🎯 无人机视频测流,精度提升 10 倍! + +传统卷帘快门相机(如 IMX219)在无人机抖动+水流运动 +双重作用下,引入 5-20 像素畸变,速度误差达 0.5-1.0 m/s。 + +OG05B10 全局快门传感器: +✅ 像素级无畸变,误差 <0.05 m/s +✅ 1080P@90FPS,覆盖 0.1-5 m/s 流速 +✅ HDR 支持,水面反光不丢特征 +✅ 多相机同步,支持 3D 流速场 + +从"能用"到"精准",只差一个全局快门。 +``` + +### 方案 B:通俗向(面向非技术用户) + +``` +🌊 测水流,为什么要用全局快门相机? + +普通相机拍流动的水 → 画面扭曲 → 测不准 +全局快门相机拍流动的水 → 画面真实 → 测得准 + +OG05B10 全局快门相机: +📸 拍得快(90 帧/秒) +📐 拍得准(无扭曲) +🌅 拍得清(HDR 防反光) + +无人机测流首选,精度有保障! +``` + +--- + +## 🔗 资源 + +| 资源 | 链接 | +|------|------| +| LSPIV 技术综述 | https://www.mdpi.com/2073-4441/12/5/1356 | +| UAV-PIV 研究 | https://www.sciencedirect.com/science/article/pii/S0309170820304716 | + +--- + +*整理:知识库管理员 | 归档:2026-04-24* \ No newline at end of file diff --git a/wiki/sources/语义引领的下一代数字化建设体系 b/wiki/sources/语义引领的下一代数字化建设体系 new file mode 100755 index 0000000..a01a131 --- /dev/null +++ b/wiki/sources/语义引领的下一代数字化建设体系 @@ -0,0 +1,517 @@ +--- +title: 语义引领的下一代数字化建设体系 +date: 2026-04-12 +tags: [AI, 数字化转型, 知识图谱, 本体论, SemanticLayer] +source: 演讲PPT +aliases: [Of AI By AI For AI] +--- + +# 语义引领的下一代数字化建设体系 + +> **副标题**: Of AI, By AI, For AI + +——Of AI, By AI, For AI + + +——Of AI, By AI, For AI + +概述 + +Of AI + +本体论和语义层 + +知识图谱和GraphRAG +语义层的数据源 + +语义层的更新 + +By AI + +业务分析与需求梳理 + +系统设计 + +开发与测试 + +监控与运维 + +For AI + +AI Native + +存量治理 + +未来展望 + +应用的未来形态 + +组织的未来形态 + +参考资料 + +概述 + +在本文中,我们构想了一套基于人工智能的下一代数字化建设体系。根据信息化、数字化的性质和人工 + +智能的特点,提出,未来的数字化建设应当是语义引领的。语义是统合系统建设和运营全过程的关键, + +语义层(本体)则是实现这种统合的工具。 + +我们认为,未来的 IT 系统建设,应当是“AI 所有(Of AI)、AI 所治(By AI)、AI 所享(For AI)”的: + +Of AI:即 AI 已经超越了辅助工具的角色;透过语义层,它开始“拥有”整个系统。本体论贯穿IT/数 + +字化活动的全过程;基于本体论构建的语义层承载着对系统的认知,是一切活动的基础。 + +By AI:即 AI 作为系统构建的工具和方法。从业务分析到需求梳理、从架构计到编码实现、从系统 + +测试到运维监控,AI 在所有的环节都起到辅助甚至替代人的作用。 +For AI:即 AI Ready。AI 时代的应用需天然是 AI Ready 的,任何一个拥有其本体知识的智能体都 + +有能力与其进行交互,比如查询数据或执行业务操作。 + +下面详述这三者。 + +Of AI + +Of AI 是本文的核心。它的职责是对系统进行语义建模;它构成系统的“认知架构”(或曰“认知基础设 + +施”)。 + + 本体论和语义层 + +本体论(Ontology)不是新名词,上个世纪90年代就在数据科学领域被提出,后来又成为知识图谱的理 + +论基础,最近则是借着帕兰提尔公司(Palantir)的东风重新回到人们的视野。 + +1993年,Tom Gruber提出:本体是概念模型的显式规范。还有一些类似的说法,比如“共享概念的形式 + +化和显式说明”,强调概念的共享性、形式化和明确性,从而突出机器可读性。 + +这里提一下共享性,即本体中的概念应当是企业全局的,不是隶属于某一个部门、某一个业务或某 + +一套 IT 系统的。我们的语义层建设整体上应当遵循这个观念;但就单个 IT 系统来说,它有自己的 +领域模型,也有自己的——用DDD术语来说——有界上下文。 + +共享本体的一个重要职责是消歧,即解决不同部门或系统使用不同的词汇表达同一个概念的问题。 + +总体而言,本体论包含如下核心要素: + +1. 概念/类:企业中的基本“事物”类型。 + +例如: 客户 、 产品 、 订单 、 员工 、 部门 、 业务流程 、 项目 、 资源 。 + +2. 属性:描述这些概念的特定信息或特征。 + +例如: 客户 有 客户ID 、 姓名 、 地址 。 订单 有 订单号 、 下单日期 、 金额 。 + +3. 关系:概念之间的互动和联系方式。这是本体论强大之处。 + +例如: 员工 隶属于 部门 。 客户 下达 订单 。 订单 包含 产品 。 业务流程 消耗 资源 。画成图如下: + +4. 规则/公理:约束企业运作的逻辑规则。它们定义了“业务逻辑”。 + +例如:“一个 订单 必须至少包含一个 产品 ”。“只有 经理 级别的 员工 才能审批金额超过10万元的 合 + +同 ”。“ 已完成 状态的 订单 不能再被修改”。 + +5. 实例:根据上述本体论定义创建的具体数据。 + +例如:一个具体的 客户 (实例:张三,ID:C001),他下达的一个具体 订单 (实例:订单 + +O2025001)。 + +基于该理论的发展,业内出现了一批实现,如 OWL(Web Ontology Language,当时web技术正在兴 + +起)、语义网络、本体工程等。 + +根据帕兰提尔的定义,本体包含对象、关系、动作、回写、流程、场景等;它把本体看做是一个组织的 + +数字孪生。可见,帕兰提尔的概念有别于本体的传统定义,具有鲜明的动态特征。 + + 帕兰提尔的本体论实现形式是其产品 Gotham 和 Foundry ;传统的本体论实现典型的如知识图谱。我们 + +不妨将这些实现统称为“语义层”。 + +本文中,“本体论”指理论,“本体”和“语义层”是同义词,指其实现。 + +知识图谱和GraphRAG + +对大多数国内公司而言,知识图谱(Knowledge Graph)类产品是落地语义层的现实选择。下图展示了 +知识图谱和 LLM 的互补性: + +传统上,知识图谱的构建比较费时费力,但在 AI 时代,人们发现可以借助 LLM 来生成知识图谱,微软还 + +开源了 GraphRAG 。除了微软的产品,人们也常常使用图数据库如 Neo4j 来实现自己的 GraphRAG 方 + +案,也有轻量级框架如 LightRAG 。但无论如何,构建一个高质量的知识图谱都不是轻而易举的,除了 + +传统的挑战如共指消解、实体消歧等,还面临着现代本体对实时性(动态性)的要求。 + +使用 LLM 建成知识图谱后,就可以基于该图谱进行查询和推理了。这些查询和推理(尤其是多跳推理) + +的结果,又可以送入 LLM ,以帮助实现更精确的问答、统计和根因分析。 + +下图展示了有知识图谱参与的问答以及利用 LLM 从数据源抽取知识图谱的过程: + + 由于看到了这个方向的潜力,此类产品正在纷纷出炉;如 Redis 的 FalkorDB 、清华的 Tree-KG 等。 + +帕兰提尔的本体产品为什么不是知识图谱? + +从帕兰提尔的 Foundry 看,它并不是知识图谱类产品,为什么呢? + +让我们梳理时间线如下: + +2000年左右的时候,谷歌为了解决大量搜索结果排序的问题,发明了 PageRank 技术。它把 +网页间的相互引用做成一张图,节点是网页(url),边是引用。被引用得越多,就认为越重 + +要,会优先返回给用户。 + +2012年,谷歌更新了它的搜索引擎,口号是:“Things, Not Strings”,并正式提出“知识图谱” + +这个概念。它除了返回传统的网页列表外,还返回“知识卡片”(位于搜索结果列表的右 + +侧)。 + +2024年,谷歌又提出 GraphRAG。它的理念是:它是 RAG,但是在 R 阶段,不仅去传统知 + +识库里搜索,还去图数据库里搜索。(在原始论文里,图谱库和向量库是一个,是存在一起 + +的。) + +2025年,帕兰提尔大火,带火了本体论。但是帕兰提尔的本体论只是在精神上和正统本体论 + +(RDF/语义网)保持一致,实现上则完全不同。帕兰提尔的本体平台更像个对象存储库(或 +曰“对象中台”)。 + +因此我们能够回答帕兰提尔的平台为什么是这个样子的。知识图谱是 2012 年才提出的;帕兰提尔 +成立于 2003 年,在 toC 界,那是万维网的青春期;在 toB 界,则是 OOP 和 J2EE 的青春期。帕 + +兰提尔在哲学上采用了 toC 界的概念,在实现上则受 toB 界的影响更大;这可以理解,因为 RDF + +要到 2004 年才出现,而 OOP 思想和 J2EE 应用服务器已日臻成熟。帕兰提尔的产品带有那个时代 + +的典型印记,实际上是以自己的方式实现了 EJB 的愿景。它的“本体层”与其说是语义模型层,不如 + +说是对象模型层(在那个时代也不算错,那时提出“对象”就是为了承载语义,以区别于“数据”); +它对“关系”的定义甚至退化到数据库的一对一/一对多/多对多。它的本体层又分为“语义层”、“动作 + +层”、“动态层”。其中语义层实际上是对象层,而动作层是对象层本来就有的(方法),后来受事 + +件驱动编程的影响,加了事件;动态层则是数据分析、机器学习等技术的应用。可见,它也在不断 + +吸收业界最新的发展成果;LLM出现后,它搞 AIP,就是在继续吸收这种成果。 + + 语义层的数据源 + +由于我们的着眼点是构建特定 IT/软件系统,不是一般的企业知识库,因此语义层的数据源——构建语义 + +层所依赖的材料——非常重要,它将充当后续业务和 IT 活动的单一事实来源。 + +对于一个待开发的系统,语义层的数据源应该是业务分析报告和产品需求文档(PRD)。概念模型即抽 + +取自这些文档,或者(最好是)这些文档在撰写的时候就梳理了概念模型。我们可以将这些文档规定为 + +某种“课本”。课本既有形式化的结构(目录、篇章、提要、小结、词汇索引等),又是用自然语言编写 + +的。我们还可以根据实际情况增强它的形式化特征,从而增强机器可读性。在图谱构建这项工作中,课 + +本是人与大模型之间的中介、抓手。毕竟,课本是全球人类学习知识的主要形式;这也是从 Tree-KG 、 + +BookRAG 这类项目获得的启发。 + +对于存量系统,如果要为其补充语义层,有人认为应当从数据层进行逆向工程。逆向工程的思路(Data- + +First / Bottom-Up)并不算错,但注意不要对“数据”的理解陷于片面。很多人把数据层理解为数据库 +表,这是不对的。数据是一个抽象概念,不依赖于媒介。就现代应用系统而言,数据可以表现为库表中 + +的记录,也可以表现为应用层的表单、服务参数与返回值以及面向领域建模(DDD)中的VO、DO、 + +DTO等;此外,业务逻辑、流程、规则也是构建语义层必不可少的“数据”。 + +关系型数据库 RDBMS 是建立在实体-关系模型理论上的,它对“关系”的刻画能力很弱,只有简单的一对 + +一、一对多、多对多。这是一种纯机械的、面向技术实现的关系,并无业务语义表达。面向对象编程 + +(OOP,同样诞生于上世纪90年代)则在这个基础上向前迈了一步,它的 UML 图至少可以表达引用、组 + +合、聚合等概念;方法则不仅规定了对数据的操作,还能在一定程度上补充(暗示)语义关系。DDD则 + +进一步强调概念建模的重要性,但它只是“OOP done right”,并没有大的创新。 + +可见,从数据库表抽取语义层将面临巨大的语义损失;从应用层抽取稍好一点,但仍远远达不到知识图 + +谱所要求的刻画能力。单纯的逆向工程无法构建坚实的语义层,必须辅以有领域专家参与的治理工程。 + +语义层的更新 + +今天的人们不会止步于构建某个领域的静态知识图谱,而是会努力使这个图谱根据实际情况变化。 + +知识图谱的更新有很多种,比如从规模上可分为全量更新和增量更新,从种类上可分为概念更新、实例 + +更新、关系更新等;方法通常是对数据源进行定时抓取或使用 CDC 做实时同步,然后补充或重新生成图 + +谱。 + +总体而言,知识图谱的更新并不容易,要做到实时就更难了。最近出现的动静孪生的图谱产品,如 + +Graphiti ,或许代表了知识图谱未来的发展方向。 + +By AI + + By AI 是指我们的系统是由 AI 帮助创建的,即 AI4SE(AI For Software Engineering)。 + +现有的建设企业 IT 软件系统的理论框架仍能发挥重要作用,典型的比如 4A 企业架构。传统的 4A + +(TOGAF)实施过程如下图所示: + +而从本体论的定义不难看出,语义层的基础是概念模型,在计算机世界中表现为数据模型(这里说对象 + +模型更合适);因此,业务架构与数据架构有必要在概念层面上进行融合。过去,业务架构中也会提信 + +息概念、业务对象,但经常被业务团队忽视;常见的问题有:不够具体、不够形式化、与数据架构断 + +层、侧重流程而非知识等;现在,要让形式化工作前置,让企业架构过度到语义(知识)驱动,适应 AI + +时代,同时也解决业务部门和 IT 部门不使用同一种语言的老大难问题。 + +这样,在业务架构阶段,语义层的骨架就站出来统一了概念和规则,从而为后续的数据、应用乃至技术 + +架构提供一致的、机器可理解的指导。后续的各环节则继续丰富语义层的血管和肌肉,最终,这个语义 + +层就是这个系统的领域本体。 + + 可见,语义层并没有改变 4A 架构的实质,只是借 AI 的东风,使其 done right。 + +业务分析与需求梳理 + +如前所述,在这个阶段就要构建语义层的骨架,即形式化的概念模型定义和关系定义,后续的业务能力 + +和业务流程梳理则直接使用这些概念和关系。 + +业务分析师和产品经理应当借助 AI 工具来从业务和需求文档中抽取概念、关系、规则和流程;如果有条 + +件,则应当直接编写这些形式化内容。 + +这里需再次强调概念模型的完备性。在这个阶段结束时,梳理出来的概念应该已经涵盖了数据架构的主 + +体部分(上面我们提到过业务架构和数据架构的融合)。 + +系统设计 + +基于上一个阶段产生的基础语义层,设计人员(架构师、开发经理)应当使用 AI 工具或智能体来辅助进 +行系统设计;并在此过程中补充、完善语义层的概念和逻辑。 + +设计是实现的前一环;在本环节应当完成 90% 以上的语义层建设,否则它将难以胜任指导系统实现的重 + +任。 + +不难看出,在 AI First 的语境里,业务分析师、产品经理和架构师的角色正在进一步压合;开发工 + +作正在左移,而设计工作正在右移。未来的组织形态则是自然人驱动角色化智能体。 + + 开发与测试 + +这是系统实现环节。AI 的一个重要应用场景就是编程。 + +在大模型时代,编程智能体应成为开发人员的标配,开发团队应尽快过渡到 AI First 的范式上来,并根 + +据自身情况选择语义层和编程智能体的连接方案。 + +语义层使这些智能体“做对的事情”,规范(Spec)或技能(Skill)则使之“把事情做对”。以下是一些被业 + +内采用规范: + +OpenSpec + +Spec-Kit + +BMAD-METHOD + +Kiro + +RIPER-5 + +由编程智能体根据规范来进行应用开发的方法叫做“规范驱动开发(Spec Driven Development, + +SDD)”。 + +当然,开发与测试阶段仍担负着进一步完善语义层的任务。 + +监控与运维 + +运维领域有所谓 AIOps(AI for IT Operations)。 + +将单个系统的语义层集成进运维体系(智能体)后,就可以做个性化的监控、预测预警、资源优化、根 + +因分析、恢复策略——最终达到应用自治。 + +For AI + +For AI 讨论 AI Native 应用和传统应用如何适配 AI 时代。 + +AI Native + +我们上面所说的 AI 原生应用本身就是 AI Ready 的。系统建设过程中产生的语义层就是它被 AI 读取、理 + +解的关键。同时, AI Ready 还意味着工具层面上的就绪,比如语义层查询接口已就绪,业务 API 已完成 + +工具化(遵循 Tool Calling 或 MCP 规范,可供智能体调用),等等。 + +至于是否每个应用都需要一个专属的智能体,与其它智能体组成多智能体系统,则可根据实际情况而 + +定。 + +存量治理 + +针对企业的存量系统对接 AI 时代的问题,我们在“语义层的数据源”一节略有提及,更多的内容请参考 +《A²I:企业AI基础设施建设思路》,此处不再赘述。 + +未来展望 + +应用的未来形态 + +有人把软件分为三代,如下: + +软件 1.0:逻辑过程即软件 + +软件 2.0:数据处理即软件 + +软件 3.0:意图执行即软件 + + 第一代软件以各种编程语言为代表,第二代以神经网络技术为代表,第三代则以使用 LLM 的操作系统为 + +代表。示意图如下,下方是它们的编写形式。 + +至此,软件开发人员应该意识到一个问题:现有应用(第一代软件)的地位。 + +许多现有的应用软件,尤其是企业应用,都是在查询和操作数据。之所以需要一个应用层而不是直接操 + +作底层数据库,其实就是为了添加语义,这在 OOP 和 DDD 上表现得再明显不过了。即,现存应用本身 + +就是上个时代的、机械的、固定流程式的语义层。如果再联想到从低级编程语言到高级编程语言的跳 + +变,就更能明白,计算机软件发展的一个重要脉络就是不断脱离机器语言、靠近人类语言。 + +当人工智能和本体发展到足够严谨和精确的程度时,第一代软件就会被废除;当它继续发展到能胜任编 + +写第二代软件时,第三代软件调用第二代软件的执行范式也就同样迎来了黄昏。 + +但是在那个(遥远的)时代到来之前,既有的软件范式将继续存在,并且与 LLM /智能体长期共存,构成 + +一种过渡形态: + + 上面的架构图中,我们引入了智慧支撑层,它是这种架构形态的核心。这一层除了包含我们说的语义层 + +外,还包含数据中台和指标平台,后者主要解决传统指标/报表过于固定,新增时需要编程开发的问题。 + +首先,我们有6个业务本体(语义层),它们构成右上方6个业务系统的基础; + +6个业务系统在各自本体的基础上被开发出来(如果是存量系统,则是由领域专家从业务系统抽取 +出本体); + +业务系统1、2、3、5都有对应的智能体(左上方),这些智能体访问智慧支撑层以获取知识和数 + +据,访问业务系统以调用其 API; + +业务本体1和2被缝合成一个综合本体,3和4被缝合成另一个综合本体,是为了支持跨领域智能体, + +即综合智能体1和综合智能体2; +智慧支撑层与业务应用间的箭头是双向的;因为业务应用要访问语义层以构建自身,而数据中台需 + +访问业务应用以获取数据; + +业务应用开发的指导框架是 4A,设计方法是 DDD,实现方式是 SDD。智能体开发的指导思想是 + +12-factor agents,实现上则有很多框架可用。 + +组织的未来形态 + +与应用的未来形态对应的,是 IT 组织的未来形态。 + +与其它组织一样,IT 部门也在从事某项业务(领域),即 IT 系统的建设;因此它自身也需要本体。需求 + +文档的格式规范、开发测试的规则规范、运维体系规范等,都是 IT 组织本体的数据源。未来组织需要 +的,可能只是少数本体建设与运维专家,他们同时也是 IT 领域的专家。 + +至于非 IT 组织,则只需要领域专家和中等成本的本体运维人员。 + +这种组织被称为 AI 优先(AI First)型组织。它不是一蹴而就的,通常沿着 “人类+AI 助手” → “人机混合 +团队” → “人类决策、AI执行” 这样的路径发展而来。 + + 参考资料 + +1. 连接AI与决策:深度解析Palantir的“基石”:本体(Ontology) + +2. Palantir 的“本体工程”的核心思路、技术架构与实践示例 + +3. 业务语义:从Ontology构建到大模型集成的技术路径探析 + +4. 基于本体论与大模型的新一代智能应用开发体系 +5. 驾驭AI:一位全流程工程师的软件工程智能化实践与思考 + +6. 为什么需要知识图谱?什么是知识图谱?——KG的前世今生 + +7. 语义网络,语义网,链接数据和知识图谱 + +8. [经典之作]大语言模型与知识图谱的融合:通往智能未来的路线图 + +9. 命名实体识别、实体消歧、实体统一、指代消解、关系抽取 + +10. AI Infra:FalkorDB,给AI用的图数据库 + +11. Graphiti:快速将知识图谱塞进智能体,为更智能的 AI 代理构建实时知识图谱 + +12. 当Agent有了“长情”的大脑:深度拆解与对比Mem0/Graphiti/Cognee三大开源Memory方案 + +13. 上不了生产环境的Agent,都是耍流氓式的自嗨! + +14. 微软:人类与智能体协同时代的未来组织蓝图 +15. 麦肯锡最新洞察:智能体组织(Agentic Organization)——AI时代全新组织范式,与你我都相关 + +16. Three Metaphors for Ontology + +17. Taxonomy, Ontology, Knowledge Graph, and Semantics + +18. Ontology Stitching: How to Align/Merge Enterprise Knowledge Graphs (A Practical Guide) and + +part 2 + +19. Why Agentic AI Needs a Semantic Core + +20. Building the brain of your business for actual AI automation + +21. What is a Semantic Layer? (Components and Enterprise Applications) + +22. What is a Semantic Architecture and How do I Build One? + +23. Foundry ontology core concepts + +24. Enterprise AI Architecture Series: How to Build a Knowledge Intelligence Architecture (Part 1) + +25. Enterprise AI Architecture Series: How to Extract Knowledge from Unstructured Content (Part + +2) + +26. Enterprise AI Architecture Series: How to Inject Business Context into Structured Data using a + +Semantic Layer (Part 3) + +27. The Semantic Layer: Your AI Agent's New Best Friend (or Why They Keep Asking About + +"Revenue") + +28. Unifying Large Language Models and Knowledge Graphs: A Roadmap + +29. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question + +Answering + +30. 12 Factors Agent - How to build production grade AI-Agents + +31. 12-factor-agents + + 32. AI Agent Architecture: Tutorial & Examples + +33. Challenges and Paths Towards AI for Software Engineering diff --git a/wiki/sources/豪威OG05B10传感器研究 b/wiki/sources/豪威OG05B10传感器研究 new file mode 100755 index 0000000..3b5af11 --- /dev/null +++ b/wiki/sources/豪威OG05B10传感器研究 @@ -0,0 +1,147 @@ +# 豪威 OG05B10 图像传感器研究 + +> OmniVision OG05B10 全局快门车载图像传感器 +> +> 归档:2026-04-24 + +--- + +## 📊 基本信息 + +| 属性 | 值 | +|------|---| +| **型号** | OG05B10-A89A-00MA-Z | +| **厂商** | OmniVision(豪威科技) | +| **类型** | 全局快门彩色图像传感器 | +| **分辨率** | 5MP(2592×1944) | +| **传感器尺寸** | 1/2.53"(10.0mm 对角线) | +| **像素大小** | 2.2 μm | +| **快门类型** | 全局快门(Global Shutter) | +| **状态** | 量产中(Active) | +| **环保认证** | RoHS Compliant | +| **交货周期** | 8 周 | + +--- + +## 🎯 核心特性 + +### 分辨率与帧率 + +| 分辨率 | 尺寸 | 最大帧率 | MIPI 通道 | 模式 | +|--------|------|---------|-----------|------| +| 5MP | 2592×1944 | 53 FPS | 4 | 全分辨率 | +| 1080P | 1920×1080 | 90 FPS | 4 | 裁剪模式 | + +### 全局快门优势 + +- ✅ **无运动畸变**:适合高速运动物体检测 +- ✅ **LED 闪烁抑制(LFM)**:解决交通信号灯频闪问题 +- ✅ **精确同步**:多相机系统同步采集 + +### 应用场景 + +| 领域 | 具体应用 | +|------|---------| +| **汽车电子** | ADAS、环视系统、电子后视镜、舱内监控 | +| **工业自动化** | 机器视觉、条码扫描、运动检测 | +| **消费电子** | 高端摄像头、VR/AR 设备 | + +--- + +## 🔌 接口与兼容性 + +| 接口 | 规格 | +|------|------| +| **数据接口** | MIPI CSI-2(4 通道) | +| **平台支持** | Luxonis RVC4 | +| **封装类型** | CSP(Chip Scale Package) | + +--- + +## 📦 封装与供货 + +| 属性 | 值 | +|------|---| +| **完整型号** | OG05B10-A89A-00MA-Z | +| **封装** | Bulk(散装) | +| **分销商** | DigiKey、Microchip USA | +| **阿里巴巴** | 有现货模块销售 | +| **速卖通** | 有相机模块销售 | + +--- + +## 🏭 产品系列定位 + +豪威车载图像传感器系列中,OG05B10 属于: + +``` +OG05B 系列 +├── OG05B10 - 5MP 全局快门(主打 ADAS) +├── OG05B1B - 变体型号 +└── ... +``` + +**同系列对比**: +- **OS05B**:类似规格,可能是不同封装版本 +- **OG05B**:产品系列名称 + +--- + +## 🔍 技术亮点 + +### 1. 全局快门 vs 卷帘快门 + +| 特性 | 全局快门 | 卷帘快门 | +|------|---------|---------| +| 曝光方式 | 全像素同时曝光 | 逐行曝光 | +| 运动畸变 | 无 | 有 | +| LED 闪烁 | 可抑制 | 易受影响 | +| 适用场景 | 高速运动 | 静态/慢速 | + +### 2. LFM(LED Flicker Mitigation) + +- 解决车载摄像头常见的交通信号灯频闪问题 +- 对 ADAS 系统至关重要 + +--- + +## 💰 市场情况 + +| 渠道 | 状态 | +|------|------| +| **DigiKey** | 可订购 | +| **Microchip USA** | 可订购,8 周交货 | +| **阿里巴巴** | 有相机模块现货 | +| **速卖通** | 有开发板/模块 | + +--- + +## 🔗 相关资源 + +| 资源 | 链接 | +|------|------| +| **OV 产品页** | https://www.ovt.com/products/og05b/ | +| **Luxonis 文档** | https://docs.luxonis.com/hardware/sensors/OG05B10 | +| **DigiKey** | https://www.digikey.ca/en/products/detail/omnivision-technologies-inc/OG05B10-A89A-00MA-Z/25323044 | +| **产品简介 PDF** | https://www.ovt.com/wp-content/uploads/2024/04/OG05B1B-PB-v1.0-WEB.pdf | +| **Scribd 数据手册** | https://www.scribd.com/document/910947292/OG05B10-CSP-DS-1-03-相机传感器 | + +--- + +## 💡 应用建议 + +### 适合场景 +- ✅ ADAS 摄像头系统 +- ✅ 电子后视镜(CMS) +- ✅ 360° 环视系统 +- ✅ 工业机器视觉 +- ✅ 高速运动检测 + +### 注意事项 +- ⚠️ 需配合 MIPI CSI-2 接收器使用 +- ⚠️ 全局快门传感器通常比卷帘快门贵 +- ⚠️ 需要完整的光学设计和 ISP 支持 + +--- + +*整理:知识库管理员 | 归档:2026-04-24* \ No newline at end of file