Auto-sync: 2026-04-21 16:03

This commit is contained in:
2026-04-21 16:03:27 +08:00
parent b3b6be6114
commit 914c8f6925
42 changed files with 3923 additions and 1592 deletions

View File

@@ -0,0 +1,62 @@
# AI 簡報流程
## Definition
AI 簡報流程是一種結合大型語言模型LLM進行前期資料研究、知識整理與 AI 簡報工具進行視覺設計的兩階段工作方法論。
## Core Principles
1. **先研究、後設計** — 簡報不是從版面設計開始,而是從資料研究開始
2. **內容為王** — AI 簡報工具擅長視覺設計,不擅長前期資料研究
3. **分工明確** — LLM 負責文字推理與內容建構AI 設計工具負責視覺美化
## Workflow Stages
### Stage 1: Knowledge Research (ChatGPT)
| Stage | Duration | Purpose |
|-------|----------|---------|
| 資料收集 | 5 min | 上網搜尋相關資料,調閱多筆素材 |
| 架構建立 | 1 min | 建立對比表格,整理知識結構 |
| 大綱設計 | 1 min | 輸出文字版簡報大綱 |
### Stage 2: Visual Design (Canva/Gamma)
| Tool | Strength | Notes |
|------|----------|-------|
| [[Canva]] | 豐富模板、AI 問答 | 2025年9月支援中文 |
| [[Gamma]] | 專業版面、圖文並茂 | AI 簡報效果最好 |
## Practical Prompts
### 資料收集 Prompt
```
你是個人知識管理專家,請跟我解釋「[主題]」。請一步一步分析:
先「上網搜尋相關資料」,以「條列清單的格式」,用一般人也能懂的用語,
兼顧廣度與深度細節,說明這個主題。
```
### 建立架構 Prompt
```
整合上面所有討論資料,建立一個「[主題]方法、應用」的對比表格,
呈現出「打破[領域]迷思」的特色。
```
### 簡報大綱 Prompt
```
統整上方的討論,根據「[主題]」主題,簡報對象是「[目標受眾]」,
設計出 10 頁簡報大綱。請一步一步分析,先梳理上方討論的重點,
根據背景、解決的問題、方法與應用,拆解出最容易讓人理解的順序。
每一頁有一個明確主題,每個主題下條列關鍵重點,並帶入更多具體的數據資料細節,
並且最後有吸引人的結論。
```
## Related Concepts
- [[防彈筆記法]] — 知識管理方法論
- [[ChatGPT-應用]] — LLM 在知識工作中的應用
- [[知識管理]] — 資料收集、整理、分析的系統方法
## References
- [[jiao-xue-chatgpt-xian-zuo-zhi-shi-zheng-li-zai-rang-canva-gamma-ai-shu-chu-jian-bao|教學ChatGPT 先做知識整理,再讓 Canva、 Gamma AI 輸出簡報]]

View File

@@ -1,17 +1,38 @@
---
title: "API Enablement"
type: concept
tags: [google, api, cloud]
sources: []
tags: [google-cloud, oauth, api]
---
## Definition
API EnablementAPI 启用)是 Google Cloud Console 中的操作,允许项目启用特定 API 服务以进行编程访问
API Enablement 是在 Google Cloud Console 中项目启用特定 API 服务的操作。即使 OAuth 认证成功,如果目标 API 未启用,调用时仍会返回 `403 accessNotConfigured` 错误
## Context
- gog CLI 调用 Google API 需要两层配置OAuth 身份认证 + API 启用
- 常见错误 "403 accessNotConfigured" 表示对应 API 未在项目中启用
- 启用 API 后需要 30 秒~2 分钟生效,且需要重新授权以获取新权限
## Two-Layer Authorization Model
## Connections
- [[GOG-CLI-安装配置指南]] ← API 调用前提于 ← [[API-Enablement]]
| 层级 | 控制内容 | 错误示例 |
|------|---------|---------|
| OAuth 授权 | 用户身份认证 | 未授权/权限不足 |
| API Enablement | 是否允许调用 API | `403 accessNotConfigured` |
## 操作步骤
1. 进入 **Google Cloud Console****APIs & Services****Library**
2. 搜索目标 API如 Gmail API、Calendar API
3. 点击 **Enable** 启用
4. 等待生效(通常 30 秒 ~ 2 分钟,有延迟)
5. 重新执行 OAuth 授权(因旧 token 不包含新权限)
## 典型错误
> Gmail API has not been used in project XXX
表示:该 Google Cloud 项目未启用 Gmail API
## 相关概念
- [[OAuth]]:第一层认证
- [[Google-Cloud-Console]]:管理 API 启用的控制台
- [[Gmail-API]]Google Workspace API 示例
- [[Calendar-API]]:日历 API
- [[Drive-API]]:云端硬盘 API
- [[测试用户]]OAuth 授权配置
## 相关工具
- [[gog CLI]]:一个同时需要 OAuth + API Enablement 才能正常工作的 CLI 工具

View File

@@ -1,46 +1,62 @@
---
title: "Byox"
type: concept
tags: [build-your-own-x, learning, programming]
title: Byox - Build Your Own X
description: Learning programming by rebuilding technologies from scratch
tags: [learning, methodology, programming, open-source]
---
# Byox (Build Your Own X)
## Definition
ByoxBuild Your Own X是一种学习编程的方法论通过从零重建技术来深入理解其工作原理。核心理念是"What I cannot create, I do not understand"。
## Covered Topics
该方法覆盖22个技术领域
- 3D Renderer3D渲染器
- Augmented Reality增强现实
- BitTorrent ClientBitTorrent客户端
- Blockchain / Cryptocurrency区块链/加密货币)
- Bot机器人
- Command-Line Tool命令行工具
- Database数据库
- Docker容器
- Emulator / Virtual Machine虚拟机
- Front-end Framework前端框架
- Game游戏
- Git版本控制
- Network Stack网络协议栈
- Neural Network神经网络
- Operating System操作系统
- Physics Engine物理引擎
- Programming Language编程语言
- Regex Engine正则引擎
- Search Engine搜索引擎
- Shell终端
- Template Engine模板引擎
- Text Editor文本编辑器
- Visual Recognition System视觉识别系统
- Voxel Engine体素引擎
- Web Browser浏览器
- Web ServerWeb服务器
**Byox** (Build Your Own X) is a learning methodology that advocates for mastering programming and technology understanding by **rebuilding complex systems from scratch**. The guiding principle comes from physicist Richard Feynman:
## Learning Approach
- 多语言实现同一技术可用多种语言实现C++、Python、JavaScript、Go、Rust等
- 手把手教程step-by-step 形式的学习资源
- 原理优先:不使用现成库,从底层原理实现
> *"What I cannot create, I do not understand."*
## Related Concepts
- [[Vibe Coding]] — 与 Byox 对比Vibe Coding 是 AI 代写Byox 是自己手写
- [[深度工作]] — Byox 需要深度专注,符合深度工作的理念
## Core Philosophy
Instead of passively consuming knowledge about how a technology works, practitioners:
1. **Choose a technology** they want to understand deeply
2. **Study existing implementations** and documentation
3. **Rebuild it from scratch** using a chosen programming language
4. **Gain deep insight** into how it works internally
## Coverage
The Byox methodology covers **26 technology domains**:
- **Systems**: Operating System, Docker, Container
- **Languages**: Programming Language, Compiler, Interpreter, Regex Engine
- **Data**: Database, NoSQL, Key-Value Store
- **Web**: Web Browser, Web Server, Search Engine
- **Tools**: Git, Shell, Command-Line Tool, Text Editor, Template Engine
- **Graphics**: 3D Renderer, Voxel Engine, Physics Engine
- **AI/ML**: Neural Network, Visual Recognition
- **Networks**: Network Stack, BitTorrent Client
- **Entertainment**: Game, Emulator/Virtual Machine
- **Other**: Blockchain/Cryptocurrency, Augmented Reality, Bot
## Resources
Primary resource: [[codecrafters-io/build-your-own-x]] — A curated collection of 500+ step-by-step tutorials
Complementary platform: [[CodeCrafters]] — Interactive challenges that guide learners through building technologies step by step
## Notable Examples
| Technology | Language | Resource |
|------------|----------|----------|
| Database | C | [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) |
| OS | Rust | [Writing an OS in Rust](https://os.phil-opp.com/) |
| Programming Language | Multiple | [Crafting Interpreters](http://www.craftinginterpreters.com/) |
| Web Browser | Python | [Browser Engineering](https://browser.engineering/) |
| Git | Python | [Write yourself a Git](https://wyag.thb.lt/) |
| Docker | Go | [Build Your Own Container](https://www.infoq.com/articles/build-a-container-golang) |
## Why Byox Works
1. **Active Learning**: Building forces deep engagement
2. **Hidden Complexity**: Reveals implementation details textbooks skip
3. **Transferable Skills**: Generalizes to understanding other systems
4. **Portfolio Building**: Creates tangible proof of understanding
5. **Confidence**: Only truly knowing something if you can create it

View File

@@ -0,0 +1,38 @@
---
title: "Calendar API"
type: concept
tags: [google-workspace, api, calendar]
---
## Definition
Calendar API 是 Google 提供的编程接口,允许第三方应用程序通过 OAuth 2.0 认证访问 Google Calendar 日历服务,实现事件查询、创建、修改和删除等功能。
## Key Operations
| 操作 | 描述 |
|------|------|
| events.list | 列出日历事件 |
| events.get | 获取事件详情 |
| events.insert | 创建日历事件 |
| events.patch | 部分更新事件 |
| events.delete | 删除事件 |
| colors.get | 获取颜色配置 |
## Prerequisites for Access
1. **Google Cloud Console** 中启用 Calendar API
2. 配置 **OAuth 2.0 凭证**(桌面应用类型)
3. 用户完成 OAuth 授权流程
4. 添加**测试用户**(未验证应用场景)
## Common Error
- `403 accessNotConfigured`API 未启用
- `403 accessDenied`OAuth 未授权
## Related Concepts
- [[OAuth]]:认证机制
- [[Google-Cloud-Console]]:凭证配置
- [[测试用户]]:绕过未验证应用限制
- [[API-Enablement]]:启用 API 的操作
## Related Entities
- [[Google]]API 提供方
- [[gog CLI]]:使用 Calendar API 的命令行工具

View File

@@ -1,33 +1,139 @@
---
title: "Docker Image"
title: Docker Image
type: concept
tags: [docker, container, image]
sources: [docker-images-transfer-guide, 如何传输Docker-images-并且在另一个Docker安装]
last_updated: 2026-04-17
tags: [docker, container, virtualization]
last_updated: 2026-04-21
---
## Summary
Docker ImageDocker 镜像)是容器化平台的核心概念,是一个只读模板,包含应用程序及其运行时所需的全部依赖(代码、运行时、库、环境变量、配置文件等)。
# Docker Image
## Definition
用于创建 Docker 容器的只读模板,通过分层存储实现高效复用和传输。
## Key Attributes
- **格式**:分层文件系统
- **存储方式**:可导出为 tar 归档文件
- **复用机制**:分层存储,多个镜像可共享基础层
Docker Image镜像是一个轻量级、可执行的独立软件包包含运行某个软件所需的所有内容代码、运行时、系统工具、系统库和设置。镜像是 Docker 容器的基础模板。
## Use Cases
- 应用程序打包和分发
- 跨环境部署(开发、测试、生产
- 离线环境镜像迁移
## Key Characteristics
### 不可变性Immutable
- 镜像一旦创建就不能修改
- 对容器的修改只存在于容器层
- 新修改通过创建新镜像实现
### 分层结构Layered
- 由多个只读层组成
- 层可以复用,多个镜像共享基础层
- 节省存储空间和传输带宽
### 可堆叠性Stackable
- 基于已有镜像构建新镜像
- 使用 Dockerfile 描述构建过程
- 每条指令创建新层
## Image 结构
```
Dockerfile
Image = [Layer 3: Application Code]
[Layer 2: Dependencies]
[Layer 1: Base OS]
[Layer 0: BootFS]
```
## Common Operations
### 查看镜像
```bash
docker images
docker image ls
```
### 拉取镜像
```bash
docker pull nginx:latest
docker pull ubuntu:22.04
```
### 删除镜像
```bash
docker rmi nginx:latest
docker image prune -a # 删除所有未使用镜像
```
### 标签管理
```bash
docker tag nginx:latest myregistry/nginx:v1.0
```
## Image vs Container
| 特性 | Image | Container |
|------|-------|-----------|
| 状态 | 只读模板 | 可读写实例 |
| 生命周期 | 持久 | 临时 |
| 数量 | 可复用 | 可多实例 |
| 修改 | 不可变 | 写入容器层 |
## Image Transfer
Docker 镜像可以在不同主机之间传输,常见方法:
### docker save/load推荐
```bash
# 导出
docker save -o image.tar nginx:latest
# 导入
docker load < image.tar
```
### docker export/import
```bash
# 导出容器
docker export -o container.tar container_id
# 导入为镜像
docker import container.tar new_image:latest
```
### Registry云端
```bash
# 推送
docker push myregistry/image:tag
# 拉取
docker pull myregistry/image:tag
```
## Related Concepts
- [[Docker]]:容器化平台
- [[Docker-Save]]:镜像导出命令
- [[Docker-Load]]:镜像导入命令
## Connections
- [[Docker]] ← 包含 ← [[Docker-Image]]
- [[Docker-Image]] ← 可导出为 ← [[Docker-Save]]
- [[Docker-Image]] ← 可导入为 ← [[Docker-Load]]
- [[Docker-Save]]:镜像导出方法
- [[Docker-Load]]:镜像导入方法
- [[Docker-Container]]:镜像的运行实例
- [[Dockerfile]]:镜像构建文件
## Relationships
- [[Docker-Image]] ← 构建 ← [[Dockerfile]]
- [[Docker-Image]] ← 实例化 ← [[Docker-Container]]
- [[Docker-Image]] ← transferred_via ← [[Docker-Save]]
- [[Docker-Image]] ← transferred_via ← [[Docker-Load]]
## Related Entities
- [[entities/Docker.md]]
## Notes
- 镜像大小取决于基础系统和应用依赖
- 多架构镜像可通过 manifest list 支持不同平台
- 定期清理未使用镜像可释放存储空间

View File

@@ -1,42 +1,96 @@
---
title: "Docker Load"
title: Docker Load
type: concept
tags: [docker, image, import]
sources: [docker-images-transfer-guide, 如何传输Docker-images-并且在另一个Docker安装]
last_updated: 2026-04-17
tags: [docker, container, image-transfer]
last_updated: 2026-04-21
---
## Summary
Docker Load 是 Docker 命令行工具的导入命令,用于从 tar 归档文件还原 Docker 镜像。
# Docker Load
## Definition
从 tar 格式归档文件导入并还原 Docker 镜像的命令。
## Command Syntax
`docker load` 是 Docker CLI 命令,用于从 tar 归档文件加载镜像到本地 Docker 镜像存储。与 `docker save` 配合使用,实现镜像的离线迁移。
## Syntax
```bash
docker load < <input_file.tar>
# 或
docker load -i <input_file.tar>
docker load [OPTIONS]
```
## Examples
### Options
| Option | Description |
|--------|-------------|
| `-i, --input` | 指定输入的 tar 文件(默认从 stdin 读取) |
| `-q, --quiet` | 静默模式,减少输出 |
## Usage Examples
### 基本用法
```bash
# 从 tar 文件导入镜像
# 从文件加载
docker load < nginx.tar
# 指定文件
docker load -i images.tar
# 静默模式
docker load -i images.tar -q
```
### 典型工作流:从开发机接收镜像到 NAS
```bash
# 在开发机上
docker save -o xiaoya.tar xiaoyaliu/alist:latest
# 将 xiaoya.tar 复制到 NAS
scp xiaoya.tar nas:/volume1/docker/images/
# 在 NAS 上加载
docker load < xiaoya.tar
# 使用 -i 参数
docker load -i xiaoya.tar
# 验证
docker images | grep xiaoya
```
## Use Cases
- 离线环境镜像导入
- 镜像备份恢复
- 跨主机镜像迁移
### 使用 SSH 管道直接传输
```bash
# 在目标机器上执行(镜像从远程机器流式传输)
ssh user@source-host 'docker save nginx:latest' | docker load
```
## Related Concepts
- [[Docker-Image]]:被导入的镜像对象
- [[Docker-Save]]:对应的导出命令
## Connections
- [[Docker-Save]]:对应的导出命令
- [[Docker-Image]]:被导入的目标
- [[Docker-TAR-Archive]]:输入的归档文件格式
## Relationships
- [[Docker-Image]] ← 导入为 ← [[Docker-Load]]
- [[Docker-Load]] ← 依赖 ← [[Docker-Save]]
## Key Points
1. **完整还原**:从 tar 文件完整恢复镜像,包括所有层和元数据
2. **自动识别**:自动识别 tar 文件中的镜像名称和标签
3. **可重复导入**:同一镜像可多次导入(会创建重复条目,需配合 `docker rmi`
4. **ID 匹配**:如果镜像 ID 已存在,会分配新的 ID
## Comparison with Alternatives
| 特性 | docker load | docker import |
|------|-------------|---------------|
| 数据源 | docker save 输出 | docker export 输出 |
| 内容 | 完整镜像(含层) | 容器文件系统快照 |
| 元数据 | 完整保留 | 不保留 |
| 适用场景 | 镜像迁移 | 容器基础创建 |
## Notes
- 导入后的镜像默认标签可能为 `<none>:<none>`,需要手动 tag
- 使用 `docker tag` 命令为导入的镜像设置标签
- 大镜像加载可能需要较长时间,显示进度条

View File

@@ -1,39 +1,76 @@
---
title: "Docker Save"
title: Docker Save
type: concept
tags: [docker, image, export]
sources: [docker-images-transfer-guide, 如何传输Docker-images-并且在另一个Docker安装]
last_updated: 2026-04-17
tags: [docker, container, image-transfer]
last_updated: 2026-04-21
---
## Summary
Docker Save 是 Docker 命令行工具的导出命令,用于将一个或多个镜像打包成 tar 归档文件,便于离线传输和备份。
# Docker Save
## Definition
将 Docker 镜像导出为 tar 格式归档文件的命令。
## Command Syntax
`docker save` 是 Docker CLI 命令,用于将一个或多个镜像导出为 tar 归档文件(`.tar`),实现镜像的离线存储和传输。
## Syntax
```bash
docker save -o <output_file.tar> <image_name>[:<tag>]
docker save [OPTIONS] IMAGE [IMAGE...]
```
## Examples
### Options
| Option | Description |
|--------|-------------|
| `-o, --output` | 指定输出文件名(默认输出到 stdout |
## Usage Examples
### 基本用法
```bash
# 导出单个镜像
docker save -o xiaoya.tar xiaoyaliu/alist
docker save -o nginx.tar nginx:latest
# 导出多个镜像
docker save -o images.tar image1:image2
docker save -o images.tar nginx:latest redis:alpine postgres:15
# 使用管道传输
docker save nginx:latest | ssh user@remote-host 'docker load'
```
## Use Cases
- 离线环境镜像迁移
- 镜像备份和归档
- 跨网络隔离环境传输
### 典型工作流:将镜像从开发机传输到 NAS
```bash
# 在开发机上
docker save -o xiaoya.tar xiaoyaliu/alist:latest
# 将 xiaoya.tar 复制到 NAS通过 SMB/SCP
scp xiaoya.tar nas:/volume1/docker/images/
# 在 NAS 上
docker load < xiaoya.tar
```
## Related Concepts
- [[Docker-Image]]:被导出的镜像对象
- [[Docker-Load]]:对应的导入命令
## Connections
- [[Docker-Load]]:对应的导入命令
- [[Docker-Image]]:被导出的对象
- [[Docker-TAR-Archive]]:生成的归档文件格式
## Relationships
- [[Docker-Image]] ← 导出为 ← [[Docker-Save]]
- [[Docker-Save]] → 输出 → [[Docker-TAR-Archive]]
## Key Points
1. **保留镜像层**:完整保留镜像的分层结构
2. **保留元数据**:包括 CMD、ENTRYPOINT、ENV、LABEL 等
3. **可移植性**:生成的 tar 文件可在任何 Docker 环境中导入
4. **适用场景**:离线环境迁移、备份、镜像分发
## Notes
- 文件大小可能较大(包含所有镜像层)
- 多次 save 同一镜像会重复包含所有层
- 可配合 `docker load` 实现完整的镜像迁移闭环

View File

@@ -0,0 +1,37 @@
# Docker TAR Archive
## Definition
Docker TAR Archive (`.tar`) 是 Docker 镜像的离线分发格式,通过 `docker save` 命令将镜像及其所有层打包成单个 TAR 文件。
## Source References
- [[sources/如何传输Docker-images-并且在另一个Docker安装.md]]
## Related Concepts
- [[concepts/Docker-Image.md]] — TAR 文件中包含的 Docker 镜像
## Usage
### 打包镜像
```bash
docker save -o <output.tar> <image_name>:<tag>
```
### 导入镜像
```bash
docker load < <input.tar>
```
## 适用场景
- **离线环境**:无法访问 Docker Hub 的私有网络
- **跨设备迁移**:在不同 Docker 环境之间传输镜像
- **备份恢复**:保存镜像的离线副本
## 标签
#docker #offline #migration

View File

@@ -0,0 +1,38 @@
---
title: "Drive API"
type: concept
tags: [google-workspace, api, cloud-storage]
---
## Definition
Drive API 是 Google 提供的编程接口,允许第三方应用程序通过 OAuth 2.0 认证访问 Google Drive 云端硬盘服务,实现文件搜索、下载、上传和管理等功能。
## Key Operations
| 操作 | 描述 |
|------|------|
| files.list | 列出文件 |
| files.get | 获取文件元数据 |
| files.create | 上传文件 |
| files.update | 更新文件 |
| files.delete | 删除文件 |
| drive.search | 搜索文件 |
## Prerequisites for Access
1. **Google Cloud Console** 中启用 Drive API
2. 配置 **OAuth 2.0 凭证**(桌面应用类型)
3. 用户完成 OAuth 授权流程
4. 添加**测试用户**(未验证应用场景)
## Common Error
- `403 accessNotConfigured`API 未启用
- `403 accessDenied`OAuth 未授权
## Related Concepts
- [[OAuth]]:认证机制
- [[Google-Cloud-Console]]:凭证配置
- [[测试用户]]:绕过未验证应用限制
- [[API-Enablement]]:启用 API 的操作
## Related Entities
- [[Google]]API 提供方
- [[gog CLI]]:使用 Drive API 的命令行工具

View File

@@ -0,0 +1,26 @@
---
title: "Event Sourcing"
type: concept
tags: [architecture, event-driven, state-management]
---
## Summary
Event Sourcing事件溯源是一种软件架构模式通过存储所有状态变更事件而非仅存储当前状态来重建系统历史。
## Definition
事件溯源将应用状态的所有变更存储为一系列不可变的事件对象。通过重放这些事件,可以重建任意时间点的系统状态。
## Key Principles
- **事件即事实**:状态变更以事件形式持久化,而非覆盖最终状态
- **完整审计日志**:天然具备完整的审计追踪能力
- **时间旅行调试**:可以重放事件序列重现历史状态
- **解耦读写**:写操作存储事件,读操作通过事件投影计算状态
## Relationship to Project State Management
Project State Management 系统将 Event Sourcing 模式应用于项目管理:
- 每个项目事件progress、blocker、decision、pivot作为不可变事件存储
- 项目当前状态通过事件投影计算
- 决策上下文通过查询事件历史恢复
## External Links
- [Event Sourcing Pattern - Martin Fowler](https://martinfowler.com/eaaDev/EventSourcing.html)

View File

@@ -0,0 +1,27 @@
---
title: "Git 集成"
type: concept
tags: [git, automation, project-management]
---
## Summary
Git 集成是指将代码提交自动关联到项目事件和任务的机制。
## Definition
通过扫描 Git 提交历史,基于分支名称或提交信息自动将代码变更关联到对应项目,实现代码变更与项目进度的可追溯性。
## Key Capabilities
- **自动提交扫描**:定期扫描 Git 提交日志
- **项目关联**:基于分支名或提交消息关联到项目
- **变更追踪**:记录代码变更与项目事件的对应关系
- **可追溯性**:支持从代码变更追溯到业务决策
## Implementation
Project State Management 系统通过 GitHub CLI (gh) 实现:
```bash
gh run list --limit 50 --since "24 hours ago"
gh api repos/{owner}/{repo}/commits
```
## Relationship to Project State Management
Git 集成是 Project State Management 的核心功能之一,通过代码变更与项目事件的双向关联实现端到端可追溯性。

View File

@@ -0,0 +1,38 @@
---
title: "Gmail API"
type: concept
tags: [google-workspace, api, email]
---
## Definition
Gmail API 是 Google 提供的编程接口,允许第三方应用程序通过 OAuth 2.0 认证访问 Gmail 邮件服务,实现搜索、读取、发送、管理邮件等功能。
## Key Operations
| 操作 | 描述 |
|------|------|
| messages.list | 列出邮件列表 |
| messages.get | 获取邮件详情 |
| messages.send | 发送邮件 |
| messages.modify | 修改邮件标签 |
| drafts.create | 创建草稿 |
| drafts.send | 发送草稿 |
## Prerequisites for Access
1. **Google Cloud Console** 中启用 Gmail API
2. 配置 **OAuth 2.0 凭证**(桌面应用类型)
3. 用户完成 OAuth 授权流程
4. 添加**测试用户**(未验证应用场景)
## Common Error
- `403 accessNotConfigured`API 未在 Google Cloud Console 中启用
- `403 accessDenied`:用户未完成 OAuth 授权
## Related Concepts
- [[OAuth]]:认证机制
- [[Google-Cloud-Console]]:凭证配置
- [[测试用户]]:绕过未验证应用限制
- [[API-Enablement]]:启用 API 的操作
## Related Entities
- [[Google]]API 提供方
- [[gog CLI]]:使用 Gmail API 的命令行工具

View File

@@ -0,0 +1,28 @@
---
title: "每日站会摘要"
type: concept
tags: [project-management, automation, standup]
---
## Summary
每日站会摘要是由 AI Agent 自动生成的每日项目进展报告,基于项目事件和 Git 提交记录。
## Definition
传统站会需要手动汇报AI 驱动的每日站会摘要系统自动从项目状态数据库和 Git 提交日志中提取信息,生成结构化报告。
## Key Components
- **昨日进展**:从事件日志中提取完成的任务
- **今日计划**:基于当前阶段和近期对话
- **当前阻碍**:列出所有 open 状态的阻碍项
- **Git 提交摘要**:过去 24 小时的代码提交记录
## Automation Trigger
通过 Cron Jobs 在每日固定时间自动执行:
1. 扫描过去 24 小时的 Git 提交
2. 关联提交到对应项目
3. 查询事件日志获取进展
4. 查询阻碍项状态
5. 生成并发送摘要到协作频道
## Relationship to Project State Management
每日站会是 Project State Management 系统的重要输出,通过保留事件历史和 Git 集成实现自动化。

View File

@@ -0,0 +1,41 @@
---
title: "测试用户"
type: concept
tags: [google-oauth, security, testing]
---
## Definition
测试用户Test User是 Google OAuth 中允许未经验证unverified应用进行测试的 Google 账号。通过在 Google Cloud Console 的 OAuth 客户端配置中添加测试用户,可以绕过"此应用未经 Google 验证"的安全限制。
## 问题背景
首次授权未验证应用时Google 会显示:
> 此应用未经 Google 验证
> 此应用请求访问您 Google 账号中的敏感信息。在开发者让该应用通过 Google 验证之前,请勿使用该应用。
## 添加测试用户步骤
1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials)
2. 找到目标 OAuth 客户端 ID点击进入详情
3. 找到 **「目标对象」** → **「测试用户」** 部分
4. 点击 **「添加用户」**
5. 输入测试用 Google 邮箱地址
6. 保存
## 限制
- 仅限添加的测试用户可授权
- 仅用于开发/测试用途
- 生产环境需通过 Google 验证流程
## 典型应用场景
- **gog CLI** 配置:首次配置时需要添加测试用户才能完成 OAuth 授权
- 其他第三方 Google Workspace CLI 工具
## 相关概念
- [[OAuth]]:开放授权协议
- [[Google-Cloud-Console]]:管理测试用户的控制台
- [[API-Enablement]]:另一层授权配置
## 相关实体
- [[Google]]OAuth 服务提供方
- [[gog CLI]]:需要测试用户配置的 CLI 工具

View File

@@ -1,28 +1,114 @@
---
title: "防彈筆記法"
type: concept
tags: [knowledge-management, pkm, output-driven]
---
# 防彈筆記法
## Definition
任务导向的笔记方法,强调为输出而设计,让每张笔记都能回答"下一步是什么"。
防彈筆記法Bullet-proof Notes是一種任務導向的個人知識管理系統由電腦玩物 esor 提出。其核心理念是:**每個任務一則筆記SSOT**,把目標、行動、決策、依據、變更都寫回同一張筆記。
## Core Principles
- **任务导向**每个任务一则笔记SSOT
- **动态演化**:笔记随任务推进持续更新
- **简单精准**:把目标、行动、决策、依据、变更都写回同一张
## 5-Layer Structure从杂到精
1. **任務導向** — 筆記是為了產出,不是為了收藏
2. **動態演化** — 筆記隨任務推進持續更新
3. **簡單精準** — 用最少的結構承載最大的價值
4. **SSOTSingle Source of Truth** — 每個任務的完整資訊在一張筆記
1. **收件匣**:先丟进来,不分类;每日或隔日批次清空
2. **暂时笔记**:把素材改写成"问题/关键资讯/下一步"
3. **专案目标笔记**:一个任务一则,聚焦目标、下一步、决策记录
4. **资源/经验笔记**:将踩雷与做法沉淀成可重用清单
5. **永久任务笔记SOP**:把重复流程标准化
## System Architecture
## Success Criteria
- 打开任务笔记就知道现在要做哪一步
- 周检视只需翻看"那些任务笔记",不用重找来源
### 5-Layer Structure
## Source
- 本文作为 [[AI-简报工作流]] 的示例主题出现
```
┌─────────────────────────────────────────────┐
│ Layer 5: 永久任務筆記SOP
│ → 把重複流程標準化 │
├─────────────────────────────────────────────┤
│ Layer 4: 資源/經驗筆記 │
│ → 將過程踩雷與做法沉澱成可重用清單 │
├─────────────────────────────────────────────┤
│ Layer 3: 專案目標筆記(任務一則) │
│ → 聚焦目標、下一步、決策紀錄 │
├─────────────────────────────────────────────┤
│ Layer 2: 暫時筆記 │
│ → 把素材改寫成「問題/關鍵資訊/下一步」 │
├─────────────────────────────────────────────┤
│ Layer 1: 收件匣 │
│ → 先丟進來,不分類;每日或隔日批次清空 │
└─────────────────────────────────────────────┘
```
## Task Note Template
### Header
- 任務名稱(動詞開頭)
- 完成條件(可驗收)
- 截止日
### Body (3 Columns)
| 欄位 | 內容 |
|------|------|
| 決策紀錄 | [YYYY-MM-DD] 結論+依據連結 |
| 下一步×3 | 動詞產出OwnerDeadline |
| 參考片段 | 只留「可直接引用的 3 點」 |
### Footer
- 變更/風險:本週狀況、阻礙與備案(各 12 行)
- 復盤區:本次做法摘要、成效與失誤、下次改進
## Key Practices
### 收集:輸出導向的收法
- 每個高亮配**「我怎麼用」1 句**
- 每篇文章只留下可用片段×3
- 作業節奏:看到就「一鍵收件匣」→每日或隔日批次清空
### 會議記錄:只保留「會帶來動作」的東西
- 決策表:議題|結論|依據連結|備案
- 行動表ActionOwner驗收標準Deadline所屬專案連結
- 24 小時分流規則:行動嵌回各自專案筆記
### 復盤:把「心得」改寫成「下一次會做的事」
- 本次做法摘要≤3 句)
- 成效&失誤(各 12 點)
- 下次改進×13動詞驗收條件
- 可複用規則1 句)
## Success Metrics
| 指標 | 目標 |
|------|------|
| 找資料時間 | 逐步減少 |
| 下一步明確率 | 每個任務都有「下一步×1」 |
| 會議落地率 | 7 天內完成比例 > 70% |
| 行動卡 24h 歸位率 | > 90% |
## 7-Day Action Plan
| Day | 任務 |
|-----|------|
| D1-D2 | 選 3 個進行中的任務 → 各建任務筆記 |
| D3-D4 | 把最近的 1 場會議,改用「決策表+行動表」並在 24h 分流 |
| D5 | 清空收件匣,為 3 篇文章各寫「可用片段×3我怎麼用」 |
| D6 | 每日 3 分鐘微復盤,週末 20 分鐘沉澱 1 份 SOP |
| D7 | 檢視三個數字:找資料時間、下一步明確率、會議落地率 |
## Tools & AI Integration
防彈筆記法可用任何工具實現:
- Notion
- Google 文件
- Obsidian
- Evernote
### AI 三招
1. 把零散片段改寫成「下一步×3」
2. 把會議討論萃成決策表+行動表
3. 把經驗重構成 SOP/模板並附上原連結
## Related Concepts
- [[知識管理]] — 筆記法的上位概念
- [[AI-簡報流程]] — 結合防彈筆記製作簡報
- [[任務管理]] — 任務追蹤與執行
## References
- [[jiao-xue-chatgpt-xian-zuo-zhi-shi-zheng-li-zai-rang-canva-gamma-ai-shu-chu-jian-bao|教學ChatGPT 先做知識整理,再讓 Canva、 Gamma AI 輸出簡報]] — 防彈筆記法作為案例貫穿全文