Auto-sync: 2026-04-22 19:20

This commit is contained in:
2026-04-22 19:20:32 +08:00
parent 72f3673978
commit 772cbf2051
85 changed files with 2919 additions and 53 deletions

View File

@@ -0,0 +1,53 @@
---
title: "Agent-Build-Gate"
type: concept
tags: []
last_updated: 2026-04-22
---
## Overview
Agent 执行构建任务前的条件检查机制——只有通过门控条件的 Agent 才允许进入实际代码编写阶段。通过在 Agent 的 instructions 中嵌入 pre-gate 规则实现自动化门控,是 [[Pre-Build Validation]] 的技术实现机制。
## Implementation Pattern
在 [[OpenClaw]] Agent 的 instructions 中嵌入规则:
```text
Before starting any new project, feature, or tool, always run idea_check first.
Rules:
- If reality_signal > 70: STOP. Report top 3 competitors.
Ask me if I want to proceed, pivot, or abandon.
- If reality_signal 30-70: Show me results and pivot_hints.
Suggest a niche angle that existing projects don't cover.
- If reality_signal < 30: Proceed to build.
Mention that the space is open.
- Always show the reality_signal score and top competitors before writing any code.
```
## How It Works
1. 用户向 Agent 发送构建指令(如"build me a CLI tool for AI code review"
2. Agent 自动调用 `idea_check()` 工具(而非立即开始写代码)
3. 获取 `reality_signal` 和竞品信息
4. 根据阈值执行对应规则STOP / 展示建议 / 直接构建)
5. 只有在 `reality_signal < 30` 或用户明确授权的情况下Agent 才进入代码编写阶段
## Relationship to Related Concepts
- [[Pre-Build Validation]] ← Agent-Build-Gate 是其技术实现
- [[idea-reality-mcp]] ← 提供 `idea_check()` 工具
- [[Reality-Signal]] ← Gate 的判断依据
- [[Pivot-Strategy]] ← Gate 触发 STOP 时的后续建议
- [[OpenClaw]] ← 当前唯一支持此模式的 Agent 框架
## Advantages over Manual Gate
- **自动化**无需人工触发Agent 自动执行检查
- **强制化**Agent 指令层面嵌入,无法绕过(除非修改 instructions
- **上下文保持**:检查结果和 Agent 对话上下文共存,无需额外工具切换
- **持续生效**:每次新的构建指令都会自动触发,无需重复提醒
## Related
- [[Pre-Build Validation]]
- [[idea-reality-mcp]]
- [[Reality-Signal]]
- [[Pivot-Strategy]]
- [[OpenClaw]]
- [[Competition-Analysis]]

View File

@@ -0,0 +1,38 @@
---
title: "Agent-Driven Market Research"
type: concept
tags: [market-research, agentic-ai, automation]
sources: [market-research-product-factory]
last_updated: 2026-04-22
---
## Definition
Agent-Driven Market ResearchAgent 驱动的市场调研)是指利用 AI Agent 自动采集、整理和分析市场信息的方法,替代传统人工搜索、浏览和归纳的市场调研模式。
## Core Mechanism
- **自动化数据采集**AI Agent 主动从 Reddit、X、论坛等平台抓取用户讨论
- **结构化信息提取**:从非结构化文本中提取痛点、功能请求、竞品评价等关键信息
- **趋势分析**按时间窗口近7天/30天/90天聚合分析识别新兴趋势
- **多源交叉验证**:综合多个来源确保洞察的可靠性和代表性
## Contrast with Traditional Methods
| 维度 | 传统市场调研 | Agent-Driven Market Research |
|------|-------------|----------------------------|
| 数据来源 | 问卷/访谈/一手报告 | Reddit/X/论坛/评论 |
| 数据真实性 | 经过受访者过滤和美化的二手信息 | 用户原生表达,未加工的真实情绪 |
| 时效性 | 调研周期长,数据可能滞后 | 近实时采集,可聚焦特定时间窗口 |
| 成本 | 专业调研公司费用高 | AI Agent 自动化,成本极低 |
| 规模 | 样本量受限 | 可覆盖数十万条讨论帖子 |
## Relationship to Other Concepts
- [[Agent-Driven Market Research]] → 输出 → [[Pain Point Mining]] → 支撑 → [[Startup MVP Pipeline]]
- [[Agentic AI]] → 技术基础 → [[Agent-Driven Market Research]]
- [[Last 30 Days Method]] → 工具方法 → [[Agent-Driven Market Research]]
## Sources
- [[market-research-product-factory]]

View File

@@ -0,0 +1,44 @@
---
title: "Agent Personality"
type: concept
tags: [OpenClaw, Agent, Design, UX]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Agent Personality** 是给 AI Agent 赋予独特的名字、性格设定和沟通风格的设计实践,使其与用户协作时更加自然,而非像一个通用 AI 工具。
## 核心洞察
> "Personality matters more than you'd think: Giving agents distinct names and communication styles makes it natural to 'talk to your team' rather than wrestle with a generic AI"
赋予 Agent 个性比想象中更重要:
- **降低协作摩擦**:用户自然地"与团队对话",而非使用工具
- **明确的职责边界**:名字和人格暗示了 Agent 的专长
- **增强信任感**:有个性的 Agent 更容易建立情感连接
## 设计要素
- **Name名字**:简短、独特,如 Milo、Josh、Dev
- **性格描述**:用叙事性语言定义 Agent 的行事风格
- Milo: "Confident, big-picture, charismatic"(策略领导型)
- Josh: "Pragmatic, straight to the point, numbers-driven"(商业分析型)
- Dev: "Precise, thorough, security-conscious"(开发严谨型)
- **沟通风格**:决定 Agent 如何呈现信息和建议
## 与 Agent Specialization 的关系
Agent Personality 配合 Agent Specialization 共同作用:
- **Personality** 解决"如何沟通"的问题
- **Specialization** 解决"做什么任务"的问题
- 两者结合让 Agent 更像一个真实的团队成员
## Related Concepts
- [[Agent Specialization]] — Agent 的专业分工
- [[OpenClaw]] — SOUL.md 是 Agent Personality 的配置文件
- [[Agent-Memory]] — 个性配合长期记忆增强 Agent 连续性
- [[Chained Agents]] — 链式 Agent 中的角色设计

View File

@@ -0,0 +1,55 @@
---
title: "Agent Specialization"
type: concept
tags: [OpenClaw, Agent, Architecture, Team]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Agent Specialization** 是多 Agent 系统中,每个 Agent 拥有独立角色、专长领域和针对性优化的模型,通过协作完成复杂任务的架构设计原则。
## 核心洞察
> "One agent can't do everything well: A single agent's context window fills up fast when juggling strategy, code, marketing research, and business analysis"
核心问题:
- **上下文窗口瓶颈**:单个 Agent 同时处理多领域任务时上下文快速填满
- **泛化输出的局限**:通用提示产生通用输出,专业任务需要专业 Agent
- **效率不均衡**:不同任务需要的模型能力不同,混用造成资源浪费
## 专业化 Agent 示例
| Agent | 角色 | 模型选择 | 核心职责 |
|-------|------|----------|----------|
| Milo | 策略领导 | Claude Opus | 战略规划、OKR 追踪、Agent 协调 |
| Josh | 商业分析 | Claude Sonnet | 定价策略、KPI 追踪、竞品分析 |
| Marketing | 营销研究 | Gemini | 内容创意、SEO 研究、社媒监控 |
| Dev | 开发工程 | Claude Opus/Codex | 代码审查、架构决策、文档撰写 |
## 模型匹配原则
> "Right model for the right job: Don't use an expensive reasoning model for keyword monitoring"
- **复杂推理任务**Claude Opus深度思考、架构设计
- **分析性任务**Claude Sonnet快速分析、数据处理
- **研究性任务**Gemini长上下文、网页研究
- **执行性任务**Codex代码生成、工具调用
## 起步策略
> "Start with 2, not 4: Begin with a lead + one specialist, then add agents as you identify bottlenecks"
从最小可行团队开始:
1. **1 个领导 Agent**:总协调、决策、汇总
2. **1 个专家 Agent**:根据当前最大瓶颈选择
3. **逐步扩展**:瓶颈出现时添加新 Agent
## Related Concepts
- [[Agent Personality]] — Agent 个性化与专业化相辅相成
- [[Multi-Agent Coordination]] — 多 Agent 协调机制
- [[Parallel Agent Execution]] — 并行执行提升效率
- [[Chained Agents]] — 链式 Agent另一种协作模式

View File

@@ -0,0 +1,29 @@
---
title: "AI-Powered Digest"
type: concept
tags: []
last_updated: 2026-04-22
---
## Definition
AI-Powered DigestAI 驱动的自动化摘要)是一种由 AI Agent 主导的信息获取-整理-格式化-投递模式。核心特征:定时/事件触发 → 自动抓取原始数据 → AI 理解与结构化 → 投递到即时通讯工具 → 用户无需主动搜索。
## Pattern Components
1. **Trigger**定时Cron Job或事件驱动
2. **Collection**:通过 API/Web 搜索/爬虫获取原始数据
3. **Processing**AI 理解内容,提取关键信息
4. **Formatting**结构化摘要分类、排序、highlight
5. **Delivery**:推送至 Telegram/Slack/Email 等即时渠道
## Variants in the Wiki
| 场景 | 来源 | Trigger | 内容源 |
|------|------|---------|--------|
| 财报追踪 | [[earnings-tracker]] | Cron Job周日扫描+财报发布后触发) | 财报日历+搜索结果 |
| YouTube 摘要 | [[daily-youtube-digest]] | Cron Job频道更新检测 | 视频转录+摘要 |
| 晨报 | [[self-healing-home-server]] | Cron Job每日 8AM | 天气/日历/系统状态 |
## Related Concepts
- [[Cron Job]] — 定时触发的技术基础
- [[Telegram Topic]] — 投递渠道
- [[Daily-Digest]] — Digest 模式在 YouTube 场景的具体化
- [[Earnings Calendar]] — Digest 模式的金融场景应用

View File

@@ -0,0 +1,37 @@
---
title: "Automated Health Logging"
type: concept
tags: []
sources: []
last_updated: 2026-04-22
---
# Automated Health Logging
利用 AI 自动解析自然语言输入并写入结构化健康数据日志的实践方法。
## Definition
通过自然语言接口(消息、语音、文本)收集健康数据,由 AI 自动解析提取关键实体(食物、症状、药物等)并写入结构化日志文件,减少人工录入负担。
## Key Components
1. **自然语言输入**:用户以日常语言描述,无需记忆特定格式
2. **AI 解析引擎**:提取食物名称、数量、时间、症状描述等关键信息
3. **结构化存储**:写入 Markdown/JSON 等可读且易处理的日志文件
4. **定时提醒**Cron Job 驱动的一日多次提醒,确保数据完整性
## Comparison with Manual Logging
| 维度 | 手动记录 | 自动化日志 |
|------|---------|-----------|
| 门槛 | 需要记忆格式 | 任意自然语言 |
| 一致性 | 易遗漏 | 提醒驱动 |
| 可分析性 | 依赖用户格式化 | AI 标准化 |
| 维护成本 | 高 | 低 |
## Implementation
- [[health-symptom-tracker]]Telegram topic → OpenClaw Agent → Markdown 日志文件
- [[habit-tracker-accountability-coach]]:类似的自动化记录模式
## Connections
- [[Food Sensitivity Tracking]] ← enabled_by ← [[Automated Health Logging]]
- [[OpenClaw]] ← powers ← [[Automated Health Logging]]

View File

@@ -0,0 +1,32 @@
---
title: "CEO Pattern"
type: concept
tags: [multi-agent, architecture, orchestration]
sources: [autonomous-project-management]
last_updated: 2026-04-22
---
## 定义
主 Agent 仅负责策略决策strategy only所有执行操作下沉至子 Agent 的极简主控模式。其名称来源于"CEO 只做战略,不管执行"的企业管理隐喻。
## 核心原则
- **主会话越薄越好**0-2 步工具调用,响应速度与主会话的"薄度"成正比
- **只做决策**:任务分配、优先级调整、结果汇总
- **不做事**:不直接执行工具调用,不处理具体业务逻辑
- **所有执行下沉**:子 Agent 自主工作,主会话只负责协调
## 关键洞察
> "The less the main agent does, the faster it responds."
主会话的功能越少,其响应速度越快——这是去中心化协调架构的性能保障。
## 实现方式
通过 [[PM Delegation Pattern]],每个子 Agent 被赋予特定范围的任务,独立完成,主会话不干预具体执行过程。
## 与传统 Orchestrator 模式的区别
| 维度 | Orchestrator 模式 | CEO 模式 |
|------|-------------------|---------|
| 主 Agent 角色 | 交通指挥员(所有调用必经) | CEO仅决策 |
| 并行能力 | 受限(中心瓶颈) | 强(完全并行) |
| 响应速度 | 随任务数线性下降 | 稳定(子 Agent 异步执行) |
| 扩展性 | O(n) 瓶颈 | O(1) 主会话成本 |

View File

@@ -0,0 +1,54 @@
---
title: "Competition-Analysis"
type: concept
tags: []
last_updated: 2026-04-22
---
## Overview
在项目启动前通过多平台GitHub/npm/PyPI/Hacker News/Product Hunt扫描竞品的存在性、成熟度和市场关注度的分析过程。是 [[Pre-Build Validation]] 的核心组成部分,帮助 AI Agent 和创业者判断赛道的真实竞争状态。
## 5 Data Sources
| 平台 | 评估维度 | 代表性指标 |
|---|---|---|
| GitHub | 仓库数量、Star 总数、贡献者活跃度 | Top 竞品 star counts |
| npm | Node.js 包数量、下载量趋势 | 包生态成熟度 |
| PyPI | Python 包数量、pip 安装量 | Python 领域成熟度 |
| Hacker News | 讨论帖数量、帖子分数 | 技术社区关注度 |
| Product Hunt | 早期产品数量、Upvote 数 | 市场需求验证 |
## Process
1. 输入:项目想法描述
2. 扫描5 个平台并行查询
3. 聚合:综合评分([[Reality-Signal]]
4. 输出:竞品列表 + 评分 + 转向建议
## Output Example
```
reality_signal: 90/100 (very high)
Top competitors:
1. Gitea — 53,940 stars
2. reviewdog — 9,104 stars
3. Danger (Ruby) — 5,649 stars
This space has 143,000+ related repos.
Pivot suggestions:
- Focus on a specific language (Rust/Go-only)
- Target a specific framework (React/Vue component review)
- Target a specific industry (financial/medical compliance)
```
## Relationship to Related Concepts
- [[Pre-Build Validation]] ← 核心组成部分
- [[Reality-Signal]] ← 输出指标
- [[Pivot-Strategy]] ← 拥挤赛道的后续行动
- [[idea-reality-mcp]] ← 技术实现工具
## Related
- [[Pre-Build Validation]]
- [[Reality-Signal]]
- [[Pivot-Strategy]]
- [[idea-reality-mcp]]
- [[Startup MVP Pipeline]]

View File

@@ -64,5 +64,5 @@ Cloudflare 是全球知名的 CDN 和 DNS 服务提供商,提供免费的 DNS
- [[Cloudflare]] — DNS 托管服务商
- [[RackNerd]] — VPS 公网 IPDNS A 记录指向)
- [[Caddy]] — 自动 HTTPS + 反向代理
- [[FRP]] — 内网穿透隧道
- [[frp]] — 内网穿透隧道
- [[阿里云 DNS]] — 国内 DNS 替代方案

View File

@@ -0,0 +1,42 @@
---
title: "Defense-in-Depth"
type: concept
tags: [security, devsecops, ai-agents, risk-management]
date: 2026-04-22
---
## Definition
Defense-in-Depth纵深防御是一种信息安全策略通过叠加多层独立的安全控制措施确保任何单一安全措施的失效不会导致系统完全沦陷。每层防线相互补足即使攻击者突破一层仍面临其他层的阻挡。
## In AI Agent Security Context
在 [[self-healing-home-server]] 中,纵深防御针对 AI Agent 的特殊风险构建(特别是 [[OpenClaw]] 的 [[TruffleHog]] 第1天 API Key 泄露教训):
### 多层防御架构
```
Layer 1: Pre-push hooks (TruffleHog)
↓ 阻止内嵌 secrets 的 commit
Layer 2: Local-first Git (私有 Gitea)
↓ 所有代码先到私有仓库
Layer 3: CI Scanning Pipeline
↓ TruffleHog + 依赖漏洞扫描
Layer 4: Human Review
↓ 必须人工审核 main 分支
Layer 5: 1Password AI Vault
↓ Agent 只能读取专用 vault 中的凭证
Layer 6: Network Segmentation
↓ 敏感服务网络隔离
Layer 7: Daily Security Audit
↓ 每日自动检查特权容器/过度权限
```
## Key Principle
> "Never trust a single security control." — 纵深防御的核心哲学
AI Agent 的风险在于它们**缺乏人类的"常识性危险感知"**——Agent 会在代码中直接写入 API Key而不产生"直觉性警告"。因此,安全防线必须设计为即使 Agent 无意识地绕过一层,仍有多层阻止最终损害。
## Connections
- [[TruffleHog]] — 第1层防线pre-push secrets 检测
- [[Local-first Git]] — 第2-3层防线私有仓库 + CI 扫描
- [[1Password]] — 第5层防线凭证安全管理
- [[OpenClaw]] — 需要纵深防御保护的 Agent 平台
- [[Agentic AI]] — 纵深防御是对 AI Agent 固有风险的主动应对

View File

@@ -0,0 +1,28 @@
---
title: "Earnings Beat/Miss"
type: concept
tags: []
last_updated: 2026-04-22
---
## Definition
Earnings Beat/Miss 是衡量公司实际财报表现与分析师预期之间差距的指标。Beat超预期指实际 EPS/营收等指标高于预期Miss低于预期则相反。是 AI 格式化财报摘要中的核心判断输出。
## Aliases
- Beat/Miss
- Earnings Surprise
- 财报超预期 / 财报低于预期
## Key Metrics
- **EPS**Earnings Per Share每股收益
- **Revenue**(营收):季度/年度总收入
- **AI Highlights**AI 相关业务亮点
- **Guidance**(指引):管理层对未来业绩的前瞻性预期
## Context
在 [[Earnings Tracker]] 工作流中OpenClaw 搜索财报结果后,格式化摘要需包含 beat/miss 判断及上述关键指标,作为 Telegram 投递的核心内容。Beat/Miss 直接影响股价短期走势,是财报读者最关心的结论性信息。
## Related Concepts
- [[Earnings Calendar]] — 触发时机
- [[Earnings Tracker]] — 使用此指标的工作流
- [[AI-Powered Digest]] — 格式化摘要的通用模式

View File

@@ -0,0 +1,22 @@
---
title: "Earnings Calendar"
type: concept
tags: []
last_updated: 2026-04-22
---
## Definition
Earnings Calendar财报日历是上市公司财报发布时间表列出每家公司计划发布季度/年度财务报告的具体日期和时间。AI Agent 自动化追踪系统的输入数据源。
## Aliases
- Earnings Schedule
- 财报日历
- 财报发布日程
## Context
在 [[Earnings Tracker]] 工作流中Earnings Calendar 是第一步数据源——OpenClaw Cron Job 每周日扫描日历过滤用户关注的公司NVDA/MSFT/GOOGL/META/AMZN/TSLA/AMD 等)后,在 Telegram 投递预览列表,用户确认后启动下一步追踪。
## Related Concepts
- [[Earnings Beat/Miss]] — 财报结果判断
- [[Earnings Tracker]] — 使用 Earnings Calendar 的自动化追踪工作流
- [[Daily-Digest]] — 同属定时信息摘要模式

View File

@@ -0,0 +1,29 @@
---
title: "Email Triage"
type: concept
tags: [automation, productivity, agent, email]
date: 2026-04-22
---
## Definition
Email Triage邮件分拣指 AI Agent 自动扫描收件箱、识别待办事项、标记优先级并归档噪音邮件的自动化流程。类似于医院急诊的分诊triage机制——快速评估、将紧急项优先处理、其余归档。
## In Home Lab Context
在 [[self-healing-home-server]] 中,每小时运行的 Cron Job 自动执行邮件分拣:
- **标记待办项**:识别需要回复或跟进的邮件,自动添加到任务看板
- **归档噪音**Promotional/Newsletters 等噪音邮件自动归档
- **紧急升级**:包含关键词("urgent"/"deadline"/"ASAP")的邮件触发告警
## Tools Used
- `gog CLI`OpenClaw Agent 访问 Gmail 的接口
- Gmail Labels通过标签系统管理邮件分类
- IMAP/SMTP通用邮件访问协议
## Key Insight
自动化邮件分拣将每日 30-60 分钟的手动邮件处理时间降至接近零,让用户专注于高价值任务。
## Connections
- [[OpenClaw]] — 通过 gog CLI 访问 Gmail 的 Agent 平台
- [[Morning Briefing]] — 晨报中包含邮件处理提醒
- [[TaskAutomation]] — 邮件分拣后自动创建任务
- [[Cron定时任务]] — 邮件分拣的调度机制(每小时 cron

View File

@@ -0,0 +1,50 @@
---
title: "Event Sourcing"
type: concept
tags: [architecture, data-modeling, patterns]
last_updated: 2026-04-22
---
## Definition
事件溯源Event Sourcing是一种软件架构模式——不直接存储数据的当前状态而是将所有状态变更作为**不可变事件序列**持久化,通过重放事件来重建任意时间点的状态。源自 Martin Fowler 的经典模式。
## Core Principles
1. **唯一真实来源Single Source of Truth**:事件日志是唯一真实来源,当前状态由事件推导得出,而非直接存储
2. **不可变性Immutability**:事件一旦写入,永不修改或删除,只能追加新事件
3. **全历史可追溯Audit Trail**:天然具备完整审计日志,可回溯任何历史变更的"为什么"
4. **时间旅行调试**:任意时刻的状态可精确重建,便于复现 BUG 和分析决策上下文
## Event Sourcing vs Traditional State Storage
| 维度 | 传统状态存储 | 事件溯源 |
|------|------------|---------|
| 存储内容 | 当前状态快照 | 状态变更事件序列 |
| 历史保留 | 通常不保留或有限保留 | 完整保留(无上限)|
| 变更原因 | 通常不记录 | 完整记录每次变更的原因 |
| 回滚能力 | 依赖备份 | 通过反向事件补偿天然支持 |
| 审计合规 | 需额外构建 | 内置,无需额外开发 |
## Key Event Types
- **Progress**:任务向前推进的里程碑事件
- **Blocker**:阻塞/障碍事件,通常触发状态 → "blocked"
- **Decision**:关键决策事件,记录决策理由和背景
- **Pivot**:转向/重大调整事件,记录原因和备选方案
- **Completion**:完成事件,触发状态 → "completed"
## Applications in Project Management
[[Project State Management]] 是事件溯源在个人/团队项目管理中的具体应用:
- 用自然语言对话替代手动拖拽看板卡片
- 每句话("完成了X"/"被Y阻塞")作为独立事件持久化
- 当前状态由事件序列自动推导,无需手动维护
- 查询"项目为什么这样"等同于"重放这个项目的所有事件"
## Connections
- [[Project State Management]] ← uses ← **Event Sourcing**
- [[Centralized Logging]] ← related_to ← **Event Sourcing**(集中日志可视为事件溯源的一种实现)
- [[Kanban]] ← alternative_to ← **Event Sourcing**(冲突:可视化协作 vs 自动追踪+上下文保留)

View File

@@ -0,0 +1,31 @@
---
title: "Food Sensitivity Tracking"
type: concept
tags: []
sources: []
last_updated: 2026-04-22
---
# Food Sensitivity Tracking
通过长期日志追踪来识别个人食物不耐受或过敏的实践方法。
## Definition
记录食物摄入与身体症状(如头痛、腹胀、皮疹等)的时间关联,通过模式分析发现潜在的触发食物。
## How It Works
1. **日志记录**:在摄入食物或出现症状时即时记录,带时间戳
2. **一致性保证**:定时提醒确保不遗漏,建立长期数据积累
3. **周期性分析**:每周或每月回顾日志,识别统计相关性
4. **迭代验证**:排除疑似触发食物,观察症状变化以确认
## Key Insight
> "Identifying food sensitivities requires consistent logging over time, which is tedious to maintain." — 这是自动化的核心驱动力
## Implementation Patterns
- [[health-symptom-tracker]]Telegram 话题 + OpenClaw 自动解析 + Markdown 日志
- 移动端 App如 Cara、Spoonful作为专用替代方案
## Connections
- [[Automated Health Logging]] ← enables ← [[Food Sensitivity Tracking]]
- [[Cron Job Reminders]] ← supports ← [[Food Sensitivity Tracking]]

View File

@@ -0,0 +1,50 @@
---
title: "Full Draft Generation"
type: concept
tags: [openclaw, productivity, content-automation]
sources: [custom-morning-brief]
last_updated: 2026-04-22
---
## Definition
完整草稿生成Full Draft Generation是一种 AI 内容创作范式——AI 不是仅提供标题或概要,而是生成可直接使用的完整内容成品(脚本、邮件、商业方案等),用户醒来后无需再从零开始。
## Why "Full Draft" Matters
传统 AI 助手通常生成:
- ❌ 标题列表("5 个标题供选择"
- ❌ 概要要点("要点如下:..."
- ❌ 半成品框架("你可以这样写..."
Full Draft 模式生成:
- ✅ 完整脚本/大纲 → 拿来就用
- ✅ 完整邮件正文 → 直接发送
- ✅ 完整商业方案 → 提交即用
## Key Insight
> "Full drafts (not just ideas) are the key to saving time. Wake up to scripts, not suggestions." — 自定义晨间简报的核心差异化价值
## Typical Workflow
1. **睡前**:用户通过 Telegram 发送创作需求
2. **夜间**OpenClaw 在后台生成完整内容
3. **晨起**:用户收到可直接使用的成品
## Use Cases
- **[[custom-morning-brief]]**:睡前生成完整演讲脚本/视频大纲/邮件草稿
- **[[podcast-production-pipeline]]**:生成播客脚本和社媒推广包
## Trade-off
Full Draft 比概要生成:
- **优势**:节省用户时间,交付物价值更高
- **劣势**:计算成本更高,生成时间更长
- **适合**:高频、固定格式、有明确使用场景的内容
## Related Concepts
- [[Scheduled Task Flywheel]] — Full Draft 生成的时间调度机制
- [[Proactive Agent Recommendation]] — Full Draft 作为主动推荐的具体输出形式

View File

@@ -0,0 +1,35 @@
---
title: "Git-as-Audit-Log"
type: concept
tags: [version-control, git, audit, multi-agent]
sources: [autonomous-project-management]
last_updated: 2026-04-22
---
## 定义
将所有状态变更(包括 [[Shared State Coordination]] 中的 STATE.yaml 变更)作为 Git 提交处理,从而获得完整可追溯的决策和执行历史的方法。
## 核心实践
每次对 STATE.yaml 的修改都触发一个 Git 提交:
```bash
# 状态更新后
git add STATE.yaml
git commit -m "task(id=xxx): updated status from in_progress to done"
```
## 价值
1. **完整历史追溯**:任意时刻可回滚到任何历史状态
2. **决策上下文保留**:每次变更的 commit message 即变更理由的记录
3. **团队协作基础**多成员可查看、review 状态变更历史
4. **自动化 CI/CD 集成**:可基于 Git 状态变更触发后续流程
## 在 [[autonomous-project-management]] 中的角色
- 规则明确All state changes committed to git
- 每个 PM 子 Agent 负责自己 STATE.yaml 的 Git 提交
- 结合 [[Git-as-Audit-Log]] 和 [[Shared State Coordination]],实现自文档化的项目协调
## Commit Message 约定
建议格式:`[type](task_id): description`
- `type`: started / updated / completed / blocked / unblocked
- `task_id`: 对应 STATE.yaml 中的任务 ID
- `description`: 变更的具体内容

View File

@@ -74,4 +74,4 @@ Caddy 是用 Go 语言编写的现代化 Web 服务器,其核心特性之一
- [[Caddy]] — 自动 HTTPS 实现者
- [[RackNerd]] — Caddy 运行环境
- [[Cloudflare]] — DNS 服务提供商,支持 DNS-01 挑战
- [[FRP]] — 内网服务的传输通道
- [[frp]] — 内网服务的传输通道

View File

@@ -0,0 +1,43 @@
---
title: "Last 30 Days Method"
type: concept
tags: [market-research, social-media-mining, agentic-ai]
sources: [market-research-product-factory, last30days-使用指南]
last_updated: 2026-04-22
---
## Definition
Last 30 Days Method近30天法是一种聚焦近期用户讨论以获取时效性洞察的市场研究方法论——通过限定时间窗口过滤噪音专注于用户在此时此刻正在经历的问题和需求避免被历史积累的过时信息干扰。
## Core Mechanism
1. **时间窗口锁定**只采集最近30天内的帖子/推文/评论
2. **数据源覆盖**Reddit社区讨论和 X/Twitter实时热点双平台
3. **聚类与排名**将相似问题归类按出现频率排序识别TOP痛点
4. **原始引用保留**:保留用户原始表述,而非经过转述的二手信息
## Why 30 Days
- **信息时效性**30天足够收集足够样本量又不至于被过时内容淹没
- **市场敏感度**:技术领域变化快,过时的讨论可能反映已解决的旧问题
- **信号/噪音比**对比全量历史30天内的讨论代表用户当前最关心的事
## Relationship to Other Concepts
- **[[Last 30 Days Method]]** → 工具方法 → **[[Agent-Driven Market Research]]**
- **[[Last 30 Days Method]]** → 工具方法 → **[[Pain Point Mining]]**
- **[[Last 30 Days Method]]** → 数据供给 → **[[Startup MVP Pipeline]]**
- **[[Last 30 Days Skill]]** → 软件实现 → **[[Last 30 Days Method]]**
## Implementation
在 OpenClaw 生态中,通过 `Last 30 Days Skill` 实现:
```text
Please use the Last 30 Days skill to research challenges people are having with [your topic].
```
## Sources
- [[market-research-product-factory]]
- [[last30days-使用指南]]

View File

@@ -0,0 +1,35 @@
---
title: "Local-first Git"
type: concept
tags: [git, security, devops, self-hosted, devsecops]
date: 2026-04-22
---
## Definition
Local-first Git 是一种 Git 工作流策略:所有代码变更首先推送到本地/私有 Git 服务(而非直接推送到公共 GitHub经过 CI 扫描和人工 review 后再合并到公共仓库。核心原则:**公共仓库永远不应该是 Agent 的直接目标**。
## In Home Lab Context
在 [[self-healing-home-server]] 的安全架构中Local-first Git 工作流:
```
Agent commits
Gitea (private self-hosted) — 私有中转站
CI pipeline — TruffleHog secrets scanning
Human review — 必须人工审核 main 分支合并
GitHub (public) — 最终发布目标
```
## Why Local-first for AI Agents?
1. **Secrets 暴露风险**AI Agent 会在代码中直接写入 API keysTruffleHog 可检测但不能阻止)
2. **CI 安全扫描**:在代码到达公共仓库前,有机会拦截问题
3. **Human oversight**:人工 review 作为最后防线
4. **Audit trail**Gitea 提供完整的代码变更审计记录
## Connections
- [[Gitea]] — Local-first 工作流的核心基础设施
- [[TruffleHog]] — CI pipeline 中的 secrets scanning 工具
- [[Defense-in-Depth]] — Local-first Git 是多层安全防御的一环
- [[OpenClaw]] — 使用 Local-first Git 工作流的 Agent 平台

View File

@@ -0,0 +1,48 @@
---
title: "Morning Briefing"
type: concept
tags: [automation, agent, productivity, daily-routine]
date: 2026-04-22
---
## Definition
Morning Briefing晨报是 AI Agent 每日定时(通常 8:00 AM自动生成并推送的结构化摘要将天气、日历、系统状态和任务看板整合为一份统一的可操作简报。
## In Home Lab Context
在 [[self-healing-home-server]] 中OpenClaw Agent "Reef" 每日 8:00 AM 生成晨报,包含以下模块:
### 晨报模板结构
```
### Weather
- 当前天气条件和 [所在地] 预报
### Calendars
- 你的今日事件
- 伴侣的今日事件
- 冲突或重叠标记
### System Health
- 所有机器的 CPU / RAM / Storage
- Services: UP/DOWN 状态
- 最近部署ArgoCD
- 过去 24h 的任何告警
### Task Board
- 昨日完成的卡片
- 进行中的卡片
- 需要关注的阻塞项
### Highlights
- 夜间头脑风暴的亮点
- 需要处理的邮件
- 本周即将到来的截止日期
```
## Key Insight
晨报将来自多个系统的碎片信息(天气 API、日历 API、监控系统、看板整合为单一可操作视图大幅降低每日信息获取成本。
## Connections
- [[OpenClaw]] — 生成晨报的 Agent 平台
- [[Agentic AI]] — 驱动晨报自动化的 AI 能力
- [[Cron定时任务]] — 晨报调度的触发机制(每日 8:00 AM cron job
- [[Daily-Digest]] — 类似思路AI 每日自动整理信息推送

View File

@@ -0,0 +1,30 @@
---
title: "PM Delegation Pattern"
type: concept
tags: [multi-agent, project-management, coordination]
sources: [autonomous-project-management]
last_updated: 2026-04-22
---
## 定义
主会话仅负责协调coordinator所有执行下沉至子 Agent 的委托模式。每个子 Agent 作为独立的 PMProject Manager拥有自己的 STATE.yaml 文件。
## 核心规则
- **主会话最大工具调用数**0-2 步(仅 spawn/send 操作)
- **PM 子 Agent 职责**:拥有和管理自己的 STATE.yaml 文件
- **PM 可派生子子 Agent**:支持多层级的并行子任务
- **Git 版本控制**:所有状态变更必须提交至 Git
## 工作流
1. 新任务到达主会话
2. 检查 PROJECT_REGISTRY.md 确认是否存在对应 PM
3. 存在 PM → `sessions_send(label="pm-xxx", message="[task]")`
4. 新项目 → `sessions_spawn(label="pm-xxx", task="[task]")`
5. PM 执行任务并更新 STATE.yaml完成后汇报主会话
6. 主会话向用户汇总
## 标签约定
使用 `pm-{project}-{scope}` 格式(如 `pm-auth-refactor`),便于追踪和管理。
## 与 [[CEO Pattern]] 的关系
PM Delegation Pattern 是 CEO Pattern 在项目管理场景的具体实现——主会话扮演 CEO仅做战略决策PM 子 Agent 扮演部门负责人,负责具体执行。

View File

@@ -0,0 +1,43 @@
# PUID/PGID
## Type
- Concept
## Definition
PUIDProcess User ID和 PGIDProcess Group ID是 LinuxServer.io Docker 镜像专用的环境变量,用于将容器内进程以宿主机指定用户/组的身份运行,从根本上解决 Docker 容器创建文件的权限归属问题。
## Mechanism
### 核心原理
```
宿主机:用户 shenwei (UID=1000, GID=1000)
↓ 设置 PUID=1000, PGID=1000
容器内Transmission 进程以 UID=1000, GID=1000 运行
↓ 结果
容器创建的文件 → 归属 shenwei:shenwei → 宿主机可直接读写
```
### 获取宿主机 UID/GID
```bash
id shenwei
# 输出uid=1000(shenwei) gid=1000(shenwei) groups=1000(shenwei),...
```
### Docker Compose 配置示例
```yaml
environment:
- PUID=1000 # 对应宿主机用户 ID
- PGID=1000 # 对应宿主机组 ID
```
## Key Claims
- PUID/PGID 是 LinuxServer.io 镜像的标准化用户配置,与非 root 用户运行USER 环境变量)不同
- 不设置 PUID/PGID 时,容器进程以 rootUID=0运行创建的文件归属 root:root导致宿主机用户无法直接管理
- PUID/PGID 解决了"容器内 root vs 宿主机普通用户"的跨环境文件权限冲突
-`user: "1000:1000"` Docker Compose 顶级键效果类似,但 PUID/PGID 由 LinuxServer.io 镜像内部脚本处理
## Relationship to [[LinuxServer.io]]
PUID/PGID 是 LinuxServer.io 所有镜像的标准化配置环境变量,属于其官方推荐的最佳实践。
## Sources
- [[用docker安装transmission]]

View File

@@ -0,0 +1,27 @@
---
title: "Pain Point Mining"
type: concept
tags: [market-research, agentic-ai, product-discovery]
sources: [market-research-product-factory]
last_updated: 2026-04-22
---
## Definition
Pain Point Mining痛点挖掘是通过系统化方式从真实用户讨论中识别未被满足的需求、抱怨和功能请求的过程区别于传统调查问卷或访谈——它直接采集未经加工的用户原生表达。
## Core Mechanism
- **数据来源**Reddit 社区帖子、X/Twitter 用户推文、论坛讨论、产品评论区
- **时间窗口**聚焦近期如最近30天讨论以获取时效性洞察
- **分析方法**:频率统计(高频问题 → 高优先级)、情感分析(强烈负面情绪 → 强需求)、竞品对比(现有方案缺失 → 机会点)
- **输出格式**:痛点排名 + 具体投诉引用 + 潜在解决方案方向
## Relationship to Other Concepts
- **[[Pain Point Mining]]** → 输入 → **[[Agent-Driven Market Research]]** → 支撑 → **[[Startup MVP Pipeline]]**
- **[[Pain Point Mining]]** ← 工具依赖 ← **[[Last 30 Days Method]]**
## Sources
- [[market-research-product-factory]]

View File

@@ -0,0 +1,61 @@
---
title: "Parallel Agent Execution"
type: concept
tags: [OpenClaw, Agent, Architecture, Performance]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Parallel Agent Execution** 是多 Agent 系统中,多个 Agent 同时处理相互独立的任务,通过并行计算提升整体效率的架构模式。
## 核心洞察
> "Parallel execution: Multiple agents can work on independent tasks simultaneously"
并行执行的价值:
- **效率倍增**:多个任务同时处理,总时间大幅减少
- **资源优化**:不同 Agent 使用各自擅长的模型
- **独立扩展**:根据任务量动态调整 Agent 数量
## 并行 vs 串行
| 模式 | 描述 | 时间复杂度 | 适用场景 |
|------|------|------------|----------|
| **串行执行** | Agent A → Agent B → Agent C | O(n×t) | 有依赖关系的任务链 |
| **并行执行** | Agent A ∥ Agent B ∥ Agent C | O(max(t₁,t₂,t₃)) | 独立任务 |
## 并行执行的典型场景
1. **多领域研究**
- Josh 分析市场数据
- Marketing 追踪竞品动态
- Dev 检查 CI/CD 健康状态
- 三者同时进行,无需等待
2. **内容创作**
- 同时生成多个内容变体
- 不同 Agent 用不同风格/角度
3. **监控与响应**
- Marketing 持续监控社媒
- Dev 持续监控代码质量
- Milo 持续追踪 OKR
## 与 Chained Agents 的对比
| 维度 | Parallel Execution | Chained Agents |
|------|-------------------|----------------|
| **任务关系** | 独立 | 串行依赖 |
| **时间效率** | 高(同时) | 中(等待) |
| **适用场景** | 多领域研究、监控 | 内容生产、审批流 |
| **协调复杂度** | 低 | 中 |
## Related Concepts
- [[Agent Specialization]] — 专业化 Agent 是并行执行的基础
- [[Chained Agents]] — 链式 Agent串行依赖场景
- [[Multi-Agent Coordination]] — 多 Agent 协调机制
- [[Scheduled Task Flywheel]] — 定时任务常利用并行执行

View File

@@ -0,0 +1,54 @@
---
title: "Pivot-Strategy"
type: concept
tags: []
last_updated: 2026-04-22
---
## Overview
当赛道拥挤度较高(`reality_signal > 30`)时,通过重新定位切入角度实现差异化的策略。通过分析现有竞品的覆盖盲区,找到一个可专注的细分维度,在该维度上构建竞争优势。
## Three Pivot Dimensions
`reality_signal` 显示赛道拥挤时,可通过以下三个维度实现转向:
### 1. Language Specialization
语言专一化——只支持特定编程语言的竞品细分。
- 示例:不做通用的"AI code review tool",而是"**Rust-only AI code review**"规避与通用方案GitHub Copilot、CodeRabbit的正面竞争
- 适用场景:某语言社区有特殊需求,通用方案覆盖不足
### 2. Framework Specialization
框架专一化——只针对特定框架的审查工具。
- 示例:"**React 组件合规性审查**"而非通用代码审查
- 适用场景:某框架有独特的 linting/compliance 需求
### 3. Industry Specialization
行业专一化——针对特定垂直行业的合规/审查工具。
- 示例:"**金融/医疗代码合规性审查**"HIPAA、SOX 相关代码检查)
- 适用场景:强监管行业有特殊代码合规要求,通用方案无法满足
## Decision Framework
```
reality_signal > 70?
→ STOP + 展示竞品 + 询问用户是否继续/转向/放弃
→ 用户选择 pivot 后,从三个维度中选择最合适的角度
reality_signal 30-70?
→ 展示竞品 + 提供 pivot_hints
→ Agent 主动建议差异化角度
reality_signal < 30?
→ 赛道空白,直接构建
```
## Relationship to Related Concepts
- [[Competition-Analysis]] ← 识别需要 pivot 的时机
- [[Reality-Signal]] ← 决策阈值依据
- [[Pre-Build Validation]] ← 包含 pivot 决策的工作流
- [[Agent-Build-Gate]] ← pivot 决策通过后的后续动作
## Related
- [[Competition-Analysis]]
- [[Reality-Signal]]
- [[Pre-Build Validation]]
- [[Agent-Build-Gate]]
- [[Startup MVP Pipeline]]

View File

@@ -0,0 +1,45 @@
---
title: "Pre-Build Validation"
type: concept
tags: []
last_updated: 2026-04-22
---
## Overview
在代码编写之前进行市场/竞争验证的工作流模式。AI Agent 接收构建指令后,首先调用竞争分析工具(如 [[idea-reality-mcp]] 的 `idea_check()`)评估赛道的真实拥挤度,只有通过门控条件才允许进入实际代码编写阶段。
## Mechanism
1. 用户/Agent 提出构建需求(如"build me an AI code review tool"
2. Agent 调用 `idea_check()` 扫描多平台真实数据
3. 返回 `reality_signal` 分数0-100
4. 根据阈值决策:继续构建 / 暂停讨论 / 建议转向
## Decision Thresholds
| reality_signal | 决策 | 行动 |
|---|---|---|
| > 70 | STOP | 展示竞品,询问是否继续/转向/放弃 |
| 30-70 | 展示+建议 | 显示结果和 pivot_hints建议差异化角度 |
| < 30 | 直接构建 | 提示市场空白,批准开始编写代码 |
## Why It Matters
防止 AI Agent 犯最昂贵的错误:**在一个已被成熟方案解决的领域投入大量时间**。GitHub 上有 143,000+ AI code review 相关仓库,顶端方案已有 53,000+ stars——Agent 不知道是因为没有人告诉它去查,也没有人告诉它应该查。
## Relationship to Related Concepts
- [[Pre-Build Validation]] ← 前置于 [[Startup MVP Pipeline]]
- [[Pain Point Mining]] → [[Pre-Build Validation]] → [[Startup MVP Pipeline]](完整的产品发现到构建流程)
- [[Reality-Signal]] 是 [[Pre-Build Validation]] 的核心度量指标
- [[Agent-Build-Gate]] 是 [[Pre-Build Validation]] 的技术实现机制
## Aliases
- Pre-Build Gate
- Idea Validation Gate
- Pre-Build Checkpoint
## Related
- [[idea-reality-mcp]]
- [[Reality-Signal]]
- [[Competition-Analysis]]
- [[Pivot-Strategy]]
- [[Agent-Build-Gate]]
- [[Startup MVP Pipeline]]
- [[Pain Point Mining]]

View File

@@ -0,0 +1,63 @@
---
title: "Private Context"
type: concept
tags: [OpenClaw, Agent, Architecture, Memory]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Private Context** 是多 Agent 系统中,每个 Agent 独立维护的会话历史和领域特定笔记,与 Shared Memory 共同构成 Agent 的完整知识体系。
## 核心洞察
> "Shared memory + private context: The combination is critical — agents need common ground (goals, decisions) but also their own space to accumulate domain expertise"
私有上下文的作用:
- **积累领域专长**Agent 在独立空间深耕专业知识
- **会话连续性**Agent 能记住自己的历史决策和上下文
- **避免干扰**:专业笔记不会与其他 Agent 混淆
## 私有上下文结构
```
team/agents/
├── milo/ # Milo 的私有上下文
│ ├── sessions/ # 会话历史
│ └── notes/ # 战略分析和笔记
├── josh/ # Josh 的私有上下文
│ ├── sessions/ # 会话历史
│ └── notes/ # 商业分析和模型
├── marketing/ # 营销 Agent 的私有上下文
│ ├── sessions/ # 会话历史
│ └── notes/ # 营销研究和趋势分析
└── dev/ # 开发 Agent 的私有上下文
├── sessions/ # 会话历史
└── notes/ # 技术笔记和技术债追踪
```
## 与 Shared Memory 的关系
**Private Context** + **Shared Memory** 组合是关键:
| 维度 | Shared Memory | Private Context |
|------|---------------|-----------------|
| **可见性** | 所有 Agent | 仅该 Agent |
| **用途** | 团队协调、共同决策 | 领域深耕、专业积累 |
| **更新频率** | 决策时更新 | 持续积累 |
| **典型内容** | 目标、决策、状态 | 会话历史、专业笔记 |
## 为什么两者都需要
- **只有共享记忆**Agent 缺乏领域深度
- **只有私有上下文**Agent 无法协调,形成知识孤岛
- **两者结合**:既能有团队协作,又能深耕专业
## Related Concepts
- [[Shared Memory Architecture]] — 团队共享记忆
- [[Agent-Memory]] — OpenClaw 的长期记忆机制
- [[Agent Specialization]] — 专业化 Agent 依赖私有上下文积累深度
- [[OpenClaw]] — workspace 目录体系支持私有上下文

View File

@@ -0,0 +1,41 @@
---
title: "Proactive Agent Recommendation"
type: concept
tags: [openclaw, ai-agent, productivity]
sources: [custom-morning-brief, multi-agent-team]
last_updated: 2026-04-22
---
## Definition
主动任务推荐Proactive Agent Recommendation是一种 AI Agent 设计范式——Agent 不是被动等待用户指令,而是主动分析用户上下文并推荐可自主完成的辅助任务,使用户从"发出指令→等待结果"转变为"收到已完成的工作成果"。
## Contrast with Reactive Mode
| 维度 | 被动模式Reactive | 主动模式Proactive |
|------|--------------------|--------------------|
| 触发方式 | 用户主动发起请求 | AI 定时或基于上下文自动触发 |
| 用户角色 | 指挥官 | 接收者/审批者 |
| 价值交付 | 按需响应 | 提前完成,超出预期 |
| 认知负担 | 用户需持续思考"要什么" | AI 承担"思考要做什么" |
## Key Applications
- **[[custom-morning-brief]]**:每日晨间简报中的"AI 主动推荐可完成任务"模块
- **[[multi-agent-team]]**Agent 主动推送工作成果,而非等待轮询
## Implementation Pattern
```text
1. Cron Job 触发 → AI 分析用户上下文
2. AI 生成 N 条可自主完成的任务建议
3. 高置信度任务 → 自动执行
4. 中置信度任务 → 推送选项,用户确认后执行
5. 结果交付 → Telegram/Discord
```
## Related Concepts
- [[Scheduled Task Flywheel]] — 主动推荐的时间调度机制
- [[Agent Personality]] — 主动行为需要精心设计的 Agent 人格
- [[Morning Briefing]] — 主动推荐的典型应用场景

View File

@@ -0,0 +1,59 @@
---
title: "Project State"
type: concept
tags: [project-management, automation, ai]
last_updated: 2026-04-22
---
## Definition
项目状态Project State指一个项目在任意时间点的完整快照——包括当前阶段、活跃阻塞项、最近进展、以及完整的事件历史上下文。与传统项目管理工具中"当前状态"字段不同,项目状态由底层事件自动驱动更新,而非手动维护。
## What It Captures
一个完整项目状态系统通常包含:
- **基本元数据**项目名称、当前阶段phase、总体状态active/blocked/completed
- **时间戳**:最后更新时间,便于判断项目是否"失活"
- **事件日志**:所有 progress/blocker/decision/pivot 事件的完整序列
- **阻塞清单**:当前所有 open blockers 及创建时间
- **上下文**:每次变更的决策理由,而非仅记录"变更了什么"
## State Machine
典型项目状态流转:
```
active → [blocked event] → blocked
blocked → [blocker resolved event] → active
active → [completion event] → completed
any → [pivot event] → active (new phase)
```
## Event-Driven vs Kanban
| 维度 | 事件驱动项目状态 | 传统看板Kanban|
|------|---------------|----------------|
| 更新方式 | 自然语言对话自动驱动 | 手动拖拽卡片 |
| 状态来源 | 事件序列推导 | 卡片当前位置 |
| 历史保留 | 完整事件日志,可回溯决策原因 | 通常不保留,状态变更即丢失 |
| 上下文 | 每次变更附带决策理由 | 无,需额外备注 |
| 阻塞追踪 | 独立 blocker 记录 + 自动状态更新 | 卡片标签/泳道,依赖人工识别 |
| 团队协作 | 需要额外机制(如 Discord 多用户)| 原生支持多人实时协作 |
| 适合场景 | 个人/小团队,需要上下文保留 | 中大型团队,强协作需求 |
## AI Integration
在 [[Project State Management]] 系统中AI Agent 承担以下角色:
- **自然语言解析器**:将用户日常对话转换为结构化事件
- **状态引擎**:根据事件类型自动更新项目状态
- **查询接口**:回答"项目X现在什么状态"/"为什么做了Y决策"
- **报告生成器**:自动生成每日站会、每周总结
## Connections
- **Project State** ← derived_from ← [[Event Sourcing]]
- **Project State** ← powered_by ← [[OpenClaw]]
- **Project State Management** ← uses ← **Project State**
- [[Kanban]] ← alternative_to ← **Project State**(冲突:参见 overview.md Conflict Area #1

View File

@@ -0,0 +1,40 @@
---
title: "Reality-Signal"
type: concept
tags: []
last_updated: 2026-04-22
---
## Overview
通过 `idea_check()` 返回的 0-100 赛道拥挤度评分,基于 GitHub 仓库数量、Star 分布、Hacker News 讨论量等真实数据。用于 [[Pre-Build Validation]] 的核心度量指标,决定 Agent 是否可以继续构建还是需要暂停讨论。
## Scoring Mechanism
- **GitHub**:相关仓库数量 + Top 竞品的 Star 总数
- **Hacker News**:相关讨论帖数量 + 平均分数
- **npm / PyPI**:包数量 + 下载量分布
- **Product Hunt**:早期产品关注度
综合以上数据输出 0-100 的 `reality_signal` 分数。
## Interpretation
| 分数区间 | 信号含义 | 行动 |
|---|---|---|
| > 70/100 | 高度拥挤 | 成熟竞品众多,需强差异化 |
| 30-70/100 | 中度竞争 | 存在机会但需细分角度 |
| < 30/100 | 市场空白 | 真正的蓝海,白手起家的最佳区间 |
## Key Properties
- **基于真实数据,非 LLM 猜测**unlike subjective assessment, reality_signal uses actual repo counts, star distributions, and HN discussion volume
- **用途**[[Pre-Build Validation]] 决策依据Hackathon 想法排名(最低分 = 最佳机会)
- **局限性**:无法评估技术实现难度、市场进入时机、团队执行能力
## Aliases
- Competition Score
- Market Saturation Score
- Idea Signal
## Related
- [[Pre-Build Validation]]
- [[Competition-Analysis]]
- [[idea-reality-mcp]]
- [[Pivot-Strategy]]

View File

@@ -0,0 +1,31 @@
---
title: "Sandboxed Persona"
type: concept
tags: []
last_updated: 2026-04-22
---
## Definition
沙盒 Persona 是一种 AI 对话设计模式——AI persona 仅持有预设的上下文persona name、goal、opening line与外部系统Agent、数据、工具、其他对话完全隔离无法访问、修改或泄露任何超出预设范围的信息。
## Key Properties
- **上下文隔离**AI 只知道预设的三要素(名称、目标、开场白)
- **状态重置**:每轮对话独立初始化,无跨对话状态保留
- **攻击面收窄**:外部用户无法通过对话注入 Prompt 或窃取数据
- **任务专注**AI 不会因过多上下文而偏离单一任务
## Use Cases
- [[SuperCall]] — 电话外呼场景AI 以沙盒 persona 接听来电确认出席
- [[voice-call-confirmation]] — 需要纯确认流程的各类电话场景
- AI 客服 / AI 面试官 / AI 问卷调查 — 需要严格控制信息边界的对话
## Related Concepts
- [[Agent Personality Design]] — Agent 的角色/性格设计
- [[Private Context]] — Agent 的私有上下文保护
- [[Prompt Injection Defense]] — 对抗恶意 Prompt 注入的防御策略
## Contradictions
- 与 [[General Purpose Voice Agent]] 对比:
- 冲突点:通用语音 Agent 追求多功能和上下文丰富性;沙盒 Persona 追求最小暴露
- 当前观点:沙盒 Persona 适用于确认类单一任务场景
- 对方观点:通用 Agent 适用于需要跨系统协调的复杂助手场景

View File

@@ -0,0 +1,37 @@
---
title: "Scheduled Reminder"
type: concept
tags: [Automation, Cron, Agent, Proactive, OpenClaw]
sources: [multi-channel-assistant]
last_updated: 2026-04-22
---
# Scheduled Reminder
## Definition
Scheduled Reminder定时提醒是一种基于 Cron Job 的主动推送机制——AI Agent 在预设时间自动触发提醒消息,无需用户主动查询。在 [[multi-channel-assistant]] 中展示了定时提醒的典型应用。
## Mechanism
OpenClaw 通过 Cron Job 系统调度定时任务:
- **周一 18:00** → "🗑️ 明天是垃圾清理日"
- **周五 15:00** → "✍️ 该写每周公司周报了"
## Significance
Scheduled Reminder 是 AI Agent 区别于传统问答式 AI 工具的核心特征:
| 被动模式 | 主动模式 |
|---------|---------|
| 用户问AI 答 | AI 定时推送,用户被动接收 |
| 需要用户主动关注 | 用户无需记住,系统主动提醒 |
| 依赖用户记忆 | 零记忆负担 |
## Related Patterns
- [[Scheduled Task Flywheel]] — 定时任务驱动的持续运转机制
- [[Morning Briefing]] — 定时提醒的具体应用场景
- [[Topic-Based Routing]] — `updates` Topic 承载提醒消息的投递
## Connections
- [[multi-channel-assistant]] — Scheduled Reminder 的应用场景
- [[OpenClaw]] — Cron Job 调度引擎
- [[Telegram]] — 提醒消息的投递渠道

View File

@@ -0,0 +1,42 @@
---
title: "Scheduled Task Flywheel"
type: concept
tags: [openclaw, automation, productivity]
sources: [multi-agent-team, custom-morning-brief, earnings-tracker, self-healing-home-server]
last_updated: 2026-04-22
---
## Definition
定时任务飞轮Scheduled Task Flywheel是 OpenClaw 的核心自动化范式——通过定时 Cron Job 触发 AI Agent 自主工作用户无需主动发起指令AI 在后台完成情报收集、内容生成、数据处理等任务,结果在用户需要时已就位。
## Core Mechanism
1. **调度层**:通过 Cron Job 设置定时触发规则(每日 8AM、每周日 6PM 等)
2. **执行层**AI Agent 在触发时间自动执行任务(网络搜索、内容生成、数据处理)
3. **交付层**:结果通过 Telegram/Discord/iMessage 推送给用户
4. **飞轮效应**:每次执行都为下次提供更好的上下文积累,形成自动化正向循环
## Key Applications
- **[[custom-morning-brief]]**:利用夜间空闲时间让 AI 完成新闻研究和草稿生成,晨起直接收到完整简报
- **[[earnings-tracker]]**:每周日自动扫描财报日历,用户选择后为每家公司创建一次性 Job
- **[[self-healing-home-server]]**Reef Agent 的 24/7 全天候自动化每15分钟健康检查、每小时监控
- **[[multi-agent-team]]**:多个 Agent 定时轮转,主动向用户推送成果
## Key Insight
> "The AI-recommended tasks section is the most powerful part — it has the agent proactively think of ways to help you, rather than waiting for instructions." — 自定义晨间简报的核心洞察
## Why "Flywheel"
与被动等待指令的传统助手不同,飞轮模式下 AI **主动**创造价值。每次定时触发后:
- 上下文积累 → 下次执行更精准
- 模板成熟 → 输出质量持续提升
- 用户习惯养成 → 简报成为每日必需
## Related Concepts
- [[Morning Briefing]] — 定时飞轮的具体应用场景
- [[Proactive Agent Recommendation]] — 飞轮中"主动思考如何帮助用户"的关键能力
- [[Single Control Plane]] — 飞轮与用户之间的统一交互界面

View File

@@ -0,0 +1,57 @@
---
title: "Shared Memory Architecture"
type: concept
tags: [OpenClaw, Agent, Architecture, Memory]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Shared Memory Architecture** 是多 Agent 系统中,所有 Agent 共用一套公共记忆文件GOALS.md、DECISIONS.md、PROJECT_STATUS.md确保团队目标、关键决策和项目状态对所有 Agent 可见的架构模式。
## 核心洞察
> "Shared memory + private context: The combination is critical — agents need common ground (goals, decisions) but also their own space to accumulate domain expertise"
共享记忆解决的问题:
- **知识孤岛**:营销洞察不会自动影响开发优先级
- **上下文丢失**:每个 Agent 独立会话无法继承团队决策
- **重复工作**Agent A 的发现对 Agent B 不可见
## 共享文件结构
```
team/
├── GOALS.md # 当前 OKR 和优先级(所有 Agent 读取)
├── DECISIONS.md # 关键决策日志(追加写入)
├── PROJECT_STATUS.md # 当前项目状态(所有 Agent 更新)
├── agents/
│ ├── milo/ # Milo 的私有上下文和笔记
│ ├── josh/ # Josh 的私有上下文
│ ├── marketing/ # 营销 Agent 的研究笔记
│ └── dev/ # 开发 Agent 的技术笔记
```
## 共享记忆类型
| 文件 | 用途 | 写入规则 |
|------|------|----------|
| GOALS.md | 团队目标和 OKR | 定期更新(周/日) |
| DECISIONS.md | 关键决策记录 | 决策时追加 |
| PROJECT_STATUS.md | 项目当前状态 | 状态变更时更新 |
## 与 Private Context 的关系
**Shared Memory** + **Private Context** 组合是关键:
- **Shared Memory**:共同基础(目标、决策、项目状态)
- **Private Context**:独立空间积累领域专业知识
- 两者缺一不可:只有共享记忆导致缺乏深度,只有私有上下文导致知识孤岛
## Related Concepts
- [[Agent-Memory]] — OpenClaw 的长期记忆机制
- [[Private Context]] — Agent 私有上下文
- [[OpenClaw]] — 提供 workspace 目录体系支持
- [[Agent Specialization]] — 专业化 Agent 依赖共享记忆协调

View File

@@ -0,0 +1,59 @@
---
title: "Shared State Coordination"
type: concept
tags: [multi-agent, coordination, architecture]
sources: [autonomous-project-management]
last_updated: 2026-04-22
---
## 定义
多 Agent 通过读写共享状态文件(而非消息传递)实现协调的通信范式。在 [[autonomous-project-management]] 中具体实现为共享的 `STATE.yaml` 文件。
## 核心机制
- **单一真相来源**Single Source of TruthSTATE.yaml 作为项目协调的单一事实来源
- **文件读写协调**:各子 Agent 读取自己被分配的任务,写入进度/完成状态
- **轮询自驱动**Agent 主动轮询 STATE.yaml发现任务解锁后自动拾取
- **无需消息队列**:避免引入额外的消息传递中间件依赖
## STATE.yaml 结构示例
```yaml
project: website-redesign
updated: 2026-02-10T14:30:00Z
tasks:
- id: homepage-hero
status: in_progress
owner: pm-frontend
notes: "Working on responsive layout"
- id: api-auth
status: done
owner: pm-backend
output: "src/api/auth.ts"
- id: content-migration
status: blocked
owner: pm-content
blocked_by: api-auth
next_actions:
- "pm-content: Resume migration now that api-auth is done"
```
## 优势
- **去中心化**:无中心协调器,单点故障风险低
- **版本可控**Git 作为审计日志,完整可追溯
- **简单可靠**:无需额外的消息队列或 RPC 中间件
- **持久化**:状态天然持久,支持断点恢复
## 与消息传递模式对比
| 维度 | 共享文件协调 | 消息传递协调 |
|------|-------------|-------------|
| 中间件依赖 | 仅文件系统 | 需要 MQ/Pub-Sub |
| 状态持久性 | 天然持久 | 需要额外存储 |
| 并发控制 | 文件锁 | 队列ACK |
| 调试难度 | 高(需读文件) | 中(需追踪消息流) |
| 适用场景 | 并行独立任务 | 有序依赖链 |
## 衍生概念
- [[Git-as-Audit-Log]]:将所有 STATE.yaml 变更提交至 Git获得完整历史

View File

@@ -0,0 +1,67 @@
---
title: "Single Control Plane"
type: concept
tags: [OpenClaw, Agent, Architecture, Interface]
sources: [multi-agent-team]
last_updated: 2026-04-23
---
## Definition
**Single Control Plane** 是多 Agent 系统中,通过单一消息接口(如 Telegram 分组)统一接入所有 Agent每个 Agent 仅在收到特定标签时响应的架构设计。
## 核心洞察
> "Single control plane: All agents are accessible through one Telegram group chat — tag the agent you need"
单一控制平面的价值:
- **降低使用门槛**:用户只需在一个地方与团队互动
- **统一入口**:不需要记住多个 Agent 的独立接口
- **自然协作**:像在团队群组中与不同成员对话
## Telegram 路由配置
```
Telegram group: "Team"
Routing:
- @milo → Strategy agent (spawns/resumes milo session)
- @josh → Business agent (spawns/resumes josh session)
- @marketing → Marketing agent (spawns/resumes marketing session)
- @dev → Dev agent (spawns/resumes dev session)
- @all → Broadcast to all agents
- No tag → Milo (team lead) handles by default
Each agent:
1. Reads shared GOALS.md and PROJECT_STATUS.md for context
2. Reads its own private notes
3. Processes the message
4. Responds in Telegram
5. Updates shared files if the response involves a decision or status change
```
## Agent 处理流程
每个 Agent 收到消息时的标准处理流程:
1. **读取共享上下文**GOALS.md 和 PROJECT_STATUS.md
2. **读取私有笔记**:自己的 agents/<name>/ 目录
3. **处理消息**:结合上下文和专业知识
4. **响应 Telegram**:在群组中回复
5. **更新共享文件**:如有决策或状态变更
## 与其他接口模式的对比
| 模式 | 描述 | 适用场景 |
|------|------|----------|
| **Single Control Plane** | 统一入口 + 标签路由 | 团队协作、多 Agent 协调 |
| **独立接口** | 每个 Agent 独立通道 | 简单任务、专业工具 |
| **网页界面** | Web UI 控制台 | 监控和管理 |
## Related Concepts
- [[OpenClaw]] — 提供 sessions_spawn/sessions_send 能力
- [[Telegram]] — 常用作控制平面的消息平台
- [[Multi-Agent Coordination]] — 协调多 Agent 的机制
- [[Agent Specialization]] — 专业化 Agent 便于标签路由

View File

@@ -0,0 +1,37 @@
---
title: "Startup MVP Pipeline"
type: concept
tags: [startup, agentic-ai, mvp, product-building]
sources: [market-research-product-factory]
last_updated: 2026-04-22
---
## Definition
Startup MVP Pipeline创业最小可行产品流水线是从市场机会发现到可演示产品原型的端到端自动化流程——用 AI Agent 替代人工完成"调研→验证→构建→交付"全链路。
## Core Mechanism
1. **Pain Point Mining**:从 Reddit/X 挖掘真实用户痛点(按频率排序)
2. **Opportunity Validation**:分析现有方案缺口,确定未被满足的需求
3. **MVP Specification**用自然语言描述要解决的问题AI 自动生成产品需求
4. **Automated Build**AI AgentOpenClaw根据需求构建 Web 应用原型
5. **Delivery**:生成的 Web 应用可直接分享给用户验证
## Key Characteristics
- **全自动化**:用户只需发一条消息,即可获得可演示的 Web 应用
- **无技术门槛**无需编程能力OpenClaw 承担所有构建职责
- **快速迭代**:发现痛点 → 构建原型 → 用户验证,周期以小时计
- **持续监控**:可定期调度调研,持续追踪市场痛点演化
## Relationship to Other Concepts
- [[Pain Point Mining]] → 供给数据 → [[Startup MVP Pipeline]]
- [[Agent-Driven Market Research]] → 提供方法论 → [[Startup MVP Pipeline]]
- [[content-factory]] ← extends ← [[Startup MVP Pipeline]]:内容工厂延伸为产品工厂
- [[product-trend-researcher]] ← depends_on ← [[Last 30 Days Method]] → 支持 [[Startup MVP Pipeline]]
## Sources
- [[market-research-product-factory]]

112
wiki/concepts/TCP隧道.md Normal file
View File

@@ -0,0 +1,112 @@
---
title: "TCP 隧道"
type: concept
aliases: [TCP Tunnel, TCP端口转发, TCP代理]
tags: [network, tunneling, protocol]
---
# TCP 隧道
## Definition
**TCP 隧道**是通过在两个端点之间建立虚拟连接,将本地 TCP 端口的流量透明传输到远程端点的技术。TCP 隧道是构建 VPN、反向代理和内网穿透的基础机制之一。
## How It Works
```
┌─────────────┐ ┌─────────────┐
│ 本地机器 │ │ VPS │
│ │ │ │
│ 应用 → :22 │ ──── TCP 隧道 ──── → │ :60022 ← ──│──── 外部 SSH 客户端
│ │ (frp/nc/socat) │ │
└─────────────┘ └─────────────┘
```
## TCP vs HTTP/HTTPS 隧道
| 特性 | TCP 隧道 | HTTP/HTTPS 隧道 |
|------|----------|----------------|
| **协议** | 任意 TCP | HTTP/HTTPS |
| **应用层解析** | ❌ 不解析 | ✅ 可解析 |
| **WebSocket** | ❌ 不支持 | ✅ 支持 |
| **使用场景** | SSH、数据库、任意 TCP | Web 服务 |
| **Caddy 支持** | ❌ 不支持 | ✅ 支持 |
## frp TCP 映射
### 配置示例
```ini
# frpc.ini
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 60022
```
### 访问链路
```
外部 SSH 客户端
ssh -p 60022 user@vps-ip
VPS :60022 (frps 监听)
frp 隧道
内网机器 :22
本地 SSH 服务
```
## Common Tools for TCP Tunneling
| 工具 | 特点 | 使用场景 |
|------|------|---------|
| **frp** | 高性能、支持 Dashboard | 内网穿透 |
| **socat** | 简单单次转发 | 临时调试 |
| **netcat (nc)** | 基础端口转发 | 快速测试 |
| **ssh -L** | SSH 内置隧道 | 临时访问 |
| **stunnel** | SSL 隧道加密 | 安全转发 |
## SSH 原生隧道 (替代方案)
### 临时隧道
```bash
# 本地端口转发:访问远程内网服务
ssh -L 8080:internal:80 user@vps
# 远程端口转发:暴露本地服务到公网
ssh -R 60022:localhost:22 user@vps
```
### 持久化问题
SSH 隧道在网络中断后不会自动重连,生产环境推荐使用 frp。
## Security Considerations
### TCP 隧道注意事项
1. **不经过 HTTP 代理**TCP 流量不被 Caddy/Nginx 解析
2. **直接暴露端口**SSH 22 端口不宜直接暴露,使用非标准端口
3. **IP 白名单**:防火墙限制来源 IP
4. **公钥认证**:禁用密码登录
### 建议配置
```bash
# VPS 防火墙:只允许特定 IP
sudo ufw allow from <home_ip> to any port 60022 proto tcp
# SSH 配置:禁用密码
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
```
## Related Concepts
- [[内网穿透]] — TCP 隧道的典型应用场景
- [[frp]] — 实现 TCP 隧道的工具
- [[反向代理]] — HTTP/HTTPS 层面的代理(与 TCP 层互补)
- [[VPS]] — TCP 隧道的公网端点
## References
- frp TCP: https://gofrp.org/docs/features/common-address-types/#tcp
- SSH Tunneling: https://www.ssh.com/academy/ssh/tunneling

View File

@@ -0,0 +1,25 @@
---
title: "Telephony Integration"
type: concept
tags: []
sources: []
last_updated: 2026-04-22
---
# Telephony Integration电话能力集成
## Definition
电话能力集成指 AI Agent 框架通过电信 API 实现来电接收和去电呼叫的能力,使 AI Agent 能够通过传统电话网络与用户通信,无需依赖智能手机 App 或互联网连接。
## Implementation Pattern
1. **电信 API**:通过 [[Telnyx]] 等提供商获取电话号码和电话连接
2. **客户端库**:通过 [[ClawdTalk]] 等客户端库与 Agent 框架对接
3. **Agent 框架**[[OpenClaw]] 等支持 phone skill 的多 Agent 框架
4. **语音处理**:实时语音流与 Agent 的对话能力结合
## Use Cases
- **来电接收**:用户主动拨打,接听并与 AI 对话
- **去电外呼**Agent 主动拨打电话(参见 [[event-guest-confirmation]] 中的 [[SuperCall]] 方案)
## Sources
- [[phone-based-personal-assistant]]

View File

@@ -0,0 +1,39 @@
---
title: "Topic-Based Routing"
type: concept
tags: [Routing, Telegram, Multi-Context, OpenClaw]
sources: [multi-channel-assistant]
last_updated: 2026-04-22
---
# Topic-Based Routing
## Definition
Topic-Based Routing基于话题的路由是一种通过标签/话题机制将用户请求分发到不同上下文处理单元的设计模式。在 [[multi-channel-assistant]] 中,通过 Telegram Topic 实现多上下文隔离。
## Mechanism
用户在不同 Telegram Topic 中发送消息OpenClaw 根据 Topic 标签识别上下文域:
| Topic | 处理的上下文 |
|-------|------------|
| `config` | 系统设置、调试 |
| `updates` | 日报摘要、定时提醒、日历 |
| `video-ideas` | 内容管线、研究 |
| `personal-crm` | 联系人和会议准备 |
| `earnings` | 财务追踪 |
| `knowledge-base` | 知识库存取与检索 |
## Key Properties
- **上下文隔离**:每个 Topic 携带独立的记忆上下文,不会跨 Topic 污染
- **单一入口**:用户只需记住 Telegram 一个入口,不需要切换多个 App
- **意图推断**:通过 Topic 标签帮助 LLM 理解用户当前关注域,降低提示词复杂度
## Related Concepts
- [[Multi-Tool Integration]] — Topic Routing 是触发不同工具集的前提
- [[Single Control Plane]] — Telegram 作为统一控制平面的实现方式
- [[Scheduled Reminder]] — `updates` Topic 承载主动提醒推送
## Connections
- [[multi-channel-assistant]] — Topic-Based Routing 的应用场景
- [[OpenClaw]] — 路由逻辑的执行引擎
- [[Telegram]] — 路由机制的载体平台

View File

@@ -0,0 +1,25 @@
---
title: "Voice Interface"
type: concept
tags: []
sources: []
last_updated: 2026-04-22
---
# Voice Interface语音接口
## Definition
语音接口是通过电话等语音通道与 AI Agent 进行交互的接口层。相比文字入口(如 Telegram、Slack语音接口无需屏幕或键盘覆盖驾驶、步行、双手占用等场景。
## Characteristics
- **免提交互**:用户无需盯着屏幕或使用键盘
- **场景覆盖**:驾驶、步行、双手忙碌时
- **输入限制**:语音输入的信息密度低于文字(无法精确指定参数)
- **输出优化**:需要将结构化信息转译为自然语言表述
## Related Concepts
- [[Telephony Integration]]:语音接口的底层电话能力集成
- [[Multi-Tool Integration]]:语音接口通常需要 Calendar/Jira/Web Search 等多工具配合才能提供完整价值
## Sources
- [[phone-based-personal-assistant]]

View File

@@ -0,0 +1,122 @@
---
title: "内网穿透"
type: concept
aliases: [NAT穿透, 内网访问, 穿透技术]
tags: [network, tunneling, infrastructure]
---
# 内网穿透
## Definition
**内网穿透**NAT Traversal / Reverse Proxy Tunneling是一种使位于私有网络内网中的设备能够被公网访问的技术。家用网络设备通常位于 NAT网络地址转换后面无法直接接收公网连接内网穿透通过在公网服务器建立反向隧道来解决这一问题。
## Core Principle
传统正向代理:客户端 → 公网代理服务器 → 目标服务器
内网穿透(反向隧道):公网服务器 → 反向隧道 → 内网客户端
```
Internet
│ ← 发起连接(公网)
┌───────────────┐
│ VPS (公网) │
│ frps/Caddy │
└───────┬───────┘
│ ← 反向隧道建立
┌───────────────┐
│ 内网机器 (frpc) │
│ 192.168.x.x │
└───────────────┘
```
## Common Tools
| 工具 | 协议 | 特点 | 适用场景 |
|------|------|------|---------|
| **frp** | TCP/UDP/HTTP | 高性能、支持 Dashboard | 多服务穿透 |
| **ngrok** | TCP/HTTP | 简单易用、托管服务 | 临时测试 |
| **natapp** | TCP/HTTP | 国内服务 | 国内访问 |
| **花生壳** | TCP/HTTP | 老牌、商业化 | 企业用户 |
| **ZeroTier** | VPN | 虚拟局域网 | 远程办公 |
## frp 实现方案
### 架构组件
1. **frps (Server)**:部署在公网 VPS监听端口默认 7000
2. **frpc (Client)**:部署在内网机器,主动连接 frps
### 典型配置流程
1. VPS 安装 frps配置 systemd 服务
2. 内网机器安装 frpc配置连接参数
3. frpc 配置端口映射local_port → remote_port
4. Caddy/Nginx 在 VPS 做反向代理
### 映射示例
```ini
# frpc.ini
[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 15000
```
### 完整访问链路
```
用户浏览器 → https://nas.domain.com
阿里云 DNS → VPS 公网 IP
Caddy (443) → reverse_proxy 127.0.0.1:15000
frps 在 VPS :15000 监听
frp 隧道
frpc 在内网 :5000 监听
NAS Web UI
```
## Security Considerations
### 认证保护
- frps 配置 `token` 与 frpc 匹配
- Caddy 可添加 HTTP Basic Auth
- 使用非标准端口避免扫描
### 访问控制
```bash
# UFW 防火墙限制来源 IP
sudo ufw allow from <your_home_ip> to any port 60022 proto tcp
```
### SSH 安全
```bash
# 使用公钥认证,禁用密码
# 编辑 /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
```
## Trade-offs
| 优势 | 劣势 |
|------|------|
| 无需公网 IP | 依赖 VPS 稳定性 |
| 支持任意 TCP/UDP 服务 | 增加延迟 |
| 可绑定独立域名 | 需要维护 frps/frpc |
| 成本低(月付几美元 VPS | 安全配置复杂 |
## Related Concepts
- [[frp]] — 实现内网穿透的工具
- [[反向代理]] — 内网穿透的上层组件
- [[TCP 隧道]] — 内网穿透的底层机制
- [[VPS]] — 内网穿透的公网中转站
- [[Let's Encrypt]] — 自动 HTTPS 证书
## References
- frp 官方文档: https://gofrp.org/docs/

View File

@@ -0,0 +1,149 @@
---
title: "反向代理"
type: concept
aliases: [Reverse Proxy, 反向代理服务器]
tags: [network, proxy, infrastructure, web-server]
---
# 反向代理
## Definition
**反向代理**Reverse Proxy是一种服务器架构模式代理服务器位于客户端与源服务器之间代表源服务器接收客户端请求并对请求进行转发、负载均衡或缓存。与正向代理代理客户端不同反向代理对客户端透明客户端不知道真实服务器的存在。
## Architecture
```
┌─────────────────────────────────────┐
│ Reverse Proxy │
│ (Caddy / Nginx / Apache) │
│ │
Client Request → │ example.com → localhost:8080 │
(隐藏真实服务器) │ api.example.com → localhost:3000 │
└──────────────┬──────────────────────┘
┌──────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Server 1 │ │ Server 2 │ ... │ Server N │
│ :8080 │ │ :3000 │ │ :5000 │
└──────────┘ └──────────┘ └──────────┘
```
## Common Use Cases
### 1. 多服务域名复用
单台 VPS 通过不同子域名代理到不同内网服务:
```
nas.ishenwei.online → 127.0.0.1:15000 (NAS)
n8n.ishenwei.online → 127.0.0.1:15678 (n8n)
grafana.ishenwei.online → 127.0.0.1:13000 (Grafana)
```
### 2. 自动 HTTPS
反向代理自动处理 SSL 证书申请和续期:
```
Caddy: 自动从 Let's Encrypt 获取证书
Nginx: 需要手动配置 certbot
```
### 3. 负载均衡
```
upstream backend {
server 192.168.1.10:8080;
server 192.168.1.11:8080;
server 192.168.1.12:8080;
}
```
### 4. 缓存加速
静态资源缓存,减少源服务器负载:
```
location /static/ {
proxy_cache_valid 200 60m;
proxy_cache_use_stale error timeout updating;
}
```
## Comparison of Tools
| 工具 | 语言 | 配置复杂度 | 自动 HTTPS | 内存占用 | 适用场景 |
|------|------|-----------|------------|----------|---------|
| **Caddy** | Go | ⭐ 简单 | ✅ 内置 | ~20MB | 个人/小型服务 |
| **Nginx** | C | ⭐⭐⭐ 中等 | 需配置 | ~5MB | 生产环境 |
| **Traefik** | Go | ⭐⭐ 简单 | ✅ 内置 | ~50MB | 容器编排 |
| **Apache** | C | ⭐⭐⭐⭐ 复杂 | 需配置 | ~50MB | 传统企业 |
## Caddy Configuration
### 基本反向代理
```caddyfile
example.com {
reverse_proxy localhost:8080
}
```
### 多域名代理
```caddyfile
nas.ishenwei.online {
reverse_proxy 127.0.0.1:15000
}
n8n.ishenwei.online {
reverse_proxy 127.0.0.1:15678
}
```
### 带路径重写
```caddyfile
example.com/api/* {
rewrite /api
reverse_proxy localhost:3000
}
```
### 带负载均衡
```caddyfile
example.com {
reverse_proxy localhost:8080 localhost:8081 localhost:8082 {
lb_policy round_robin
}
}
```
## Integration with frp
典型架构frp 隧道 → 反向代理 → 自动 HTTPS
```
┌──────────────────────────────────────────────────────────┐
│ VPS │
│ │
│ Internet → :443 → Caddy (反向代理) → 127.0.0.1:15000 │
│ ↓ │
│ frps 监听 :15000 │
│ ↓ │
│ frp 隧道 │
└──────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ 内网机器 │
│ │
│ frpc 连接 VPS:7000 │
│ ↓ │
│ frpc 映射 localhost:5000 → VPS:15000 │
│ ↓ │
│ NAS Web UI (5000端口) │
└──────────────────────────────────────────────────────────┘
```
## Related Concepts
- [[Caddy]] — 自动 HTTPS 的反向代理工具
- [[内网穿透]] — 反向代理在内网服务访问中的应用
- [[TCP 隧道]] — 反向代理的底层机制之一
- [[Let's Encrypt]] — 自动 HTTPS 证书来源
- [[负载均衡]] — 反向代理的高级功能
## References
- Caddy: https://caddyserver.com/docs/
- Nginx: https://nginx.org/en/docs/

View File

@@ -0,0 +1,47 @@
# 桥接网络
## Type
- Concept
## Definition
桥接网络Bridge Network是 Docker 的默认网络模式,每个容器连接到宿主机上的 `docker0` 网桥,容器之间通过内部 Docker 网络通信,外部流量通过端口映射(-p访问。
## Mechanism
### 工作原理
```
宿主机网络
docker0 网桥 (172.17.0.1)
├── 容器A (172.17.0.2) ←→ 容器B (172.17.0.3)
└── 容器C (172.17.0.4)
```
### Docker Compose 配置
```yaml
network_mode: bridge # 使用 Docker 默认桥接网络
```
### 与 host 网络模式对比
| 特性 | bridge桥接 | host主机 |
|------|---------------|-------------|
| 网络命名空间 | 独立 | 共享宿主机 |
| 端口映射 | ✅ 支持 | ❌ 被忽略 |
| 网络隔离 | ✅ 容器间隔离 | ❌ 无隔离 |
| 性能 | 轻微NAT开销 | 最优(直接访问) |
| 适用场景 | Web服务、数据库 | 网络监控、代理 |
## Key Claims
- bridge 模式是 Docker 默认网络模式,无需显式配置
- 容器通过 docker0 网桥与宿主机和互联网通信
- 端口映射(-p在 bridge 模式下生效,将容器端口暴露到宿主机
- 容器间通过 DNS 自动解析服务名通信(同 docker-compose 服务名)
## Relationship to [[端口映射]]
[[端口映射]] 是桥接网络模式的核心能力——通过 iptables NAT 规则将容器端口转发到宿主机,实现外部访问。
## Relationship to [[LinuxServer.io]]
LinuxServer.io 所有官方 Docker 镜像默认使用 `network_mode: bridge`,这是其标准化配置模式的一部分,确保端口映射正常工作。
## Sources
- [[用docker安装transmission]]

View File

@@ -0,0 +1,43 @@
# 端口映射
## Type
- Concept
## Definition
端口映射Port Mapping是 Docker 容器网络配置的核心机制,通过 `-p host:container` 语法将容器内部端口暴露到宿主机网络,使得外部流量可以通过宿主机 IP:端口 访问容器内的服务。
## Mechanism
### 基本语法
```yaml
ports:
- "9091:9091" # host:containerTCP
- "51413:51413/udp" # 支持协议指定
```
### 映射规则
| 格式 | 说明 | 适用场景 |
|------|------|---------|
| `host:container` | 指定宿主机和容器端口 | 生产环境 |
| `host:container/protocol` | 指定协议TCP/UDP | BT下载、语音等 |
| `:container` | 宿主机随机端口 | 开发环境 |
| `host-ip:host:container` | 绑定特定IP | 多网卡服务器 |
## Key Claims
- Docker 通过 iptables 规则在宿主机层面实现端口映射转发
- 桥接网络bridge模式下端口映射生效host 网络模式下端口映射被忽略
- 容器重启后端口映射保持(配置持久化在 Docker daemon
- 宿主机端口冲突会导致容器启动失败
## Relationship to [[桥接网络]]
端口映射是 [[桥接网络]] 模式的核心功能:
- **host 网络模式**:容器直接共享宿主机网络命名空间,端口映射无效(服务直接在宿主机端口监听)
- **bridge 网络模式**(默认):容器有独立网络命名空间,通过 NAT 规则实现端口映射访问
## Relationship to [[Transmission]]
Transmission 依赖端口映射实现两个关键功能:
- Web UI 访问:`9091:9091` → 用户通过浏览器访问 http://host:9091
- BT Peer 通信:`51413:51413` + `51413:51413/udp` → 其他BT客户端发现并连接
## Sources
- [[用docker安装transmission]]