diff --git a/AGENTS.md b/AGENTS.md index 1fe5a04..439bc41 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,73 +1,74 @@ -# LLM Wiki Agent — Schema & Workflow Instructions +# LLM Wiki Agent — 结构与工作流说明 -This wiki is maintained entirely by your coding agent. No API key or Python scripts needed — just open this repo in Codex, OpenCode, or any agent that reads this file, and talk to it. +本 Wiki 完全由编码代理(agent)维护。无需 API Key 或 Python 脚本 —— 只需在 Codex、OpenCode 或任何能读取本文件的 agent 中打开此仓库,直接用自然语言交互即可。 -## How to Use +## 使用方式 -Describe what you want in plain English: -- *"Ingest this file: raw/papers/my-paper.md"* -- *"What does the wiki say about transformer models?"* -- *"Check the wiki for orphan pages and contradictions"* -- *"Build the knowledge graph"* +用自然语言描述你的需求: +- *"摄取这个文件:raw/papers/my-paper.md"* +- *"Wiki 里关于 transformer 模型说了什么?"* +- *"检查 Wiki 中的孤立页面和冲突内容"* +- *"构建知识图谱"* -Or use shorthand triggers: -- `ingest ` → runs the Ingest Workflow -- `query: ` → runs the Query Workflow -- `lint` → runs the Lint Workflow -- `build graph` → runs the Graph Workflow +或使用快捷触发词: +- `ingest ` → 执行摄取工作流 +- `query: <问题>` → 执行查询工作流 +- `lint` → 执行检查工作流 +- `build graph` → 执行图谱构建工作流 --- -## Directory Layout +## 目录结构 ``` -raw/ # Immutable source documents — never modify these -wiki/ # Agent owns this layer entirely - index.md # Catalog of all pages — update on every ingest - log.md # Append-only chronological record - overview.md # Living synthesis across all sources - sources/ # One summary page per source document - entities/ # People, companies, projects, products - concepts/ # Ideas, frameworks, methods, theories - syntheses/ # Saved query answers -graph/ # Auto-generated graph data -tools/ # Optional standalone Python scripts (require ANTHROPIC_API_KEY) +raw/ # 不可变的原始文档 —— 永远不要修改这里的内容 +wiki/ # Agent 完全负责维护的知识层 + index.md # 所有页面的目录 —— 每次摄取后必须更新 + log.md # 只追加的时间线记录 + overview.md # 跨所有来源的动态综合摘要 + sources/ # 每个原始文档对应一个摘要页 + entities/ # 人物、公司、项目、产品 + concepts/ # 想法、框架、方法、理论 + syntheses/ # 保存的查询答案 +graph/ # 自动生成的图谱数据 +tools/ # 可选的独立 Python 脚本(需要 ANTHROPIC_API_KEY) ``` --- -## Page Format +## 页面格式 -Every wiki page uses this frontmatter: +每个 Wiki 页面都使用以下 frontmatter: ```yaml --- -title: "Page Title" +title: "页面标题" type: source | entity | concept | synthesis tags: [] -sources: [] # list of source slugs that inform this page +sources: [] # 支撑本页面的来源 slug 列表 last_updated: YYYY-MM-DD --- ``` -Use `[[PageName]]` wikilinks to link to other wiki pages. +使用 `[[页面名]]` 格式的 wikilink 链接到其他 Wiki 页面。 --- -## Ingest Workflow +## 摄取工作流(Ingest Workflow) -Triggered by: *"ingest "* +触发方式:*"ingest "* -Steps (in order): -1. Read the source document fully -2. Read `wiki/index.md` and `wiki/overview.md` for current wiki context -3. Write `wiki/sources/.md` — use the source page format below -4. Update `wiki/index.md` — add entry under Sources section -5. Update `wiki/overview.md` — revise synthesis if warranted -6. Update/create entity pages for key people, companies, projects mentioned -7. Update/create concept pages for key ideas and frameworks discussed -8. Flag any contradictions with existing wiki content -9. Append to `wiki/log.md`: `## [YYYY-MM-DD] ingest | ` +### 执行步骤(严格顺序) + +1. 使用 Read 工具完整读取待摄取的source文档 +2. 读取 `wiki/index.md` 和 `wiki/overview.md`,了解当前 Wiki 上下文 +3. 生成 `wiki/sources/<slug>.md`(严格参照下方 Source Page Format) +4. 更新 `wiki/index.md`,在 Sources 节添加新条目(参照下方 Index 格式) +5. 更新 `wiki/overview.md`(如有必要则修订综合摘要) +6. 创建或更新提及的关键人物、公司、项目对应的 Entity 页面(参照下方 Entity(实体)) +7. 创建或更新讨论的关键想法和框架对应的 Concept 页面(参照下方 Concept(概念)) +8. 检测并记录与现有 Wiki 内容的冲突 +9. 追加 `wiki/log.md`(参照下方 Log Format(日志格式)) ### Source Page Format @@ -77,143 +78,174 @@ title: "Source Title" type: source tags: [] date: YYYY-MM-DD -source_file: raw/... --- -## Summary -2–4 sentence summary. +## Source File +- [[{{ $json.file.rel_path }}]] -## Key Claims -- Claim 1 -- Claim 2 +## Summary(用中文描述) +- 核心主题: +- 问题域: +- 方法/机制: +- 结论/价值: + +## Key Claims(用中文描述) +- (必须符合:主体 + 机制 + 结果) ## Key Quotes -> "Quote here" — context +> "引用内容" — 上下文说明 + +## Key Concepts +- [[ConceptName]]:定义 + +## Key Entities +- [[EntityName]]:角色说明 ## Connections -- [[EntityName]] — how they relate -- [[ConceptName]] — how it connects +- [[A]] ← depends_on ← [[B]] +- [[C]] ← extends ← [[D]] ## Contradictions -- Contradicts [[OtherPage]] on: ... +- 与 [[OtherPage]] 冲突: + - 冲突点: + - 当前观点: + - 对方观点: ``` +--- -### Domain-Specific Templates +## Entity 与 Concept 规则 -If the source falls into a specific domain (e.g., personal diary, meeting notes), the agent should use a specialized template instead of the default generic one above: +### Entity(实体) + +**创建条件:** +- 出现 ≥ 2 次,或 +- 对主题有关键影响 + +**类型:** 人 / 公司 / 产品 / 项目 + +--- + +### Concept(概念) + +**创建条件:** +- 可抽象 +- 可复用 +- 非具体实例 + +--- + +### 命名规范(强制) + +- 使用唯一标准名称 +- 所有别名写入页面: -#### Diary / Journal Template ```markdown ---- -title: "YYYY-MM-DD Diary" -type: source -tags: [diary] -date: YYYY-MM-DD ---- -## Event Summary -... -## Key Decisions -... -## Energy & Mood -... -## Connections -... -## Shifts & Contradictions -... -``` - -#### Meeting Notes Template -```markdown ---- -title: "Meeting Title" -type: source -tags: [meeting] -date: YYYY-MM-DD ---- -## Goal -... -## Key Discussions -... -## Decisions Made -... -## Action Items -... +## Aliases +- GPT4 +- GPT-4 ``` --- -## Query Workflow +### 去重机制(必须) -Triggered by: *"query: <question>"* - -Steps: -1. Read `wiki/index.md` to identify relevant pages -2. Read those pages -3. Synthesize an answer with inline citations as `[[PageName]]` wikilinks -4. Ask the user if they want the answer filed as `wiki/syntheses/<slug>.md` +创建前必须: +1. 搜索 index +2. 判断是否已存在同名/近义页面 +3. 存在则更新,不存在再新建 --- -## Lint Workflow +## 查询工作流(Query Workflow) -Triggered by: *"lint"* +触发方式:*"query: <问题>"* -Check for: -- **Orphan pages** — wiki pages with no inbound `[[links]]` from other pages -- **Broken links** — `[[WikiLinks]]` pointing to pages that don't exist -- **Contradictions** — claims that conflict across pages -- **Stale summaries** — pages not updated after newer sources -- **Missing entity pages** — entities mentioned in 3+ pages but lacking their own page -- **Data gaps** — questions the wiki can't answer; suggest new sources - -Output a lint report and ask if the user wants it saved to `wiki/lint-report.md`. +步骤: +1. 读取 `wiki/index.md`,确定相关页面 +2. 读取这些页面的内容 +3. 综合生成答案,并以 `[[页面名]]` wikilink 形式内联引用来源 +4. 询问用户是否将答案保存为 `wiki/syntheses/<slug>.md` --- -## Graph Workflow +## 检查工作流(Lint Workflow) -Triggered by: *"build graph"* +触发方式:*"lint"* -First try: `python tools/build_graph.py --open` +检查项目: +- **孤立页面** —— 没有任何其他页面通过 `[[links]]` 指向它的 Wiki 页面 +- **断链** —— `[[WikiLinks]]` 指向不存在的页面 +- **内容冲突** —— 跨页面存在相互矛盾的论点 +- **过时摘要** —— 有更新来源后未同步更新的页面 +- **缺失 Entity 页面** —— 在 3 个以上页面中被提及但没有独立页面的实体 +- **数据缺口** —— Wiki 无法回答的问题,建议补充新来源 -If Python/deps unavailable, build manually: -1. Search for all `[[wikilinks]]` across wiki pages -2. Build nodes (one per page) and edges (one per link) -3. Infer implicit relationships not captured by wikilinks — tag `INFERRED` with confidence score; low confidence → `AMBIGUOUS` -4. Write `graph/graph.json` with `{nodes, edges, built: date}` -5. Write `graph/graph.html` as a self-contained vis.js visualization +输出检查报告,并询问用户是否保存为 `wiki/lint-report.md`。 --- -## Naming Conventions +## 图谱构建工作流(Graph Workflow) -- Source slugs: `kebab-case` matching source filename -- Entity pages: `TitleCase.md` (e.g. `OpenAI.md`, `SamAltman.md`) -- Concept pages: `TitleCase.md` (e.g. `ReinforcementLearning.md`, `RAG.md`) +触发方式:*"build graph"* -## Index Format +优先尝试:`python tools/build_graph.py --open` + +若 Python/依赖不可用,则手动构建: +1. 搜索所有 Wiki 页面中的 `[[wikilinks]]` +2. 构建节点(每页一个)和边(每个链接一条) +3. 推断 wikilink 未捕获的隐式关系 —— 标记为 `INFERRED` 并附置信度;低置信度 → `AMBIGUOUS` +4. 写入 `graph/graph.json`,格式:`{nodes, edges, built: date}` +5. 写入 `graph/graph.html`,作为独立的 vis.js 可视化文件 + +--- + +## 命名规范 + +- Source slug:`kebab-case`,与源文件名保持一致 +- Entity 页面:`TitleCase.md`(如 `OpenAI.md`、`SamAltman.md`) +- Concept 页面:`TitleCase.md`(如 `ReinforcementLearning.md`、`RAG.md`) + +## Index 格式 ```markdown # Wiki Index ## Overview -- [Overview](overview.md) — living synthesis +- [Overview](overview.md) — 动态综合摘要 ## Sources -- [Source Title](sources/slug.md) — one-line summary +- [来源标题](sources/slug.md) — 一行摘要 ## Entities -- [Entity Name](entities/EntityName.md) — one-line description +- [实体名称](entities/EntityName.md) — 一行描述 ## Concepts -- [Concept Name](concepts/ConceptName.md) — one-line description +- [概念名称](concepts/ConceptName.md) — 一行描述 ## Syntheses -- [Analysis Title](syntheses/slug.md) — what question it answers +- [分析标题](syntheses/slug.md) — 回答了什么问题 ``` -## Log Format +## Log Format(日志格式) -`## [YYYY-MM-DD] <operation> | <title>` +``` +## [YYYY-MM-DD] ingest | 标题 +- Source file: {{ $json.file.rel_path }} +- Status: ✅ 成功摄入 +- Summary: +- Concepts created: xxx, xxx +- Source page: {{ $json.file.source_path }} +- Notes: +``` -Operations: `ingest`, `query`, `lint`, `graph` +操作类型:`ingest`、`query`、`lint`、`graph` + +--- + +## 最终目标 + +该系统用于: +- 知识沉淀 +- 结构化理解 +- 自动图谱构建 +- Agent 推理支持 diff --git a/AGENTS.md.bak b/AGENTS.md.bak new file mode 100644 index 0000000..1fe5a04 --- /dev/null +++ b/AGENTS.md.bak @@ -0,0 +1,219 @@ +# LLM Wiki Agent — Schema & Workflow Instructions + +This wiki is maintained entirely by your coding agent. No API key or Python scripts needed — just open this repo in Codex, OpenCode, or any agent that reads this file, and talk to it. + +## How to Use + +Describe what you want in plain English: +- *"Ingest this file: raw/papers/my-paper.md"* +- *"What does the wiki say about transformer models?"* +- *"Check the wiki for orphan pages and contradictions"* +- *"Build the knowledge graph"* + +Or use shorthand triggers: +- `ingest <file>` → runs the Ingest Workflow +- `query: <question>` → runs the Query Workflow +- `lint` → runs the Lint Workflow +- `build graph` → runs the Graph Workflow + +--- + +## Directory Layout + +``` +raw/ # Immutable source documents — never modify these +wiki/ # Agent owns this layer entirely + index.md # Catalog of all pages — update on every ingest + log.md # Append-only chronological record + overview.md # Living synthesis across all sources + sources/ # One summary page per source document + entities/ # People, companies, projects, products + concepts/ # Ideas, frameworks, methods, theories + syntheses/ # Saved query answers +graph/ # Auto-generated graph data +tools/ # Optional standalone Python scripts (require ANTHROPIC_API_KEY) +``` + +--- + +## Page Format + +Every wiki page uses this frontmatter: + +```yaml +--- +title: "Page Title" +type: source | entity | concept | synthesis +tags: [] +sources: [] # list of source slugs that inform this page +last_updated: YYYY-MM-DD +--- +``` + +Use `[[PageName]]` wikilinks to link to other wiki pages. + +--- + +## Ingest Workflow + +Triggered by: *"ingest <file>"* + +Steps (in order): +1. Read the source document fully +2. Read `wiki/index.md` and `wiki/overview.md` for current wiki context +3. Write `wiki/sources/<slug>.md` — use the source page format below +4. Update `wiki/index.md` — add entry under Sources section +5. Update `wiki/overview.md` — revise synthesis if warranted +6. Update/create entity pages for key people, companies, projects mentioned +7. Update/create concept pages for key ideas and frameworks discussed +8. Flag any contradictions with existing wiki content +9. Append to `wiki/log.md`: `## [YYYY-MM-DD] ingest | <Title>` + +### Source Page Format + +```markdown +--- +title: "Source Title" +type: source +tags: [] +date: YYYY-MM-DD +source_file: raw/... +--- + +## Summary +2–4 sentence summary. + +## Key Claims +- Claim 1 +- Claim 2 + +## Key Quotes +> "Quote here" — context + +## Connections +- [[EntityName]] — how they relate +- [[ConceptName]] — how it connects + +## Contradictions +- Contradicts [[OtherPage]] on: ... +``` + +### Domain-Specific Templates + +If the source falls into a specific domain (e.g., personal diary, meeting notes), the agent should use a specialized template instead of the default generic one above: + +#### Diary / Journal Template +```markdown +--- +title: "YYYY-MM-DD Diary" +type: source +tags: [diary] +date: YYYY-MM-DD +--- +## Event Summary +... +## Key Decisions +... +## Energy & Mood +... +## Connections +... +## Shifts & Contradictions +... +``` + +#### Meeting Notes Template +```markdown +--- +title: "Meeting Title" +type: source +tags: [meeting] +date: YYYY-MM-DD +--- +## Goal +... +## Key Discussions +... +## Decisions Made +... +## Action Items +... +``` + +--- + +## Query Workflow + +Triggered by: *"query: <question>"* + +Steps: +1. Read `wiki/index.md` to identify relevant pages +2. Read those pages +3. Synthesize an answer with inline citations as `[[PageName]]` wikilinks +4. Ask the user if they want the answer filed as `wiki/syntheses/<slug>.md` + +--- + +## Lint Workflow + +Triggered by: *"lint"* + +Check for: +- **Orphan pages** — wiki pages with no inbound `[[links]]` from other pages +- **Broken links** — `[[WikiLinks]]` pointing to pages that don't exist +- **Contradictions** — claims that conflict across pages +- **Stale summaries** — pages not updated after newer sources +- **Missing entity pages** — entities mentioned in 3+ pages but lacking their own page +- **Data gaps** — questions the wiki can't answer; suggest new sources + +Output a lint report and ask if the user wants it saved to `wiki/lint-report.md`. + +--- + +## Graph Workflow + +Triggered by: *"build graph"* + +First try: `python tools/build_graph.py --open` + +If Python/deps unavailable, build manually: +1. Search for all `[[wikilinks]]` across wiki pages +2. Build nodes (one per page) and edges (one per link) +3. Infer implicit relationships not captured by wikilinks — tag `INFERRED` with confidence score; low confidence → `AMBIGUOUS` +4. Write `graph/graph.json` with `{nodes, edges, built: date}` +5. Write `graph/graph.html` as a self-contained vis.js visualization + +--- + +## Naming Conventions + +- Source slugs: `kebab-case` matching source filename +- Entity pages: `TitleCase.md` (e.g. `OpenAI.md`, `SamAltman.md`) +- Concept pages: `TitleCase.md` (e.g. `ReinforcementLearning.md`, `RAG.md`) + +## Index Format + +```markdown +# Wiki Index + +## Overview +- [Overview](overview.md) — living synthesis + +## Sources +- [Source Title](sources/slug.md) — one-line summary + +## Entities +- [Entity Name](entities/EntityName.md) — one-line description + +## Concepts +- [Concept Name](concepts/ConceptName.md) — one-line description + +## Syntheses +- [Analysis Title](syntheses/slug.md) — what question it answers +``` + +## Log Format + +`## [YYYY-MM-DD] <operation> | <title>` + +Operations: `ingest`, `query`, `lint`, `graph` diff --git a/tools/manifest.json b/tools/manifest.json index 5a5c3ed..4a5addb 100644 --- a/tools/manifest.json +++ b/tools/manifest.json @@ -1,3636 +1,3596 @@ { "version": 1, - "updated_at": "2026-04-21T09:21:10.367458+00:00", + "updated_at": "2026-04-29T03:16:49.921700+00:00", "files": { "raw/Cloud & DevOps/DevOps Culture and Transformation Fostering Collaboration, Agile Practices, and Innovation LinkedIn.md": { - "hash": "98d028ad9e184a6f", - "modified": "2026-04-17T08:38:00.000000+00:00", + "hash": "b238e9f1dc40aeff", + "modified": "2026-04-26T04:35:50.760379+00:00", "slug": "devops-culture-and-transformation-fostering-collaboration-agile-practices-and-innovation-linkedin", "source_path": "wiki/sources/devops-culture-and-transformation-fostering-collaboration-agile-practices-and-innovation-linkedin.md", "ingested": true, - "ingested_at": "2026-04-17T12:00:59.862751+00:00" + "ingested_at": "2026-04-26T04:49:12.772485+00:00" }, "raw/Cloud & DevOps/Cloud DevOp Maturity - Guideline.md": { - "hash": "774d63a8ec237203", - "modified": "2026-04-14T04:28:42.625381+00:00", + "hash": "4642a48300ca3a67", + "modified": "2026-04-26T04:35:50.759687+00:00", "slug": "cloud-devop-maturity-guideline", "source_path": "wiki/sources/cloud-devop-maturity-guideline.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379603+00:00" + "ingested_at": "2026-04-26T05:03:00.519075+00:00" }, "raw/Cloud & DevOps/Cloud Maturity Model A Detailed Guide For Cloud Adoption.md": { - "hash": "2d43021d27ef4b81", - "modified": "2026-04-14T04:28:42.625606+00:00", + "hash": "c0ef13db902e4b65", + "modified": "2026-04-26T04:35:50.759923+00:00", "slug": "cloud-maturity-model-a-detailed-guide-for-cloud-adoption", "source_path": "wiki/sources/cloud-maturity-model-a-detailed-guide-for-cloud-adoption.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379656+00:00" + "ingested_at": "2026-04-26T05:20:32.918148+00:00" }, "raw/Cloud & DevOps/What I know about Cloud Service Delivery 1.md": { - "hash": "9a49f8a90a4e42e6", - "modified": "2026-04-14T04:28:42.631043+00:00", + "hash": "26f4e81228086926", + "modified": "2026-04-26T04:35:50.785066+00:00", "slug": "what-i-know-about-cloud-service-delivery-1", "source_path": "wiki/sources/what-i-know-about-cloud-service-delivery-1.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379697+00:00" + "ingested_at": "2026-04-26T05:34:12.747450+00:00" }, "raw/Cloud & DevOps/The Myths and Misconceptions About Cloud Computing LinkedIn.md": { - "hash": "676861a2484bde9c", - "modified": "2026-04-14T04:28:42.630679+00:00", + "hash": "e29e8f3733752d5b", + "modified": "2026-04-26T04:35:50.784650+00:00", "slug": "the-myths-and-misconceptions-about-cloud-computing-linkedin", "source_path": "wiki/sources/the-myths-and-misconceptions-about-cloud-computing-linkedin.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379743+00:00" + "ingested_at": "2026-04-26T05:49:25.106087+00:00" }, "raw/Cloud & DevOps/How Can a Multi Cloud Strategy Transform Your Business ROI.md": { - "hash": "fb0a605b96b5542a", - "modified": "2026-04-14T04:28:42.626851+00:00", + "hash": "3f4e639163b7586a", + "modified": "2026-04-26T04:35:50.761661+00:00", "slug": "how-can-a-multi-cloud-strategy-transform-your-business-roi", "source_path": "wiki/sources/how-can-a-multi-cloud-strategy-transform-your-business-roi.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379790+00:00" + "ingested_at": "2026-04-26T06:04:29.597532+00:00" }, "raw/Cloud & DevOps/DevOps Maturity Model From Traditional IT to Advanced DevOps.md": { - "hash": "289ab51b018f4a45", - "modified": "2026-04-19T10:52:41.091760", + "hash": "5e6ab61dcb36ad86", + "modified": "2026-04-26T04:35:50.761235+00:00", "slug": "devops-maturity-model-from-traditional-it-to-advanced-devops", "source_path": "wiki/sources/devops-maturity-model-from-traditional-it-to-advanced-devops.md", "ingested": true, - "ingested_at": "2026-04-19T07:17:49.771383" + "ingested_at": "2026-04-26T06:23:52.587620+00:00" }, "raw/Cloud & DevOps/How Agentic AI can help for Cloud DevOps.md": { - "hash": "a162132fee73fe08", - "modified": "2026-04-14T04:28:42.626625+00:00", + "hash": "f44f5bb49d6afaa6", + "modified": "2026-04-26T04:35:50.761433+00:00", "slug": "how-agentic-ai-can-help-for-cloud-devops", "source_path": "wiki/sources/how-agentic-ai-can-help-for-cloud-devops.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57.379887+00:00" + "ingested_at": "2026-04-26T06:31:46.578938+00:00" }, "raw/Cloud & DevOps/Public vs Private vs Hybrid Cloud Differences Explained.md": { - "hash": "c6ede072a779194e", - "modified": "2026-04-19T07:17:49.627597+00:00", + "hash": "64c05bfce45126db", + "modified": "2026-04-26T04:35:50.762022+00:00", "slug": "public-vs-private-vs-hybrid-cloud-differences-explained", "source_path": "wiki/sources/public-vs-private-vs-hybrid-cloud-differences-explained.md", "ingested": true, - "ingested_at": "2026-04-19T07:17:49.771394" + "ingested_at": "2026-04-26T06:47:36.918888+00:00" }, "raw/Cloud & DevOps/These 6 Linux apps let you monitor system resources in style.md": { - "hash": "a31075218ca6624e", - "modified": "2026-04-14T04:28:42.641312+00:00", + "hash": "1bf5481c07b4e54e", + "modified": "2026-04-26T04:35:50.784877+00:00", "slug": "these-6-linux-apps-let-you-monitor-system-resources-in-style", "source_path": "wiki/sources/these-6-linux-apps-let-you-monitor-system-resources-in-style.md", "ingested": true, - "ingested_at": "2026-04-16T06:20:57+00:00" + "ingested_at": "2026-04-26T07:04:11.171710+00:00" }, "raw/Cloud & DevOps/RTO vs RPO Key Differences for Modern Disaster Recovery.md": { - "hash": "eb9f9fab7e2875bd", - "modified": "2026-04-14T04:28:42.627898+00:00", + "hash": "293ad69accc078f5", + "modified": "2026-04-26T04:35:50.784103+00:00", "slug": "rto-vs-rpo-key-differences-for-modern-disaster-recovery", "source_path": "wiki/sources/rto-vs-rpo-key-differences-for-modern-disaster-recovery.md", "ingested": true, - "ingested_at": "2026-04-19T21:50:59.157646" + "ingested_at": "2026-04-26T07:19:00.477652+00:00" }, "raw/Cloud & DevOps/How to Simplify Multi-Account Deployments Monitoring Centralized Logs for AWS CloudFormation StackSets.md": { - "hash": "645ae40df1929090", - "modified": "2026-04-17T00:38:12.000000+00:00", + "hash": "ed35a9e27a6cd807", + "modified": "2026-04-26T04:35:50.761790+00:00", "slug": "how-to-simplify-multi-account-deployments-monitoring-centralized-logs-for-aws-cloudformation-stacksets", "source_path": "wiki/sources/how-to-simplify-multi-account-deployments-monitoring-centralized-logs-for-aws-cloudformation-stacksets.md", "ingested": true, - "ingested_at": "2026-04-19T17:00:00.000000" + "ingested_at": "2026-04-26T07:33:43.083618+00:00" }, "raw/Cloud & DevOps/Understanding Complete ITSM.md": { - "hash": "facc8888fc483b7d", - "modified": "2026-04-14T04:28:42.630861+00:00", + "hash": "a278b80b65f18c82", + "modified": "2026-04-26T04:35:50.784970+00:00", "slug": "understanding-complete-itsm", "source_path": "wiki/sources/understanding-complete-itsm.md", "ingested": true, - "ingested_at": "2026-04-19T07:27:03.812858" + "ingested_at": "2026-04-26T07:46:31.596321+00:00" }, "raw/Cloud & DevOps/What is DevSecOps Best Practices, Benefits, and Tools.md": { - "hash": "7fd7dfa7c2f41e4f", - "modified": "2026-04-14T04:28:42.631251+00:00", + "hash": "57241301da4207d1", + "modified": "2026-04-26T04:35:50.785460+00:00", "slug": "what-is-devsecops-best-practices-benefits-and-tools", "source_path": "wiki/sources/what-is-devsecops-best-practices-benefits-and-tools.md", "ingested": true, - "ingested_at": "2026-04-19T07:31:45.180984" + "ingested_at": "2026-04-26T08:07:09.462657+00:00" }, "raw/Cloud & DevOps/Cloud Operating Model Key Strategies and Best Practices.md": { - "hash": "2c8870c32cfff179", - "modified": "2026-04-20T00:00:00.000000+00:00", + "hash": "d1652b875b1147e8", + "modified": "2026-04-26T04:35:50.760274+00:00", "slug": "cloud-operating-model-key-strategies-and-best-practices", "source_path": "wiki/sources/cloud-operating-model-key-strategies-and-best-practices.md", "ingested": true, - "ingested_at": "2026-04-20T00:00:00.000000" + "ingested_at": "2026-04-26T08:21:32.213134+00:00" }, "raw/Home Office/用Docker中安装Navidrome.md": { - "hash": "7e044ac150fdd317", - "modified": "2026-04-14T04:28:42.637767+00:00", + "hash": "ebd6040191748bc3", + "modified": "2026-04-26T04:35:50.790610+00:00", "slug": "用docker中安装navidrome", "source_path": "wiki/sources/用docker中安装navidrome.md", "ingested": true, - "ingested_at": "2026-04-21T08:49:50.976806+00:00" + "ingested_at": "2026-04-26T08:34:31.952647+00:00" }, "raw/Home Office/Linux 运维必会的 150 个命令.md": { - "hash": "61346c95bc5fbd79", - "modified": "2026-04-14T04:28:42.633573+00:00", + "hash": "d959ac4a62dda940", + "modified": "2026-04-26T04:35:50.786488+00:00", "slug": "linux-运维必会的-150-个命令", "source_path": "wiki/sources/linux-运维必会的-150-个命令.md", "ingested": true, - "ingested_at": "2026-04-16T18:18:00+00:00" + "ingested_at": "2026-04-26T08:47:59.212141+00:00" }, "raw/Home Office/Ubuntu服务器通过rsync实现日常增量备份.md": { - "hash": "69f84bc7016520ea", - "modified": "2026-04-14T04:28:42.635110+00:00", + "hash": "838abd7428e27682", + "modified": "2026-04-26T04:35:50.788136+00:00", "slug": "ubuntu服务器通过rsync实现日常增量备份", "source_path": "wiki/sources/ubuntu服务器通过rsync实现日常增量备份.md", "ingested": true, - "ingested_at": "2026-04-16T10:49:47.382538+00:00" + "ingested_at": "2026-04-26T09:08:16.646187+00:00" }, "raw/Home Office/MySQL MariaDB 数据库详细信息.md": { - "hash": "381fe3ca28375c9d", - "modified": "2026-04-14T04:28:42.634159+00:00", + "hash": "bebdfc2d437a20f4", + "modified": "2026-04-26T04:35:50.787201+00:00", "slug": "mysql-mariadb-数据库详细信息", "source_path": "wiki/sources/mysql-mariadb-数据库详细信息.md", "ingested": true, - "ingested_at": null + "ingested_at": "2026-04-26T09:16:46.583751+00:00" }, "raw/Home Office/网件RAX50路由器刷梅林固件与科学上网插件安装教程.md": { - "hash": "3f74cf0329c90f73", - "modified": "2026-04-14T04:28:42.638931+00:00", + "hash": "6c568dd9f678b0ff", + "modified": "2026-04-26T04:35:50.791344+00:00", "slug": "网件rax50路由器刷梅林固件与科学上网插件安装教程", "source_path": "wiki/sources/网件rax50路由器刷梅林固件与科学上网插件安装教程.md", "ingested": true, - "ingested_at": "2026-04-16T19:15:00+00:00" + "ingested_at": "2026-04-26T09:34:33.306729+00:00" }, "raw/Home Office/RAX50 路由器 更新Merlin Clash订阅.md": { - "hash": "208231a844923a76", - "modified": "2026-04-14T04:28:42.634528+00:00", + "hash": "2f279697e8ced56f", + "modified": "2026-04-26T04:35:50.787395+00:00", "slug": "rax50-路由器-更新merlin-clash订阅", "source_path": "wiki/sources/rax50-路由器-更新merlin-clash订阅.md", "ingested": true, - "ingested_at": "2026-04-16T19:45:00.000000+00:00" + "ingested_at": "2026-04-26T09:46:58.744002+00:00" }, "raw/Home Office/用Docker安装transmission.md": { - "hash": "b2049f376576b7ed", - "modified": "2026-04-14T04:28:42.638683+00:00", + "hash": "349d21505c07a4ae", + "modified": "2026-04-26T04:35:50.791251+00:00", "slug": "用docker安装transmission", "source_path": "wiki/sources/用docker安装transmission.md", "ingested": true, - "ingested_at": "2026-04-16T20:04:28.677615" + "ingested_at": "2026-04-26T10:02:33.068464+00:00" }, "raw/Home Office/Ubuntu 24.04 enable SSH.md": { "hash": "d177933926ea9bd3", - "modified": "2026-04-14T04:28:42.634687+00:00", + "modified": "2026-04-27T12:02:52.433777+00:00", "slug": "ubuntu-24-04-enable-ssh", "source_path": "wiki/sources/ubuntu-24-04-enable-ssh.md", "ingested": true, - "ingested_at": "2026-04-16T12:20:33.662783" + "ingested_at": "2026-04-27T12:17:00.304739+00:00" }, "raw/Home Office/3X-UI Xray on BandwagonVPS.md": { - "hash": "2ac90a76e74e8558", - "modified": "2026-04-14T04:28:42.633206+00:00", + "hash": "844a3acee0b8da9d", + "modified": "2026-04-26T04:35:50.785676+00:00", "slug": "3x-ui-xray-on-bandwagonvps", "source_path": "wiki/sources/3x-ui-xray-on-bandwagonvps.md", "ingested": true, - "ingested_at": "2026-04-16T20:35:23.058060" + "ingested_at": "2026-04-26T10:34:27.233931+00:00" }, "raw/Home Office/Clonezilla对Ubuntu Server进行全盘镜像备份.md": { "hash": "642a1172d9b2253b", - "modified": "2026-04-14T04:28:42.633384+00:00", + "modified": "2026-04-27T12:02:52.433595+00:00", "slug": "clonezilla对ubuntu-server进行全盘镜像备份", "source_path": "wiki/sources/clonezilla对ubuntu-server进行全盘镜像备份.md", "ingested": true, - "ingested_at": "2026-04-16T20:49:52.636134" + "ingested_at": "2026-04-27T12:31:42.698623+00:00" }, "raw/Home Office/通过VPS+内网反向代理实现域名访问内网穿透.md": { - "hash": "e9ee82a0b9cd35f5", - "modified": "2026-04-14T04:28:42.633017+00:00", + "hash": "33e2cdbdf7df9fbf", + "modified": "2026-04-26T04:35:50.791591+00:00", "slug": "通过vps-内网反向代理实现域名访问内网穿透", "source_path": "wiki/sources/通过vps-内网反向代理实现域名访问内网穿透.md", "ingested": true, - "ingested_at": "2026-04-16T21:18:25.621255" + "ingested_at": "2026-04-26T11:14:56.673509+00:00" }, "raw/Home Office/用Docker安装it-tools.md": { - "hash": "326248da5f3890a1", - "modified": "2026-04-14T04:28:42.638520+00:00", + "hash": "398874f97940d57a", + "modified": "2026-04-26T04:35:50.791044+00:00", "slug": "用docker安装it-tools", "source_path": "wiki/sources/用docker安装it-tools.md", "ingested": true, - "ingested_at": "2026-04-16T21:33:28.709546" + "ingested_at": "2026-04-26T11:16:56.485268+00:00" }, "raw/Home Office/安装Ubuntu-24.04.2在HP Zbook工作站笔记本上.md": { "hash": "fb96fd5c75e86198", - "modified": "2026-04-14T04:28:42.637273+00:00", + "modified": "2026-04-27T12:02:52.434420+00:00", "slug": "安装ubuntu-24-04-2在hp-zbook工作站笔记本上", "source_path": "wiki/sources/安装ubuntu-24-04-2在hp-zbook工作站笔记本上.md", "ingested": true, - "ingested_at": "2026-04-16T21:49:31.152935" + "ingested_at": "2026-04-27T12:47:46.448993+00:00" }, "raw/Home Office/如何用指纹浏览器安全注册并订阅Claude Pro会员全攻略.md": { - "hash": "41d83e5d61e0a7ea", - "modified": "2026-04-14T04:28:42.637084+00:00", + "hash": "c6a0f9bc61ff4a16", + "modified": "2026-04-26T04:35:50.789822+00:00", "slug": "如何用指纹浏览器安全注册并订阅claude-pro会员全攻略", "source_path": "wiki/sources/如何用指纹浏览器安全注册并订阅claude-pro会员全攻略.md", "ingested": true, - "ingested_at": "2026-04-16T22:05:59.797346" + "ingested_at": "2026-04-26T11:52:52.277404+00:00" }, "raw/Home Office/如何判别你的Linux 服务器是 x64(也就是 x86_64)还是 ARM64.md": { - "hash": "1d83b500c34b5bb6", - "modified": "2026-04-14T04:28:42.636562+00:00", + "hash": "6609a072cb0ac841", + "modified": "2026-04-26T04:35:50.789385+00:00", "slug": "如何判别你的linux-服务器是-x64-也就是-x86_64-还是-arm64", "source_path": "wiki/sources/如何判别你的linux-服务器是-x64-也就是-x86_64-还是-arm64.md", "ingested": true, - "ingested_at": "2026-04-16T22:19:05.974847" + "ingested_at": "2026-04-26T12:02:21.040616+00:00" }, "raw/Home Office/在Synology NAS上安装CloudDrive2.md": { - "hash": "b09998b0b081a800", - "modified": "2026-04-14T04:28:42.635553+00:00", + "hash": "91162948606e966b", + "modified": "2026-04-26T04:35:50.788826+00:00", "slug": "在synology-nas上安装clouddrive2", "source_path": "wiki/sources/在synology-nas上安装clouddrive2.md", "ingested": true, - "ingested_at": "2026-04-16T22:35:44.636243" + "ingested_at": "2026-04-26T12:18:16.905773+00:00" }, "raw/Home Office/Mac Mini 安装 FRP 0.65.0(ARM64)操作笔记.md": { - "hash": "6d4ddaefa0866e8a", - "modified": "2026-04-14T04:28:42.639496+00:00", + "hash": "a3f6aafa3bd30118", + "modified": "2026-04-26T04:35:50.786622+00:00", "slug": "mac-mini-安装-frp-0-65-0-arm64-操作笔记", "source_path": "wiki/sources/mac-mini-安装-frp-0-65-0-arm64-操作笔记.md", "ingested": true, - "ingested_at": "2026-04-16T22:59:39.918235" + "ingested_at": "2026-04-26T12:34:16.709807+00:00" }, "raw/Home Office/Ubuntu 安装 FRP 0.65.0(x86_64)操作笔记.md": { - "hash": "ef56d5ed56b45149", - "modified": "2026-04-14T07:57:38.088403+00:00", + "hash": "fbf5c5da8bc1c77e", + "modified": "2026-04-26T04:35:50.787821+00:00", "slug": "ubuntu-安装-frp-0-65-0-x86_64-操作笔记", "source_path": "wiki/sources/ubuntu-安装-frp-0-65-0-x86_64-操作笔记.md", "ingested": true, - "ingested_at": "2026-04-16T18:30:00+00:00", + "ingested_at": "2026-04-26T12:49:11.535721+00:00", "status": "completed", "last_ingest": "2026-04-16" }, "raw/Home Office/家庭监控方案:Prometheus + Grafana + Node Exporter + cAdvisor +Blackbox.md": { - "hash": "c4602c3a868c86d7", - "modified": "2026-04-14T04:28:42.637625+00:00", + "hash": "ba0b74f74981c613", + "modified": "2026-04-26T04:35:50.790284+00:00", "slug": "家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox", "source_path": "wiki/sources/家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox.md", "ingested": true, - "ingested_at": "2026-04-16T23:06:15.473816" + "ingested_at": "2026-04-26T13:05:05.514339+00:00" }, "raw/Home Office/如何在Ubuntu Server安装 docker & docker compose.md": { "hash": "99bbbff2a8581bcf", - "modified": "2026-04-14T04:28:42.636899+00:00", + "modified": "2026-04-27T12:02:52.434278+00:00", "slug": "如何在ubuntu-server安装-docker-docker-compose", "source_path": "wiki/sources/如何在ubuntu-server安装-docker-docker-compose.md", "ingested": true, - "ingested_at": "2026-04-16T23:19:32.308624" + "ingested_at": "2026-04-27T13:03:25.429629+00:00" }, "raw/Home Office/macOS 创建与解除 Symbolic Link(OpenClaw 目录映射).md": { - "hash": "a90f07eddb9386e2", - "modified": "2026-04-14T04:28:42.639896+00:00", + "hash": "a26d9622289e7b1a", + "modified": "2026-04-26T04:35:50.788632+00:00", "slug": "macos-创建与解除-symbolic-link-openclaw-目录映射", "source_path": "wiki/sources/macos-创建与解除-symbolic-link-openclaw-目录映射.md", "ingested": true, - "ingested_at": "2026-04-16T23:34:43.705242" + "ingested_at": "2026-04-26T13:34:23.259824+00:00" }, "raw/Home Office/NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers,彻底告别服务器.md": { - "hash": "e46b60a509111e53", - "modified": "2026-04-14T04:28:42.634366+00:00", + "hash": "c71a914f86332275", + "modified": "2026-04-26T04:35:50.787302+00:00", "slug": "nodewarden-把-bitwarden-搬上-cloudflare-workers-彻底告别服务器", "source_path": "wiki/sources/nodewarden-把-bitwarden-搬上-cloudflare-workers-彻底告别服务器.md", "ingested": true, - "ingested_at": "2026-04-16T23:49:57.800452" + "ingested_at": "2026-04-26T13:47:41.792431+00:00" }, "raw/Home Office/群晖NAS科学上网方法.md": { - "hash": "b2b72d996b1f833a", - "modified": "2026-04-14T04:28:42.639155+00:00", + "hash": "b78aa4a26ced43c4", + "modified": "2026-04-26T04:35:50.791476+00:00", "slug": "群晖nas科学上网方法", "source_path": "wiki/sources/群晖nas科学上网方法.md", "ingested": true, - "ingested_at": "2026-04-17T00:05:15.167122" + "ingested_at": "2026-04-26T14:06:24.593411+00:00" }, "raw/Home Office/MinIO + Zipline 自托管图床应用安装教程.md": { - "hash": "90ef2bfa1b048367", - "modified": "2026-04-14T04:28:42.633769+00:00", + "hash": "809a04e35662816c", + "modified": "2026-04-26T04:35:50.787116+00:00", "slug": "minio-zipline-自托管图床应用安装教程", "source_path": "wiki/sources/minio-zipline-自托管图床应用安装教程.md", "ingested": true, - "ingested_at": "2026-04-17T00:21:01.646743" + "ingested_at": "2026-04-26T14:16:49.185782+00:00" }, "raw/Home Office/Install Apache Superset in Docker.md": { - "hash": "8b90b4b286c8811b", - "modified": "2026-04-14T04:28:42.632123+00:00", + "hash": "de3215980cc80fad", + "modified": "2026-04-26T04:35:50.786179+00:00", "slug": "install-apache-superset-in-docker", "source_path": "wiki/sources/install-apache-superset-in-docker.md", "ingested": true, - "ingested_at": "2026-04-17T00:37:39.213681" + "ingested_at": "2026-04-26T14:34:01.915674+00:00" }, "raw/Home Office/安装v2rayN.md": { - "hash": "214c08b6c8dffd49", - "modified": "2026-04-14T04:28:42.637431+00:00", + "hash": "44ca73b49079252a", + "modified": "2026-04-26T04:35:50.790054+00:00", "slug": "安装v2rayn", "source_path": "wiki/sources/安装v2rayn.md", "ingested": true, - "ingested_at": "2026-04-17T01:02:23.236631" + "ingested_at": "2026-04-26T14:47:44.421288+00:00" }, "raw/Home Office/Ubuntu禁用合盖休眠.md": { "hash": "6cb276e1b8f4eced", - "modified": "2026-04-14T04:28:42.635411+00:00", + "modified": "2026-04-27T12:02:52.433862+00:00", "slug": "ubuntu禁用合盖休眠", "source_path": "wiki/sources/ubuntu禁用合盖休眠.md", "ingested": true, - "ingested_at": "2026-04-17T01:32:53.025070" + "ingested_at": "2026-04-27T13:16:52.697856+00:00" }, "raw/Home Office/Ubuntu Server科学上网.md": { - "hash": "24b3b7526b38be13", - "modified": "2026-04-14T04:28:42.634891+00:00", + "hash": "82fcb8aaedf16b59", + "modified": "2026-04-26T04:35:50.787594+00:00", "slug": "ubuntu-server科学上网", "source_path": "wiki/sources/ubuntu-server科学上网.md", "ingested": true, - "ingested_at": "2026-04-17T00:51:56.470696" + "ingested_at": "2026-04-26T15:17:11.033303+00:00" }, "raw/Home Office/用Docker安装Jellyfin.md": { - "hash": "f90730407562bd9a", - "modified": "2026-04-14T04:28:42.638241+00:00", + "hash": "e4cf71a6871ed500", + "modified": "2026-04-26T04:35:50.790876+00:00", "slug": "用docker安装jellyfin", "source_path": "wiki/sources/用docker安装jellyfin.md", "ingested": true, - "ingested_at": "2026-04-17T01:48:23.992936" + "ingested_at": "2026-04-26T15:31:19.353448+00:00" }, "raw/Home Office/用Docker安装Portainer.md": { - "hash": "8c62aa49517143de", - "modified": "2026-04-14T04:28:42.638377+00:00", + "hash": "bb194a8a8d2743cb", + "modified": "2026-04-26T04:35:50.790963+00:00", "slug": "用docker安装portainer", "source_path": "wiki/sources/用docker安装portainer.md", "ingested": true, - "ingested_at": "2026-04-17T02:03:21.555451" + "ingested_at": "2026-04-26T15:47:13.284298+00:00" }, "raw/Home Office/如何删除旧的废弃的docker container +volume.md": { - "hash": "b43ee45c99a63157", - "modified": "2026-04-14T04:28:42.636388+00:00", + "hash": "f890d40bfe752f18", + "modified": "2026-04-26T04:35:50.789288+00:00", "slug": "如何删除旧的废弃的docker-container-volume", "source_path": "wiki/sources/如何删除旧的废弃的docker-container-volume.md", "ingested": true, - "ingested_at": "2026-04-17T02:19:23.186411" + "ingested_at": "2026-04-26T16:03:11.990430+00:00" }, "raw/Home Office/家庭网络环境概览_2026-04-03.md": { "hash": "806348d84a0d70c2", - "modified": "2026-04-14T04:28:42.639325+00:00", + "modified": "2026-04-27T12:02:52.434546+00:00", "slug": "家庭网络环境概览_2026-04-03", "source_path": "wiki/sources/家庭网络环境概览_2026-04-03.md", "ingested": true, - "ingested_at": "2026-04-17T02:34:47.625083" + "ingested_at": "2026-04-27T13:36:27.142770+00:00" }, "raw/Home Office/Mac-Mini-服务器配置-防止自动锁屏与睡眠.md": { - "hash": "e6c46d51c60ce995", - "modified": "2026-04-14T04:28:42.632269+00:00", + "hash": "a694391551b3782a", + "modified": "2026-04-26T04:35:50.786825+00:00", "slug": "mac-mini-服务器配置-防止自动锁屏与睡眠", "source_path": "wiki/sources/mac-mini-服务器配置-防止自动锁屏与睡眠.md", "ingested": true, - "ingested_at": "2026-04-17T02:48:53.155198" + "ingested_at": "2026-04-26T16:32:12.922182+00:00" }, "raw/Home Office/用Docker安装Apache Superset.md": { - "hash": "32705dacc449d3ac", - "modified": "2026-04-14T04:28:42.637903+00:00", + "hash": "3addef344f2926fe", + "modified": "2026-04-26T04:35:50.790704+00:00", "slug": "用docker安装apache-superset", "source_path": "wiki/sources/用docker安装apache-superset.md", "ingested": true, - "ingested_at": "2026-04-17T02:55:00.000000+00:00" + "ingested_at": "2026-04-26T16:47:52.924674+00:00" }, "raw/Home Office/如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹.md": { - "hash": "017a164ee2b7e62d", - "modified": "2026-04-14T04:28:42.636751+00:00", + "hash": "daf8fed85e3ab6c6", + "modified": "2026-04-26T04:35:50.789596+00:00", "slug": "如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹", "source_path": "wiki/sources/如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹.md", "ingested": true, - "ingested_at": "2026-04-17T03:18:36.161598" + "ingested_at": "2026-04-26T17:04:56.270359+00:00" }, "raw/Home Office/在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透.md": { "hash": "a77d80a2ecdbfb37", - "modified": "2026-04-14T04:28:42.635894+00:00", + "modified": "2026-04-27T12:02:52.434180+00:00", "slug": "在ubuntu上通过vps-内网反向代理实现域名访问内网穿透", "source_path": "wiki/sources/在ubuntu上通过vps-内网反向代理实现域名访问内网穿透.md", "ingested": true, - "ingested_at": "2026-04-17T03:19:00.000000" + "ingested_at": "2026-04-27T13:47:22.283902+00:00" }, "raw/Home Office/用Docker安装Homarr.md": { - "hash": "199ad77602dbbe9d", - "modified": "2026-04-14T04:28:42.638050+00:00", + "hash": "a98e8685a4390693", + "modified": "2026-04-26T04:35:50.790786+00:00", "slug": "用docker安装homarr", "source_path": "wiki/sources/用docker安装homarr.md", "ingested": true, - "ingested_at": "2026-04-17T03:48:09.178821" + "ingested_at": "2026-04-26T17:32:20.005221+00:00" }, "raw/Home Office/Ubuntu用RustDesk远程登录出现不能使用Wayland登录的错误.md": { - "hash": "ae224f7dcd4c066e", - "modified": "2026-04-14T04:28:42.635266+00:00", + "hash": "253940229bf7263a", + "modified": "2026-04-26T04:35:50.788350+00:00", "slug": "ubuntu用rustdesk远程登录出现不能使用wayland登录的错误", "source_path": "wiki/sources/ubuntu用rustdesk远程登录出现不能使用wayland登录的错误.md", "ingested": true, - "ingested_at": "2026-04-17T04:04:30.150847" + "ingested_at": "2026-04-26T17:45:48.484031+00:00" }, "raw/Home Office/如何传输Docker images 并且在另一个Docker安装.md": { - "hash": "e52c4cc86983d03b", - "modified": "2026-04-17T00:38:12.844159+00:00", + "hash": "da294ad019000c53", + "modified": "2026-04-26T04:35:50.789186+00:00", "slug": "如何传输docker-images-并且在另一个docker安装", "source_path": "wiki/sources/如何传输docker-images-并且在另一个docker安装.md", "ingested": true, - "ingested_at": "2026-04-21T06:22:15.046269+00:00" + "ingested_at": "2026-04-26T18:03:26.296112+00:00" }, "raw/Vibe Coding/如何在Ubuntu上安装opencode并配置Vibe-Kanban.md": { "hash": "0d9c60e956a2d9be", - "modified": "2026-04-14T04:28:42.642441+00:00", + "modified": "2026-04-27T12:02:52.434665+00:00", "slug": "如何在ubuntu上安装opencode并配置vibe-kanban", "source_path": "wiki/sources/如何在ubuntu上安装opencode并配置vibe-kanban.md", "ingested": true, - "ingested_at": "2026-04-17T04:36:18.391532" + "ingested_at": "2026-04-27T14:09:29.899013+00:00" }, "raw/Vibe Coding/Cursor 2.0初学者使用指南.md": { - "hash": "b88ae08cb12bb556", - "modified": "2026-04-14T04:28:42.631617+00:00", + "hash": "7695911d51406250", + "modified": "2026-04-26T04:35:50.795689+00:00", "slug": "cursor-2-0初学者使用指南", "source_path": "wiki/sources/cursor-2-0初学者使用指南.md", "ingested": true, - "ingested_at": "2026-04-17T05:04:17.088040" + "ingested_at": "2026-04-26T18:32:51.125327+00:00" }, "raw/Vibe Coding/Trae远程开发部署指南.md": { - "hash": "2bbac5394e5cde69", - "modified": "2026-04-14T04:28:42.641571+00:00", + "hash": "b610f187289ffe18", + "modified": "2026-04-26T04:35:50.795790+00:00", "slug": "trae远程开发部署指南", "source_path": "wiki/sources/trae远程开发部署指南.md", "ingested": true, - "ingested_at": "2026-04-17T05:19:17.503422" + "ingested_at": "2026-04-26T18:47:05.523682+00:00" }, "raw/Vibe Coding/如何在项目里安装Claude-Code-Templates Skills.md": { - "hash": "a3eef07a886e8dd3", - "modified": "2026-04-14T04:28:42.642584+00:00", + "hash": "4b1aa8a235dc26cc", + "modified": "2026-04-26T04:35:50.796284+00:00", "slug": "如何在项目里安装claude-code-templates-skills", "source_path": "wiki/sources/如何在项目里安装claude-code-templates-skills.md", "ingested": true, - "ingested_at": "2026-04-17T05:33:17.810725" + "ingested_at": "2026-04-26T19:01:58.485374+00:00" }, "raw/Vibe Coding/vibe coding经验收集.md": { - "hash": "ac57cac0f90272dd", - "modified": "2026-04-14T04:28:42.642116+00:00", + "hash": "aff1661fe3fad2a4", + "modified": "2026-04-26T04:35:50.795990+00:00", "slug": "vibe-coding经验收集", "source_path": "wiki/sources/vibe-coding经验收集.md", "ingested": true, - "ingested_at": "2026-04-17T05:53:29.715474" + "ingested_at": "2026-04-26T19:17:07.264992+00:00" }, "raw/Vibe Coding/Vibe-Kanban + OpenCode 在 Ubuntu Server 上安装与管理指南.md": { - "hash": "2202f82d84a7c74c", - "modified": "2026-04-14T04:28:42.641963+00:00", + "hash": "c7b99733579ea448", + "modified": "2026-04-26T04:35:50.795903+00:00", "slug": "vibe-kanban-opencode-在-ubuntu-server-上安装与管理指南", "source_path": "wiki/sources/vibe-kanban-opencode-在-ubuntu-server-上安装与管理指南.md", "ingested": true, - "ingested_at": "2026-04-17T06:06:08.562565" + "ingested_at": "2026-04-26T19:33:04.997351+00:00" }, "raw/Vibe Coding/在Ubuntu上安装Vibe-Kanban.md": { - "hash": "0abce71f2148a196", - "modified": "2026-04-14T04:28:42.642276+00:00", + "hash": "4017cc46afc04d7b", + "modified": "2026-04-26T04:35:50.796098+00:00", "slug": "在ubuntu上安装vibe-kanban", "source_path": "wiki/sources/在ubuntu上安装vibe-kanban.md", "ingested": true, - "ingested_at": "2026-04-17T06:17:05.704445" + "ingested_at": "2026-04-26T19:47:51.040737+00:00" }, "raw/Vibe Coding/开发经验与项目规范整理文档.md": { - "hash": "8e5dec842bc0d193", - "modified": "2026-04-14T04:28:42.643879+00:00", + "hash": "b9af9e1ad73aabe7", + "modified": "2026-04-26T04:35:50.796381+00:00", "slug": "开发经验与项目规范整理文档", "source_path": "wiki/sources/开发经验与项目规范整理文档.md", "ingested": true, - "ingested_at": "2026-04-17T06:33:10.914731" + "ingested_at": "2026-04-26T20:03:26.178621+00:00" }, "raw/Others/ChinaTextbook - 41.53 GB,中国小学、初中、高中、大学 PDF 教材.md": { - "hash": "5c3fd15d1a515ce2", - "modified": "2026-04-14T04:28:42.625118+00:00", + "hash": "84390f768a0340c5", + "modified": "2026-04-26T04:35:50.791699+00:00", "slug": "chinatextbook-41-53-gb-中国小学-初中-高中-大学-pdf-教材", "source_path": "wiki/sources/chinatextbook-41-53-gb-中国小学-初中-高中-大学-pdf-教材.md", "ingested": true, - "ingested_at": "2026-04-17T06:49:18.486581" + "ingested_at": "2026-04-26T20:18:01.845532+00:00" }, "raw/Others/Obsidian Tasks 插件:这可能是最适合懒人的任务管理方式.md": { - "hash": "7aacfa3042ca803e", - "modified": "2026-04-14T04:28:42.623414+00:00", + "hash": "6ec4a15d5a60d4ea", + "modified": "2026-04-26T04:35:50.792010+00:00", "slug": "obsidian-tasks-插件-这可能是最适合懒人的任务管理方式", "source_path": "wiki/sources/obsidian-tasks-插件-这可能是最适合懒人的任务管理方式.md", "ingested": true, - "ingested_at": "2026-04-17T07:05:00.716974" + "ingested_at": "2026-04-26T20:37:38.316740+00:00" }, "raw/Others/Obsidian最有必要安装的10款插件是这些.md": { - "hash": "a76fc438b8a16992", - "modified": "2026-04-14T04:28:42.623793+00:00", + "hash": "3456186019f0e98b", + "modified": "2026-04-26T04:35:50.792208+00:00", "slug": "obsidian最有必要安装的10款插件是这些", "source_path": "wiki/sources/obsidian最有必要安装的10款插件是这些.md", "ingested": true, - "ingested_at": "2026-04-17T07:19:01.672185" + "ingested_at": "2026-04-26T20:50:18.945024+00:00" }, "raw/Others/Obsidian 高效指南:我常用的插件与实用技巧.md": { - "hash": "0641eba8de398556", - "modified": "2026-04-14T04:28:42.623596+00:00", + "hash": "8ea0181cb3a3d0e0", + "modified": "2026-04-26T04:35:50.792107+00:00", "slug": "obsidian-高效指南-我常用的插件与实用技巧", "source_path": "wiki/sources/obsidian-高效指南-我常用的插件与实用技巧.md", "ingested": true, - "ingested_at": "2026-04-17T08:04:35.881000" + "ingested_at": "2026-04-26T21:03:12.973586+00:00" }, "raw/Others/Dataview——让我从“笔记黑洞”里逃出来的 Obsidian 神器 1.md": { - "hash": "de771b8afad4115e", - "modified": "2026-04-14T04:28:42.623210+00:00", + "hash": "b90dba25617e3bb4", + "modified": "2026-04-26T04:35:50.791809+00:00", "slug": "dataview-让我从“笔记黑洞”里逃出来的-obsidian-神器-1", "source_path": "wiki/sources/dataview-让我从“笔记黑洞”里逃出来的-obsidian-神器-1.md", "ingested": true, - "ingested_at": "2026-04-17T08:19:44.596275" + "ingested_at": "2026-04-26T21:19:31.947779+00:00" }, "raw/Others/TikTok PM - Python Django Project.md": { - "hash": "407a1660227649b7", - "modified": "2026-04-14T04:28:42.640772+00:00", + "hash": "29919bbb0a6b001a", + "modified": "2026-04-26T04:35:50.792719+00:00", "slug": "tiktok-pm-python-django-project", "source_path": "wiki/sources/tiktok-pm-python-django-project.md", "ingested": true, - "ingested_at": "2026-04-17T08:34:35.790451" + "ingested_at": "2026-04-26T21:32:18.438524+00:00" }, "raw/Others/How to get Youtube Channel ID.md": { - "hash": "ce7661728a4fbf94", - "modified": "2026-04-14T04:28:42.640075+00:00", + "hash": "8b41c161f6c16119", + "modified": "2026-04-26T04:35:50.791916+00:00", "slug": "how-to-get-youtube-channel-id", "source_path": "wiki/sources/how-to-get-youtube-channel-id.md", "ingested": true, - "ingested_at": "2026-04-17T08:48:51.028850" + "ingested_at": "2026-04-26T21:47:04.095574+00:00" }, "raw/Agent/万字讲透OpenClaw-Workspace深度解析-2026-03-21.md": { - "hash": "a763a1295a985904", - "modified": "2026-04-09T11:31:39.250630+00:00", + "hash": "6021f7fca195513e", + "modified": "2026-04-26T04:35:50.759460+00:00", "slug": "万字讲透openclaw-workspace深度解析-2026-03-21", "source_path": "wiki/sources/万字讲透openclaw-workspace深度解析-2026-03-21.md", "ingested": true, - "ingested_at": "2026-04-17T09:08:05.030861" + "ingested_at": "2026-04-26T22:03:56.716326+00:00" }, "raw/Agent/n8n docker install & update.md": { - "hash": "960cdfc3f998d209", - "modified": "2026-04-14T04:28:42.642947+00:00", + "hash": "4b45e1dec6d99dda", + "modified": "2026-04-26T04:35:50.754514+00:00", "slug": "n8n-docker-install-update", "source_path": "wiki/sources/n8n-docker-install-update.md", "ingested": true, - "ingested_at": "2026-04-17T09:20:24.489188" + "ingested_at": "2026-04-26T22:17:58.046660+00:00" }, "raw/Agent/n8n configure telegram trigger.md": { - "hash": "d70ea82e448abf20", - "modified": "2026-04-14T04:28:42.642767+00:00", + "hash": "df95d40376507dea", + "modified": "2026-04-26T04:35:50.754401+00:00", "slug": "n8n-configure-telegram-trigger", "source_path": "wiki/sources/n8n-configure-telegram-trigger.md", "ingested": true, - "ingested_at": "2026-04-17T09:33:23.237587" + "ingested_at": "2026-04-26T22:47:44.849782+00:00" }, "raw/Agent/Google-5个Agent-Skill设计模式-2026-03-19.md": { - "hash": "45ca759f17a8e18e", - "modified": "2026-04-09T11:31:39.250857+00:00", + "hash": "d3ddcbd6b833954a", + "modified": "2026-04-26T04:35:50.695705+00:00", "slug": "google-5个agent-skill设计模式-2026-03-19", "source_path": "wiki/sources/google-5个agent-skill设计模式-2026-03-19.md", "ingested": true, - "ingested_at": "2026-04-17T09:45:00" + "ingested_at": "2026-04-26T23:04:00.289526+00:00" }, "raw/Agent/MCP在Cursor中的集成与应用详解.md": { - "hash": "641fb86e8b38ad3d", - "modified": "2026-04-14T04:28:42.640373+00:00", + "hash": "47f04b71b640bfd6", + "modified": "2026-04-26T04:35:50.696517+00:00", "slug": "mcp在cursor中的集成与应用详解", "source_path": "wiki/sources/mcp在cursor中的集成与应用详解.md", "ingested": true, - "ingested_at": "2026-04-17T10:05:11.447292" + "ingested_at": "2026-04-26T23:21:33.248285+00:00" }, "raw/Agent/使用Claude自动生成N8N工作流的实操教程.md": { - "hash": "3fd0b0008b3644ff", - "modified": "2026-04-14T04:28:42.643567+00:00", + "hash": "c99017187fa21eae", + "modified": "2026-04-26T04:35:50.759588+00:00", "slug": "使用claude自动生成n8n工作流的实操教程", "source_path": "wiki/sources/使用claude自动生成n8n工作流的实操教程.md", "ingested": true, - "ingested_at": "2026-04-17T10:19:34.868701" + "ingested_at": "2026-04-26T23:32:24.431438+00:00" }, "raw/Agent/万字保姆级教程-90天跑通一人公司模式-2026-03-29.md": { - "hash": "34fb8eee504a91c7", - "modified": "2026-04-09T11:31:39.255980+00:00", + "hash": "4731f16c0d8267b7", + "modified": "2026-04-26T04:35:50.759287+00:00", "slug": "万字保姆级教程-90天跑通一人公司模式-2026-03-29", "source_path": "wiki/sources/万字保姆级教程-90天跑通一人公司模式-2026-03-29.md", "ingested": true, - "ingested_at": "2026-04-17T10:35:27.112544" + "ingested_at": "2026-04-26T23:49:30.888140+00:00" }, "raw/Agent/n8n+Claude 通过自然语言自动化工作流.md": { - "hash": "701d433ebf65ee87", - "modified": "2026-04-14T04:28:42.643401+00:00", + "hash": "b4c1aa93144c3592", + "modified": "2026-04-26T04:35:50.754924+00:00", "slug": "n8n-claude-通过自然语言自动化工作流", "source_path": "wiki/sources/n8n-claude-通过自然语言自动化工作流.md", "ingested": true, - "ingested_at": "2026-04-17T11:00:00.000000" + "ingested_at": "2026-04-27T00:02:08.393510+00:00" }, "raw/Agent/n8n full tutorial building AI agents in 2025 for Beginners!.md": { - "hash": "56d03ecaf1be76f5", - "modified": "2026-04-14T04:28:42.643158+00:00", + "hash": "21184a1198999116", + "modified": "2026-04-26T04:35:50.754613+00:00", "slug": "n8n-full-tutorial-building-ai-agents-in-2025-for-beginners", "source_path": "wiki/sources/n8n-full-tutorial-building-ai-agents-in-2025-for-beginners.md", "ingested": true, - "ingested_at": "2026-04-17T11:08:07.411685" + "ingested_at": "2026-04-27T00:22:06.694201+00:00" }, "raw/Agent/claude-code调用方法总结.md": { - "hash": "a040cf8dbe80386d", - "modified": "2026-04-13T05:35:03.477172+00:00", + "hash": "b62c7c39b283a4f0", + "modified": "2026-04-26T04:35:50.754306+00:00", "slug": "claude-code调用方法总结", "source_path": "wiki/sources/claude-code调用方法总结.md", "ingested": true, - "ingested_at": "2026-04-17T11:20:28.574384" + "ingested_at": "2026-04-27T00:33:34.161080+00:00" }, "raw/Agent/usecases/podcast-production-pipeline.md": { - "hash": "bcf5b7555bb61ffc", - "modified": "2026-04-09T11:31:39.259418+00:00", + "hash": "bb20ce8a11652fd1", + "modified": "2026-04-26T04:35:50.758208+00:00", "slug": "podcast-production-pipeline", "source_path": "wiki/sources/podcast-production-pipeline.md", "ingested": true, - "ingested_at": "2026-04-17T11:37:01.869690" + "ingested_at": "2026-04-27T00:47:25.190937+00:00" }, "raw/Agent/usecases/meeting-notes-action-items.md": { - "hash": "9207735157f61fc1", - "modified": "2026-04-09T11:31:39.259655+00:00", + "hash": "332fc539c2faaf0d", + "modified": "2026-04-26T04:35:50.757256+00:00", "slug": "meeting-notes-action-items", "source_path": "wiki/sources/meeting-notes-action-items.md", "ingested": true, - "ingested_at": "2026-04-17T11:49:40.960286" + "ingested_at": "2026-04-27T01:08:42.854971+00:00" }, "raw/Agent/usecases/daily-youtube-digest.md": { - "hash": "eb4b4ae13a585aae", - "modified": "2026-04-09T11:31:39.259868+00:00", + "hash": "17f8a0588257e910", + "modified": "2026-04-26T04:35:50.756105+00:00", "slug": "daily-youtube-digest", "source_path": "wiki/sources/daily-youtube-digest.md", "ingested": true, - "ingested_at": "2026-04-17T12:04:14.372575" + "ingested_at": "2026-04-27T01:18:29.850421+00:00" }, "raw/Agent/usecases/content-factory.md": { - "hash": "e67498d0450d4cdb", - "modified": "2026-04-09T11:31:39.260087+00:00", + "hash": "11d2b9c377b92c11", + "modified": "2026-04-26T04:35:50.755827+00:00", "slug": "content-factory", "source_path": "wiki/sources/content-factory.md", "ingested": true, - "ingested_at": "2026-04-17T12:18:40.233638" + "ingested_at": "2026-04-27T01:32:56.948001+00:00" }, "raw/Agent/usecases/self-healing-home-server.md": { - "hash": "4ffb2f391629664d", - "modified": "2026-04-09T11:31:39.260345+00:00", + "hash": "28509c2665dc0341", + "modified": "2026-04-26T04:35:50.758712+00:00", "slug": "self-healing-home-server", "source_path": "wiki/sources/self-healing-home-server.md", "ingested": true, - "ingested_at": "2026-04-17T12:37:02.321695" + "ingested_at": "2026-04-27T01:49:48.915222+00:00" }, "raw/Agent/usecases/health-symptom-tracker.md": { - "hash": "c36825bd1558460d", - "modified": "2026-04-09T11:31:39.260526+00:00", + "hash": "c42fa34729d888da", + "modified": "2026-04-26T04:35:50.756707+00:00", "slug": "health-symptom-tracker", "source_path": "wiki/sources/health-symptom-tracker.md", "ingested": true, - "ingested_at": "2026-04-17T12:49:13.543366" + "ingested_at": "2026-04-27T02:01:24.241603+00:00" }, "raw/Agent/usecases/project-state-management.md": { - "hash": "328c1da4de81240b", - "modified": "2026-04-17T00:38:12.842491+00:00", + "hash": "4b5b521c1b2d917b", + "modified": "2026-04-26T04:35:50.758490+00:00", "slug": "project-state-management", "source_path": "wiki/sources/project-state-management.md", "ingested": true, - "ingested_at": "2026-04-21T06:33:07.523237+00:00" + "ingested_at": "2026-04-27T02:19:27.340422+00:00" }, "raw/Agent/usecases/multi-agent-team.md": { - "hash": "9b7920c47713e7e8", - "modified": "2026-04-09T11:31:39.261004+00:00", + "hash": "73b5feb7d46693fe", + "modified": "2026-04-26T04:35:50.757387+00:00", "slug": "multi-agent-team", "source_path": "wiki/sources/multi-agent-team.md", "ingested": true, - "ingested_at": "2026-04-17T13:19:26.295180" + "ingested_at": "2026-04-27T02:34:53.379024+00:00" }, "raw/Agent/usecases/earnings-tracker.md": { - "hash": "28d0318450f9e598", - "modified": "2026-04-09T11:31:39.261180+00:00", + "hash": "a21e98c64905c636", + "modified": "2026-04-26T04:35:50.756290+00:00", "slug": "earnings-tracker", "source_path": "wiki/sources/earnings-tracker.md", "ingested": true, - "ingested_at": "2026-04-17T13:38:56.868001" + "ingested_at": "2026-04-27T02:47:50.544099+00:00" }, "raw/Agent/usecases/multi-channel-assistant.md": { - "hash": "60099e146e8df8a9", - "modified": "2026-04-09T11:31:39.261377+00:00", + "hash": "d556aa070e3465cb", + "modified": "2026-04-26T04:35:50.757487+00:00", "slug": "multi-channel-assistant", "source_path": "wiki/sources/multi-channel-assistant.md", "ingested": true, - "ingested_at": "2026-04-17T13:53:26.275914" + "ingested_at": "2026-04-27T03:10:12.603735+00:00" }, "raw/Agent/usecases/event-guest-confirmation.md": { - "hash": "6fcc071ca4860c1a", - "modified": "2026-04-09T11:31:39.261607+00:00", + "hash": "f6a3efb87c81bcf5", + "modified": "2026-04-26T04:35:50.756395+00:00", "slug": "event-guest-confirmation", "source_path": "wiki/sources/event-guest-confirmation.md", "ingested": true, - "ingested_at": "2026-04-17T14:05:33.764455" + "ingested_at": "2026-04-27T03:17:44.847079+00:00" }, "raw/Agent/usecases/phone-based-personal-assistant.md": { - "hash": "a0486823deaa5f61", - "modified": "2026-04-09T11:31:39.261781+00:00", + "hash": "5ebe114ce5eed753", + "modified": "2026-04-26T04:35:50.758024+00:00", "slug": "phone-based-personal-assistant", "source_path": "wiki/sources/phone-based-personal-assistant.md", "ingested": true, - "ingested_at": "2026-04-17T14:34:37.242694" + "ingested_at": "2026-04-27T03:33:48.873518+00:00" }, "raw/Agent/usecases/market-research-product-factory.md": { - "hash": "cfd209415729f6d1", - "modified": "2026-04-09T11:31:39.261979+00:00", + "hash": "a54431d75e7f9d55", + "modified": "2026-04-26T04:35:50.757161+00:00", "slug": "market-research-product-factory", "source_path": "wiki/sources/market-research-product-factory.md", "ingested": true, - "ingested_at": "2026-04-17T14:53:57.508392" + "ingested_at": "2026-04-27T03:49:15.670036+00:00" }, "raw/Agent/usecases/custom-morning-brief.md": { - "hash": "5cfe53efa0684203", - "modified": "2026-04-09T11:31:39.262182+00:00", + "hash": "ce431563faf4e26a", + "modified": "2026-04-26T04:35:50.755920+00:00", "slug": "custom-morning-brief", "source_path": "wiki/sources/custom-morning-brief.md", "ingested": true, - "ingested_at": "2026-04-17T15:00:00" + "ingested_at": "2026-04-27T04:04:34.000692+00:00" }, "raw/Agent/usecases/inbox-declutter.md": { - "hash": "c4db8051afa35bd9", - "modified": "2026-04-09T11:31:39.262356+00:00", + "hash": "35faeb1740815929", + "modified": "2026-04-26T04:35:50.756797+00:00", "slug": "inbox-declutter", "source_path": "wiki/sources/inbox-declutter.md", "ingested": true, - "ingested_at": "2026-04-17T15:20:04.571805" + "ingested_at": "2026-04-27T04:17:20.240177+00:00" }, "raw/Agent/usecases/daily-reddit-digest.md": { - "hash": "36f817d825ad0647", - "modified": "2026-04-09T11:31:39.262524+00:00", + "hash": "281b96bd180b682d", + "modified": "2026-04-26T04:35:50.756012+00:00", "slug": "daily-reddit-digest", "source_path": "wiki/sources/daily-reddit-digest.md", "ingested": true, - "ingested_at": "2026-04-17T16:02:11.171281" + "ingested_at": "2026-04-27T04:32:39.088801+00:00" }, "raw/Agent/usecases/autonomous-project-management.md": { - "hash": "0833bf479c57155e", - "modified": "2026-04-09T11:31:39.262733+00:00", + "hash": "b2850f2448d1ff9b", + "modified": "2026-04-26T04:35:50.755577+00:00", "slug": "autonomous-project-management", "source_path": "wiki/sources/autonomous-project-management.md", "ingested": true, - "ingested_at": "2026-04-17T16:22:58.973234" + "ingested_at": "2026-04-27T04:48:51.387321+00:00" }, "raw/Agent/usecases/pre-build-idea-validator.md": { - "hash": "fb9a3e168089bbe4", - "modified": "2026-04-09T11:31:39.262952+00:00", + "hash": "a97215b8b27ff693", + "modified": "2026-04-26T04:35:50.758404+00:00", "slug": "pre-build-idea-validator", "source_path": "wiki/sources/pre-build-idea-validator.md", "ingested": true, - "ingested_at": "2026-04-17T16:41:41.461047" + "ingested_at": "2026-04-27T05:06:01.868330+00:00" }, "raw/Agent/usecases/dynamic-dashboard.md": { - "hash": "377675f7b60a115b", - "modified": "2026-04-09T11:31:39.263155+00:00", + "hash": "42c8a726070cd951", + "modified": "2026-04-26T04:35:50.756194+00:00", "slug": "dynamic-dashboard", "source_path": "wiki/sources/dynamic-dashboard.md", "ingested": true, - "ingested_at": "2026-04-17T17:08:13.993461" + "ingested_at": "2026-04-27T05:19:16.613985+00:00" }, "raw/Agent/usecases/todoist-task-manager.md": { - "hash": "779b20312c97d5aa", - "modified": "2026-04-17T00:38:12.842634+00:00", + "hash": "fc37dafab72c5462", + "modified": "2026-04-26T04:35:50.758905+00:00", "slug": "todoist-task-manager", "source_path": "wiki/sources/todoist-task-manager.md", "ingested": true, - "ingested_at": "2026-04-21T06:36:57.204986+00:00" + "ingested_at": "2026-04-27T05:37:45.273968+00:00" }, "raw/Agent/usecases/habit-tracker-accountability-coach.md": { - "hash": "7d99642a8c38884a", - "modified": "2026-04-09T11:31:39.263578+00:00", + "hash": "fe00e64cb74d0f6a", + "modified": "2026-04-26T04:35:50.756613+00:00", "slug": "habit-tracker-accountability-coach", "source_path": "wiki/sources/habit-tracker-accountability-coach.md", "ingested": true, - "ingested_at": "2026-04-17T17:37:05.480196" + "ingested_at": "2026-04-27T05:50:03.003055+00:00" }, "raw/Agent/usecases/latex-paper-writing.md": { - "hash": "c2fade6e55ce331c", - "modified": "2026-04-09T11:31:39.263764+00:00", + "hash": "0b7e128ba0fbc412", + "modified": "2026-04-26T04:35:50.756971+00:00", "slug": "latex-paper-writing", "source_path": "wiki/sources/latex-paper-writing.md", "ingested": true, - "ingested_at": "2026-04-17T17:51:46.222131" + "ingested_at": "2026-04-27T06:06:35.153380+00:00" }, "raw/Agent/usecases/second-brain.md": { - "hash": "1480ed817eca6db1", - "modified": "2026-04-09T11:31:39.263981+00:00", + "hash": "e0cd5b37b98a7175", + "modified": "2026-04-26T04:35:50.758582+00:00", "slug": "second-brain", "source_path": "wiki/sources/second-brain.md", "ingested": true, - "ingested_at": "2026-04-17T18:07:45.750758" + "ingested_at": "2026-04-27T06:16:36.167630+00:00" }, "raw/Agent/usecases/multi-channel-customer-service.md": { - "hash": "c6870705eb16e207", - "modified": "2026-04-09T11:31:39.264185+00:00", + "hash": "f8e00e4c5680b786", + "modified": "2026-04-26T04:35:50.757572+00:00", "slug": "multi-channel-customer-service", "source_path": "wiki/sources/multi-channel-customer-service.md", "ingested": true, - "ingested_at": "2026-04-17T18:20:29.598857" + "ingested_at": "2026-04-27T06:32:49.420757+00:00" }, "raw/Agent/usecases/n8n-workflow-orchestration.md": { - "hash": "20400ac7c99058db", - "modified": "2026-04-09T11:31:39.264426+00:00", + "hash": "50a2cde48a98b01e", + "modified": "2026-04-26T04:35:50.757756+00:00", "slug": "n8n-workflow-orchestration", "source_path": "wiki/sources/n8n-workflow-orchestration.md", "ingested": true, - "ingested_at": "2026-04-17T18:34:46.557280" + "ingested_at": "2026-04-27T06:47:21.999961+00:00" }, "raw/Agent/usecases/local-crm-framework.md": { - "hash": "83f1c598f3396c24", - "modified": "2026-04-09T11:31:39.264662+00:00", + "hash": "24a5a7aafcf34273", + "modified": "2026-04-26T04:35:50.757060+00:00", "slug": "local-crm-framework", "source_path": "wiki/sources/local-crm-framework.md", "ingested": true, - "ingested_at": "2026-04-17T18:49:55.734627" + "ingested_at": "2026-04-27T07:03:09.752403+00:00" }, "raw/Agent/usecases/overnight-mini-app-builder.md": { - "hash": "347dd9472b5b0466", - "modified": "2026-04-09T11:31:39.264901+00:00", + "hash": "9d370f776d393d7a", + "modified": "2026-04-26T04:35:50.757849+00:00", "slug": "overnight-mini-app-builder", "source_path": "wiki/sources/overnight-mini-app-builder.md", "ingested": true, - "ingested_at": "2026-04-17T19:04:27.740841" + "ingested_at": "2026-04-27T07:20:32.186028+00:00" }, "raw/Agent/usecases/polymarket-autopilot.md": { - "hash": "0de374b94ff0e8e0", - "modified": "2026-04-17T00:38:12.842360+00:00", + "hash": "58f8749b51d9c88e", + "modified": "2026-04-26T04:35:50.758309+00:00", "slug": "polymarket-autopilot", "source_path": "wiki/sources/polymarket-autopilot.md", "ingested": true, - "ingested_at": "2026-04-21T06:57:16.744659+00:00" + "ingested_at": "2026-04-27T07:36:35.807474+00:00" }, "raw/Agent/usecases/youtube-content-pipeline.md": { - "hash": "e1d457953ed50a18", - "modified": "2026-04-09T11:31:39.265306+00:00", + "hash": "bf9d7c9b2e399845", + "modified": "2026-04-26T04:35:50.759176+00:00", "slug": "youtube-content-pipeline", "source_path": "wiki/sources/youtube-content-pipeline.md", "ingested": true, - "ingested_at": "2026-04-17T19:36:03.051825" + "ingested_at": "2026-04-27T07:48:55.173424+00:00" }, "raw/Agent/usecases/personal-crm.md": { - "hash": "2da54a2071388da2", - "modified": "2026-04-09T11:31:39.265525+00:00", + "hash": "c628e10731210634", + "modified": "2026-04-26T04:35:50.757944+00:00", "slug": "personal-crm", "source_path": "wiki/sources/personal-crm.md", "ingested": true, - "ingested_at": "2026-04-17T19:49:27.967289" + "ingested_at": "2026-04-27T08:03:55.383497+00:00" }, "raw/Agent/usecases/knowledge-base-rag.md": { - "hash": "e3521f790a367148", - "modified": "2026-04-09T11:31:39.265717+00:00", + "hash": "877b0a1a62885112", + "modified": "2026-04-26T04:35:50.756882+00:00", "slug": "knowledge-base-rag", "source_path": "wiki/sources/knowledge-base-rag.md", "ingested": true, - "ingested_at": "2026-04-17T20:19:58.778330" + "ingested_at": "2026-04-27T08:20:37.529087+00:00" }, "raw/Agent/usecases/x-twitter-automation.md": { - "hash": "d8f474a745f28c70", - "modified": "2026-04-09T11:31:39.265916+00:00", + "hash": "5e44a50a979cd416", + "modified": "2026-04-26T04:35:50.759085+00:00", "slug": "x-twitter-automation", "source_path": "wiki/sources/x-twitter-automation.md", "ingested": true, - "ingested_at": "2026-04-17T20:30:00" + "ingested_at": "2026-04-27T08:36:30.747118+00:00" }, "raw/Agent/usecases/multi-source-tech-news-digest.md": { - "hash": "2f1cede48d732392", - "modified": "2026-04-09T11:31:39.266114+00:00", + "hash": "59eaea80607c897e", + "modified": "2026-04-26T04:35:50.757657+00:00", "slug": "multi-source-tech-news-digest", "source_path": "wiki/sources/multi-source-tech-news-digest.md", "ingested": true, - "ingested_at": "2026-04-17T20:50:54.488612" + "ingested_at": "2026-04-27T08:49:27.062716+00:00" }, "raw/Agent/usecases/family-calendar-household-assistant.md": { - "hash": "57bef8ddf61855b4", - "modified": "2026-04-09T11:31:39.266380+00:00", + "hash": "45437f82721f8147", + "modified": "2026-04-26T04:35:50.756507+00:00", "slug": "family-calendar-household-assistant", "source_path": "wiki/sources/family-calendar-household-assistant.md", "ingested": true, - "ingested_at": "2026-04-17T21:05:42.914533" + "ingested_at": "2026-04-27T09:03:19.340050+00:00" }, "raw/Agent/usecases/aionui-cowork-desktop.md": { - "hash": "9cb25d6bebc29514", - "modified": "2026-04-09T11:31:39.266622+00:00", + "hash": "603a25f4fce4500c", + "modified": "2026-04-26T04:35:50.755120+00:00", "slug": "aionui-cowork-desktop", "source_path": "wiki/sources/aionui-cowork-desktop.md", "ingested": true, - "ingested_at": "2026-04-17T21:21:46.112874" + "ingested_at": "2026-04-27T09:22:36.567241+00:00" }, "raw/Agent/usecases/semantic-memory-search.md": { - "hash": "e42c1a0a131891da", - "modified": "2026-04-09T11:31:39.266855+00:00", + "hash": "c063eceaf2603c10", + "modified": "2026-04-26T04:35:50.758806+00:00", "slug": "semantic-memory-search", "source_path": "wiki/sources/semantic-memory-search.md", "ingested": true, - "ingested_at": "2026-04-17T21:34:05.560244" + "ingested_at": "2026-04-27T09:36:16.527509+00:00" }, "raw/Agent/usecases/arxiv-paper-reader.md": { - "hash": "f50081f497ff9434", - "modified": "2026-04-09T11:31:39.267057+00:00", + "hash": "45699983fb2145b8", + "modified": "2026-04-26T04:35:50.755208+00:00", "slug": "arxiv-paper-reader", "source_path": "wiki/sources/arxiv-paper-reader.md", "ingested": true, - "ingested_at": "2026-04-17T21:48:44.899982" + "ingested_at": "2026-04-27T09:51:14.384120+00:00" }, "raw/Agent/usecases/autonomous-game-dev-pipeline.md": { - "hash": "5ea4ad372da273e4", - "modified": "2026-04-09T11:31:39.267298+00:00", + "hash": "7c171e0c4eed2208", + "modified": "2026-04-26T04:35:50.755301+00:00", "slug": "autonomous-game-dev-pipeline", "source_path": "wiki/sources/autonomous-game-dev-pipeline.md", "ingested": true, - "ingested_at": "2026-04-17T22:04:19.172134" + "ingested_at": "2026-04-27T10:02:02.038665+00:00" }, "raw/Agent/usecases/phone-call-notifications.md": { - "hash": "4914cbad4e7c1be0", - "modified": "2026-04-09T11:31:39.267539+00:00", + "hash": "353d72e96f2cc1d0", + "modified": "2026-04-26T04:35:50.758116+00:00", "slug": "phone-call-notifications", "source_path": "wiki/sources/phone-call-notifications.md", "ingested": true, - "ingested_at": "2026-04-17T22:20:00.072430" + "ingested_at": "2026-04-27T10:17:44.284696+00:00" }, "raw/Agent/usecases/x-account-analysis.md": { - "hash": "0ad0c40c28047d44", - "modified": "2026-04-09T11:31:39.267744+00:00", + "hash": "d336030b412f1870", + "modified": "2026-04-26T04:35:50.758998+00:00", "slug": "x-account-analysis", "source_path": "wiki/sources/x-account-analysis.md", "ingested": true, - "ingested_at": "2026-04-17T22:34:19.283142" + "ingested_at": "2026-04-27T10:32:54.294981+00:00" }, "raw/微信公众号/养虾日记2:让Agent更懂你:OpenClaw + Self-Improving 复盘实战案例分享.md": { - "hash": "ad7e2a4f523b4a3c", - "modified": "2026-04-14T04:28:42.645527+00:00", + "hash": "e90d8323acec6e30", + "modified": "2026-04-26T04:35:50.796869+00:00", "slug": "养虾日记2-让agent更懂你-openclaw-self-improving-复盘实战案例分享", "source_path": "wiki/sources/养虾日记2-让agent更懂你-openclaw-self-improving-复盘实战案例分享.md", "ingested": true, - "ingested_at": "2026-04-17T22:50:15.598084" + "ingested_at": "2026-04-27T10:48:19.021169+00:00" }, "raw/微信公众号/养虾日记1:我用 OpenClaw 管了 28 万张照片:一次真实的多设备照片整理实战.md": { - "hash": "9175f1f256173a62", - "modified": "2026-04-14T04:28:42.645350+00:00", + "hash": "ee14b02bc295ba38", + "modified": "2026-04-26T04:35:50.796731+00:00", "slug": "养虾日记1-我用-openclaw-管了-28-万张照片-一次真实的多设备照片整理实战", "source_path": "wiki/sources/养虾日记1-我用-openclaw-管了-28-万张照片-一次真实的多设备照片整理实战.md", "ingested": true, - "ingested_at": "2026-04-17T23:07:14.611475" + "ingested_at": "2026-04-27T11:01:45.718053+00:00" }, "raw/微信公众号/养龙虾5天血泪史:我的AI Agent为什么总失忆?OpenClaw 记忆调试全记录.md": { - "hash": "aabd440434b3df2a", - "modified": "2026-04-14T04:28:42.646200+00:00", + "hash": "69294951ff6a9fb5", + "modified": "2026-04-26T04:35:50.797490+00:00", "slug": "养龙虾5天血泪史-我的ai-agent为什么总失忆-openclaw-记忆调试全记录", "source_path": "wiki/sources/养龙虾5天血泪史-我的ai-agent为什么总失忆-openclaw-记忆调试全记录.md", "ingested": true, - "ingested_at": "2026-04-17T23:26:05.366812" + "ingested_at": "2026-04-27T11:17:59.872577+00:00" }, "raw/微信公众号/养虾日记3:用 Obsidian + Gitea 为 AI 助手构建持久化笔记系统.md": { - "hash": "c6b7d0f28c56ceff", - "modified": "2026-04-14T04:28:42.645682+00:00", + "hash": "5278f3bdfff94a85", + "modified": "2026-04-26T04:35:50.797005+00:00", "slug": "养虾日记3-用-obsidian-gitea-为-ai-助手构建持久化笔记系统", "source_path": "wiki/sources/养虾日记3-用-obsidian-gitea-为-ai-助手构建持久化笔记系统.md", "ingested": true, - "ingested_at": "2026-04-17T23:38:04.388224" + "ingested_at": "2026-04-27T11:33:33.950478+00:00" }, "raw/微信公众号/不谈技术:普通人该怎么在AI时代赚钱?.md": { - "hash": "2f67b99a7f704118", - "modified": "2026-04-14T04:28:42.645165+00:00", + "hash": "65022a83180ab7a0", + "modified": "2026-04-26T04:35:50.796634+00:00", "slug": "不谈技术-普通人该怎么在ai时代赚钱", "source_path": "wiki/sources/不谈技术-普通人该怎么在ai时代赚钱.md", "ingested": true, - "ingested_at": "2026-04-17T23:50:56.461949" + "ingested_at": "2026-04-27T11:49:07.056531+00:00" }, "raw/微信公众号/养虾日记4: 一次「Context Limit Exceeded」错误排查:我以为是小问题,结果踩了大坑.md": { - "hash": "16b45ff4202f6ac1", - "modified": "2026-04-14T04:28:42.645847+00:00", + "hash": "d41225387da917e6", + "modified": "2026-04-26T04:35:50.797102+00:00", "slug": "养虾日记4-一次「context-limit-exceeded」错误排查-我以为是小问题-结果踩了大坑", "source_path": "wiki/sources/养虾日记4-一次「context-limit-exceeded」错误排查-我以为是小问题-结果踩了大坑.md", "ingested": true, - "ingested_at": "2026-04-18T00:10:16.139749" + "ingested_at": "2026-04-27T12:06:48.647373+00:00" }, "raw/微信公众号/养虾日记5:深夜与苏轼聊AI,他说:被浪打下去还能爬起来的才叫风流.md": { - "hash": "852ed323371b1ce5", - "modified": "2026-04-14T04:28:42.646030+00:00", + "hash": "5bc18c3e38fb2ae9", + "modified": "2026-04-26T04:35:50.797368+00:00", "slug": "养虾日记5-深夜与苏轼聊ai-他说-被浪打下去还能爬起来的才叫风流", "source_path": "wiki/sources/养虾日记5-深夜与苏轼聊ai-他说-被浪打下去还能爬起来的才叫风流.md", "ingested": true, - "ingested_at": "2026-04-18T00:24:01.319276" + "ingested_at": "2026-04-27T14:19:09.070222+00:00" }, "raw/AI/14个免费的AI图生视频工具,用AI让图片动起来 - AI视频教程 AI自动化工作流定制服务 AI培训学习平台 黑喵大叔.md": { - "hash": "77644070202b254d", - "modified": "2026-04-14T04:28:42.607517+00:00", + "hash": "a156b68004f13cdd", + "modified": "2026-04-26T04:35:50.687141+00:00", "slug": "14个免费的ai图生视频工具-用ai让图片动起来-ai视频教程-ai自动化工作流定制服务-ai培训学习平台-黑喵大叔", "source_path": "wiki/sources/14个免费的ai图生视频工具-用ai让图片动起来-ai视频教程-ai自动化工作流定制服务-ai培训学习平台-黑喵大叔.md", "ingested": true, - "ingested_at": "2026-04-18T00:36:25.299712" + "ingested_at": "2026-04-27T14:34:24.858683+00:00" }, "raw/AI/Designing for Agentic AI.md": { - "hash": "e9472b8294b5688a", - "modified": "2026-04-14T04:28:42.612076+00:00", + "hash": "a151306f73628927", + "modified": "2026-04-26T04:35:50.688547+00:00", "slug": "designing-for-agentic-ai", "source_path": "wiki/sources/designing-for-agentic-ai.md", "ingested": true, - "ingested_at": "2026-04-18T00:50:43.221519" + "ingested_at": "2026-04-27T14:51:37.838417+00:00" }, "raw/AI/教學 ChatGPT 先做知識整理,再讓 Canva、 Gamma AI 輸出簡報.md": { - "hash": "1a464ef6525d196f", - "modified": "2026-04-17T00:38:12.842064+00:00", + "hash": "3ff0c96db75b2b59", + "modified": "2026-04-26T04:35:50.694441+00:00", "slug": "教學-chatgpt-先做知識整理-再讓-canva-gamma-ai-輸出簡報", "source_path": "wiki/sources/教學-chatgpt-先做知識整理-再讓-canva-gamma-ai-輸出簡報.md", "ingested": true, - "ingested_at": "2026-04-21T07:07:57.840973+00:00" + "ingested_at": "2026-04-27T15:04:10.559358+00:00" }, "raw/AI/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md": { - "hash": "c276812f0e1a16c8", - "modified": "2026-04-14T04:28:42.612439+00:00", + "hash": "0293eea86414ddde", + "modified": "2026-04-26T04:35:50.688735+00:00", "slug": "google-神级生产力工具-所有-github-开源平替都找到了", "source_path": "wiki/sources/google-神级生产力工具-所有-github-开源平替都找到了.md", "ingested": true, - "ingested_at": "2026-04-18T01:20:32.490941" + "ingested_at": "2026-04-27T15:18:22.858363+00:00" }, "raw/AI/文字生成视频网站推荐.md": { - "hash": "1bfb80d110b1d15d", - "modified": "2026-04-14T04:28:42.618167+00:00", + "hash": "f12066d421414a9c", + "modified": "2026-04-26T04:35:50.694556+00:00", "slug": "文字生成视频网站推荐", "source_path": "wiki/sources/文字生成视频网站推荐.md", "ingested": true, - "ingested_at": "2026-04-18T01:34:50.280087" + "ingested_at": "2026-04-27T15:32:46.860242+00:00" }, "raw/AI/A Formalization of Recursive Self-Optimizing Generative Systems.md": { - "hash": "4c740e630c3d6feb", - "modified": "2026-04-14T04:28:42.611352+00:00", + "hash": "6e4fd1891b872be4", + "modified": "2026-04-26T04:35:50.687950+00:00", "slug": "a-formalization-of-recursive-self-optimizing-generative-systems", "source_path": "wiki/sources/a-formalization-of-recursive-self-optimizing-generative-systems.md", "ingested": true, - "ingested_at": "2026-04-18T01:49:06.224483" + "ingested_at": "2026-04-27T15:46:34.661002+00:00" }, "raw/AI/LLMs、RAG、AI Agent 三个到底什么区别?.md": { - "hash": "d993ec7e1f1193c7", - "modified": "2026-04-14T04:28:42.613338+00:00", + "hash": "6821f2847fe35a88", + "modified": "2026-04-26T04:35:50.689349+00:00", "slug": "llms-rag-ai-agent-三个到底什么区别", "source_path": "wiki/sources/llms-rag-ai-agent-三个到底什么区别.md", "ingested": true, - "ingested_at": "2026-04-18T02:09:28.853274" + "ingested_at": "2026-04-27T16:03:20.501933+00:00" }, "raw/AI/清华出的DeepSeek使用手册,104页,真的是太厉害了!(免费领取).md": { - "hash": "8333bb0a1e9c98d1", - "modified": "2026-04-14T04:28:42.644647+00:00", + "hash": "bcd8fb2a28b49a3a", + "modified": "2026-04-26T04:35:50.694687+00:00", "slug": "清华出的deepseek使用手册-104页-真的是太厉害了-免费领取", "source_path": "wiki/sources/清华出的deepseek使用手册-104页-真的是太厉害了-免费领取.md", "ingested": true, - "ingested_at": "2026-04-18T02:20:15.536636" + "ingested_at": "2026-04-27T16:18:53.248415+00:00" }, "raw/AI/OpenAI ChatGPT 个性化定义.md": { - "hash": "88716204b070ef6e", - "modified": "2026-04-14T04:28:42.614979+00:00", + "hash": "557fe76aaf5a9703", + "modified": "2026-04-26T04:35:50.690766+00:00", "slug": "openai-chatgpt-个性化定义", "source_path": "wiki/sources/openai-chatgpt-个性化定义.md", "ingested": true, - "ingested_at": "2026-04-18T02:35:32.223877" + "ingested_at": "2026-04-27T16:32:38.014970+00:00" }, "raw/AI/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md": { - "hash": "94c6a3555896bc0f", - "modified": "2026-04-14T04:28:42.618653+00:00", + "hash": "5029ea302a888c4f", + "modified": "2026-04-26T04:35:50.695060+00:00", "slug": "详细-离线部署大模型-ollama-deepseek-open-webui安装使用方法及常见问题解决-1", "source_path": "wiki/sources/详细-离线部署大模型-ollama-deepseek-open-webui安装使用方法及常见问题解决-1.md", "ingested": true, - "ingested_at": "2026-04-18T02:51:23.272343" + "ingested_at": "2026-04-27T16:49:26.848294+00:00" }, "raw/AI/谷歌深夜甩出一份【Nano Banana Pro提示词指南】,手把手教你生产专业级内容,实战案例+提示词模版.md": { - "hash": "264a65dcc6ed8320", - "modified": "2026-04-14T04:28:42.618915+00:00", + "hash": "1c1c74ed3e46de37", + "modified": "2026-04-26T04:35:50.695205+00:00", "slug": "谷歌深夜甩出一份-nano-banana-pro提示词指南-手把手教你生产专业级内容-实战案例-提示词模版", "source_path": "wiki/sources/谷歌深夜甩出一份-nano-banana-pro提示词指南-手把手教你生产专业级内容-实战案例-提示词模版.md", "ingested": true, - "ingested_at": "2026-04-18T03:06:00.457869" + "ingested_at": "2026-04-27T17:01:50.858266+00:00" }, "raw/AI/Nano Banana 提示词框架.md": { - "hash": "125bd4cc42a82093", - "modified": "2026-04-14T04:28:42.614283+00:00", + "hash": "11d3f19c493d0683", + "modified": "2026-04-26T04:35:50.690370+00:00", "slug": "nano-banana-提示词框架", "source_path": "wiki/sources/nano-banana-提示词框架.md", "ingested": true, - "ingested_at": "2026-04-18T03:18:14.322728" + "ingested_at": "2026-04-27T17:16:59.563610+00:00" }, "raw/AI/The Picture They Paint of You.md": { - "hash": "9ebe6fc211a00f99", - "modified": "2026-04-14T04:28:42.615417+00:00", + "hash": "b0423f11d1550598", + "modified": "2026-04-26T04:35:50.691215+00:00", "slug": "the-picture-they-paint-of-you", "source_path": "wiki/sources/the-picture-they-paint-of-you.md", "ingested": true, - "ingested_at": "2026-04-18T03:36:05.475241" + "ingested_at": "2026-04-27T17:33:56.658852+00:00" }, "raw/AI/二创视频必不可少!2025年最热门AI工具推荐合集-AI配音、声音克隆.md": { - "hash": "1120914d221b396b", - "modified": "2026-04-14T04:28:42.616406+00:00", + "hash": "be8f8c3873239086", + "modified": "2026-04-26T04:35:50.692518+00:00", "slug": "二创视频必不可少-2025年最热门ai工具推荐合集-ai配音-声音克隆", "source_path": "wiki/sources/二创视频必不可少-2025年最热门ai工具推荐合集-ai配音-声音克隆.md", "ingested": true, - "ingested_at": "2026-04-18T03:50:16.838668" + "ingested_at": "2026-04-27T17:47:15.037585+00:00" }, "raw/AI/Useful Prompt Lib.md": { - "hash": "212e93f82d50a8d5", - "modified": "2026-04-14T04:28:42.641736+00:00", + "hash": "a7dff7868602aef5", + "modified": "2026-04-26T04:35:50.691510+00:00", "slug": "useful-prompt-lib", "source_path": "wiki/sources/useful-prompt-lib.md", "ingested": true, - "ingested_at": "2026-04-18T04:04:07.179771" + "ingested_at": "2026-04-27T18:02:48.048892+00:00" }, "raw/AI/Best 7 news API data feeds - AI News.md": { - "hash": "77a3167cc88aa3e5", - "modified": "2026-04-14T04:28:42.611901+00:00", + "hash": "09942160104c0249", + "modified": "2026-04-26T04:35:50.688384+00:00", "slug": "best-7-news-api-data-feeds-ai-news", "source_path": "wiki/sources/best-7-news-api-data-feeds-ai-news.md", "ingested": true, - "ingested_at": "2026-04-18T04:19:47.496062" + "ingested_at": "2026-04-27T18:17:15.436042+00:00" }, "raw/AI/一语点醒梦中人.md": { - "hash": "e1c3372c4128d357", - "modified": "2026-04-14T04:28:42.615964+00:00", + "hash": "28267bd8592c6497", + "modified": "2026-04-26T04:35:50.692081+00:00", "slug": "一语点醒梦中人", "source_path": "wiki/sources/一语点醒梦中人.md", "ingested": true, - "ingested_at": "2026-04-18T04:36:15.596506" + "ingested_at": "2026-04-27T18:35:15.768256+00:00" }, "raw/AI/Never write another prompt.md": { - "hash": "7f12f96091b43acd", - "modified": "2026-04-14T04:28:42.614720+00:00", + "hash": "d4a73cce3133fba2", + "modified": "2026-04-26T04:35:50.690679+00:00", "slug": "never-write-another-prompt", "source_path": "wiki/sources/never-write-another-prompt.md", "ingested": true, - "ingested_at": "2026-04-18T04:48:43.569981" + "ingested_at": "2026-04-27T18:47:29.656650+00:00" }, "raw/AI/7 ways I use NotebookLM to make my life easier.md": { - "hash": "739fb6f13e642b93", - "modified": "2026-04-14T04:28:42.611146+00:00", + "hash": "b4afaaf99675c965", + "modified": "2026-04-26T04:35:50.687855+00:00", "slug": "7-ways-i-use-notebooklm-to-make-my-life-easier", "source_path": "wiki/sources/7-ways-i-use-notebooklm-to-make-my-life-easier.md", "ingested": true, - "ingested_at": "2026-04-18T05:05:59.640656" + "ingested_at": "2026-04-27T19:03:25.482624+00:00" }, "raw/AI/不会Gemini的产品经理真的要被淘汰了 附保姆级PRD生成指南.md": { - "hash": "fc388388c6726a88", - "modified": "2026-04-14T04:28:42.616201+00:00", + "hash": "b9ec3e93b3c98df5", + "modified": "2026-04-26T04:35:50.692402+00:00", "slug": "不会gemini的产品经理真的要被淘汰了-附保姆级prd生成指南", "source_path": "wiki/sources/不会gemini的产品经理真的要被淘汰了-附保姆级prd生成指南.md", "ingested": true, - "ingested_at": "2026-04-18T05:21:55.066281" + "ingested_at": "2026-04-27T19:18:19.930483+00:00" }, "raw/AI/3.2 万人收藏的 Claude Skills,才是 AI 这条路上最值得研究的一套范式! 1.md": { - "hash": "0fe5fc907c5f0c13", - "modified": "2026-04-14T04:28:42.608044+00:00", + "hash": "a99010922ede5cbc", + "modified": "2026-04-26T04:35:50.687554+00:00", "slug": "3-2-万人收藏的-claude-skills-才是-ai-这条路上最值得研究的一套范式-1", "source_path": "wiki/sources/3-2-万人收藏的-claude-skills-才是-ai-这条路上最值得研究的一套范式-1.md", "ingested": true, - "ingested_at": "2026-04-18T05:35:08.064031" + "ingested_at": "2026-04-27T19:33:29.452740+00:00" }, "raw/AI/How to Get the RSS Feed For Any YouTube Channel.md": { - "hash": "669da37412f94c10", - "modified": "2026-04-14T04:28:42.612599+00:00", + "hash": "7dc1ca38bccb31d1", + "modified": "2026-04-26T04:35:50.688813+00:00", "slug": "how-to-get-the-rss-feed-for-any-youtube-channel", "source_path": "wiki/sources/how-to-get-the-rss-feed-for-any-youtube-channel.md", "ingested": true, - "ingested_at": "2026-04-18T05:49:12.534242" + "ingested_at": "2026-04-27T19:46:52.141950+00:00" }, "raw/AI/GitHub 上 5000 人收藏的 Vibe Coding 神级指南。.md": { - "hash": "6a3ce97e4bee7b73", - "modified": "2026-04-14T04:28:42.612250+00:00", + "hash": "2a97459a2a460eac", + "modified": "2026-04-26T04:35:50.688635+00:00", "slug": "github-上-5000-人收藏的-vibe-coding-神级指南", "source_path": "wiki/sources/github-上-5000-人收藏的-vibe-coding-神级指南.md", "ingested": true, - "ingested_at": "2026-04-18T06:04:48.283482" + "ingested_at": "2026-04-27T20:01:31.532008+00:00" }, "raw/AI/系统提示词构建原则.md": { - "hash": "4a954a07aa1f2f17", - "modified": "2026-04-14T04:28:42.618412+00:00", + "hash": "a0cf75119f669950", + "modified": "2026-04-26T04:35:50.694804+00:00", "slug": "系统提示词构建原则", "source_path": "wiki/sources/系统提示词构建原则.md", "ingested": true, - "ingested_at": "2026-04-18T06:19:50.355778" + "ingested_at": "2026-04-27T20:17:20.594894+00:00" }, "raw/AI/codecrafters-iobuild-your-own-x Master programming by recreating your favorite technologies from scratch.md": { - "hash": "15dd4a8a12692b70", - "modified": "2026-04-17T00:38:12.841690+00:00", + "hash": "4785fd0fd83a8f48", + "modified": "2026-04-26T04:35:50.691806+00:00", "slug": "codecrafters-iobuild-your-own-x-master-programming-by-recreating-your-favorite-technologies-from-scratch", "source_path": "wiki/sources/codecrafters-iobuild-your-own-x-master-programming-by-recreating-your-favorite-technologies-from-scratch.md", "ingested": true, - "ingested_at": "2026-04-21T07:29:01.117143+00:00" + "ingested_at": "2026-04-27T20:33:18.097495+00:00" }, "raw/AI/如何写出完美的Prompt(提示词)?.md": { - "hash": "2adb512ec636d7e3", - "modified": "2026-04-14T04:28:42.617410+00:00", + "hash": "5b7b546dee63719a", + "modified": "2026-04-26T04:35:50.693344+00:00", "slug": "如何写出完美的prompt-提示词", "source_path": "wiki/sources/如何写出完美的prompt-提示词.md", "ingested": true, - "ingested_at": "2026-04-18T06:49:40.652734" + "ingested_at": "2026-04-27T20:48:22.395981+00:00" }, "raw/AI/3.2 万人收藏的 Claude Skills,才是 AI 这条路上最值得研究的一套范式!.md": { - "hash": "dec1dd367a474b92", - "modified": "2026-04-14T04:28:42.608233+00:00", + "hash": "59401a76d75dbfd8", + "modified": "2026-04-26T04:35:50.687645+00:00", "slug": "3-2-万人收藏的-claude-skills-才是-ai-这条路上最值得研究的一套范式", "source_path": "wiki/sources/3-2-万人收藏的-claude-skills-才是-ai-这条路上最值得研究的一套范式.md", "ingested": true, - "ingested_at": "2026-04-18T07:04:14.193070" + "ingested_at": "2026-04-27T21:04:05.462470+00:00" }, "raw/AI/我的工具集.md": { - "hash": "b5b5245fe2261b1c", - "modified": "2026-04-14T04:28:42.644146+00:00", + "hash": "28149a5e18738b7b", + "modified": "2026-04-26T04:35:50.694196+00:00", "slug": "我的工具集", "source_path": "wiki/sources/我的工具集.md", "ingested": true, - "ingested_at": "2026-04-18T07:30:00.000000+00:00" + "ingested_at": "2026-04-27T21:24:38.335800+00:00" }, "raw/AI/Nano-Banana Pro Prompting Guide & Strategies 1.md": { - "hash": "de3c08227069a283", - "modified": "2026-04-17T18:38:12.000000+00:00", + "hash": "7f3c7c2e0597fad0", + "modified": "2026-04-26T04:35:50.690588+00:00", "slug": "nano-banana-pro-prompting-guide-strategies-1", "source_path": "wiki/sources/nano-banana-pro-prompting-guide-strategies-1.md", "ingested": true, - "ingested_at": "2026-04-19T08:17:53.212681" + "ingested_at": "2026-04-27T21:32:22.672235+00:00" }, "raw/AI/大模型相关术语和框架总结|LLM、MCP、Prompt、RAG、vLLM、Token、数据蒸馏.md": { - "hash": "4327c9fae4760e5b", - "modified": "2026-04-14T04:28:42.617130+00:00", + "hash": "922f936889d503f1", + "modified": "2026-04-26T04:35:50.693100+00:00", "slug": "大模型相关术语和框架总结|llm-mcp-prompt-rag-vllm-token-数据蒸馏", "source_path": "wiki/sources/大模型相关术语和框架总结|llm-mcp-prompt-rag-vllm-token-数据蒸馏.md", "ingested": true, - "ingested_at": "2026-04-18T07:52:47.932582" + "ingested_at": "2026-04-27T21:54:19.148689+00:00" }, "raw/AI/固定镜头短视频制作的AI全流程解析.md": { - "hash": "989580878e6d7d46", - "modified": "2026-04-14T04:28:42.616867+00:00", + "hash": "2db1a5017a77f82b", + "modified": "2026-04-26T04:35:50.692707+00:00", "slug": "固定镜头短视频制作的ai全流程解析", "source_path": "wiki/sources/固定镜头短视频制作的ai全流程解析.md", "ingested": true, - "ingested_at": "2026-04-18T08:05:19.024416" + "ingested_at": "2026-04-27T22:04:21.950762+00:00" }, "raw/AI/RAG从入门到精通系列1:基础RAG.md": { - "hash": "517031840cb87bfb", - "modified": "2026-04-14T04:28:42.615169+00:00", + "hash": "30a73a06eab1c873", + "modified": "2026-04-26T04:35:50.690996+00:00", "slug": "rag从入门到精通系列1-基础rag", "source_path": "wiki/sources/rag从入门到精通系列1-基础rag.md", "ingested": true, - "ingested_at": "2026-04-18T08:19:28.782361" + "ingested_at": "2026-04-27T22:18:58.726708+00:00" }, "raw/AI/AI 解决方案专家培训课程.md": { - "hash": "83d7fa1a956636b8", - "modified": "2026-04-14T04:28:42.611726+00:00", + "hash": "6d6932c57c5a421f", + "modified": "2026-04-26T04:35:50.688294+00:00", "slug": "ai-解决方案专家培训课程", "source_path": "wiki/sources/ai-解决方案专家培训课程.md", "ingested": true, - "ingested_at": "2026-04-18T08:37:56.596451" + "ingested_at": "2026-04-27T22:33:48.660926+00:00" }, "raw/AI/2025 年 11 个神级 AI 开源平替,GitHub 杀疯了。.md": { - "hash": "f8cf6223112ec24c", - "modified": "2026-04-14T04:28:42.607812+00:00", + "hash": "49324e745b04acb5", + "modified": "2026-04-26T04:35:50.687454+00:00", "slug": "2025-年-11-个神级-ai-开源平替-github-杀疯了", "source_path": "wiki/sources/2025-年-11-个神级-ai-开源平替-github-杀疯了.md", "ingested": true, - "ingested_at": "2026-04-18T08:48:02.243062" + "ingested_at": "2026-04-27T22:49:14.122101+00:00" }, "raw/AI/全网最全!Nano Banana 2 使用指南(2025年12月更新) 1.md": { - "hash": "50546ce87967e2af", - "modified": "2026-04-14T04:28:42.616589+00:00", + "hash": "35b8c7fbccf12d64", + "modified": "2026-04-26T04:35:50.692610+00:00", "slug": "全网最全-nano-banana-2-使用指南-2025年12月更新-1", "source_path": "wiki/sources/全网最全-nano-banana-2-使用指南-2025年12月更新-1.md", "ingested": true, - "ingested_at": "2026-04-18T09:05:17.748167" + "ingested_at": "2026-04-27T23:02:50.436961+00:00" }, "raw/AI/Multi-Agent System Reliability.md": { - "hash": "a88f875cac630724", - "modified": "2026-04-14T04:28:42.613557+00:00", + "hash": "194db41245f8904a", + "modified": "2026-04-26T04:35:50.689963+00:00", "slug": "multi-agent-system-reliability", "source_path": "wiki/sources/multi-agent-system-reliability.md", "ingested": true, - "ingested_at": "2026-04-18T09:20:41.834284" + "ingested_at": "2026-04-27T23:18:56.281503+00:00" }, "raw/AI/我用 Gemini 3 一口气做了 10 个应用,附教程.md": { - "hash": "f88d61b7b80b27ea", - "modified": "2026-04-14T04:28:42.617887+00:00", + "hash": "f5017c271fe780dd", + "modified": "2026-04-26T04:35:50.693984+00:00", "slug": "我用-gemini-3-一口气做了-10-个应用-附教程", "source_path": "wiki/sources/我用-gemini-3-一口气做了-10-个应用-附教程.md", "ingested": true, - "ingested_at": "2026-04-18T09:34:54.259952" + "ingested_at": "2026-04-27T23:33:12.019247+00:00" }, "raw/AI/If you have multiple interests, do not waste the next 2-3 years 如果你有多项兴趣爱好,不要浪费接下来的两三年时间。.md": { - "hash": "f754a24079461d5e", - "modified": "2026-04-14T04:28:42.612951+00:00", + "hash": "0f65679227656e23", + "modified": "2026-04-26T04:35:50.689228+00:00", "slug": "if-you-have-multiple-interests-do-not-waste-the-next-2-3-years-如果你有多项兴趣爱好-不要浪费接下来的两三年时间", "source_path": "wiki/sources/if-you-have-multiple-interests-do-not-waste-the-next-2-3-years-如果你有多项兴趣爱好-不要浪费接下来的两三年时间.md", "ingested": true, - "ingested_at": "2026-04-18T09:50:07.970814" + "ingested_at": "2026-04-27T23:52:14.948392+00:00" }, "raw/AI/如何利用Sora接口实现视频自动化生成工作流.md": { - "hash": "6a966d45acfaad43", - "modified": "2026-04-14T04:28:42.617677+00:00", + "hash": "94dd651e3f5103c3", + "modified": "2026-04-26T04:35:50.693469+00:00", "slug": "如何利用sora接口实现视频自动化生成工作流", "source_path": "wiki/sources/如何利用sora接口实现视频自动化生成工作流.md", "ingested": true, - "ingested_at": "2026-04-18T10:04:18.752933" + "ingested_at": "2026-04-28T00:03:41.934643+00:00" }, "raw/Skills/Last30Days-使用指南.md": { - "hash": "d202f159aeea9ce9", - "modified": "2026-04-18T09:30:37.466328+00:00", + "hash": "86978d1a21c199cd", + "modified": "2026-04-26T04:35:50.793326+00:00", "slug": "last30days-使用指南", "source_path": "wiki/sources/last30days-使用指南.md", "ingested": true, - "ingested_at": "2026-04-21T07:35:38.033729+00:00" + "ingested_at": "2026-04-28T00:17:18.529544+00:00" }, "raw/Skills/GOG-CLI-安装配置指南.md": { - "hash": "bdedc3ffe48b85ef", - "modified": "2026-04-17T00:38:12.844464+00:00", + "hash": "ddda668ef1f93121", + "modified": "2026-04-26T04:35:50.793228+00:00", "slug": "gog-cli-安装配置指南", "source_path": "wiki/sources/gog-cli-安装配置指南.md", "ingested": true, - "ingested_at": "2026-04-21T07:50:06.657259+00:00" - }, - "raw/跨境电商/Scrapy + Playwright 抓取TikTok Shop Data.md": { - "hash": "cbb79eb5844b1907", - "modified": "2026-04-09T11:31:39.192927+00:00", - "slug": "scrapy-playwright-抓取tiktok-shop-data", - "source_path": "wiki/sources/scrapy-playwright-抓取tiktok-shop-data.md", - "ingested": true, - "ingested_at": "2026-04-18T11:04:58.082248" - }, - "raw/跨境电商/TK美国面单授权及操作流程.md": { - "hash": "809f0114b3395b26", - "modified": "2026-04-09T11:31:39.193131+00:00", - "slug": "tk美国面单授权及操作流程", - "source_path": "wiki/sources/tk美国面单授权及操作流程.md", - "ingested": true, - "ingested_at": "2026-04-18T11:08:40.112019" + "ingested_at": "2026-04-28T00:31:45.490172+00:00" }, "raw/跨境电商/超达物流定价.md": { - "hash": "afb9efbe4df893e9", - "modified": "2026-04-09T11:31:39.193341+00:00", + "hash": "91af6beb84a53e1c", + "modified": "2026-04-26T04:35:50.799800+00:00", "slug": "超达物流定价", "source_path": "wiki/sources/超达物流定价.md", "ingested": true, - "ingested_at": "2026-04-18T11:23:46.615420" - }, - "raw/跨境电商/做TK跨境思路不对努力白费.md": { - "hash": "f2276ee5969e9701", - "modified": "2026-04-09T11:31:39.193553+00:00", - "slug": "做tk跨境思路不对努力白费", - "source_path": "wiki/sources/做tk跨境思路不对努力白费.md", - "ingested": true, - "ingested_at": "2026-04-18T11:35:43.461739" + "ingested_at": "2026-04-28T01:17:56.688708+00:00" }, "raw/跨境电商/TikTok Shop - Apache Superset Dashboard设计思路.md": { - "hash": "ca3a3672eaf68cff", - "modified": "2026-04-09T11:31:39.194126+00:00", + "hash": "8d3a6cf6723a2237", + "modified": "2026-04-26T04:35:50.799411+00:00", "slug": "tiktok-shop-apache-superset-dashboard设计思路", "source_path": "wiki/sources/tiktok-shop-apache-superset-dashboard设计思路.md", "ingested": true, - "ingested_at": "2026-04-18T11:49:14.551009" + "ingested_at": "2026-04-28T01:48:24.504291+00:00" }, "raw/跨境电商/电商视频Prompt.md": { - "hash": "77272706c2e1bcb4", - "modified": "2026-04-09T11:31:39.194362+00:00", + "hash": "e432f838230267b5", + "modified": "2026-04-26T04:35:50.799715+00:00", "slug": "电商视频prompt", "source_path": "wiki/sources/电商视频prompt.md", "ingested": true, - "ingested_at": "2026-04-18T12:03:38.634394" - }, - "raw/跨境电商/电商如何选品 如何找到爆款 选品策略.md": { - "hash": "f89b9e48849625dd", - "modified": "2026-04-09T11:31:39.194588+00:00", - "slug": "电商如何选品-如何找到爆款-选品策略", - "source_path": "wiki/sources/电商如何选品-如何找到爆款-选品策略.md", - "ingested": true, - "ingested_at": "2026-04-18T12:21:05.169695" + "ingested_at": "2026-04-28T02:02:03.184310+00:00" }, "raw/Home Office/Building your Quartz.md": { - "hash": "eee748621c38d104", - "modified": "2026-04-17T00:38:12.806819+00:00", + "hash": "f40cf0dc1e7d88f3", + "modified": "2026-04-26T04:35:50.785875+00:00", "slug": "building-your-quartz", "source_path": "wiki/sources/building-your-quartz.md", "ingested": true, - "ingested_at": "2026-04-18T12:38:07.225739" + "ingested_at": "2026-04-28T02:32:10.221861+00:00" }, "raw/Others/可自动化、可扩展、AI增强的电商数据采集与处理系统.md": { - "hash": "c8c16eb8d8257eb2", - "modified": "2026-04-17T00:38:12.844282+00:00", + "hash": "756da15123cbd70e", + "modified": "2026-04-26T04:35:50.793109+00:00", "slug": "可自动化-可扩展-ai增强的电商数据采集与处理系统", "source_path": "wiki/sources/可自动化-可扩展-ai增强的电商数据采集与处理系统.md", "ingested": true, - "ingested_at": "2026-04-18T12:49:41.871219" + "ingested_at": "2026-04-28T02:50:17.294436+00:00" }, "raw/Agent/AI-Memory-Tools-Two-Camps.md": { - "hash": "0d0d2ea812d0b5a7", - "modified": "2026-04-17T00:38:12.842206+00:00", + "hash": "222649b366983b23", + "modified": "2026-04-26T04:35:50.695436+00:00", "slug": "ai-memory-tools-two-camps", "source_path": "wiki/sources/ai-memory-tools-two-camps.md", "ingested": true, - "ingested_at": "2026-04-18T13:10:54.492947" + "ingested_at": "2026-04-28T03:08:52.095815+00:00" }, "raw/AI/Learn AI for free directly from top companies.md": { - "hash": "22234625bf449944", - "modified": "2026-04-16T13:08:55.731575+00:00", + "hash": "b824ae874be408b9", + "modified": "2026-04-26T04:35:50.689751+00:00", "slug": "learn-ai-for-free-directly-from-top-companies", "source_path": "wiki/sources/learn-ai-for-free-directly-from-top-companies.md", "ingested": true, - "ingested_at": "2026-04-18T13:23:31.012229" + "ingested_at": "2026-04-28T03:18:09.949050+00:00" }, "raw/AI/在 Ubuntu 安装 Ollama 并运行 Qwen2.5‑Coder 7B.md": { - "hash": "0d9deaa455ccdb62", - "modified": "2026-04-17T00:38:12.841821+00:00", + "hash": "23d37815b962faba", + "modified": "2026-04-26T04:35:50.692987+00:00", "slug": "在-ubuntu-安装-ollama-并运行-qwen2-5‑coder-7b", "source_path": "wiki/sources/在-ubuntu-安装-ollama-并运行-qwen2-5‑coder-7b.md", "ingested": true, - "ingested_at": "2026-04-18T13:36:23.730927" + "ingested_at": "2026-04-28T03:34:14.920355+00:00" }, "raw/Skills/Obsidian 必装 Skills.md": { - "hash": "85cefbb11b518899", - "modified": "2026-04-18T09:29:40.028316+00:00", + "hash": "4275326113e7bbf4", + "modified": "2026-04-26T04:35:50.793894+00:00", "slug": "obsidian-必装-skills", "source_path": "wiki/sources/obsidian-必装-skills.md", "ingested": true, - "ingested_at": "2026-04-21T08:21:42.876866+00:00" + "ingested_at": "2026-04-28T03:48:55.714669+00:00" }, "raw/Skills/我做了个 Skill:让 AI 帮你生成 Logo 和图标.md": { - "hash": "9ff92dfe871428bd", - "modified": "2026-04-20T06:31:44.738202+00:00", + "hash": "a2f3e0657f16e89c", + "modified": "2026-04-26T04:35:50.794849+00:00", "slug": "我做了个-skill-让-ai-帮你生成-logo-和图标", "source_path": "wiki/sources/我做了个-skill-让-ai-帮你生成-logo-和图标.md", "ingested": true, - "ingested_at": "2026-04-21T08:37:54.513512+00:00" + "ingested_at": "2026-04-28T04:02:51.711312+00:00" }, "raw/Skills/Obsidian CLI.md": { - "hash": "f944c137e557a40c", - "modified": "2026-04-16T13:08:55.731725+00:00", + "hash": "704fac18378345b8", + "modified": "2026-04-26T04:35:50.793661+00:00", "slug": "obsidian-cli", "source_path": "wiki/sources/obsidian-cli.md", "ingested": true, - "ingested_at": "2026-04-18T14:20:25.021087" + "ingested_at": "2026-04-28T04:19:29.163232+00:00" }, "raw/Skills/Obsidian 官方 CLI 命令全景速查表.md": { - "hash": "aff8e38f7b0fe950", - "modified": "2026-04-16T13:08:55.731872+00:00", + "hash": "f5ad0c5ef60d09a5", + "modified": "2026-04-26T04:35:50.793780+00:00", "slug": "obsidian-官方-cli-命令全景速查表", "source_path": "wiki/sources/obsidian-官方-cli-命令全景速查表.md", "ingested": true, - "ingested_at": "2026-04-18T14:39:18.002689" + "ingested_at": "2026-04-28T04:33:17.904234+00:00" }, "raw/Skills/fireworks-tech-graph.md": { - "hash": "0091bc505ec41422", - "modified": "2026-04-18T00:15:54.232076+00:00", + "hash": "20c753abb0c1d534", + "modified": "2026-04-26T04:35:50.794708+00:00", "slug": "fireworks-tech-graph", "source_path": "wiki/sources/fireworks-tech-graph.md", "ingested": true, - "ingested_at": "2026-04-18T15:05:15.899099" + "ingested_at": "2026-04-28T04:47:56.626350+00:00" }, "raw/Home Office/WSL2 启动与网络配置指南.md": { "hash": "5db067c97ccf95fd", - "modified": "2026-04-18T04:03:16.616780+00:00", + "modified": "2026-04-27T12:02:52.433946+00:00", "slug": "wsl2-启动与网络配置指南", "source_path": "wiki/sources/wsl2-启动与网络配置指南.md", "ingested": true, - "ingested_at": "2026-04-18T15:19:41.817550" + "ingested_at": "2026-04-28T05:07:31.102615+00:00" }, "raw/Home Office/Install WSL.md": { - "hash": "265769c00e2084ba", - "modified": "2026-04-18T04:03:16.616612+00:00", + "hash": "e815c19894f8ee12", + "modified": "2026-04-26T04:35:50.786288+00:00", "slug": "install-wsl", "source_path": "wiki/sources/install-wsl.md", "ingested": true, - "ingested_at": "2026-04-18T15:34:55.557100" + "ingested_at": "2026-04-28T05:17:51.686522+00:00" }, "raw/Home Office/Mac必装软件清单-2026-04-17.md": { - "hash": "da2929f7e4e4c36b", - "modified": "2026-04-18T05:46:09.785055+00:00", + "hash": "e56c682cd19aea08", + "modified": "2026-04-26T04:35:50.786999+00:00", "slug": "mac必装软件清单-2026-04-17", "source_path": "wiki/sources/mac必装软件清单-2026-04-17.md", "ingested": true, - "ingested_at": "2026-04-18T15:52:25.315000" + "ingested_at": "2026-04-28T05:33:23.936268+00:00" }, "raw/Home Office/实战笔记:本地部署 RSSHub 并获取 YouTube 订阅.md": { - "hash": "c37723bff7522dc0", - "modified": "2026-04-21T00:02:52.577798+00:00", + "hash": "e0d0d53c70e31b7d", + "modified": "2026-04-26T04:35:50.790154+00:00", "slug": "实战笔记-本地部署-rsshub-并获取-youtube-订阅", "source_path": "wiki/sources/实战笔记-本地部署-rsshub-并获取-youtube-订阅.md", "ingested": true, - "ingested_at": "2026-04-21T08:48:50.091806+00:00" + "ingested_at": "2026-04-28T05:57:56.785258+00:00" }, "raw/Skills/blogwatcher-daily收藏.md": { - "hash": "b2550c49bfb87a50", - "modified": "2026-04-18T07:17:56.439023+00:00", + "hash": "29178df1c7adf382", + "modified": "2026-04-26T04:35:50.794361+00:00", "slug": "blogwatcher-daily收藏", "source_path": "wiki/sources/blogwatcher-daily收藏.md", "ingested": true, - "ingested_at": "2026-04-18T16:04:37.219428" + "ingested_at": "2026-04-28T06:03:54.112434+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-44-aws-backup-in-micro-focus.md": { - "hash": "c49d39c18e6ca650", - "modified": "2026-04-18T08:17:51.152896+00:00", + "hash": "64aa5edb4f3d5c1d", + "modified": "2026-04-26T04:35:50.763598+00:00", "slug": "ctp-topic-44-aws-backup-in-micro-focus", "source_path": "wiki/sources/ctp-topic-44-aws-backup-in-micro-focus.md", "ingested": true, - "ingested_at": "2026-04-18T16:41:03.840741" + "ingested_at": "2026-04-28T06:17:22.469314+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-14-octane-hub-on-aws-real-life-experience-moving-production-services-i.md": { - "hash": "466aac3c06a0890a", - "modified": "2026-04-18T08:17:51.152126+00:00", + "hash": "71ac4ee739e69cd5", + "modified": "2026-04-26T04:35:50.762457+00:00", "slug": "ctp-topic-14-octane-hub-on-aws-real-life-experience-moving-production-services-i", "source_path": "wiki/sources/ctp-topic-14-octane-hub-on-aws-real-life-experience-moving-production-services-i.md", "ingested": true, - "ingested_at": "2026-04-18T17:07:26.401733" + "ingested_at": "2026-04-28T06:33:16.006711+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora.md": { - "hash": "aa5badc7371eaf10", - "modified": "2026-04-18T08:17:51.153872+00:00", + "hash": "079730de5337d1ce", + "modified": "2026-04-26T04:35:50.764918+00:00", "slug": "ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora", "source_path": "wiki/sources/ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora.md", "ingested": true, - "ingested_at": "2026-04-18T17:20:26.470786" + "ingested_at": "2026-04-28T06:52:20.605626+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-17-active-directory-services-in-gruntwork-aws-lzs.md": { - "hash": "03f112eab6c2111a", - "modified": "2026-04-18T08:17:51.152195+00:00", + "hash": "218a3d6ddd6fbcfe", + "modified": "2026-04-26T04:35:50.762549+00:00", "slug": "ctp-topic-17-active-directory-services-in-gruntwork-aws-lzs", "source_path": "wiki/sources/ctp-topic-17-active-directory-services-in-gruntwork-aws-lzs.md", "ingested": true, - "ingested_at": "2026-04-18T17:50:02.572817" + "ingested_at": "2026-04-28T07:06:18.576224+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-46-netapps-on-aws.md": { - "hash": "2a1f4689117bed5b", - "modified": "2026-04-18T08:17:51.152964+00:00", + "hash": "27467019a9c28622", + "modified": "2026-04-26T04:35:50.763803+00:00", "slug": "ctp-topic-46-netapps-on-aws", "source_path": "wiki/sources/ctp-topic-46-netapps-on-aws.md", "ingested": true, - "ingested_at": "2026-04-18T18:16:46.474150" + "ingested_at": "2026-04-28T07:19:19.234090+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-51-architecting-with-aws-purpose-built-databases.md": { - "hash": "535c23d83e5d0793", - "modified": "2026-04-18T08:17:51.153387+00:00", + "hash": "1e4c90b0e40bbe61", + "modified": "2026-04-26T04:35:50.764400+00:00", "slug": "ctp-topic-51-architecting-with-aws-purpose-built-databases", "source_path": "wiki/sources/ctp-topic-51-architecting-with-aws-purpose-built-databases.md", "ingested": true, - "ingested_at": "2026-04-18T18:40:08.161458" + "ingested_at": "2026-04-28T07:37:36.854425+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-1-gruntwork-landing-zone-architecture.md": { - "hash": "6a21d9ee850601d5", - "modified": "2026-04-18T08:17:51.151977+00:00", + "hash": "8e13864869a104c2", + "modified": "2026-04-26T04:35:50.762139+00:00", "slug": "ctp-topic-1-gruntwork-landing-zone-architecture", "source_path": "wiki/sources/ctp-topic-1-gruntwork-landing-zone-architecture.md", "ingested": true, - "ingested_at": "2026-04-18T18:48:32.208759" + "ingested_at": "2026-04-28T07:48:02.351210+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-72-implementing-an-enterprise-dr-strategy-using-aws-backup.md": { - "hash": "3ea5863c5e9b4e1d", - "modified": "2026-04-18T08:17:51.154494+00:00", + "hash": "6532fa65f28afc79", + "modified": "2026-04-26T04:35:50.765580+00:00", "slug": "ctp-topic-72-implementing-an-enterprise-dr-strategy-using-aws-backup", "source_path": "wiki/sources/ctp-topic-72-implementing-an-enterprise-dr-strategy-using-aws-backup.md", "ingested": true, - "ingested_at": "2026-04-18T19:23:02.673654" + "ingested_at": "2026-04-28T08:07:49.886527+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-47-enterprise-architecture-cloud-standards.md": { - "hash": "a7ebd57061dad8de", - "modified": "2026-04-18T08:17:51.153084+00:00", + "hash": "3e9fba958b54798c", + "modified": "2026-04-26T04:35:50.763973+00:00", "slug": "ctp-topic-47-enterprise-architecture-cloud-standards", "source_path": "wiki/sources/ctp-topic-47-enterprise-architecture-cloud-standards.md", "ingested": true, - "ingested_at": "2026-04-18T19:36:05.909773" + "ingested_at": "2026-04-28T08:17:30.901178+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-28-aws-tag-validation-tool.md": { - "hash": "6c14bae6d17f0ed5", - "modified": "2026-04-18T08:17:51.152479+00:00", + "hash": "a20305ef90adcdf4", + "modified": "2026-04-26T04:35:50.762930+00:00", "slug": "ctp-topic-28-aws-tag-validation-tool", "source_path": "wiki/sources/ctp-topic-28-aws-tag-validation-tool.md", "ingested": true, - "ingested_at": "2026-04-18T19:54:52.235262" + "ingested_at": "2026-04-28T08:31:50.363549+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-73-aws-backup-implementation-of-the-cloud-transformation-program.md": { - "hash": "5652ec8311f670df", - "modified": "2026-04-18T08:17:51.154644+00:00", + "hash": "d8ed414891eb4882", + "modified": "2026-04-26T04:35:50.765759+00:00", "slug": "ctp-topic-73-aws-backup-implementation-of-the-cloud-transformation-program", "source_path": "wiki/sources/ctp-topic-73-aws-backup-implementation-of-the-cloud-transformation-program.md", "ingested": true, - "ingested_at": "2026-04-18T20:11:17.379684" + "ingested_at": "2026-04-28T08:52:04.379710+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md": { - "hash": "2a0759f3328b4aca", - "modified": "2026-04-18T08:17:51.152057+00:00", + "hash": "5f26c0233fe82fe8", + "modified": "2026-04-26T04:35:50.762352+00:00", "slug": "ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security", "source_path": "wiki/sources/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md", "ingested": true, - "ingested_at": "2026-04-18T20:36:34.600660" + "ingested_at": "2026-04-28T09:03:11.220140+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-35-aws-landing-zone-design-refresher-saas-labs.md": { - "hash": "2bb776a43a566879", - "modified": "2026-04-18T08:17:51.152656+00:00", + "hash": "1d66113dee9fe134", + "modified": "2026-04-26T04:35:50.763208+00:00", "slug": "ctp-topic-35-aws-landing-zone-design-refresher-saas-labs", "source_path": "wiki/sources/ctp-topic-35-aws-landing-zone-design-refresher-saas-labs.md", "ingested": true, - "ingested_at": "2026-04-18T20:50:57.370164" + "ingested_at": "2026-04-28T09:20:38.620549+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-34-azure-landing-zone-architecture-overview.md": { - "hash": "3d4daf9bab61b692", - "modified": "2026-04-18T08:17:51.152541+00:00", + "hash": "532c9cea6eaa26ed", + "modified": "2026-04-26T04:35:50.763029+00:00", "slug": "ctp-topic-34-azure-landing-zone-architecture-overview", "source_path": "wiki/sources/ctp-topic-34-azure-landing-zone-architecture-overview.md", "ingested": true, - "ingested_at": "2026-04-18T21:10:30.273368" + "ingested_at": "2026-04-28T09:36:01.083982+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-7-saas-landing-zone-design.md": { - "hash": "c767d61e044afdc8", - "modified": "2026-04-18T08:17:51.154348+00:00", + "hash": "7b41944cd3cd576d", + "modified": "2026-04-26T04:35:50.765406+00:00", "slug": "ctp-topic-7-saas-landing-zone-design", "source_path": "wiki/sources/ctp-topic-7-saas-landing-zone-design.md", "ingested": true, - "ingested_at": "2026-04-18T21:20:57.821884" + "ingested_at": "2026-04-28T09:57:01.733595+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/learning-sessions-standard-amis-updates-20231205-160324-meeting-recording-2.md": { - "hash": "00e94b6967a46a05", - "modified": "2026-04-18T08:17:51.154784+00:00", + "hash": "b7034dbb672dcb1b", + "modified": "2026-04-26T04:35:50.765953+00:00", "slug": "learning-sessions-standard-amis-updates-20231205-160324-meeting-recording-2", "source_path": "wiki/sources/learning-sessions-standard-amis-updates-20231205-160324-meeting-recording-2.md", "ingested": true, - "ingested_at": "2026-04-18T21:36:33.305384" + "ingested_at": "2026-04-28T10:11:26.015181+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-25-labs-landing-zone-overview-itom-teams.md": { - "hash": "78b07eeb4452e6fc", - "modified": "2026-04-18T08:17:51.152272+00:00", + "hash": "2dba0a0772cdaea9", + "modified": "2026-04-26T04:35:50.762645+00:00", "slug": "ctp-topic-25-labs-landing-zone-overview-itom-teams", "source_path": "wiki/sources/ctp-topic-25-labs-landing-zone-overview-itom-teams.md", "ingested": true, - "ingested_at": "2026-04-18T21:51:11.631148" + "ingested_at": "2026-04-28T10:18:00.900122+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-58-aws-ec2-image-builder.md": { - "hash": "1dd474ee0e6d0c2a", - "modified": "2026-04-18T08:17:51.153742+00:00", + "hash": "3079c88f8aaed168", + "modified": "2026-04-26T04:35:50.764743+00:00", "slug": "ctp-topic-58-aws-ec2-image-builder", "source_path": "wiki/sources/ctp-topic-58-aws-ec2-image-builder.md", "ingested": true, - "ingested_at": "2026-04-18T22:28:53.606678" + "ingested_at": "2026-04-28T10:33:12.848718+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-68-introduction-to-redshift.md": { - "hash": "aa476972de56036b", - "modified": "2026-04-18T08:17:51.154205+00:00", + "hash": "0965e4cc508baa80", + "modified": "2026-04-26T04:35:50.765203+00:00", "slug": "ctp-topic-68-introduction-to-redshift", "source_path": "wiki/sources/ctp-topic-68-introduction-to-redshift.md", "ingested": true, - "ingested_at": "2026-04-18T22:40:00.401325" + "ingested_at": "2026-04-28T10:49:21.855825+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-26-standard-ami-build-publish-share-processes.md": { - "hash": "3d4a431a9893ffb5", - "modified": "2026-04-18T08:17:51.152413+00:00", + "hash": "932fe1479c306a0d", + "modified": "2026-04-26T04:35:50.762838+00:00", "slug": "ctp-topic-26-standard-ami-build-publish-share-processes", "source_path": "wiki/sources/ctp-topic-26-standard-ami-build-publish-share-processes.md", "ingested": true, - "ingested_at": "2026-04-18T22:48:48.142822" + "ingested_at": "2026-04-28T11:10:24.170793+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-40-saas-database-architecture-on-aws-cloud.md": { - "hash": "1fe489cae6f60a71", - "modified": "2026-04-18T08:17:51.152770+00:00", + "hash": "c2cf47a2c94d0192", + "modified": "2026-04-26T04:35:50.763394+00:00", "slug": "ctp-topic-40-saas-database-architecture-on-aws-cloud", "source_path": "wiki/sources/ctp-topic-40-saas-database-architecture-on-aws-cloud.md", "ingested": true, - "ingested_at": "2026-04-18T23:18:46.372475" + "ingested_at": "2026-04-28T11:18:13.635693+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-50-ami-roadmap-for-aws-amis.md": { - "hash": "23360cbf9265dfe5", - "modified": "2026-04-18T08:17:51.153270+00:00", + "hash": "2673d3bb8353b722", + "modified": "2026-04-26T04:35:50.764229+00:00", "slug": "ctp-topic-50-ami-roadmap-for-aws-amis", "source_path": "wiki/sources/ctp-topic-50-ami-roadmap-for-aws-amis.md", "ingested": true, - "ingested_at": "2026-04-18T23:35:03.241269" + "ingested_at": "2026-04-28T11:33:03.007243+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-22-global-dns-service-offerings.md": { - "hash": "95d79d5d59d3bdb5", - "modified": "2026-04-18T08:17:51.162157+00:00", + "hash": "d459cb00b4958918", + "modified": "2026-04-26T04:35:50.777478+00:00", "slug": "ctp-topic-22-global-dns-service-offerings", "source_path": "wiki/sources/ctp-topic-22-global-dns-service-offerings.md", "ingested": true, - "ingested_at": "2026-04-18T23:35:03.241269" + "ingested_at": "2026-04-28T11:49:24.095895+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-36-sendgrid-as-an-email-service.md": { - "hash": "94027ae5005d1735", - "modified": "2026-04-18T08:17:51.162329+00:00", + "hash": "6e6030eec9edd79d", + "modified": "2026-04-26T04:35:50.777737+00:00", "slug": "ctp-topic-36-sendgrid-as-an-email-service", "source_path": "wiki/sources/ctp-topic-36-sendgrid-as-an-email-service.md", "ingested": true, - "ingested_at": "2026-04-19T00:00:00" + "ingested_at": "2026-04-28T12:04:40.129189+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-19-configuring-dns-within-aws-lzs.md": { - "hash": "8b742ddf0d586490", - "modified": "2026-04-18T08:17:51.162099+00:00", + "hash": "67e0a1bc1569712c", + "modified": "2026-04-26T04:35:50.777392+00:00", "slug": "ctp-topic-19-configuring-dns-within-aws-lzs", "source_path": "wiki/sources/ctp-topic-19-configuring-dns-within-aws-lzs.md", "ingested": true, - "ingested_at": "2026-04-19T00:24:59.544636" + "ingested_at": "2026-04-28T12:19:23.123510+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-45-automatic-ip-address-allocation-with-ipam.md": { - "hash": "17bb1ee58b538651", - "modified": "2026-04-18T08:17:51.162535+00:00", + "hash": "88460e7488e18a1c", + "modified": "2026-04-26T04:35:50.778101+00:00", "slug": "ctp-topic-45-automatic-ip-address-allocation-with-ipam", "source_path": "wiki/sources/ctp-topic-45-automatic-ip-address-allocation-with-ipam.md", "ingested": true, - "ingested_at": "2026-04-19T00:34:30.404853" + "ingested_at": "2026-04-28T12:36:40.624298+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-61-workload-vpc-provision-with-ipam-automation.md": { - "hash": "3de5f5fec3d3ea8a", - "modified": "2026-04-18T08:17:51.162632+00:00", + "hash": "88a83ca9b5080a13", + "modified": "2026-04-26T04:35:50.778279+00:00", "slug": "ctp-topic-61-workload-vpc-provision-with-ipam-automation", "source_path": "wiki/sources/ctp-topic-61-workload-vpc-provision-with-ipam-automation.md", "ingested": true, - "ingested_at": "2026-04-19T00:51:14.195029" + "ingested_at": "2026-04-28T12:48:45.744681+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-43-vmware-cloud-on-aws.md": { - "hash": "306e509a1f745a9a", - "modified": "2026-04-18T08:17:51.162437+00:00", + "hash": "09346a9ddac20277", + "modified": "2026-04-26T04:35:50.777897+00:00", "slug": "ctp-topic-43-vmware-cloud-on-aws", "source_path": "wiki/sources/ctp-topic-43-vmware-cloud-on-aws.md", "ingested": true, - "ingested_at": "2026-04-19T01:20:50.550879" + "ingested_at": "2026-04-28T13:09:44.422161+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-18-wide-area-networking-in-aws-cloud.md": { - "hash": "7162c7c57cc08b10", - "modified": "2026-04-18T08:17:51.162039+00:00", + "hash": "a0165213a883e05b", + "modified": "2026-04-26T04:35:50.777306+00:00", "slug": "ctp-topic-18-wide-area-networking-in-aws-cloud", "source_path": "wiki/sources/ctp-topic-18-wide-area-networking-in-aws-cloud.md", "ingested": true, - "ingested_at": "2026-04-19T01:51:41.469501" + "ingested_at": "2026-04-28T13:19:52.527373+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-31-network-segregation-and-secure-access-to-the-new-aws-landing-zones.md": { - "hash": "64b9de78b4f8351a", - "modified": "2026-04-18T08:17:51.162215+00:00", + "hash": "0e51dd86e7d98c36", + "modified": "2026-04-26T04:35:50.777573+00:00", "slug": "ctp-topic-31-network-segregation-and-secure-access-to-the-new-aws-landing-zones", "source_path": "wiki/sources/ctp-topic-31-network-segregation-and-secure-access-to-the-new-aws-landing-zones.md", "ingested": true, - "ingested_at": "2026-04-19T02:04:00.984302" + "ingested_at": "2026-04-28T13:37:29.496775+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-69-best-practices-for-migrating-on-premises-iod-virtual-machines-to-vm.md": { - "hash": "af367272d4175da7", - "modified": "2026-04-18T08:17:51.162838+00:00", + "hash": "05cd7511a42c8328", + "modified": "2026-04-26T04:35:50.778449+00:00", "slug": "ctp-topic-69-best-practices-for-migrating-on-premises-iod-virtual-machines-to-vm", "source_path": "wiki/sources/ctp-topic-69-best-practices-for-migrating-on-premises-iod-virtual-machines-to-vm.md", "ingested": true, - "ingested_at": "2026-04-19T02:20:17.825525" + "ingested_at": "2026-04-28T13:46:25.680644+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-30-managing-change.md": { - "hash": "04882b4f0cb8628a", - "modified": "2026-04-18T08:17:51.163896+00:00", + "hash": "cafa605279e3cf49", + "modified": "2026-04-26T04:35:50.780181+00:00", "slug": "ctp-topic-30-managing-change", "source_path": "wiki/sources/ctp-topic-30-managing-change.md", "ingested": true, - "ingested_at": "2026-04-19T02:36:43.445203" + "ingested_at": "2026-04-28T14:06:06.702403+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-opentext-evolving-from-dr-to-recovery-assurance-2.md": { - "hash": "6645dbfbfed329e2", - "modified": "2026-04-18T08:17:51.164842+00:00", + "hash": "e4df58fa10cb477f", + "modified": "2026-04-26T04:35:50.781850+00:00", "slug": "public-cloud-learning-sessions-opentext-evolving-from-dr-to-recovery-assurance-2", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-evolving-from-dr-to-recovery-assurance-2.md", "ingested": true, - "ingested_at": "2026-04-19T02:54:21.530235" + "ingested_at": "2026-04-28T14:41:14.062090+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation.md": { - "hash": "95581d9490f2fe88", - "modified": "2026-04-18T08:17:51.164513+00:00", + "hash": "c707c360ab9767c9", + "modified": "2026-04-26T04:35:50.781248+00:00", "slug": "ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation", "source_path": "wiki/sources/ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation.md", "ingested": true, - "ingested_at": "2026-04-19T03:04:41.941376" + "ingested_at": "2026-04-28T14:48:33.442701+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-4-using-agile-to-run-the-cloud-transformation-program.md": { - "hash": "ea15d8a0ae537968", - "modified": "2026-04-18T08:17:51.163951+00:00", + "hash": "8fb8b0ad41d43d75", + "modified": "2026-04-26T04:35:50.780266+00:00", "slug": "ctp-topic-4-using-agile-to-run-the-cloud-transformation-program", "source_path": "wiki/sources/ctp-topic-4-using-agile-to-run-the-cloud-transformation-program.md", "ingested": true, - "ingested_at": "2026-04-19T03:17:55.959609" + "ingested_at": "2026-04-28T15:03:12.654425+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-20-program-demand-process-flow-and-poc-onboarding.md": { - "hash": "5faaf82364d18605", - "modified": "2026-04-18T08:17:51.163780+00:00", + "hash": "e6d0dd529e405199", + "modified": "2026-04-26T04:35:50.780005+00:00", "slug": "ctp-topic-20-program-demand-process-flow-and-poc-onboarding", "source_path": "wiki/sources/ctp-topic-20-program-demand-process-flow-and-poc-onboarding.md", "ingested": true, - "ingested_at": "2026-04-19T03:33:13.728219" + "ingested_at": "2026-04-28T15:21:15.255040+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md": { - "hash": "68da0fd32825d931", - "modified": "2026-04-18T08:17:51.163718+00:00", + "hash": "fd3e89be12edc56a", + "modified": "2026-04-26T04:35:50.779909+00:00", "slug": "ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security", "source_path": "wiki/sources/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md", "ingested": true, - "ingested_at": "2026-04-19T03:51:54.288283" + "ingested_at": "2026-04-28T15:36:18.631117+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-41-nfrs-and-error-budgets.md": { - "hash": "743692fbd600cf13", - "modified": "2026-04-18T08:17:51.164062+00:00", + "hash": "96bac44522245b87", + "modified": "2026-04-26T04:35:50.780443+00:00", "slug": "ctp-topic-41-nfrs-and-error-budgets", "source_path": "wiki/sources/ctp-topic-41-nfrs-and-error-budgets.md", "ingested": true, - "ingested_at": "2026-04-19T04:04:17.519524" + "ingested_at": "2026-04-28T15:47:16.931659+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-opentext-tagging-standard-v2-20250429-170111-meet.md": { - "hash": "435c002378d84e5c", - "modified": "2026-04-18T08:17:51.165186+00:00", + "hash": "02991243bc67f8e9", + "modified": "2026-04-26T04:35:50.782425+00:00", "slug": "public-cloud-learning-sessions-opentext-tagging-standard-v2-20250429-170111-meet", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-tagging-standard-v2-20250429-170111-meet.md", "ingested": true, - "ingested_at": "2026-04-19T04:21:34.445873" + "ingested_at": "2026-04-28T16:04:26.500025+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-opentext-github-enterprise-to-gitlab-migration-20.md": { - "hash": "90b001e3d27f4730", - "modified": "2026-04-18T08:17:51.164958+00:00", + "hash": "6d1603ddb13b080b", + "modified": "2026-04-26T04:35:50.782040+00:00", "slug": "public-cloud-learning-sessions-opentext-github-enterprise-to-gitlab-migration-20", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-github-enterprise-to-gitlab-migration-20.md", "ingested": true, - "ingested_at": "2026-04-19T04:49:42.198146" + "ingested_at": "2026-04-28T16:25:00.534122+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-53-why-bother-with-cloud.md": { - "hash": "7c6ef68fdd70977a", - "modified": "2026-04-18T08:17:51.164176+00:00", + "hash": "661d27f7b5a915e6", + "modified": "2026-04-26T04:35:50.780697+00:00", "slug": "ctp-topic-53-why-bother-with-cloud", "source_path": "wiki/sources/ctp-topic-53-why-bother-with-cloud.md", "ingested": true, - "ingested_at": "2026-04-19T05:04:16.616649" + "ingested_at": "2026-04-28T16:36:10.506151+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-6-aws-workspaces-demo.md": { - "hash": "36dd92cbb63d664a", - "modified": "2026-04-18T08:17:51.164410+00:00", + "hash": "fcc7b71d76343877", + "modified": "2026-04-26T04:35:50.781065+00:00", "slug": "ctp-topic-6-aws-workspaces-demo", "source_path": "wiki/sources/ctp-topic-6-aws-workspaces-demo.md", "ingested": true, - "ingested_at": "2026-04-19T05:22:35.375639" + "ingested_at": "2026-04-28T16:46:01.837845+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-opentext-thor-platform-flows-20241210-160056-meet.md": { - "hash": "124d4ec9e69b7dd1", - "modified": "2026-04-18T08:17:51.165303+00:00", + "hash": "88ea36cc52f30e01", + "modified": "2026-04-26T04:35:50.782625+00:00", "slug": "public-cloud-learning-sessions-opentext-thor-platform-flows-20241210-160056-meet", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-thor-platform-flows-20241210-160056-meet.md", "ingested": true, - "ingested_at": "2026-04-19T05:34:44.588210" + "ingested_at": "2026-04-28T17:09:05.169456+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-57-product-backlog-managing-demand.md": { - "hash": "b3622d1992f28228", - "modified": "2026-04-18T08:17:51.164282+00:00", + "hash": "46947487a19756b4", + "modified": "2026-04-26T04:35:50.780885+00:00", "slug": "ctp-topic-57-product-backlog-managing-demand", "source_path": "wiki/sources/ctp-topic-57-product-backlog-managing-demand.md", "ingested": true, - "ingested_at": "2026-04-19T05:52:04.474796" + "ingested_at": "2026-04-28T17:16:50.535213+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-23-introduction-to-the-technical-architecture-team-and-function.md": { - "hash": "04db7dd79d9c1527", - "modified": "2026-04-18T08:17:51.163838+00:00", + "hash": "db82cb485e78547a", + "modified": "2026-04-26T04:35:50.780094+00:00", "slug": "ctp-topic-23-introduction-to-the-technical-architecture-team-and-function", "source_path": "wiki/sources/ctp-topic-23-introduction-to-the-technical-architecture-team-and-function.md", "ingested": true, - "ingested_at": "2026-04-19T06:04:11.527748" + "ingested_at": "2026-04-28T17:37:28.875606+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-tagging-standards-for-all-hyperscalers-20240123-1.md": { - "hash": "cf8d6cd43ac42be0", - "modified": "2026-04-18T08:17:51.165412+00:00", + "hash": "976fb465ab0a2e7f", + "modified": "2026-04-26T04:35:50.782830+00:00", "slug": "public-cloud-learning-sessions-tagging-standards-for-all-hyperscalers-20240123-1", "source_path": "wiki/sources/public-cloud-learning-sessions-tagging-standards-for-all-hyperscalers-20240123-1.md", "ingested": true, - "ingested_at": "2026-04-19T06:19:26.461429" + "ingested_at": "2026-04-28T17:47:44.473051+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-opentext-product-hub-pht-overview-and-qa-20240806.md": { - "hash": "66d6c60a67679b78", - "modified": "2026-04-18T08:17:51.165074+00:00", + "hash": "58ffac7beae2ada6", + "modified": "2026-04-26T04:35:50.782234+00:00", "slug": "public-cloud-learning-sessions-opentext-product-hub-pht-overview-and-qa-20240806", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-product-hub-pht-overview-and-qa-20240806.md", "ingested": true, - "ingested_at": "2026-04-19T06:35:54.744246" + "ingested_at": "2026-04-28T18:04:49.386380+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-applicable-business-analysis-techniques-20240109-.md": { - "hash": "abf3b08bc0ee4dbf", - "modified": "2026-04-18T08:17:51.164616+00:00", + "hash": "cd7022d599dbf767", + "modified": "2026-04-26T04:35:50.781444+00:00", "slug": "public-cloud-learning-sessions-applicable-business-analysis-techniques-20240109", "source_path": "wiki/sources/public-cloud-learning-sessions-applicable-business-analysis-techniques-20240109.md", "ingested": true, - "ingested_at": "2026-04-19T06:50:47.811137" + "ingested_at": "2026-04-28T18:21:23.878438+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/public-cloud-learning-sessions-aws-end-user-compute-services-20240430-160120-mee.md": { - "hash": "3c77d391d827c22a", - "modified": "2026-04-18T08:17:51.164727+00:00", + "hash": "f2da6a0b0a3a9987", + "modified": "2026-04-26T04:35:50.781646+00:00", "slug": "public-cloud-learning-sessions-aws-end-user-compute-services-20240430-160120-mee", "source_path": "wiki/sources/public-cloud-learning-sessions-aws-end-user-compute-services-20240430-160120-mee.md", "ingested": true, - "ingested_at": "2026-04-19T08:52:59.512204" + "ingested_at": "2026-04-28T18:40:25.690350+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/02_IAM/learning-sessions-identity-governance-vsm-replacement-20231128-160326-meeting-re.md": { - "hash": "67d6155b8f353c6e", - "modified": "2026-04-18T08:17:51.155205+00:00", + "hash": "c46e5eb6358d85fd", + "modified": "2026-04-26T04:35:50.767323+00:00", "slug": "learning-sessions-identity-governance-vsm-replacement-20231128-160326-meeting-re", "source_path": "wiki/sources/learning-sessions-identity-governance-vsm-replacement-20231128-160326-meeting-re.md", "ingested": true, - "ingested_at": "2026-04-19T09:06:52.294012" + "ingested_at": "2026-04-28T18:49:37.417949+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/02_IAM/ctp-topic-5-aws-identity-and-access-management-iam.md": { - "hash": "f256d8dcc384cb4b", - "modified": "2026-04-18T08:17:51.155067+00:00", + "hash": "c25c7d9556a51f34", + "modified": "2026-04-26T04:35:50.767146+00:00", "slug": "ctp-topic-5-aws-identity-and-access-management-iam", "source_path": "wiki/sources/ctp-topic-5-aws-identity-and-access-management-iam.md", "ingested": true, - "ingested_at": "2026-04-19T09:21:29.635148" + "ingested_at": "2026-04-28T19:02:59.635208+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/02_IAM/ctp-topic-11-ad-integration-and-login-using-ad-accounts.md": { - "hash": "dbabfc7af090bdad", - "modified": "2026-04-18T08:17:51.154997+00:00", + "hash": "55a8c3524f7d34c6", + "modified": "2026-04-26T04:35:50.767055+00:00", "slug": "ctp-topic-11-ad-integration-and-login-using-ad-accounts", "source_path": "wiki/sources/ctp-topic-11-ad-integration-and-login-using-ad-accounts.md", "ingested": true, - "ingested_at": "2026-04-19T09:37:55.279554" + "ingested_at": "2026-04-28T19:17:26.043144+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid.md": { - "hash": "2b4568677c33969f", - "modified": "2026-04-18T08:17:51.158182+00:00", + "hash": "c283a4855c323d98", + "modified": "2026-04-26T04:35:50.772458+00:00", "slug": "ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid", "source_path": "wiki/sources/ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid.md", "ingested": true, - "ingested_at": "2026-04-19T09:50:07.271183" + "ingested_at": "2026-04-28T19:33:34.857295+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks-.md": { - "hash": "efbf5de09a47c7a3", - "modified": "2026-04-18T08:17:51.158781+00:00", + "hash": "25f3e724792895d9", + "modified": "2026-04-26T04:35:50.773088+00:00", "slug": "public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks", "source_path": "wiki/sources/public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks.md", "ingested": true, - "ingested_at": "2026-04-19T10:04:24.170806" + "ingested_at": "2026-04-28T19:46:37.914740+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-60-monitor-aws-using-hyperscale-observability-with-grafana.md": { - "hash": "785774067bf0988a", - "modified": "2026-04-18T08:17:51.157642+00:00", + "hash": "1727dad26ee2ab24", + "modified": "2026-04-26T04:35:50.771632+00:00", "slug": "ctp-topic-60-monitor-aws-using-hyperscale-observability-with-grafana", "source_path": "wiki/sources/ctp-topic-60-monitor-aws-using-hyperscale-observability-with-grafana.md", "ingested": true, - "ingested_at": "2026-04-19T10:20:13.136360" + "ingested_at": "2026-04-28T20:03:33.164546+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-70-eks-deployment-using-iac.md": { - "hash": "a8734c5c56ce9a80", - "modified": "2026-04-18T08:17:51.158052+00:00", + "hash": "bce16b2e86f23dfa", + "modified": "2026-04-26T04:35:50.772168+00:00", "slug": "ctp-topic-70-eks-deployment-using-iac", "source_path": "wiki/sources/ctp-topic-70-eks-deployment-using-iac.md", "ingested": true, - "ingested_at": "2026-04-19T10:34:40.846511" + "ingested_at": "2026-04-28T20:19:23.383105+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/public-cloud-learning-sessions-eks-optimization-part-1-of-3-compute-optimization.md": { - "hash": "c891d2db464575dc", - "modified": "2026-04-18T08:17:51.158385+00:00", + "hash": "1ea61e3c186b4615", + "modified": "2026-04-26T04:35:50.772647+00:00", "slug": "public-cloud-learning-sessions-eks-optimization-part-1-of-3-compute-optimization", "source_path": "wiki/sources/public-cloud-learning-sessions-eks-optimization-part-1-of-3-compute-optimization.md", "ingested": true, - "ingested_at": "2026-04-19T11:04:21.310393" + "ingested_at": "2026-04-28T20:31:33.575182+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-39-implementing-eks-in-the-aws-lab-landing-zone.md": { - "hash": "77764f77d6ee5c6b", - "modified": "2026-04-18T08:17:51.156714+00:00", + "hash": "ee2e38a02654c088", + "modified": "2026-04-26T04:35:50.769727+00:00", "slug": "ctp-topic-39-implementing-eks-in-the-aws-lab-landing-zone", "source_path": "wiki/sources/ctp-topic-39-implementing-eks-in-the-aws-lab-landing-zone.md", "ingested": true, - "ingested_at": "2026-04-19T11:19:11.680280" + "ingested_at": "2026-04-28T20:49:28.135162+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-29-cloud-monitoring-saas-lz-accounts.md": { - "hash": "b7e09312a1e6c547", - "modified": "2026-04-18T08:17:51.156574+00:00", + "hash": "fd21235d8eed167f", + "modified": "2026-04-26T04:35:50.768997+00:00", "slug": "ctp-topic-29-cloud-monitoring-saas-lz-accounts", "source_path": "wiki/sources/ctp-topic-29-cloud-monitoring-saas-lz-accounts.md", "ingested": true, - "ingested_at": "2026-04-19T11:33:20.060017" + "ingested_at": "2026-04-28T21:02:01.004118+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-59-achieving-reliability-with-amazon-eks.md": { - "hash": "d0e3d3932e78b4bf", - "modified": "2026-04-18T08:17:51.157510+00:00", + "hash": "a56bed6b25e34059", + "modified": "2026-04-26T04:35:50.771351+00:00", "slug": "ctp-topic-59-achieving-reliability-with-amazon-eks", "source_path": "wiki/sources/ctp-topic-59-achieving-reliability-with-amazon-eks.md", "ingested": true, - "ingested_at": "2026-04-19T11:52:24.806165" + "ingested_at": "2026-04-28T21:17:22.272579+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-54-esm-saas-log-analytics.md": { - "hash": "7ec83c25c177376b", - "modified": "2026-04-18T08:17:51.157368+00:00", + "hash": "151e92213b110acd", + "modified": "2026-04-26T04:35:50.771155+00:00", "slug": "ctp-topic-54-esm-saas-log-analytics", "source_path": "wiki/sources/ctp-topic-54-esm-saas-log-analytics.md", "ingested": true, - "ingested_at": "2026-04-19T12:05:14.166930" + "ingested_at": "2026-04-28T21:31:15.554999+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113-.md": { - "hash": "335cdecb179abb91", - "modified": "2026-04-18T08:17:51.158916+00:00", + "hash": "3c43ba6c074c7e48", + "modified": "2026-04-26T04:35:50.773282+00:00", "slug": "public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113", "source_path": "wiki/sources/public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113.md", "ingested": true, - "ingested_at": "2026-04-19T12:35:30.714291" + "ingested_at": "2026-04-28T21:47:25.268949+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-42-grafana-observability-dashboard.md": { - "hash": "8f61570e78f9a580", - "modified": "2026-04-18T08:17:51.157038+00:00", + "hash": "7d8969d57a3a502c", + "modified": "2026-04-26T04:35:50.770882+00:00", "slug": "ctp-topic-42-grafana-observability-dashboard", "source_path": "wiki/sources/ctp-topic-42-grafana-observability-dashboard.md", "ingested": true, - "ingested_at": "2026-04-19T12:49:24.166149" + "ingested_at": "2026-04-28T22:02:33.692273+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w.md": { - "hash": "209a1dc2c6efb58e", - "modified": "2026-04-18T08:17:51.158642+00:00", + "hash": "75de36090691665b", + "modified": "2026-04-26T04:35:50.772823+00:00", "slug": "public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w", "source_path": "wiki/sources/public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w.md", "ingested": true, - "ingested_at": "2026-04-19T13:33:33.581626" + "ingested_at": "2026-04-28T22:18:19.394291+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-67-cloud-native-observability-using-opentelemetry.md": { - "hash": "5997cddf576ea7e8", - "modified": "2026-04-18T08:17:51.157923+00:00", + "hash": "5a442dd428ac671e", + "modified": "2026-04-26T04:35:50.771997+00:00", "slug": "ctp-topic-67-cloud-native-observability-using-opentelemetry", "source_path": "wiki/sources/ctp-topic-67-cloud-native-observability-using-opentelemetry.md", "ingested": true, - "ingested_at": "2026-04-19T13:48:51.951630" + "ingested_at": "2026-04-28T22:31:59.579402+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/ctp-topic-64-scaling-out-with-amazon-eks.md": { - "hash": "dcac4c1646ceb6ff", - "modified": "2026-04-18T08:17:51.157778+00:00", + "hash": "325f5f8e6fe8a8d0", + "modified": "2026-04-26T04:35:50.771821+00:00", "slug": "ctp-topic-64-scaling-out-with-amazon-eks", "source_path": "wiki/sources/ctp-topic-64-scaling-out-with-amazon-eks.md", "ingested": true, - "ingested_at": "2026-04-19T14:07:27.595676" + "ingested_at": "2026-04-28T22:49:48.144090+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/public-cloud-learning-sessions-opentext-gis-security-policies-20241015-160257-me.md": { - "hash": "c77e29fc5b1f7cdc", - "modified": "2026-04-18T08:17:51.161888+00:00", + "hash": "01091321ddeb17b9", + "modified": "2026-04-26T04:35:50.777123+00:00", "slug": "public-cloud-learning-sessions-opentext-gis-security-policies-20241015-160257-me", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-gis-security-policies-20241015-160257-me.md", "ingested": true, - "ingested_at": "2026-04-19T14:19:51.762538" + "ingested_at": "2026-04-28T23:04:45.943819+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-62-aws-secrets-manager.md": { - "hash": "807703fe8d71d23d", - "modified": "2026-04-18T08:17:51.161774+00:00", + "hash": "f340f983d12e05c3", + "modified": "2026-04-26T04:35:50.776958+00:00", "slug": "ctp-topic-62-aws-secrets-manager", "source_path": "wiki/sources/ctp-topic-62-aws-secrets-manager.md", "ingested": true, - "ingested_at": "2026-04-19T14:36:18.529397" + "ingested_at": "2026-04-28T23:17:32.273060+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-37-secrets-certificates-management.md": { - "hash": "0be3024971f16332", - "modified": "2026-04-18T08:17:51.161273+00:00", + "hash": "e9b6a90c8b1d10a0", + "modified": "2026-04-26T04:35:50.776169+00:00", "slug": "ctp-topic-37-secrets-certificates-management", "source_path": "wiki/sources/ctp-topic-37-secrets-certificates-management.md", "ingested": true, - "ingested_at": "2026-04-19T14:53:25.524476" + "ingested_at": "2026-04-28T23:36:21.605062+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-55-aws-firewall-manager.md": { - "hash": "d99cc1209b64ea65", - "modified": "2026-04-18T08:17:51.161650+00:00", + "hash": "8f9cb7cf6dfd545c", + "modified": "2026-04-26T04:35:50.776795+00:00", "slug": "ctp-topic-55-aws-firewall-manager", "source_path": "wiki/sources/ctp-topic-55-aws-firewall-manager.md", "ingested": true, - "ingested_at": "2026-04-19T15:11:03.897070" + "ingested_at": "2026-04-28T23:49:23.970075+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-52-3-lines-of-defence-3lod-framework-cloud-security-posture-management.md": { - "hash": "b0474845b22568e5", - "modified": "2026-04-18T08:17:51.161536+00:00", + "hash": "951b1364ccb896cc", + "modified": "2026-04-26T04:35:50.776630+00:00", "slug": "ctp-topic-52-3-lines-of-defence-3lod-framework-cloud-security-posture-management", "source_path": "wiki/sources/ctp-topic-52-3-lines-of-defence-3lod-framework-cloud-security-posture-management.md", "ingested": true, - "ingested_at": "2026-04-19T15:24:43.208381" + "ingested_at": "2026-04-29T00:02:09.288040+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-21-supply-chain-security-in-micro-focus.md": { - "hash": "b6e20d8c92c09f80", - "modified": "2026-04-18T08:17:51.161155+00:00", + "hash": "d38cc757cfaebcc5", + "modified": "2026-04-26T04:35:50.775997+00:00", "slug": "ctp-topic-21-supply-chain-security-in-micro-focus", "source_path": "wiki/sources/ctp-topic-21-supply-chain-security-in-micro-focus.md", "ingested": true, - "ingested_at": "2026-04-19T15:43:24.651728" + "ingested_at": "2026-04-29T00:16:25.571694+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-49-container-lifecycle-hardening-standards.md": { - "hash": "ca95d5fe4247de14", - "modified": "2026-04-18T08:17:51.161416+00:00", + "hash": "57cfad37fcd07729", + "modified": "2026-04-26T04:35:50.776459+00:00", "slug": "ctp-topic-49-container-lifecycle-hardening-standards", "source_path": "wiki/sources/ctp-topic-49-container-lifecycle-hardening-standards.md", "ingested": true, - "ingested_at": "2026-04-19T15:56:41.808103" + "ingested_at": "2026-04-29T00:33:04.499881+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-24-micro-focus-product-privacy-framework.md": { - "hash": "65a35a7b98c51171", - "modified": "2026-04-18T08:17:51.161218+00:00", + "hash": "ab39312a36562407", + "modified": "2026-04-26T04:35:50.776085+00:00", "slug": "ctp-topic-24-micro-focus-product-privacy-framework", "source_path": "wiki/sources/ctp-topic-24-micro-focus-product-privacy-framework.md", "ingested": true, - "ingested_at": "2026-04-19T16:08:32.616238" + "ingested_at": "2026-04-29T00:47:01.285681+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-2-git.md": { - "hash": "a7f5f6a9ef50f48e", - "modified": "2026-04-18T08:17:51.160141+00:00", + "hash": "6e2f16a1d8d00317", + "modified": "2026-04-26T04:35:50.774762+00:00", "slug": "ctp-topic-2-git", "source_path": "wiki/sources/ctp-topic-2-git.md", "ingested": true, - "ingested_at": "2026-04-19T16:25:42.308792" + "ingested_at": "2026-04-29T01:02:38.417695+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments.md": { - "hash": "cdc4a8c0803ad418", - "modified": "2026-04-18T08:17:51.160335+00:00", + "hash": "bc729af509855bae", + "modified": "2026-04-26T04:35:50.775108+00:00", "slug": "ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments", "source_path": "wiki/sources/ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments.md", "ingested": true, - "ingested_at": "2026-04-19T17:24:03.034425" + "ingested_at": "2026-04-29T01:19:38.210651+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-9-ci-cd-with-gruntwork.md": { - "hash": "90cb4d4b9aeb2609", - "modified": "2026-04-18T08:17:51.160900+00:00", + "hash": "3a1956c3805c0165", + "modified": "2026-04-26T04:35:50.775738+00:00", "slug": "ctp-topic-9-ci-cd-with-gruntwork", "source_path": "wiki/sources/ctp-topic-9-ci-cd-with-gruntwork.md", "ingested": true, - "ingested_at": "2026-04-19T17:35:33.329369" + "ingested_at": "2026-04-29T01:32:29.683393+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-3-deploy-and-maintain-infrastructure.md": { - "hash": "0eb762aeb06e63ca", - "modified": "2026-04-18T08:17:51.160203+00:00", + "hash": "dd500613d9d8ac53", + "modified": "2026-04-26T04:35:50.774851+00:00", "slug": "ctp-topic-3-deploy-and-maintain-infrastructure", "source_path": "wiki/sources/ctp-topic-3-deploy-and-maintain-infrastructure.md", "ingested": true, - "ingested_at": "2026-04-19T17:56:50.403152" + "ingested_at": "2026-04-29T01:47:48.566764+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-33-an-introduction-to-gitops.md": { - "hash": "b272ce670ed90357", - "modified": "2026-04-18T08:17:51.160573+00:00", + "hash": "5cadb81c71e8bcef", + "modified": "2026-04-26T04:35:50.775280+00:00", "slug": "ctp-topic-33-an-introduction-to-gitops", "source_path": "wiki/sources/ctp-topic-33-an-introduction-to-gitops.md", "ingested": true, - "ingested_at": "2026-04-19T18:11:42.298948" + "ingested_at": "2026-04-29T02:03:02.951172+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/public-cloud-learning-sessions-ollie-workflow-and-the-demand-process-20240416-16.md": { - "hash": "ae36881ae129aafe", - "modified": "2026-04-18T08:17:51.160980+00:00", + "hash": "335dc0d005cc3d07", + "modified": "2026-04-26T04:35:50.775828+00:00", "slug": "public-cloud-learning-sessions-ollie-workflow-and-the-demand-process-20240416-16", "source_path": "wiki/sources/public-cloud-learning-sessions-ollie-workflow-and-the-demand-process-20240416-16.md", "ingested": true, - "ingested_at": "2026-04-19T18:25:43.600742" + "ingested_at": "2026-04-29T02:19:00.952968+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-56-automated-infrastructure-testing.md": { - "hash": "4c2277ca77a2dcfd", - "modified": "2026-04-18T08:17:51.160709+00:00", + "hash": "e2c5a91cc2f0561c", + "modified": "2026-04-26T04:35:50.775439+00:00", "slug": "ctp-topic-56-automated-infrastructure-testing", "source_path": "wiki/sources/ctp-topic-56-automated-infrastructure-testing.md", "ingested": true, - "ingested_at": "2026-04-19T18:36:12.896100" + "ingested_at": "2026-04-29T02:30:55.946681+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-15-working-with-renovatebot.md": { - "hash": "951217fe3209731b", - "modified": "2026-04-18T08:17:51.160081+00:00", + "hash": "977389c6abb58bbe", + "modified": "2026-04-26T04:35:50.774681+00:00", "slug": "ctp-topic-15-working-with-renovatebot", "source_path": "wiki/sources/ctp-topic-15-working-with-renovatebot.md", "ingested": true, - "ingested_at": "2026-04-19T19:06:44.231024" + "ingested_at": "2026-04-29T02:51:40.051616+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md": { - "hash": "962f11d0e6773745", - "modified": "2026-04-18T08:17:51.159211+00:00", + "hash": "2177688c9c71fe20", + "modified": "2026-04-26T04:35:50.773481+00:00", "slug": "ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co", "source_path": "wiki/sources/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md", "ingested": true, - "ingested_at": "2026-04-19T19:23:55.958204" + "ingested_at": "2026-04-29T03:12:47.780381+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco.md": { - "hash": "c2c2e13eeceb057e", - "modified": "2026-04-18T08:17:51.159781+00:00", + "hash": "11db3a15f5c9deee", + "modified": "2026-04-26T04:35:50.774317+00:00", "slug": "public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco", "source_path": "wiki/sources/public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco.md", "ingested": true, - "ingested_at": "2026-04-19T19:44:26.559815" + "ingested_at": "2026-04-29T03:16:49.921698+00:00" }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md": { - "hash": "4f14cdc4fe23b217", - "modified": "2026-04-18T08:17:51.159493+00:00", + "hash": "3eecfcc6e2da0356", + "modified": "2026-04-26T04:35:50.773856+00:00", "slug": "public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2", "source_path": "wiki/sources/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md", - "ingested": true, - "ingested_at": "2026-04-19T19:54:07.204382" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md": { - "hash": "3c4f8d4ae0d2029c", - "modified": "2026-04-18T08:17:51.159425+00:00", + "hash": "c14834cfc9df4356", + "modified": "2026-04-26T04:35:50.773763+00:00", "slug": "ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when", "source_path": "wiki/sources/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md", - "ingested": true, - "ingested_at": "2026-04-19T20:08:00.675475" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md": { - "hash": "f37c6d5723176a70", - "modified": "2026-04-18T08:17:51.159918+00:00", + "hash": "842290e65d707e19", + "modified": "2026-04-26T04:35:50.774509+00:00", "slug": "public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting", "source_path": "wiki/sources/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md", - "ingested": true, - "ingested_at": "2026-04-19T20:26:41.687189" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-63-optimise-resource-cost-using-automation.md": { - "hash": "af94ba41d0de53f4", - "modified": "2026-04-18T08:17:51.159355+00:00", + "hash": "6b799be16d7f1fa1", + "modified": "2026-04-26T04:35:50.773679+00:00", "slug": "ctp-topic-63-optimise-resource-cost-using-automation", "source_path": "wiki/sources/ctp-topic-63-optimise-resource-cost-using-automation.md", - "ingested": true, - "ingested_at": "2026-04-19T20:38:16.679865" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md": { - "hash": "75e2d04ce8ce7f52", - "modified": "2026-04-18T08:17:51.159651+00:00", + "hash": "b330267fbfdb6af0", + "modified": "2026-04-26T04:35:50.774032+00:00", "slug": "public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording", "source_path": "wiki/sources/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md", - "ingested": true, - "ingested_at": "2026-04-19T20:53:10.558004" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-27-aws-instance-scheduler.md": { - "hash": "e9d660c09ad28c13", - "modified": "2026-04-18T08:17:51.159288+00:00", + "hash": "53022a7f78a3bad3", + "modified": "2026-04-26T04:35:50.773582+00:00", "slug": "ctp-topic-27-aws-instance-scheduler", "source_path": "wiki/sources/ctp-topic-27-aws-instance-scheduler.md", - "ingested": true, - "ingested_at": "2026-04-19T21:11:41.773318" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/_Index/cloud-learning-master-index.md": { - "hash": "a5fac1d62bf8d390", - "modified": "2026-04-18T08:17:51.165573+00:00", + "hash": "a40391adebc0b971", + "modified": "2026-04-26T04:35:50.783053+00:00", "slug": "cloud-learning-master-index", "source_path": "wiki/sources/cloud-learning-master-index.md", - "ingested": true, - "ingested_at": "2026-04-19T21:22:04.402077" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md": { - "hash": "e63b024ad0e2c48b", - "modified": "2026-04-18T08:17:51.162994+00:00", + "hash": "2ac2000a298248cb", + "modified": "2026-04-26T04:35:50.778635+00:00", "slug": "public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin", "source_path": "wiki/sources/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md", - "ingested": true, - "ingested_at": "2026-04-19T21:42:37.159885" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee.md": { - "hash": "af9be8adde945c45", - "modified": "2026-04-18T08:17:51.163588+00:00", + "hash": "8150670ecd139529", + "modified": "2026-04-26T04:35:50.779624+00:00", "slug": "public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee.md", - "ingested": true, - "ingested_at": "2026-04-19T22:18:36.937741" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-event-driven-architecture-part-1-2024091.md": { - "hash": "486d5087d2c796bd", - "modified": "2026-04-18T08:17:51.163292+00:00", + "hash": "d9a258e3b64d6c24", + "modified": "2026-04-26T04:35:50.779171+00:00", "slug": "public-cloud-learning-sessions-opentext-event-driven-architecture-part-1-2024091", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-event-driven-architecture-part-1-2024091.md", - "ingested": true, - "ingested_at": "2026-04-19T22:45:16.288750" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-generative-ai-prompt-engineering-2024111.md": { - "hash": "ec22bf27835e5530", - "modified": "2026-04-18T08:17:51.163470+00:00", + "hash": "5a84f75302a59001", + "modified": "2026-04-26T04:35:50.779446+00:00", "slug": "public-cloud-learning-sessions-opentext-generative-ai-prompt-engineering-2024111", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-generative-ai-prompt-engineering-2024111.md", - "ingested": true, - "ingested_at": "2026-04-19T23:10:09.678601" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091.md": { - "hash": "b93660124589c2fb", - "modified": "2026-04-18T08:17:51.163358+00:00", + "hash": "8445cdff5be0eeac", + "modified": "2026-04-26T04:35:50.779267+00:00", "slug": "public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091.md", - "ingested": true, - "ingested_at": "2026-04-19T23:20:45.999981" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-ai-use-cases-20241126-160106-meeting-rec.md": { - "hash": "2ff721fa8681b796", - "modified": "2026-04-18T08:17:51.163181+00:00", + "hash": "c7c1cae9d90a3ecc", + "modified": "2026-04-26T04:35:50.778986+00:00", "slug": "public-cloud-learning-sessions-opentext-ai-use-cases-20241126-160106-meeting-rec", "source_path": "wiki/sources/public-cloud-learning-sessions-opentext-ai-use-cases-20241126-160106-meeting-rec.md", - "ingested": true, - "ingested_at": "2026-04-19T23:35:43.996794" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-48-terraform-vs-terragrunt.md": { - "hash": "a2abd9470dc93ab8", - "modified": "2026-04-18T08:17:51.155654+00:00", + "hash": "fcd58f5fd3905599", + "modified": "2026-04-26T04:35:50.767819+00:00", "slug": "ctp-topic-48-terraform-vs-terragrunt", "source_path": "wiki/sources/ctp-topic-48-terraform-vs-terragrunt.md", - "ingested": true, - "ingested_at": "2026-04-19T23:50:51.450212" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-ecs-deployment-using-iac-20230808-183322-meeting-recording.md": { - "hash": "f324313ffeb2daf2", - "modified": "2026-04-18T08:17:51.156388+00:00", + "hash": "bd7d9995d30ab50f", + "modified": "2026-04-26T04:35:50.768796+00:00", "slug": "learning-sessions-ecs-deployment-using-iac-20230808-183322-meeting-recording", "source_path": "wiki/sources/learning-sessions-ecs-deployment-using-iac-20230808-183322-meeting-recording.md", - "ingested": true, - "ingested_at": "2026-04-20T00:15:34.937296" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-16-cross-account-terraform-modules.md": { - "hash": "2ff744db23382542", - "modified": "2026-04-18T08:17:51.155588+00:00", + "hash": "d4dd1ccec5add27f", + "modified": "2026-04-26T04:35:50.767727+00:00", "slug": "ctp-topic-16-cross-account-terraform-modules", "source_path": "wiki/sources/ctp-topic-16-cross-account-terraform-modules.md", - "ingested": true, - "ingested_at": "2026-04-20T00:34:58.740288" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi.md": { - "hash": "fe096d700ba4edd2", - "modified": "2026-04-18T08:17:51.155791+00:00", + "hash": "11840b8e5fbc8d6a", + "modified": "2026-04-26T04:35:50.767998+00:00", "slug": "learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi", "source_path": "wiki/sources/learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi.md", - "ingested": true, - "ingested_at": "2026-04-20T00:49:06.023918" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform.md": { - "hash": "765d5a3b8a7731b0", - "modified": "2026-04-18T08:17:51.156024+00:00", + "hash": "499e1e5e7053477c", + "modified": "2026-04-26T04:35:50.768379+00:00", "slug": "learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform", "source_path": "wiki/sources/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform.md", - "ingested": true, - "ingested_at": "2026-04-20T01:10:10.141689" + "ingested": false, + "ingested_at": null }, "raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-12-using-ses-smtp-service-terraform-module.md": { - "hash": "c5f605b6243f9763", - "modified": "2026-04-18T08:17:51.155514+00:00", + "hash": "3e1f9654831c6ae1", + "modified": "2026-04-26T04:35:50.767628+00:00", "slug": "ctp-topic-12-using-ses-smtp-service-terraform-module", "source_path": "wiki/sources/ctp-topic-12-using-ses-smtp-service-terraform-module.md", - "ingested": true, - "ingested_at": "2026-04-20T01:21:30.431279" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/CONTRIBUTING_zh-CN.md": { - "hash": "e16fcef34292c79f", - "modified": "2026-03-29T11:45:15.979469+00:00", + "hash": "9e12e265c9ce2c2d", + "modified": "2026-04-26T04:35:50.698761+00:00", "slug": "contributing_zh-cn", "source_path": "wiki/sources/contributing_zh-cn.md", - "ingested": true, - "ingested_at": "2026-04-20T01:36:22.739949" - }, - "raw/Agent/agency-agents/README.md": { - "hash": "a6a4162937f9eabf", - "modified": "2026-04-20T13:31:38.742536+00:00", - "slug": "readme", - "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T09:08:14.228290+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/CONTRIBUTING.md": { - "hash": "84f13b5a5e1d2d06", - "modified": "2026-04-20T13:31:38.680372+00:00", + "hash": "b94b6eb664b8f868", + "modified": "2026-04-26T04:35:50.698399+00:00", "slug": "contributing", "source_path": "wiki/sources/contributing.md", - "ingested": true, - "ingested_at": "2026-04-21T09:21:10.367457+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-ux-architect.md": { - "hash": "151f7386682b77a6", - "modified": "2026-03-29T11:45:15.981416+00:00", + "hash": "cc301d7bb11e7b44", + "modified": "2026-04-26T04:35:50.700447+00:00", "slug": "design-ux-architect", "source_path": "wiki/sources/design-ux-architect.md", - "ingested": true, - "ingested_at": "2026-04-20T02:22:13.464049" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-whimsy-injector.md": { - "hash": "d517c959118a25ce", - "modified": "2026-03-29T11:45:15.981913+00:00", + "hash": "454832cf498ea9cd", + "modified": "2026-04-26T04:35:50.700816+00:00", "slug": "design-whimsy-injector", "source_path": "wiki/sources/design-whimsy-injector.md", - "ingested": true, - "ingested_at": "2026-04-20T02:36:32.819961" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-ux-researcher.md": { - "hash": "25f59c4333df2d0f", - "modified": "2026-03-29T11:45:15.981619+00:00", + "hash": "9cec8b3e34d67ee1", + "modified": "2026-04-26T04:35:50.700587+00:00", "slug": "design-ux-researcher", "source_path": "wiki/sources/design-ux-researcher.md", - "ingested": true, - "ingested_at": "2026-04-20T03:12:45.206326" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-brand-guardian.md": { - "hash": "d1d5c78af85d4d35", - "modified": "2026-03-29T11:45:15.980840+00:00", + "hash": "8077ee1001267118", + "modified": "2026-04-26T04:35:50.699943+00:00", "slug": "design-brand-guardian", "source_path": "wiki/sources/design-brand-guardian.md", - "ingested": true, - "ingested_at": "2026-04-20T03:16:18.857905" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-ui-designer.md": { - "hash": "3130768958d3b3d3", - "modified": "2026-03-29T11:45:15.981300+00:00", + "hash": "76b6296861e10944", + "modified": "2026-04-26T04:35:50.700315+00:00", "slug": "design-ui-designer", "source_path": "wiki/sources/design-ui-designer.md", - "ingested": true, - "ingested_at": "2026-04-20T03:19:47.234124" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-image-prompt-engineer.md": { - "hash": "63a564d01dc5812c", - "modified": "2026-03-29T11:45:15.980978+00:00", + "hash": "8cdace77dd4483cc", + "modified": "2026-04-26T04:35:50.700079+00:00", "slug": "design-image-prompt-engineer", "source_path": "wiki/sources/design-image-prompt-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T03:49:28.297429" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-inclusive-visuals-specialist.md": { - "hash": "b1c535f1b18bc648", - "modified": "2026-03-29T11:45:15.981083+00:00", + "hash": "35af39e5e7419605", + "modified": "2026-04-26T04:35:50.700180+00:00", "slug": "design-inclusive-visuals-specialist", "source_path": "wiki/sources/design-inclusive-visuals-specialist.md", - "ingested": true, - "ingested_at": "2026-04-20T04:06:12.827285" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/design/design-visual-storyteller.md": { - "hash": "f4950c9d65b5d105", - "modified": "2026-03-29T11:45:15.981712+00:00", + "hash": "14a50c7aace059d9", + "modified": "2026-04-26T04:35:50.700690+00:00", "slug": "design-visual-storyteller", "source_path": "wiki/sources/design-visual-storyteller.md", - "ingested": true, - "ingested_at": "2026-04-20T04:19:11.135342" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-programmatic-buyer.md": { - "hash": "36c35a23457a6350", - "modified": "2026-03-29T11:45:15.994932+00:00", + "hash": "c1dee3e0f19e790c", + "modified": "2026-04-26T04:35:50.739443+00:00", "slug": "paid-media-programmatic-buyer", "source_path": "wiki/sources/paid-media-programmatic-buyer.md", - "ingested": true, - "ingested_at": "2026-04-20T04:37:44.772519" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-ppc-strategist.md": { - "hash": "832d7c5738e37c64", - "modified": "2026-03-29T11:45:15.994739+00:00", + "hash": "5f285108ebae6641", + "modified": "2026-04-26T04:35:50.739341+00:00", "slug": "paid-media-ppc-strategist", "source_path": "wiki/sources/paid-media-ppc-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T04:53:20.378377" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-auditor.md": { - "hash": "f69cc71d1485fa34", - "modified": "2026-03-29T11:45:15.994427+00:00", + "hash": "0e3a2f0677a141d0", + "modified": "2026-04-26T04:35:50.739059+00:00", "slug": "paid-media-auditor", "source_path": "wiki/sources/paid-media-auditor.md", - "ingested": true, - "ingested_at": "2026-04-20T05:07:08.744438" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-search-query-analyst.md": { - "hash": "fb4ef9ea24d500ff", - "modified": "2026-03-29T11:45:15.995020+00:00", + "hash": "cebcc86712bd82ce", + "modified": "2026-04-26T04:35:50.739543+00:00", "slug": "paid-media-search-query-analyst", "source_path": "wiki/sources/paid-media-search-query-analyst.md", - "ingested": true, - "ingested_at": "2026-04-20T05:20:28.679751" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-paid-social-strategist.md": { - "hash": "b87c387702883532", - "modified": "2026-03-29T11:45:15.994640+00:00", + "hash": "eff42a221b798757", + "modified": "2026-04-26T04:35:50.739249+00:00", "slug": "paid-media-paid-social-strategist", "source_path": "wiki/sources/paid-media-paid-social-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T12:00:00.000000+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-creative-strategist.md": { - "hash": "c87bda47c8316e3a", - "modified": "2026-03-29T11:45:15.994537+00:00", + "hash": "2502d06295c5d2e2", + "modified": "2026-04-26T04:35:50.739158+00:00", "slug": "paid-media-creative-strategist", "source_path": "wiki/sources/paid-media-creative-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T05:49:30.542788" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/paid-media/paid-media-tracking-specialist.md": { - "hash": "f31230e1e6d82128", - "modified": "2026-03-29T11:45:15.995094+00:00", + "hash": "bb10f0d11008a362", + "modified": "2026-04-26T04:35:50.739665+00:00", "slug": "paid-media-tracking-specialist", "source_path": "wiki/sources/paid-media-tracking-specialist.md", - "ingested": true, - "ingested_at": "2026-04-20T06:07:11.622355" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-discovery-coach.md": { - "hash": "8244a25e5b878505", - "modified": "2026-03-29T11:45:15.996666+00:00", + "hash": "a0a84ba872da221a", + "modified": "2026-04-26T04:35:50.741491+00:00", "slug": "sales-discovery-coach", "source_path": "wiki/sources/sales-discovery-coach.md", - "ingested": true, - "ingested_at": "2026-04-20T06:37:41.338594" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-coach.md": { - "hash": "83f0be3daa7e78b2", - "modified": "2026-03-29T11:45:15.996472+00:00", + "hash": "33cf45fcd99e1574", + "modified": "2026-04-26T04:35:50.741224+00:00", "slug": "sales-coach", "source_path": "wiki/sources/sales-coach.md", - "ingested": true, - "ingested_at": "2026-04-20T06:50:06.524163" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-proposal-strategist.md": { - "hash": "84c42e0ae7e11e6b", - "modified": "2026-03-29T11:45:15.997157+00:00", + "hash": "29e6572b52e5da9b", + "modified": "2026-04-26T04:35:50.741959+00:00", "slug": "sales-proposal-strategist", "source_path": "wiki/sources/sales-proposal-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T07:06:46.595723" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-account-strategist.md": { - "hash": "dd9b2c37c4182728", - "modified": "2026-03-29T11:45:15.996372+00:00", + "hash": "c95e2c04586b054f", + "modified": "2026-04-26T04:35:50.741094+00:00", "slug": "sales-account-strategist", "source_path": "wiki/sources/sales-account-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T07:19:01.678082" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-deal-strategist.md": { - "hash": "fdd92f2ced04ad84", - "modified": "2026-03-29T11:45:15.996565+00:00", + "hash": "918625d2cc50ae2f", + "modified": "2026-04-26T04:35:50.741339+00:00", "slug": "sales-deal-strategist", "source_path": "wiki/sources/sales-deal-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T07:38:50.825885" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-outbound-strategist.md": { - "hash": "4f6c8abf9c936fbe", - "modified": "2026-03-29T11:45:15.996953+00:00", + "hash": "72a9732bb24d29df", + "modified": "2026-04-26T04:35:50.741721+00:00", "slug": "sales-outbound-strategist", "source_path": "wiki/sources/sales-outbound-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T07:52:19.821727" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-pipeline-analyst.md": { - "hash": "d105ed717423298d", - "modified": "2026-03-29T11:45:15.997060+00:00", + "hash": "71ce94999e1270f9", + "modified": "2026-04-26T04:35:50.741854+00:00", "slug": "sales-pipeline-analyst", "source_path": "wiki/sources/sales-pipeline-analyst.md", - "ingested": true, - "ingested_at": "2026-04-20T08:04:43.563167" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/sales/sales-engineer.md": { - "hash": "355014b3ecf52aaa", - "modified": "2026-03-29T11:45:15.996844+00:00", + "hash": "befe031ff32cc2f0", + "modified": "2026-04-26T04:35:50.741599+00:00", "slug": "sales-engineer", "source_path": "wiki/sources/sales-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T08:21:04.220856" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/xr-cockpit-interaction-specialist.md": { - "hash": "c8473bd555ad22da", - "modified": "2026-03-29T11:45:15.997840+00:00", + "hash": "b8e3234c662b5dff", + "modified": "2026-04-26T04:35:50.743211+00:00", "slug": "xr-cockpit-interaction-specialist", "source_path": "wiki/sources/xr-cockpit-interaction-specialist.md", - "ingested": true, - "ingested_at": "2026-04-20T08:34:28.730939" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/xr-immersive-developer.md": { - "hash": "a9aa13187bfb774f", - "modified": "2026-03-29T11:45:15.997902+00:00", + "hash": "6ec1051f45397782", + "modified": "2026-04-26T04:35:50.743289+00:00", "slug": "xr-immersive-developer", "source_path": "wiki/sources/xr-immersive-developer.md", - "ingested": true, - "ingested_at": "2026-04-20T08:53:11.398079" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/terminal-integration-specialist.md": { - "hash": "f6033fc95d538112", - "modified": "2026-03-29T11:45:15.997713+00:00", + "hash": "c565791398236bfc", + "modified": "2026-04-26T04:35:50.743042+00:00", "slug": "terminal-integration-specialist", "source_path": "wiki/sources/terminal-integration-specialist.md", - "ingested": true, - "ingested_at": "2026-04-20T09:19:14.002237" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/macos-spatial-metal-engineer.md": { - "hash": "b0bdd78da0cdbd1e", - "modified": "2026-03-29T11:45:15.997640+00:00", + "hash": "5a7227405586b69c", + "modified": "2026-04-26T04:35:50.742955+00:00", "slug": "macos-spatial-metal-engineer", "source_path": "wiki/sources/macos-spatial-metal-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T09:35:46.038198" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/xr-interface-architect.md": { - "hash": "995b459992ab4216", - "modified": "2026-03-29T11:45:15.997985+00:00", + "hash": "f01eba814edb1361", + "modified": "2026-04-26T04:35:50.743371+00:00", "slug": "xr-interface-architect", "source_path": "wiki/sources/xr-interface-architect.md", - "ingested": true, - "ingested_at": "2026-04-20T09:58:24.546361" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/spatial-computing/visionos-spatial-engineer.md": { - "hash": "9cc9a9440cdeabdb", - "modified": "2026-03-29T11:45:15.997775+00:00", + "hash": "7a9e68f73e30c788", + "modified": "2026-04-26T04:35:50.743130+00:00", "slug": "visionos-spatial-engineer", "source_path": "wiki/sources/visionos-spatial-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T10:18:45.853078" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-management-studio-producer.md": { - "hash": "d942feab0f50ea7b", - "modified": "2026-03-29T11:45:15.996171+00:00", + "hash": "9eac61504265e8a9", + "modified": "2026-04-26T04:35:50.740884+00:00", "slug": "project-management-studio-producer", "source_path": "wiki/sources/project-management-studio-producer.md", - "ingested": true, - "ingested_at": "2026-04-20T10:36:29.055093" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-management-project-shepherd.md": { - "hash": "0feb647366d78b61", - "modified": "2026-03-29T11:45:15.995974+00:00", + "hash": "65f112d58012f89b", + "modified": "2026-04-26T04:35:50.740625+00:00", "slug": "project-management-project-shepherd", "source_path": "wiki/sources/project-management-project-shepherd.md", - "ingested": true, - "ingested_at": "2026-04-20T10:54:07.176605" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-management-jira-workflow-steward.md": { - "hash": "e45c68423c1df0c2", - "modified": "2026-03-29T11:45:15.995861+00:00", + "hash": "69e8143c0f98e7cd", + "modified": "2026-04-26T04:35:50.740502+00:00", "slug": "project-management-jira-workflow-steward", "source_path": "wiki/sources/project-management-jira-workflow-steward.md", - "ingested": true, - "ingested_at": "2026-04-20T11:20:28.092341" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-manager-senior.md": { - "hash": "70fb27cab174c973", - "modified": "2026-03-29T11:45:15.996249+00:00", + "hash": "7036e46a228fd3e4", + "modified": "2026-04-26T04:35:50.740983+00:00", "slug": "project-manager-senior", "source_path": "wiki/sources/project-manager-senior.md", - "ingested": true, - "ingested_at": "2026-04-20T11:35:43.396698" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-management-studio-operations.md": { - "hash": "8a2e5098d94688d1", - "modified": "2026-03-29T11:45:15.996077+00:00", + "hash": "b07db2b41beb6c6f", + "modified": "2026-04-26T04:35:50.740756+00:00", "slug": "project-management-studio-operations", "source_path": "wiki/sources/project-management-studio-operations.md", - "ingested": true, - "ingested_at": "2026-04-20T03:49:32Z" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/project-management/project-management-experiment-tracker.md": { - "hash": "8f1410bfa054c8ac", - "modified": "2026-03-29T11:45:15.995762+00:00", + "hash": "b846a3fffff52cfe", + "modified": "2026-04-26T04:35:50.740389+00:00", "slug": "project-management-experiment-tracker", "source_path": "wiki/sources/project-management-experiment-tracker.md", - "ingested": true, - "ingested_at": "2026-04-20T12:05:38.186429" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-civil-engineer.md": { - "hash": "37c9c37511345799", - "modified": "2026-03-29T11:45:15.999547+00:00", + "hash": "17e31df5d2b86833", + "modified": "2026-04-26T04:35:50.747946+00:00", "slug": "specialized-civil-engineer", "source_path": "wiki/sources/specialized-civil-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T12:15:25+08:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/recruitment-specialist.md": { - "hash": "fa1349988c278d0e", - "modified": "2026-03-29T11:45:15.999298+00:00", + "hash": "9cdb797a0f3b2bf8", + "modified": "2026-04-26T04:35:50.747176+00:00", "slug": "recruitment-specialist", "source_path": "wiki/sources/recruitment-specialist.md", - "ingested": true, - "ingested_at": "2026-04-20T04:34:45Z" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/accounts-payable-agent.md": { - "hash": "3b943d48884c7ef1", - "modified": "2026-03-29T11:45:15.998123+00:00", + "hash": "7d3baebd25e93132", + "modified": "2026-04-26T04:35:50.743781+00:00", "slug": "accounts-payable-agent", "source_path": "wiki/sources/accounts-payable-agent.md", - "ingested": true, - "ingested_at": "2026-04-20T04:52:59.947132+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/identity-graph-operator.md": { - "hash": "f37b705283147e3b", - "modified": "2026-03-29T11:45:15.999094+00:00", + "hash": "e15e49a011606043", + "modified": "2026-04-26T04:35:50.746060+00:00", "slug": "identity-graph-operator", "source_path": "wiki/sources/identity-graph-operator.md", - "ingested": true, - "ingested_at": "2026-04-20T05:08:29.660741+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-document-generator.md": { - "hash": "cd2ca961e0f7baa1", - "modified": "2026-03-29T11:45:15.999808+00:00", + "hash": "78ae93a528d828bd", + "modified": "2026-04-26T04:35:50.748355+00:00", "slug": "specialized-document-generator", "source_path": "wiki/sources/specialized-document-generator.md", - "ingested": true, - "ingested_at": "2026-04-20T05:51:13.396359+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/agentic-identity-trust.md": { - "hash": "55de131a5c790dfb", - "modified": "2026-03-29T11:45:15.998246+00:00", + "hash": "3e223705c089126c", + "modified": "2026-04-26T04:35:50.743907+00:00", "slug": "agentic-identity-trust", "source_path": "wiki/sources/agentic-identity-trust.md", - "ingested": true, - "ingested_at": "2026-04-20T06:04:56.616798+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/government-digital-presales-consultant.md": { - "hash": "0676fd83a4628289", - "modified": "2026-03-29T11:45:15.998870+00:00", + "hash": "d5fae22ba1e6571b", + "modified": "2026-04-26T04:35:50.745047+00:00", "slug": "government-digital-presales-consultant", "source_path": "wiki/sources/government-digital-presales-consultant.md", - "ingested": true, - "ingested_at": "2026-04-20T06:21:25.942576+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-workflow-architect.md": { - "hash": "ab907eef380fdba8", - "modified": "2026-03-29T11:45:16.000424+00:00", + "hash": "ca692eef6bf933ab", + "modified": "2026-04-26T04:35:50.749089+00:00", "slug": "specialized-workflow-architect", "source_path": "wiki/sources/specialized-workflow-architect.md", - "ingested": true, - "ingested_at": "2026-04-20T06:38:21.641619+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/healthcare-marketing-compliance.md": { - "hash": "942cc3b43da5f0e6", - "modified": "2026-03-29T11:45:15.998989+00:00", + "hash": "776efc153e34fa2c", + "modified": "2026-04-26T04:35:50.745647+00:00", "slug": "healthcare-marketing-compliance", "source_path": "wiki/sources/healthcare-marketing-compliance.md", - "ingested": true, - "ingested_at": "2026-04-20T07:04:57.160007+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-cultural-intelligence-strategist.md": { - "hash": "91f1d2ef19bcf05f", - "modified": "2026-03-29T11:45:15.999632+00:00", + "hash": "659c4ac30527ad99", + "modified": "2026-04-26T04:35:50.748135+00:00", "slug": "specialized-cultural-intelligence-strategist", "source_path": "wiki/sources/specialized-cultural-intelligence-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T07:26:33.450313+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/corporate-training-designer.md": { - "hash": "e70733229e87dde0", - "modified": "2026-03-29T11:45:15.998702+00:00", + "hash": "3056cf2d0e953f63", + "modified": "2026-04-26T04:35:50.744479+00:00", "slug": "corporate-training-designer", "source_path": "wiki/sources/corporate-training-designer.md", - "ingested": true, - "ingested_at": "2026-04-20T15:53:30.149594" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-model-qa.md": { - "hash": "835a26b93003cfb8", - "modified": "2026-03-29T11:45:16.000216+00:00", + "hash": "a1806af703389aa3", + "modified": "2026-04-26T04:35:50.748853+00:00", "slug": "specialized-model-qa", "source_path": "wiki/sources/specialized-model-qa.md", - "ingested": true, - "ingested_at": "2026-04-20T08:06:36.963871+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/lsp-index-engineer.md": { - "hash": "3f720a81cdcdaa63", - "modified": "2026-03-29T11:45:15.999196+00:00", + "hash": "08aed8341545dae0", + "modified": "2026-04-26T04:35:50.746905+00:00", "slug": "lsp-index-engineer", "source_path": "wiki/sources/lsp-index-engineer.md", - "ingested": true, - "ingested_at": "2026-04-20T16:15:00+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-salesforce-architect.md": { - "hash": "0c53f86382134c21", - "modified": "2026-03-29T11:16:00.000324+00:00", + "hash": "9ea0fb0b4dc5a534", + "modified": "2026-04-26T04:35:50.748977+00:00", "slug": "specialized-salesforce-architect", "source_path": "wiki/sources/specialized-salesforce-architect.md", - "ingested": true, - "ingested_at": "2026-04-20T16:42:00.000000+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/compliance-auditor.md": { - "hash": "ebb550ceef8011be", - "modified": "2026-03-29T11:45:15.998615+00:00", + "hash": "e6a7a417cc8fcf5e", + "modified": "2026-04-26T04:35:50.744370+00:00", "slug": "compliance-auditor", "source_path": "wiki/sources/compliance-auditor.md", - "ingested": true, - "ingested_at": "2026-04-20T16:45:00+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-mcp-builder.md": { - "hash": "3880031674ae2458", - "modified": "2026-03-29T11:45:16.000111+00:00", + "hash": "551e446a7d1a425a", + "modified": "2026-04-26T04:35:50.748731+00:00", "slug": "specialized-mcp-builder", "source_path": "wiki/sources/specialized-mcp-builder.md", - "ingested": true, - "ingested_at": "2026-04-20T17:11:54.562458" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/agents-orchestrator.md": { - "hash": "3f900ee286eba5a8", - "modified": "2026-03-29T11:45:15.998357+00:00", + "hash": "559fb005d07a65d4", + "modified": "2026-04-26T04:35:50.744041+00:00", "slug": "agents-orchestrator", "source_path": "wiki/sources/agents-orchestrator.md", - "ingested": true, - "ingested_at": "2026-04-20T18:30:00.000000+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/study-abroad-advisor.md": { - "hash": "afd4b1033e76671b", - "modified": "2026-03-29T11:45:16.000521+00:00", + "hash": "e023d63447209b52", + "modified": "2026-04-26T04:35:50.749252+00:00", "slug": "study-abroad-advisor", "source_path": "wiki/sources/study-abroad-advisor.md", - "ingested": true, - "ingested_at": "2026-04-20T18:21:11.769043" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/sales-data-extraction-agent.md": { - "hash": "202a6f04df452385", - "modified": "2026-03-29T11:45:15.999447+00:00", + "hash": "8f43dd4fa4d25512", + "modified": "2026-04-26T04:35:50.747548+00:00", "slug": "sales-data-extraction-agent", "source_path": "wiki/sources/sales-data-extraction-agent.md", - "ingested": true, - "ingested_at": "2026-04-20T18:34:33.594144" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/blockchain-security-auditor.md": { - "hash": "b35bcd083889ccea", - "modified": "2026-03-29T11:45:15.998535+00:00", + "hash": "b8e80f80b375a2e8", + "modified": "2026-04-26T04:35:50.744264+00:00", "slug": "blockchain-security-auditor", "source_path": "wiki/sources/blockchain-security-auditor.md", - "ingested": true, - "ingested_at": "2026-04-20T18:52:09.967152" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-french-consulting-market.md": { - "hash": "4ce5acf38babd2b0", - "modified": "2026-03-29T11:45:15.999915+00:00", + "hash": "5163c63ca52a1eaf", + "modified": "2026-04-26T04:35:50.748489+00:00", "slug": "specialized-french-consulting-market", "source_path": "wiki/sources/specialized-french-consulting-market.md", - "ingested": true, - "ingested_at": "2026-04-20T19:05:51.809121" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-korean-business-navigator.md": { - "hash": "71eb41ef3705fe15", - "modified": "2026-03-29T11:45:16.000009+00:00", + "hash": "9002787efa52af49", + "modified": "2026-04-26T04:35:50.748616+00:00", "slug": "specialized-korean-business-navigator", "source_path": "wiki/sources/specialized-korean-business-navigator.md", - "ingested": true, - "ingested_at": "2026-04-20T19:20:46.173583" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/zk-steward.md": { - "hash": "b52f6a6129d5cfdd", - "modified": "2026-03-29T11:45:16.000770+00:00", + "hash": "f0b19a512144d626", + "modified": "2026-04-26T04:35:50.749706+00:00", "slug": "zk-steward", "source_path": "wiki/sources/zk-steward.md", - "ingested": true, - "ingested_at": "2026-04-19T07:45:51.848668" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/supply-chain-strategist.md": { - "hash": "4e3c93bcfefd72b9", - "modified": "2026-03-29T11:45:16.000645+00:00", + "hash": "3eb09846a61af1b0", + "modified": "2026-04-26T04:35:50.749386+00:00", "slug": "supply-chain-strategist", "source_path": "wiki/sources/supply-chain-strategist.md", - "ingested": true, - "ingested_at": "2026-04-20T19:34:32.191422" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/data-consolidation-agent.md": { - "hash": "7e7de097ff27e3aa", - "modified": "2026-03-29T11:45:15.998765+00:00", + "hash": "50b2c5d5375ee6d7", + "modified": "2026-04-26T04:35:50.744871+00:00", "slug": "data-consolidation-agent", "source_path": "wiki/sources/data-consolidation-agent.md", - "ingested": true, - "ingested_at": "2026-04-20T19:50:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/report-distribution-agent.md": { - "hash": "f5796b3cb693123e", - "modified": "2026-03-29T11:45:15.999374+00:00", + "hash": "283174a2623a38de", + "modified": "2026-04-26T04:35:50.747272+00:00", "slug": "report-distribution-agent", "source_path": "wiki/sources/report-distribution-agent.md", - "ingested": true, - "ingested_at": "2026-04-20T20:05:40.053685" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/automation-governance-architect.md": { - "hash": "8aab89104fec352f", - "modified": "2026-03-29T11:45:15.998433+00:00", + "hash": "5f34a7093117cba9", + "modified": "2026-04-26T04:35:50.744135+00:00", "slug": "automation-governance-architect", "source_path": "wiki/sources/automation-governance-architect.md", - "ingested": true, - "ingested_at": "2026-04-20T11:46:06.262211+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-developer-advocate.md": { - "hash": "92617477989c99f5", - "modified": "2026-03-29T11:45:15.999736+00:00", + "hash": "5191afaf298b4798", + "modified": "2026-04-26T04:35:50.748267+00:00", "slug": "specialized-developer-advocate", "source_path": "wiki/sources/specialized-developer-advocate.md", - "ingested": true, - "ingested_at": "2026-04-20T20:34:04.389778" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/product/product-feedback-synthesizer.md": { - "hash": "7db6770a51c396a7", - "modified": "2026-03-29T11:45:15.995282+00:00", + "hash": "60fd9ab8401716f1", + "modified": "2026-04-26T04:35:50.739878+00:00", "slug": "product-feedback-synthesizer", "source_path": "wiki/sources/product-feedback-synthesizer.md", - "ingested": true, - "ingested_at": "2026-04-20T20:52:21.583693" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/product/product-manager.md": { - "hash": "4a3fe4661e72e517", - "modified": "2026-03-29T11:45:15.995387+00:00", + "hash": "9e7403a0659e4ddc", + "modified": "2026-04-26T04:35:50.740008+00:00", "slug": "product-manager", "source_path": "wiki/sources/product-manager.md", - "ingested": true, - "ingested_at": "2026-04-20T21:08:36.231402" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/product/product-trend-researcher.md": { - "hash": "4adef8e84b1a8a1c", - "modified": "2026-03-29T11:45:15.995603+00:00", + "hash": "e2ef0cf43622c805", + "modified": "2026-04-26T04:35:50.740260+00:00", "slug": "product-trend-researcher", "source_path": "wiki/sources/product-trend-researcher.md", - "ingested": true, - "ingested_at": "2026-04-20T21:21:29.798450" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/product/product-sprint-prioritizer.md": { - "hash": "da5233770ca85a39", - "modified": "2026-03-29T11:45:15.995492+00:00", + "hash": "f51684a279035cad", + "modified": "2026-04-26T04:35:50.740137+00:00", "slug": "product-sprint-prioritizer", "source_path": "wiki/sources/product-sprint-prioritizer.md", - "ingested": true, - "ingested_at": "2026-04-20T21:34:57.180386" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/product/product-behavioral-nudge-engine.md": { - "hash": "61f8a4a6a502ac02", - "modified": "2026-03-29T11:45:15.995207+00:00", + "hash": "d09b264f7e92bdf8", + "modified": "2026-04-26T04:35:50.739779+00:00", "slug": "product-behavioral-nudge-engine", "source_path": "wiki/sources/product-behavioral-nudge-engine.md", - "ingested": true, - "ingested_at": "2026-04-20T22:20:40.013834" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/academic/academic-psychologist.md": { - "hash": "193b7dba6d04346d", - "modified": "2026-03-29T11:45:15.980561+00:00", + "hash": "8ab62433c96d0ff3", + "modified": "2026-04-26T04:35:50.699792+00:00", "slug": "academic-psychologist", "source_path": "wiki/sources/academic-psychologist.md", - "ingested": true, - "ingested_at": "2026-04-20T22:37:37.399707" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/academic/academic-anthropologist.md": { - "hash": "2668602164abf574", - "modified": "2026-03-29T11:45:15.980146+00:00", + "hash": "6b320db0630a036a", + "modified": "2026-04-26T04:35:50.699179+00:00", "slug": "academic-anthropologist", "source_path": "wiki/sources/academic-anthropologist.md", - "ingested": true, - "ingested_at": "2026-04-20T22:53:44.677422" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/academic/academic-narratologist.md": { - "hash": "12d7a6fa6134c014", - "modified": "2026-03-29T11:45:15.980464+00:00", + "hash": "bb76622622a60496", + "modified": "2026-04-26T04:35:50.699683+00:00", "slug": "academic-narratologist", "source_path": "wiki/sources/academic-narratologist.md", - "ingested": true, - "ingested_at": "2026-04-20T23:06:20.263605" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/academic/academic-geographer.md": { - "hash": "4acf4a6ee6ae96ce", - "modified": "2026-03-29T11:45:15.980262+00:00", + "hash": "f5e43b6e10b4be83", + "modified": "2026-04-26T04:35:50.699285+00:00", "slug": "academic-geographer", "source_path": "wiki/sources/academic-geographer.md", - "ingested": true, - "ingested_at": "2026-04-20T23:21:56.092076" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/academic/academic-historian.md": { - "hash": "2c59c10dceec033d", - "modified": "2026-03-29T11:45:15.980364+00:00", + "hash": "b15d41cd849775c8", + "modified": "2026-04-26T04:35:50.699562+00:00", "slug": "academic-historian", "source_path": "wiki/sources/academic-historian.md", - "ingested": true, - "ingested_at": "2026-04-20T23:36:52.770399" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/README.md": { - "hash": "773438bdf196320e", - "modified": "2026-04-20T13:31:38.723035+00:00", + "hash": "e5b9e0f08350f2cb", + "modified": "2026-04-26T04:35:50.733074+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/aider/README.md": { - "hash": "26dc041627fb3970", - "modified": "2026-04-20T13:31:38.719607+00:00", + "hash": "30466c0f67b361bd", + "modified": "2026-04-26T04:35:50.733253+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/claude-code/README.md": { - "hash": "b37cfa2648c93b32", - "modified": "2026-04-20T13:31:38.719941+00:00", + "hash": "3057d095b39f2c33", + "modified": "2026-04-26T04:35:50.733431+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/mcp-memory/README.md": { - "hash": "e3252682132b4aa6", - "modified": "2026-03-29T11:45:15.990346+00:00", + "hash": "1d8a2d3b3de7c182", + "modified": "2026-04-26T04:35:50.733908+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T00:00:08.231543" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/mcp-memory/backend-architect-with-memory.md": { - "hash": "961975de8bff54a0", - "modified": "2026-03-29T11:45:15.990454+00:00", + "hash": "f6bbeb787abb397d", + "modified": "2026-04-26T04:35:50.734030+00:00", "slug": "backend-architect-with-memory", "source_path": "wiki/sources/backend-architect-with-memory.md", - "ingested": true, - "ingested_at": "2026-04-21T00:02:31.500735" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/openclaw/README.md": { - "hash": "4a2a0d6fb6d2ec7a", - "modified": "2026-03-29T11:45:15.990649+00:00", + "hash": "a968809a15b21803", + "modified": "2026-04-26T04:35:50.734223+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T00:04:54.604484" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/cursor/README.md": { - "hash": "c59a7e8a40a6b79d", - "modified": "2026-04-20T13:31:38.721858+00:00", + "hash": "b03552f1b7123f96", + "modified": "2026-04-26T04:35:50.733514+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/github-copilot/README.md": { - "hash": "81c59088b32258ba", - "modified": "2026-03-29T11:45:15.990112+00:00", + "hash": "a77899db49d2721e", + "modified": "2026-04-26T04:35:50.733726+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T00:09:37.038744" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/gemini-cli/README.md": { - "hash": "9f54cd4d8b4ef54a", - "modified": "2026-03-29T11:45:15.990005+00:00", + "hash": "e8745f1d84020cbc", + "modified": "2026-04-26T04:35:50.733602+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T00:12:00.953115" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/windsurf/README.md": { - "hash": "00d8863ed811f69f", - "modified": "2026-04-20T13:31:38.723706+00:00", + "hash": "633cdc91f554fffa", + "modified": "2026-04-26T04:35:50.734580+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/antigravity/README.md": { - "hash": "087ed2a8a90d6ab9", - "modified": "2026-04-20T13:31:38.724099+00:00", + "hash": "ab9b2e50b672b81f", + "modified": "2026-04-26T04:35:50.733340+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/kimi/README.md": { - "hash": "01aebb21981f1b34", - "modified": "2026-03-29T11:45:15.990226+00:00", + "hash": "c995871854cc436b", + "modified": "2026-04-26T04:35:50.733821+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T00:19:02.501178" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/integrations/opencode/README.md": { - "hash": "e70b040b1296eb40", - "modified": "2026-04-20T13:31:38.724806+00:00", + "hash": "7112151065a9900b", + "modified": "2026-04-26T04:35:50.734405+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-api-tester.md": { - "hash": "7812267518ff10c8", - "modified": "2026-03-29T11:45:16.003134+00:00", + "hash": "87c74fcc40dbe506", + "modified": "2026-04-26T04:35:50.752890+00:00", "slug": "testing-api-tester", "source_path": "wiki/sources/testing-api-tester.md", - "ingested": true, - "ingested_at": "2026-04-21T00:23:46.851284" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-workflow-optimizer.md": { - "hash": "021ba71e24550719", - "modified": "2026-03-29T11:45:16.003656+00:00", + "hash": "cb8b051ef6c84ffc", + "modified": "2026-04-26T04:35:50.753720+00:00", "slug": "testing-workflow-optimizer", "source_path": "wiki/sources/testing-workflow-optimizer.md", - "ingested": true, - "ingested_at": "2026-04-21T00:26:09.651575" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-reality-checker.md": { - "hash": "748334839b21f5b2", - "modified": "2026-03-29T11:45:16.003415+00:00", + "hash": "6ed56fcb323e73d6", + "modified": "2026-04-26T04:35:50.753338+00:00", "slug": "testing-reality-checker", "source_path": "wiki/sources/testing-reality-checker.md", - "ingested": true, - "ingested_at": "2026-04-21T00:28:32.179614" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-performance-benchmarker.md": { - "hash": "db3cc9a462baa31e", - "modified": "2026-03-29T11:45:16.003326+00:00", + "hash": "7665d1241f7d85f3", + "modified": "2026-04-26T04:35:50.753195+00:00", "slug": "testing-performance-benchmarker", "source_path": "wiki/sources/testing-performance-benchmarker.md", - "ingested": true, - "ingested_at": "2026-04-21T00:30:52.444576" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-test-results-analyzer.md": { - "hash": "f080e1e8a5ddadc9", - "modified": "2026-03-29T11:45:16.003488+00:00", + "hash": "5e468eee41045f36", + "modified": "2026-04-26T04:35:50.753464+00:00", "slug": "testing-test-results-analyzer", "source_path": "wiki/sources/testing-test-results-analyzer.md", - "ingested": true, - "ingested_at": "2026-04-21T00:40:07.621392" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-evidence-collector.md": { - "hash": "d7e95b64033230aa", - "modified": "2026-03-29T11:45:16.003226+00:00", + "hash": "9bdd8052bcb01511", + "modified": "2026-04-26T04:35:50.753035+00:00", "slug": "testing-evidence-collector", "source_path": "wiki/sources/testing-evidence-collector.md", - "ingested": true, - "ingested_at": "2026-04-21T00:53:15.644710" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-tool-evaluator.md": { - "hash": "98e9a2b4491ffa19", - "modified": "2026-03-29T11:45:16.003567+00:00", + "hash": "ddd7745e466a11ae", + "modified": "2026-04-26T04:35:50.753592+00:00", "slug": "testing-tool-evaluator", "source_path": "wiki/sources/testing-tool-evaluator.md", - "ingested": true, - "ingested_at": "2026-04-21T01:05:03.788168" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/testing/testing-accessibility-auditor.md": { - "hash": "982a14c0d0a9b308", - "modified": "2026-03-29T11:45:16.003053+00:00", + "hash": "35ff94a1ebf00cee", + "modified": "2026-04-26T04:35:50.752767+00:00", "slug": "testing-accessibility-auditor", "source_path": "wiki/sources/testing-accessibility-auditor.md", - "ingested": true, - "ingested_at": "2026-04-21T01:23:23.562204" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-legal-compliance-checker.md": { - "hash": "0544f2219d52742f", - "modified": "2026-03-29T11:45:16.002815+00:00", + "hash": "ce321c87a0a0c96a", + "modified": "2026-04-26T04:35:50.752493+00:00", "slug": "support-legal-compliance-checker", "source_path": "wiki/sources/support-legal-compliance-checker.md", - "ingested": true, - "ingested_at": "2026-04-21T01:35:37.212055" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-analytics-reporter.md": { - "hash": "8d4a4d0835f9ecb5", - "modified": "2026-03-29T11:45:16.002434+00:00", + "hash": "3beee6782feafd53", + "modified": "2026-04-26T04:35:50.751846+00:00", "slug": "support-analytics-reporter", "source_path": "wiki/sources/support-analytics-reporter.md", - "ingested": true, - "ingested_at": "2026-04-21T01:49:51.865694" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-support-responder.md": { - "hash": "4dcd962743e940d1", - "modified": "2026-03-29T11:45:16.002913+00:00", + "hash": "9bf8ad0334557f60", + "modified": "2026-04-26T04:35:50.752638+00:00", "slug": "support-support-responder", "source_path": "wiki/sources/support-support-responder.md", - "ingested": true, - "ingested_at": "2026-04-21T02:05:44.425830" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-infrastructure-maintainer.md": { - "hash": "64d705a9e58f7386", - "modified": "2026-03-29T11:45:16.002719+00:00", + "hash": "0c1d8bd50e00ae78", + "modified": "2026-04-26T04:35:50.752341+00:00", "slug": "support-infrastructure-maintainer", "source_path": "wiki/sources/support-infrastructure-maintainer.md", - "ingested": true, - "ingested_at": "2026-04-21T02:20:43.646781" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-finance-tracker.md": { - "hash": "73b83d0b0ec4ce53", - "modified": "2026-03-29T11:45:16.002616+00:00", + "hash": "f6f60dc6a93e25e4", + "modified": "2026-04-26T04:35:50.752194+00:00", "slug": "support-finance-tracker", "source_path": "wiki/sources/support-finance-tracker.md", - "ingested": true, - "ingested_at": "2026-04-21T02:36:42.960326" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/support/support-executive-summary-generator.md": { - "hash": "298891fcf297de5d", - "modified": "2026-03-29T11:45:16.002530+00:00", + "hash": "860e5e756a1aab59", + "modified": "2026-04-26T04:35:50.751980+00:00", "slug": "support-executive-summary-generator", "source_path": "wiki/sources/support-executive-summary-generator.md", - "ingested": true, - "ingested_at": "2026-04-21T02:51:29.938247" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/workflow-book-chapter.md": { - "hash": "a0382f06c7536579", - "modified": "2026-03-29T11:45:15.986139+00:00", + "hash": "477bae8f9a596bea", + "modified": "2026-04-26T04:35:50.727377+00:00", "slug": "workflow-book-chapter", "source_path": "wiki/sources/workflow-book-chapter.md", - "ingested": true, - "ingested_at": "2026-04-21T03:06:23.105724" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/README.md": { - "hash": "4337886744e068c6", - "modified": "2026-03-29T11:45:15.985887+00:00", + "hash": "057e69b265eec01d", + "modified": "2026-04-26T04:35:50.727016+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", - "ingested": true, - "ingested_at": "2026-04-21T03:20:57.738860" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/workflow-startup-mvp.md": { - "hash": "e540cc1c11e16ea5", - "modified": "2026-03-29T11:45:15.986353+00:00", + "hash": "842daed96dab029f", + "modified": "2026-04-26T04:35:50.727573+00:00", "slug": "workflow-startup-mvp", "source_path": "wiki/sources/workflow-startup-mvp.md", - "ingested": true, - "ingested_at": "2026-04-21T03:36:07.232914" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/workflow-landing-page.md": { - "hash": "05942259ec3fa56d", - "modified": "2026-03-29T11:45:15.986226+00:00", + "hash": "bb9563ddb8a22887", + "modified": "2026-04-26T04:35:50.727474+00:00", "slug": "workflow-landing-page", "source_path": "wiki/sources/workflow-landing-page.md", - "ingested": true, - "ingested_at": "2026-04-21T03:49:04.807112" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/workflow-with-memory.md": { - "hash": "12d75f810271871e", - "modified": "2026-03-29T11:45:15.986475+00:00", + "hash": "c080a7fd68045082", + "modified": "2026-04-26T04:35:50.727704+00:00", "slug": "workflow-with-memory", "source_path": "wiki/sources/workflow-with-memory.md", - "ingested": true, - "ingested_at": "2026-04-21T04:04:49.702304" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/examples/nexus-spatial-discovery.md": { - "hash": "828bd93b1fbb2218", - "modified": "2026-03-29T11:45:15.986043+00:00", + "hash": "025d7c54fcb0b3ef", + "modified": "2026-04-26T04:35:50.727188+00:00", "slug": "nexus-spatial-discovery", "source_path": "wiki/sources/nexus-spatial-discovery.md", - "ingested": true, - "ingested_at": "2026-04-21T04:19:30.323190" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-douyin-strategist.md": { - "hash": "87e3b91287fc97ad", - "modified": "2026-03-29T11:45:15.992018+00:00", + "hash": "c60425f5a9c655a8", + "modified": "2026-04-26T04:35:50.736452+00:00", "slug": "marketing-douyin-strategist", "source_path": "wiki/sources/marketing-douyin-strategist.md", - "ingested": true, - "ingested_at": "2026-04-21T04:37:11.133895" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-zhihu-strategist.md": { - "hash": "35f6fd759a67860f", - "modified": "2026-03-29T11:45:15.994174+00:00", + "hash": "646226182767e4f5", + "modified": "2026-04-26T04:35:50.738944+00:00", "slug": "marketing-zhihu-strategist", "source_path": "wiki/sources/marketing-zhihu-strategist.md", - "ingested": true, - "ingested_at": "2026-04-21T04:49:47.223906" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-book-co-author.md": { - "hash": "09ea2fb4770180b0", - "modified": "2026-03-29T11:45:15.991439+00:00", + "hash": "956400a1c2554818", + "modified": "2026-04-26T04:35:50.735693+00:00", "slug": "marketing-book-co-author", "source_path": "wiki/sources/marketing-book-co-author.md", - "ingested": true, - "ingested_at": "2026-04-21T05:04:35.698794" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-cross-border-ecommerce.md": { - "hash": "073dba84e8159c76", - "modified": "2026-03-29T11:45:15.991925+00:00", + "hash": "64aaefa4375b61c6", + "modified": "2026-04-26T04:35:50.736351+00:00", "slug": "marketing-cross-border-ecommerce", "source_path": "wiki/sources/marketing-cross-border-ecommerce.md", - "ingested": true, - "ingested_at": "2026-04-21T05:21:02.196740" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-reddit-community-builder.md": { - "hash": "03bb723420800754", - "modified": "2026-03-29T11:45:15.992826+00:00", + "hash": "fc2494b901cf6517", + "modified": "2026-04-26T04:35:50.737494+00:00", "slug": "marketing-reddit-community-builder", "source_path": "wiki/sources/marketing-reddit-community-builder.md", - "ingested": true, - "ingested_at": "2026-04-21T05:34:41.978187" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-china-ecommerce-operator.md": { - "hash": "aa6743c68cce9dd0", - "modified": "2026-03-29T11:45:15.991638+00:00", + "hash": "849be9ddbd17d6ec", + "modified": "2026-04-26T04:35:50.735924+00:00", "slug": "marketing-china-ecommerce-operator", "source_path": "wiki/sources/marketing-china-ecommerce-operator.md", - "ingested": true, - "ingested_at": "2026-04-21T05:51:15.577793" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-instagram-curator.md": { - "hash": "bab95910975a9540", - "modified": "2026-03-29T11:45:15.992188+00:00", + "hash": "8abfdb7b473e72aa", + "modified": "2026-04-26T04:35:50.736652+00:00", "slug": "marketing-instagram-curator", "source_path": "wiki/sources/marketing-instagram-curator.md", - "ingested": true, - "ingested_at": "2026-04-21T06:06:26.446430" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-video-optimization-specialist.md": { - "hash": "9cf82969be8898c9", - "modified": "2026-03-29T11:45:15.993492+00:00", + "hash": "8b4ff0d779f40e20", + "modified": "2026-04-26T04:35:50.738412+00:00", "slug": "marketing-video-optimization-specialist", "source_path": "wiki/sources/marketing-video-optimization-specialist.md", - "ingested": true, - "ingested_at": "2026-04-21T06:18:43.419491" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-kuaishou-strategist.md": { - "hash": "d28742e505fa7bf6", - "modified": "2026-03-29T11:45:15.992283+00:00", + "hash": "ab051ce4d60d09c0", + "modified": "2026-04-26T04:35:50.736764+00:00", "slug": "marketing-kuaishou-strategist", "source_path": "wiki/sources/marketing-kuaishou-strategist.md", - "ingested": true, - "ingested_at": "2026-04-21T06:35:15.621802" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-social-media-strategist.md": { - "hash": "7c698a9280872666", - "modified": "2026-03-29T11:45:15.993179+00:00", + "hash": "b803c570b97887b1", + "modified": "2026-04-26T04:35:50.737993+00:00", "slug": "marketing-social-media-strategist", "source_path": "wiki/sources/marketing-social-media-strategist.md", - "ingested": true, - "ingested_at": "2026-04-21T06:48:52.582998" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-short-video-editing-coach.md": { - "hash": "4634520ab5e84b26", - "modified": "2026-03-29T11:45:15.993078+00:00", + "hash": "5f9f767484705cad", + "modified": "2026-04-26T04:35:50.737873+00:00", "slug": "marketing-short-video-editing-coach", "source_path": "wiki/sources/marketing-short-video-editing-coach.md", - "ingested": true, - "ingested_at": "2026-04-21T07:07:06.133972" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-private-domain-operator.md": { - "hash": "7d8372b562324d4c", - "modified": "2026-03-29T11:45:15.992725+00:00", + "hash": "49a8370d6d3dbb1b", + "modified": "2026-04-26T04:35:50.737374+00:00", "slug": "marketing-private-domain-operator", "source_path": "wiki/sources/marketing-private-domain-operator.md", - "ingested": true, - "ingested_at": "2026-04-21T07:20:35.242185" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-carousel-growth-engine.md": { - "hash": "04ef895d1d9f1dd5", - "modified": "2026-03-29T11:45:15.991539+00:00", + "hash": "fb764a43f4b84763", + "modified": "2026-04-26T04:35:50.735809+00:00", "slug": "marketing-carousel-growth-engine", "source_path": "wiki/sources/marketing-carousel-growth-engine.md", - "ingested": true, - "ingested_at": "2026-04-21T07:35:28.167455" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-baidu-seo-specialist.md": { - "hash": "895a5e8440066ad0", - "modified": "2026-03-29T11:45:15.991200+00:00", + "hash": "691f9d22e9245d4c", + "modified": "2026-04-26T04:35:50.735291+00:00", "slug": "marketing-baidu-seo-specialist", "source_path": "wiki/sources/marketing-baidu-seo-specialist.md", - "ingested": true, - "ingested_at": "2026-04-21T07:51:17.955883" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-weibo-strategist.md": { - "hash": "7a79f1ec3894ab2e", - "modified": "2026-03-29T11:45:15.993865+00:00", + "hash": "8a1b18a0dc33cc1a", + "modified": "2026-04-26T04:35:50.738683+00:00", "slug": "marketing-weibo-strategist", "source_path": "wiki/sources/marketing-weibo-strategist.md", - "ingested": true, - "ingested_at": "2026-04-21T08:06:24.946049" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-linkedin-content-creator.md": { - "hash": "344896bff33acf0b", - "modified": "2026-03-29T11:45:15.992389+00:00", + "hash": "ef0ac5482fa1e0fc", + "modified": "2026-04-26T04:35:50.736875+00:00", "slug": "marketing-linkedin-content-creator", "source_path": "wiki/sources/marketing-linkedin-content-creator.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-wechat-official-account.md": { - "hash": "b74a42aff9b960cb", - "modified": "2026-03-29T11:45:15.993743+00:00", + "hash": "d8375ff650f47c62", + "modified": "2026-04-26T04:35:50.738559+00:00", "slug": "marketing-wechat-official-account", "source_path": "wiki/sources/marketing-wechat-official-account.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-app-store-optimizer.md": { - "hash": "ed7c05b3a3e0965c", - "modified": "2026-03-29T11:45:15.991104+00:00", + "hash": "185e36d41e47a1f8", + "modified": "2026-04-26T04:35:50.735169+00:00", "slug": "marketing-app-store-optimizer", "source_path": "wiki/sources/marketing-app-store-optimizer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-china-market-localization-strategist.md": { - "hash": "7f6351003b0d6525", - "modified": "2026-03-29T11:45:15.991753+00:00", + "hash": "344accd03859c4e1", + "modified": "2026-04-26T04:35:50.736040+00:00", "slug": "marketing-china-market-localization-strategist", "source_path": "wiki/sources/marketing-china-market-localization-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-seo-specialist.md": { - "hash": "b2aa467176bb3489", - "modified": "2026-04-20T13:31:38.734102+00:00", + "hash": "3d865f7b4c50a5b1", + "modified": "2026-04-26T04:35:50.737699+00:00", "slug": "marketing-seo-specialist", "source_path": "wiki/sources/marketing-seo-specialist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-tiktok-strategist.md": { - "hash": "980ca09138f63ec2", - "modified": "2026-03-29T11:45:15.993303+00:00", + "hash": "ece8ad12c0507ad6", + "modified": "2026-04-26T04:35:50.738110+00:00", "slug": "marketing-tiktok-strategist", "source_path": "wiki/sources/marketing-tiktok-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-livestream-commerce-coach.md": { - "hash": "2d53e67cd70d825a", - "modified": "2026-03-29T11:45:15.992493+00:00", + "hash": "cc6c7fc71385b469", + "modified": "2026-04-26T04:35:50.737008+00:00", "slug": "marketing-livestream-commerce-coach", "source_path": "wiki/sources/marketing-livestream-commerce-coach.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-twitter-engager.md": { - "hash": "df58c7df04fb808d", - "modified": "2026-03-29T11:45:15.993394+00:00", + "hash": "b869405d50d0bc60", + "modified": "2026-04-26T04:35:50.738302+00:00", "slug": "marketing-twitter-engager", "source_path": "wiki/sources/marketing-twitter-engager.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-content-creator.md": { - "hash": "676c536de09bd371", - "modified": "2026-03-29T11:45:15.991833+00:00", + "hash": "32bbf63b02069066", + "modified": "2026-04-26T04:35:50.736225+00:00", "slug": "marketing-content-creator", "source_path": "wiki/sources/marketing-content-creator.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-bilibili-content-strategist.md": { - "hash": "4268a7b51025967f", - "modified": "2026-03-29T11:45:15.991312+00:00", + "hash": "ecc5cef198f6deeb", + "modified": "2026-04-26T04:35:50.735418+00:00", "slug": "marketing-bilibili-content-strategist", "source_path": "wiki/sources/marketing-bilibili-content-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-podcast-strategist.md": { - "hash": "37fb126529afb4aa", - "modified": "2026-03-29T11:45:15.992606+00:00", + "hash": "af0cd4d706c75d64", + "modified": "2026-04-26T04:35:50.737128+00:00", "slug": "marketing-podcast-strategist", "source_path": "wiki/sources/marketing-podcast-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-xiaohongshu-specialist.md": { - "hash": "c0afe07b77d7795f", - "modified": "2026-03-29T11:45:15.994019+00:00", + "hash": "ea698a8c9e439e81", + "modified": "2026-04-26T04:35:50.738809+00:00", "slug": "marketing-xiaohongshu-specialist", "source_path": "wiki/sources/marketing-xiaohongshu-specialist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-growth-hacker.md": { - "hash": "3b1157ed09dc0402", - "modified": "2026-03-29T11:45:15.992100+00:00", + "hash": "404ae600bac2b1ff", + "modified": "2026-04-26T04:35:50.736552+00:00", "slug": "marketing-growth-hacker", "source_path": "wiki/sources/marketing-growth-hacker.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-ai-citation-strategist.md": { - "hash": "7cd2e456680669ec", - "modified": "2026-03-29T11:45:15.991012+00:00", + "hash": "6c115889d52b370d", + "modified": "2026-04-26T04:35:50.734818+00:00", "slug": "marketing-ai-citation-strategist", "source_path": "wiki/sources/marketing-ai-citation-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/game-audio-engineer.md": { - "hash": "d7a2eebd8c20021e", - "modified": "2026-03-29T11:45:15.987056+00:00", + "hash": "900c3d6bfbbc4c77", + "modified": "2026-04-26T04:35:50.730356+00:00", "slug": "game-audio-engineer", "source_path": "wiki/sources/game-audio-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/technical-artist.md": { - "hash": "8a669de1fa3455c4", - "modified": "2026-03-29T11:45:15.988478+00:00", + "hash": "d5a590ed9bb75040", + "modified": "2026-04-26T04:35:50.731956+00:00", "slug": "technical-artist", "source_path": "wiki/sources/technical-artist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/level-designer.md": { - "hash": "79c1d41b7dfc477f", - "modified": "2026-03-29T11:45:15.987733+00:00", + "hash": "f68dcad677b86025", + "modified": "2026-04-26T04:35:50.731356+00:00", "slug": "level-designer", "source_path": "wiki/sources/level-designer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/narrative-designer.md": { - "hash": "7a5489c7b0502aa1", - "modified": "2026-03-29T11:45:15.987936+00:00", + "hash": "3ceecdb78b0e167f", + "modified": "2026-04-26T04:35:50.731465+00:00", "slug": "narrative-designer", "source_path": "wiki/sources/narrative-designer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/game-designer.md": { - "hash": "203c4d7f0358a628", - "modified": "2026-03-29T11:45:15.987274+00:00", + "hash": "0b543a8cef653767", + "modified": "2026-04-26T04:35:50.730490+00:00", "slug": "game-designer", "source_path": "wiki/sources/game-designer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unreal-engine/unreal-technical-artist.md": { - "hash": "54bdd46bc872ba21", - "modified": "2026-03-29T11:45:15.989264+00:00", + "hash": "d663663adb273c61", + "modified": "2026-04-26T04:35:50.732764+00:00", "slug": "unreal-technical-artist", "source_path": "wiki/sources/unreal-technical-artist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unreal-engine/unreal-multiplayer-architect.md": { - "hash": "666a4d07a6cfaf9d", - "modified": "2026-03-29T11:45:15.989054+00:00", + "hash": "ac5ce3cf25300e53", + "modified": "2026-04-26T04:35:50.732532+00:00", "slug": "unreal-multiplayer-architect", "source_path": "wiki/sources/unreal-multiplayer-architect.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unreal-engine/unreal-systems-engineer.md": { - "hash": "ca34c6be64ee4f60", - "modified": "2026-03-29T11:45:15.989156+00:00", + "hash": "4567a10abe2007ae", + "modified": "2026-04-26T04:35:50.732646+00:00", "slug": "unreal-systems-engineer", "source_path": "wiki/sources/unreal-systems-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unreal-engine/unreal-world-builder.md": { - "hash": "7d2bf21ac77089b9", - "modified": "2026-03-29T11:45:15.989365+00:00", + "hash": "822e8e695cb71a59", + "modified": "2026-04-26T04:35:50.732881+00:00", "slug": "unreal-world-builder", "source_path": "wiki/sources/unreal-world-builder.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unity/unity-editor-tool-developer.md": { - "hash": "8b368fe6ee0a4c0c", - "modified": "2026-03-29T11:45:15.988734+00:00", + "hash": "781429b222ed43b7", + "modified": "2026-04-26T04:35:50.732178+00:00", "slug": "unity-editor-tool-developer", "source_path": "wiki/sources/unity-editor-tool-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unity/unity-shader-graph-artist.md": { - "hash": "3e2033f179a95da2", - "modified": "2026-03-29T11:45:15.988920+00:00", + "hash": "82c05e6009dfa9ca", + "modified": "2026-04-26T04:35:50.732393+00:00", "slug": "unity-shader-graph-artist", "source_path": "wiki/sources/unity-shader-graph-artist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unity/unity-multiplayer-engineer.md": { - "hash": "61561d24650216ef", - "modified": "2026-03-29T11:45:15.988826+00:00", + "hash": "f8f23dfb5ecf0813", + "modified": "2026-04-26T04:35:50.732277+00:00", "slug": "unity-multiplayer-engineer", "source_path": "wiki/sources/unity-multiplayer-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/unity/unity-architect.md": { - "hash": "15502fbcd46fcd75", - "modified": "2026-03-29T11:45:15.988633+00:00", + "hash": "5da92581e262fc02", + "modified": "2026-04-26T04:35:50.732074+00:00", "slug": "unity-architect", "source_path": "wiki/sources/unity-architect.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/roblox-studio/roblox-experience-designer.md": { - "hash": "569f75a1b6448a30", - "modified": "2026-03-29T11:45:15.988178+00:00", + "hash": "7a38ccc69e340aaa", + "modified": "2026-04-26T04:35:50.731703+00:00", "slug": "roblox-experience-designer", "source_path": "wiki/sources/roblox-experience-designer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/roblox-studio/roblox-systems-scripter.md": { - "hash": "6d7e11b07aba99ee", - "modified": "2026-03-29T11:45:15.988363+00:00", + "hash": "0f38b69ec476f114", + "modified": "2026-04-26T04:35:50.731825+00:00", "slug": "roblox-systems-scripter", "source_path": "wiki/sources/roblox-systems-scripter.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/roblox-studio/roblox-avatar-creator.md": { - "hash": "6bdb5af6fe5c390d", - "modified": "2026-03-29T11:45:15.988073+00:00", + "hash": "d54db597177107ab", + "modified": "2026-04-26T04:35:50.731586+00:00", "slug": "roblox-avatar-creator", "source_path": "wiki/sources/roblox-avatar-creator.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/blender/blender-addon-engineer.md": { - "hash": "f6bf42625647999d", - "modified": "2026-03-29T11:45:15.986798+00:00", + "hash": "f264009606388b48", + "modified": "2026-04-26T04:35:50.730053+00:00", "slug": "blender-addon-engineer", "source_path": "wiki/sources/blender-addon-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/godot/godot-gameplay-scripter.md": { - "hash": "0cce0fc75b3a7eee", - "modified": "2026-03-29T11:45:15.987419+00:00", + "hash": "4dd2a8b8dd0cf30b", + "modified": "2026-04-26T04:35:50.730994+00:00", "slug": "godot-gameplay-scripter", "source_path": "wiki/sources/godot-gameplay-scripter.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/godot/godot-shader-developer.md": { - "hash": "1362da1ba227aea6", - "modified": "2026-03-29T11:45:15.987619+00:00", + "hash": "44b31409e78ccf45", + "modified": "2026-04-26T04:35:50.731220+00:00", "slug": "godot-shader-developer", "source_path": "wiki/sources/godot-shader-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/game-development/godot/godot-multiplayer-engineer.md": { - "hash": "d72e7798c03e6fa2", - "modified": "2026-03-29T11:45:15.987518+00:00", + "hash": "132fecb62ebfc8ed", + "modified": "2026-04-26T04:35:50.731121+00:00", "slug": "godot-multiplayer-engineer", "source_path": "wiki/sources/godot-multiplayer-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-software-architect.md": { - "hash": "08239f789f83fbd9", - "modified": "2026-03-29T11:45:15.984928+00:00", + "hash": "e93c7f74745844c9", + "modified": "2026-04-26T04:35:50.725981+00:00", "slug": "engineering-software-architect", "source_path": "wiki/sources/engineering-software-architect.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-mobile-app-builder.md": { - "hash": "5b6d3d6ba2db8609", - "modified": "2026-03-29T11:45:15.984244+00:00", + "hash": "324aebccc9168c2f", + "modified": "2026-04-26T04:35:50.725542+00:00", "slug": "engineering-mobile-app-builder", "source_path": "wiki/sources/engineering-mobile-app-builder.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-autonomous-optimization-architect.md": { - "hash": "6904f627eff4a203", - "modified": "2026-03-29T11:45:15.982349+00:00", + "hash": "ac581358de92d564", + "modified": "2026-04-26T04:35:50.722410+00:00", "slug": "engineering-autonomous-optimization-architect", "source_path": "wiki/sources/engineering-autonomous-optimization-architect.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-filament-optimization-specialist.md": { - "hash": "428f6a6be2318a12", - "modified": "2026-03-29T11:45:15.983808+00:00", + "hash": "fbe166f024a0749f", + "modified": "2026-04-26T04:35:50.724895+00:00", "slug": "engineering-filament-optimization-specialist", "source_path": "wiki/sources/engineering-filament-optimization-specialist.md", "ingested": false, @@ -3645,8 +3605,8 @@ "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-code-reviewer.md": { - "hash": "7509fcc3ea1dda46", - "modified": "2026-03-29T11:45:15.982774+00:00", + "hash": "74cbe8050462ec35", + "modified": "2026-04-26T04:35:50.723642+00:00", "slug": "engineering-code-reviewer", "source_path": "wiki/sources/engineering-code-reviewer.md", "ingested": false, @@ -3654,71 +3614,71 @@ }, "raw/Agent/agency-agents/engineering/engineering-technical-writer.md": { "hash": "70c8a29cddf7de48", - "modified": "2026-03-29T11:45:15.985418+00:00", + "modified": "2026-04-27T12:02:52.433392+00:00", "slug": "engineering-technical-writer", "source_path": "wiki/sources/engineering-technical-writer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-wechat-mini-program-developer.md": { - "hash": "dcda22b2d93c1bbf", - "modified": "2026-03-29T11:45:15.985770+00:00", + "hash": "65d5eb9fd98bfe5b", + "modified": "2026-04-26T04:35:50.726920+00:00", "slug": "engineering-wechat-mini-program-developer", "source_path": "wiki/sources/engineering-wechat-mini-program-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-rapid-prototyper.md": { - "hash": "327598e2cee41b78", - "modified": "2026-03-29T11:45:15.984462+00:00", + "hash": "7b942a0ba7ff1d2f", + "modified": "2026-04-26T04:35:50.725669+00:00", "slug": "engineering-rapid-prototyper", "source_path": "wiki/sources/engineering-rapid-prototyper.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-embedded-firmware-engineer.md": { - "hash": "8453982bc1ae4b5c", - "modified": "2026-03-29T11:45:15.983479+00:00", + "hash": "38d75601bad3d235", + "modified": "2026-04-26T04:35:50.724513+00:00", "slug": "engineering-embedded-firmware-engineer", "source_path": "wiki/sources/engineering-embedded-firmware-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-email-intelligence-engineer.md": { - "hash": "bef84b77b2ce3f2c", - "modified": "2026-03-29T11:45:15.983371+00:00", + "hash": "5a85382eaa5d979b", + "modified": "2026-04-26T04:35:50.724404+00:00", "slug": "engineering-email-intelligence-engineer", "source_path": "wiki/sources/engineering-email-intelligence-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-feishu-integration-developer.md": { - "hash": "836667ab301da70a", - "modified": "2026-03-29T11:45:15.983592+00:00", + "hash": "adce531c5f557e8e", + "modified": "2026-04-26T04:35:50.724779+00:00", "slug": "engineering-feishu-integration-developer", "source_path": "wiki/sources/engineering-feishu-integration-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-ai-engineer.md": { - "hash": "f25a69aad25acd35", - "modified": "2026-03-29T11:45:15.982251+00:00", + "hash": "ec097db36faac9db", + "modified": "2026-04-26T04:35:50.722301+00:00", "slug": "engineering-ai-engineer", "source_path": "wiki/sources/engineering-ai-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-threat-detection-engineer.md": { - "hash": "83bfaabe485d5196", - "modified": "2026-03-29T11:45:15.985547+00:00", + "hash": "310f2d8f672e4af7", + "modified": "2026-04-26T04:35:50.726670+00:00", "slug": "engineering-threat-detection-engineer", "source_path": "wiki/sources/engineering-threat-detection-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-database-optimizer.md": { - "hash": "a58860b44590ed64", - "modified": "2026-03-29T11:45:15.983062+00:00", + "hash": "db92eb716e88711d", + "modified": "2026-04-26T04:35:50.724164+00:00", "slug": "engineering-database-optimizer", "source_path": "wiki/sources/engineering-database-optimizer.md", "ingested": false, @@ -3726,39 +3686,39 @@ }, "raw/Agent/agency-agents/engineering/engineering-senior-developer.md": { "hash": "63b8da6c12b95f54", - "modified": "2026-03-29T11:45:15.984834+00:00", + "modified": "2026-04-27T12:02:52.432650+00:00", "slug": "engineering-senior-developer", "source_path": "wiki/sources/engineering-senior-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-git-workflow-master.md": { - "hash": "b2ab151fa5dc3103", - "modified": "2026-03-29T11:45:15.984010+00:00", + "hash": "f65f1e5730b4f2d6", + "modified": "2026-04-26T04:35:50.725128+00:00", "slug": "engineering-git-workflow-master", "source_path": "wiki/sources/engineering-git-workflow-master.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-cms-developer.md": { - "hash": "e072ac6e3d485483", - "modified": "2026-03-29T11:45:15.982679+00:00", + "hash": "970a4a4ad3930502", + "modified": "2026-04-26T04:35:50.723245+00:00", "slug": "engineering-cms-developer", "source_path": "wiki/sources/engineering-cms-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-security-engineer.md": { - "hash": "d6ce02769f3dbe73", - "modified": "2026-03-29T11:45:15.984575+00:00", + "hash": "941c0fb49ff22c3a", + "modified": "2026-04-26T04:35:50.725789+00:00", "slug": "engineering-security-engineer", "source_path": "wiki/sources/engineering-security-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-devops-automator.md": { - "hash": "5d3c3d12c605a8c0", - "modified": "2026-03-29T11:45:15.983262+00:00", + "hash": "556d838d4132a5e6", + "modified": "2026-04-26T04:35:50.724289+00:00", "slug": "engineering-devops-automator", "source_path": "wiki/sources/engineering-devops-automator.md", "ingested": false, @@ -3766,23 +3726,23 @@ }, "raw/Agent/agency-agents/engineering/engineering-sre.md": { "hash": "85b305e495506913", - "modified": "2026-03-29T11:45:15.985312+00:00", + "modified": "2026-04-27T12:02:52.433253+00:00", "slug": "engineering-sre", "source_path": "wiki/sources/engineering-sre.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-data-engineer.md": { - "hash": "d46e5ebdb81f5f3e", - "modified": "2026-03-29T11:45:15.982980+00:00", + "hash": "d9cbc8781885318d", + "modified": "2026-04-26T04:35:50.723920+00:00", "slug": "engineering-data-engineer", "source_path": "wiki/sources/engineering-data-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-ai-data-remediation-engineer.md": { - "hash": "5aa193052f152834", - "modified": "2026-03-29T11:45:15.982162+00:00", + "hash": "3859be34aa40024b", + "modified": "2026-04-26T04:35:50.722169+00:00", "slug": "engineering-ai-data-remediation-engineer", "source_path": "wiki/sources/engineering-ai-data-remediation-engineer.md", "ingested": false, @@ -3790,427 +3750,459 @@ }, "raw/Agent/agency-agents/engineering/engineering-solidity-smart-contract-engineer.md": { "hash": "1f68b7857b83c613", - "modified": "2026-03-29T11:45:15.985056+00:00", + "modified": "2026-04-27T12:02:52.433015+00:00", "slug": "engineering-solidity-smart-contract-engineer", "source_path": "wiki/sources/engineering-solidity-smart-contract-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-incident-response-commander.md": { - "hash": "1df5c8f558f99a8d", - "modified": "2026-03-29T11:45:15.984127+00:00", + "hash": "dc1b59ebc8892b09", + "modified": "2026-04-26T04:35:50.725260+00:00", "slug": "engineering-incident-response-commander", "source_path": "wiki/sources/engineering-incident-response-commander.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-frontend-developer.md": { - "hash": "35961da50f408e00", - "modified": "2026-03-29T11:45:15.983926+00:00", + "hash": "ec03c24c96a45565", + "modified": "2026-04-26T04:35:50.725029+00:00", "slug": "engineering-frontend-developer", "source_path": "wiki/sources/engineering-frontend-developer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/QUICKSTART.md": { - "hash": "8a1f9053e6e31a06", - "modified": "2026-03-29T11:45:16.000973+00:00", + "hash": "eaa7ba61b4bb2f1e", + "modified": "2026-04-26T04:35:50.749934+00:00", "slug": "quickstart", "source_path": "wiki/sources/quickstart.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/EXECUTIVE-BRIEF.md": { - "hash": "628907121b4fa630", - "modified": "2026-03-29T11:45:16.000880+00:00", + "hash": "ac54c855f3d9fc7f", + "modified": "2026-04-26T04:35:50.749806+00:00", "slug": "executive-brief", "source_path": "wiki/sources/executive-brief.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/nexus-strategy.md": { - "hash": "59d4b4ad9c69305f", - "modified": "2026-03-29T11:45:16.001333+00:00", + "hash": "ae0c16bc990ff84f", + "modified": "2026-04-26T04:35:50.750395+00:00", "slug": "nexus-strategy", "source_path": "wiki/sources/nexus-strategy.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/coordination/handoff-templates.md": { - "hash": "297dff8ea47b35e0", - "modified": "2026-03-29T11:45:16.001185+00:00", + "hash": "6dc5e67b9ab48f62", + "modified": "2026-04-26T04:35:50.750211+00:00", "slug": "handoff-templates", "source_path": "wiki/sources/handoff-templates.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/coordination/agent-activation-prompts.md": { - "hash": "9db4323a005d28d2", - "modified": "2026-03-29T11:45:16.001093+00:00", + "hash": "038889b880591a29", + "modified": "2026-04-26T04:35:50.750068+00:00", "slug": "agent-activation-prompts", "source_path": "wiki/sources/agent-activation-prompts.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/runbooks/scenario-incident-response.md": { - "hash": "b08fe23eddcc6f50", - "modified": "2026-03-29T11:45:16.002172+00:00", + "hash": "befb9a8ce3c3c430", + "modified": "2026-04-26T04:35:50.751507+00:00", "slug": "scenario-incident-response", "source_path": "wiki/sources/scenario-incident-response.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/runbooks/scenario-marketing-campaign.md": { - "hash": "979c985e5cbb6a42", - "modified": "2026-03-29T11:45:16.002242+00:00", + "hash": "210e7ec407eb5730", + "modified": "2026-04-26T04:35:50.751617+00:00", "slug": "scenario-marketing-campaign", "source_path": "wiki/sources/scenario-marketing-campaign.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/runbooks/scenario-enterprise-feature.md": { - "hash": "40e20eac5c6eb54f", - "modified": "2026-03-29T11:45:16.002098+00:00", + "hash": "f18edc684218bbc2", + "modified": "2026-04-26T04:35:50.751404+00:00", "slug": "scenario-enterprise-feature", "source_path": "wiki/sources/scenario-enterprise-feature.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/runbooks/scenario-startup-mvp.md": { - "hash": "90eb81f4338453ce", - "modified": "2026-03-29T11:45:16.002310+00:00", + "hash": "e5410b6236cede52", + "modified": "2026-04-26T04:35:50.751715+00:00", "slug": "scenario-startup-mvp", "source_path": "wiki/sources/scenario-startup-mvp.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-2-foundation.md": { - "hash": "16c02d3c0debc957", - "modified": "2026-03-29T11:45:16.001621+00:00", + "hash": "9bdf28e9897cdd39", + "modified": "2026-04-26T04:35:50.750764+00:00", "slug": "phase-2-foundation", "source_path": "wiki/sources/phase-2-foundation.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-1-strategy.md": { - "hash": "8509ef04a669ec01", - "modified": "2026-03-29T11:45:16.001529+00:00", + "hash": "b7019e14eb91f785", + "modified": "2026-04-26T04:35:50.750631+00:00", "slug": "phase-1-strategy", "source_path": "wiki/sources/phase-1-strategy.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-0-discovery.md": { - "hash": "0ae7d5cfc479e0d2", - "modified": "2026-03-29T11:45:16.001455+00:00", + "hash": "6d55b392a54edefd", + "modified": "2026-04-26T04:35:50.750503+00:00", "slug": "phase-0-discovery", "source_path": "wiki/sources/phase-0-discovery.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-4-hardening.md": { - "hash": "0db1b7dc62dccc30", - "modified": "2026-03-29T11:45:16.001804+00:00", + "hash": "f3bb33d2b2d86144", + "modified": "2026-04-26T04:35:50.751027+00:00", "slug": "phase-4-hardening", "source_path": "wiki/sources/phase-4-hardening.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-3-build.md": { - "hash": "b9b2383e0c6e135d", - "modified": "2026-03-29T11:45:16.001712+00:00", + "hash": "e03c5d79dc535dba", + "modified": "2026-04-26T04:35:50.750894+00:00", "slug": "phase-3-build", "source_path": "wiki/sources/phase-3-build.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-6-operate.md": { - "hash": "5681569052513c33", - "modified": "2026-03-29T11:45:16.001991+00:00", + "hash": "d4ed649ae93f5eb7", + "modified": "2026-04-26T04:35:50.751295+00:00", "slug": "phase-6-operate", "source_path": "wiki/sources/phase-6-operate.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/strategy/playbooks/phase-5-launch.md": { - "hash": "afae11996e699041", - "modified": "2026-03-29T11:45:16.001896+00:00", + "hash": "3702c0c5bfcb93f7", + "modified": "2026-04-26T04:35:50.751165+00:00", "slug": "phase-5-launch", "source_path": "wiki/sources/phase-5-launch.md", "ingested": false, "ingested_at": null }, "raw/AI/如何让AI生成风格一致的图片.md": { - "hash": "3cd96a070186bd1d", - "modified": "2026-04-18T22:25:46.444173+00:00", + "hash": "07f8a0725f9c9dde", + "modified": "2026-04-26T04:35:50.693852+00:00", "slug": "如何让ai生成风格一致的图片", "source_path": "wiki/sources/如何让ai生成风格一致的图片.md", "ingested": false, "ingested_at": null }, "raw/Skills/baoyu-skills.md": { - "hash": "60483c3c74f6dd8b", - "modified": "2026-04-19T06:51:38.466793+00:00", + "hash": "76af649fe7a5110e", + "modified": "2026-04-26T04:35:50.794172+00:00", "slug": "baoyu-skills", "source_path": "wiki/sources/baoyu-skills.md", - "ingested": true, - "ingested_at": "2026-04-20T03:38:22.372427" + "ingested": false, + "ingested_at": null }, "raw/Agent/LLM Wiki.md": { - "hash": "75a85a530ee40a5e", - "modified": "2026-04-20T06:42:58.873699+00:00", + "hash": "93c8ba9542f273cd", + "modified": "2026-04-26T04:35:50.696390+00:00", "slug": "llm-wiki", "source_path": "wiki/sources/llm-wiki.md", - "ingested": true, - "ingested_at": "2026-04-20T06:52:14.458614+00:00" + "ingested": false, + "ingested_at": null }, "raw/Agent/Karpathy 最新分享:用 LLM 搭建个人知识库,告别 RAG 的低效循环.md": { - "hash": "5eb90920f1249fbd", - "modified": "2026-04-20T06:31:44.737663+00:00", + "hash": "ed943cf1fac1a971", + "modified": "2026-04-26T04:35:50.696007+00:00", "slug": "karpathy-最新分享-用-llm-搭建个人知识库-告别-rag-的低效循环", "source_path": "wiki/sources/karpathy-最新分享-用-llm-搭建个人知识库-告别-rag-的低效循环.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/SECURITY.md": { - "hash": "39430fea66309d26", - "modified": "2026-04-20T13:31:38.747061+00:00", + "hash": "85a91895f63efd49", + "modified": "2026-04-26T04:35:50.699064+00:00", "slug": "security", "source_path": "wiki/sources/security.md", - "ingested": true, - "ingested_at": "2026-04-20T22:05:13.785987" + "ingested": false, + "ingested_at": null }, "raw/Agent/agency-agents/specialized/hospitality-guest-services.md": { - "hash": "1c5819c560d3902e", - "modified": "2026-04-20T13:31:38.750057+00:00", + "hash": "e11eb97d7aa868b9", + "modified": "2026-04-26T04:35:50.745805+00:00", "slug": "hospitality-guest-services", "source_path": "wiki/sources/hospitality-guest-services.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/legal-client-intake.md": { - "hash": "b0b1cce8a30f08ad", - "modified": "2026-04-20T13:31:38.750628+00:00", + "hash": "1dff5dc89735b1fa", + "modified": "2026-04-26T04:35:50.746503+00:00", "slug": "legal-client-intake", "source_path": "wiki/sources/legal-client-intake.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/legal-billing-time-tracking.md": { - "hash": "27f8405564315045", - "modified": "2026-04-20T13:31:38.751237+00:00", + "hash": "1af045e3d4c95010", + "modified": "2026-04-26T04:35:50.746367+00:00", "slug": "legal-billing-time-tracking", "source_path": "wiki/sources/legal-billing-time-tracking.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/healthcare-customer-service.md": { - "hash": "b2e4117a8b449a94", - "modified": "2026-04-20T13:31:38.751495+00:00", + "hash": "7320c217d4194af0", + "modified": "2026-04-26T04:35:50.745301+00:00", "slug": "healthcare-customer-service", "source_path": "wiki/sources/healthcare-customer-service.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/customer-service.md": { - "hash": "71d5b8ccd6fb6c58", - "modified": "2026-04-20T13:31:38.752266+00:00", + "hash": "a7ea8080753b04bf", + "modified": "2026-04-26T04:35:50.744774+00:00", "slug": "customer-service", "source_path": "wiki/sources/customer-service.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/hr-onboarding.md": { - "hash": "28a52c26f27ab24d", - "modified": "2026-04-20T13:31:38.752470+00:00", + "hash": "0ea422ca05808d86", + "modified": "2026-04-26T04:35:50.745939+00:00", "slug": "hr-onboarding", "source_path": "wiki/sources/hr-onboarding.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/specialized-chief-of-staff.md": { - "hash": "c0d053f19f32d369", - "modified": "2026-04-20T13:31:38.753428+00:00", + "hash": "864afc41df035f17", + "modified": "2026-04-26T04:35:50.747819+00:00", "slug": "specialized-chief-of-staff", "source_path": "wiki/sources/specialized-chief-of-staff.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/retail-customer-returns.md": { - "hash": "5cd60860a6ea57a9", - "modified": "2026-04-20T13:31:38.753856+00:00", + "hash": "48f806c2e93c81f7", + "modified": "2026-04-26T04:35:50.747444+00:00", "slug": "retail-customer-returns", "source_path": "wiki/sources/retail-customer-returns.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/sales-outreach.md": { - "hash": "84d4ca90d4bed464", - "modified": "2026-04-20T13:31:38.754790+00:00", + "hash": "a1756ffb434f9777", + "modified": "2026-04-26T04:35:50.747679+00:00", "slug": "sales-outreach", "source_path": "wiki/sources/sales-outreach.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/legal-document-review.md": { - "hash": "02bf51dbc9d8ffc9", - "modified": "2026-04-20T13:31:38.756984+00:00", + "hash": "d803b7c419aa15c1", + "modified": "2026-04-26T04:35:50.746636+00:00", "slug": "legal-document-review", "source_path": "wiki/sources/legal-document-review.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/real-estate-buyer-seller.md": { - "hash": "00e2f54e76be38c8", - "modified": "2026-04-20T13:31:38.758033+00:00", + "hash": "cb4145abb870c657", + "modified": "2026-04-26T04:35:50.747055+00:00", "slug": "real-estate-buyer-seller", "source_path": "wiki/sources/real-estate-buyer-seller.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/loan-officer-assistant.md": { - "hash": "3d6bfdb598187fb1", - "modified": "2026-04-20T13:31:38.758323+00:00", + "hash": "ef2d886c18dc6346", + "modified": "2026-04-26T04:35:50.746779+00:00", "slug": "loan-officer-assistant", "source_path": "wiki/sources/loan-officer-assistant.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/specialized/language-translator.md": { - "hash": "afd1e4b5fb1bb8fa", - "modified": "2026-04-20T13:31:38.759110+00:00", + "hash": "474d38c22caa238d", + "modified": "2026-04-26T04:35:50.746222+00:00", "slug": "language-translator", "source_path": "wiki/sources/language-translator.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/integrations/qwen/README.md": { - "hash": "486a95c5a8a66d09", - "modified": "2026-04-20T13:31:38.722248+00:00", + "hash": "790fab3c4f49c78b", + "modified": "2026-04-26T04:35:50.734499+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/scripts/i18n/README.md": { - "hash": "fcf424cd7af5444f", - "modified": "2026-04-20T13:31:38.746189+00:00", + "hash": "a35d6d0a3b1593cc", + "modified": "2026-04-26T04:35:50.742369+00:00", "slug": "readme", "source_path": "wiki/sources/readme.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/marketing/marketing-agentic-search-optimizer.md": { - "hash": "1fce74cb42bc8461", - "modified": "2026-04-20T13:31:38.727694+00:00", + "hash": "ea7729e6bd9c2aa6", + "modified": "2026-04-26T04:35:50.734697+00:00", "slug": "marketing-agentic-search-optimizer", "source_path": "wiki/sources/marketing-agentic-search-optimizer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/finance/finance-tax-strategist.md": { - "hash": "37ea1a246e1290f4", - "modified": "2026-04-20T13:31:38.707909+00:00", + "hash": "44b7a85a2222bdd7", + "modified": "2026-04-26T04:35:50.729900+00:00", "slug": "finance-tax-strategist", "source_path": "wiki/sources/finance-tax-strategist.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/finance/finance-financial-analyst.md": { - "hash": "3547907cd52e6108", - "modified": "2026-04-20T13:31:38.708302+00:00", + "hash": "bccfb74a352d2024", + "modified": "2026-04-26T04:35:50.727968+00:00", "slug": "finance-financial-analyst", "source_path": "wiki/sources/finance-financial-analyst.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/finance/finance-investment-researcher.md": { - "hash": "4851318dcd82fdfd", - "modified": "2026-04-20T13:31:38.708972+00:00", + "hash": "43e4c535602578ca", + "modified": "2026-04-26T04:35:50.728209+00:00", "slug": "finance-investment-researcher", "source_path": "wiki/sources/finance-investment-researcher.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/finance/finance-fpa-analyst.md": { - "hash": "5fa9137c80e0b91f", - "modified": "2026-04-20T13:31:38.709351+00:00", + "hash": "698fc892cd381c00", + "modified": "2026-04-26T04:35:50.728087+00:00", "slug": "finance-fpa-analyst", "source_path": "wiki/sources/finance-fpa-analyst.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/finance/finance-bookkeeper-controller.md": { - "hash": "5510a24274d8f789", - "modified": "2026-04-20T13:31:38.709779+00:00", + "hash": "4a6173e0f50d5c22", + "modified": "2026-04-26T04:35:50.727833+00:00", "slug": "finance-bookkeeper-controller", "source_path": "wiki/sources/finance-bookkeeper-controller.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-minimal-change-engineer.md": { - "hash": "9999cc74e7b3936a", - "modified": "2026-04-20T13:31:38.688429+00:00", + "hash": "01376dceff3b81ea", + "modified": "2026-04-26T04:35:50.725405+00:00", "slug": "engineering-minimal-change-engineer", "source_path": "wiki/sources/engineering-minimal-change-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-codebase-onboarding-engineer.md": { - "hash": "07aa548b45887c3a", - "modified": "2026-04-20T13:31:38.697916+00:00", + "hash": "6a477e0927677d13", + "modified": "2026-04-26T04:35:50.723789+00:00", "slug": "engineering-codebase-onboarding-engineer", "source_path": "wiki/sources/engineering-codebase-onboarding-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/agency-agents/engineering/engineering-voice-ai-integration-engineer.md": { - "hash": "de80469db772d96f", - "modified": "2026-04-20T13:31:38.702567+00:00", + "hash": "0fec103c88dc2bb6", + "modified": "2026-04-26T04:35:50.726789+00:00", "slug": "engineering-voice-ai-integration-engineer", "source_path": "wiki/sources/engineering-voice-ai-integration-engineer.md", "ingested": false, "ingested_at": null }, "raw/Agent/n8n 调用openclaw agents的工作流架构.md": { - "hash": "4ce60bc9e33a1329", - "modified": "2026-04-21T00:02:52.577140+00:00", + "hash": "50127689a78ec5f7", + "modified": "2026-04-26T04:35:50.754843+00:00", "slug": "n8n-调用openclaw-agents的工作流架构", "source_path": "wiki/sources/n8n-调用openclaw-agents的工作流架构.md", "ingested": false, "ingested_at": null }, "raw/Agent/n8n调用hermes agents的工作流架构.md": { - "hash": "8e594691485e5464", - "modified": "2026-04-20T16:02:55.409466+00:00", + "hash": "355634476d085e18", + "modified": "2026-04-26T04:35:50.755012+00:00", "slug": "n8n调用hermes-agents的工作流架构", "source_path": "wiki/sources/n8n调用hermes-agents的工作流架构.md", "ingested": false, "ingested_at": null }, "raw/Cloud & DevOps/SRE Weekly Issue 513.md": { - "hash": "4f269d6ae571c266", - "modified": "2026-04-20T12:04:56.468784+00:00", + "hash": "f374559ea2a31994", + "modified": "2026-04-26T04:35:50.784552+00:00", "slug": "sre-weekly-issue-513", "source_path": "wiki/sources/sre-weekly-issue-513.md", "ingested": false, "ingested_at": null }, "raw/Agent/Open WebUI Hermes Agent.md": { - "hash": "5b725cfcc756af2d", - "modified": "2026-04-20T16:02:55.408940+00:00", + "hash": "e743e356acd6568f", + "modified": "2026-04-26T04:35:50.697005+00:00", "slug": "open-webui-hermes-agent", "source_path": "wiki/sources/open-webui-hermes-agent.md", "ingested": false, "ingested_at": null }, "raw/Home Office/n8n Docker 配置 Telegram 代理 Troubleshooting.md": { - "hash": "21312c60eb4503ad", - "modified": "2026-04-21T00:02:52.576842+00:00", + "hash": "ac1b481150099e0e", + "modified": "2026-04-26T04:35:50.788735+00:00", "slug": "n8n-docker-配置-telegram-代理-troubleshooting", "source_path": "wiki/sources/n8n-docker-配置-telegram-代理-troubleshooting.md", "ingested": false, "ingested_at": null + }, + "raw/Agent/Expose hermes-agent as an OpenAI-compatible API for any frontend.md": { + "hash": "91414d574ac7b646", + "modified": "2026-04-26T04:35:50.695591+00:00", + "slug": "Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend", + "source_path": "wiki/sources/Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend.md", + "ingested": false, + "ingested_at": null + }, + "raw/Agent/Your AI Isn't Stupid — It Just Needs a Better Harness Lychee Technology Engineering Blog.md": { + "hash": "16317ef4c7ee88e4", + "modified": "2026-04-26T04:35:50.697266+00:00", + "slug": "Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog", + "source_path": "wiki/sources/Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog.md", + "ingested": false, + "ingested_at": null + }, + "raw/Agent/Hermes Agent 配置笔记.md": { + "hash": "6903013bdfd73fb6", + "modified": "2026-04-27T12:02:52.432431+00:00", + "slug": "Hermes-Agent-配置笔记", + "source_path": "wiki/sources/Hermes-Agent-配置笔记.md", + "ingested": false, + "ingested_at": null + }, + "raw/AI/Scrapy + Playwright 抓取TikTok Shop Data.md": { + "hash": "cbb79eb5844b1907", + "modified": "2026-04-28T12:00:31.407568+00:00", + "slug": "Scrapy---Playwright-抓取TikTok-Shop-Data", + "source_path": "wiki/sources/Scrapy---Playwright-抓取TikTok-Shop-Data.md", + "ingested": false, + "ingested_at": null } } } \ No newline at end of file diff --git a/tools/sync.py b/tools/sync.py index cb672db..42ef243 100755 --- a/tools/sync.py +++ b/tools/sync.py @@ -1,33 +1,221 @@ #!/usr/bin/env python3 """ Wiki ↔ Raw 三向同步工具 +================================================================================ -功能: - - 检测 raw/ 下文件变化(新增/修改/删除) - - 维护 manifest.json 状态映射 - - 检测 orphan entity/concept(仅报告,不删除) +概述 +---- +本脚本负责维护 raw/(原始文档层)与 wiki/(知识库层)之间的同步状态。 +它通过 tools/manifest.json 追踪每个 raw 文件的哈希、摄取状态和 slug 映射, +让编码代理(agent)能准确知道哪些文件需要被(重新)摄取到 wiki。 -用法: - python tools/sync.py --check 预览变化(不执行) - python tools/sync.py --sync 执行同步(更新 manifest) - python tools/sync.py --pending 显示待处理文件列表 - python tools/sync.py --json JSON 行输出(供程序消费) - python tools/sync.py --rebuild 从 manifest 重建 wiki/index(兜底) +核心功能 +-------- + 1. 扫描 raw/ 下的 .md 文件,与 manifest 对比,检测新增/删除(不再自动检测 updated) + 2. 维护 tools/manifest.json 状态映射(hash、slug、ingested 等) + 3. 标记单个文件为"已摄取",供摄取流程回调 + 4. 批量规范化 manifest 中的 slug(reslug) + 5. 从 manifest 重建 wiki/index.md(兜底方案) + 6. 检测 orphan entity/concept(仅报告,不删除) + 7. 批量或单条修正 source 页面中的 Source File link(对齐 manifest 的 raw 路径) -manifest.json 格式: +-------------------------------------------------------------------------------- +CLI 用法 +-------------------------------------------------------------------------------- + +基础操作: + python tools/sync.py --check + 预览 raw/ 与 manifest 的差异(新增/删除),不写入任何文件。 + 输出为 Markdown 格式,适合人工阅读。 + + python tools/sync.py --sync + 执行完整同步:将 raw/ 的变化写入 manifest,并报告 orphan 页面。 + 当前默认仅处理新增/删除,不会因为已存在文件内容变化而自动重置 ingested。 + + python tools/sync.py --sync -v / --verbose + 同上,但额外列出每个新增/删除文件的详情,以及 orphan 清单。 + + python tools/sync.py --pending + 列出 manifest 中所有 ingested=false 的待摄取文件(人类可读格式)。 + + python tools/sync.py --pending --json + 以单行 JSON 输出待摄取列表,供脚本/agent 消费。 + + python tools/sync.py --pending --json --limit 1 + 只返回第一条待摄取文件(返回 "file" 字段而非 "files" 数组)。 + + python tools/sync.py --pending --json --limit N + 返回前 N 条待摄取文件(返回 "files" 数组)。 + + python tools/sync.py --json + 与 --sync 配合:使用 JSON 行流模式输出所有事件,便于程序解析。 + + python tools/sync.py --rebuild + 从 manifest 重建 wiki/index.md。适合 index 损坏或丢失时的兜底恢复。 + +Source File link 修正: + python tools/sync.py --fix-source-links + 扫描 manifest 中所有条目,批量修正对应 source 页面里 `## Source File` 下的链接。 + 目标格式统一为:- [[raw/.../your-file.md]] + + python tools/sync.py --fix-source-links --fix-source-target "raw/dir/file.md" + 只修正指定 raw 条目对应的单个 source 页面(适合每次 ingest 后做单文件校验)。 + + python tools/sync.py --fix-source-links --dry-run + 预览将要修改的数量,不写入文件。 + +标记摄取状态: + python tools/sync.py --mark-ingested "raw/dir/file.md" --slug my-slug + 标记指定 raw 文件为已摄取,同时更新 slug、source_path、ingested_at。 + 该命令是摄取工作流的最后一步,应在 wiki/sources/<slug>.md 写入完毕后调用。 + + python tools/sync.py --mark-ingested "raw/dir/file.md" --slug my-slug --mark-json + 同上,但以单行 JSON 输出结果(供脚本消费)。 + + python tools/sync.py --reset-failed + 将所有带 error 标记的 manifest 条目重置为 ingested=false(重新加入待处理队列)。 + +slug 管理: + python tools/sync.py --reslug + 批量规范化 manifest 中全部条目的 slug 和 source_path。 + 规则:中文直接保留,ASCII 大写转小写,特殊字符转 `-`,压缩连续 `-`。 + + python tools/sync.py --reslug --reslug-target "raw/dir/file.md" + 只规范化指定文件的 slug。 + + python tools/sync.py --reslug --dry-run + 预览 reslug 变更,不写入 manifest。 + +-------------------------------------------------------------------------------- +manifest.json 格式 +-------------------------------------------------------------------------------- + +路径:tools/manifest.json(与本脚本同目录) + +顶层结构: { - "version": 1, - "updated_at": "ISO timestamp", - "files": { - "relative/path/to/file.md": { - "hash": "sha256", - "modified": "ISO timestamp", - "slug": "wiki-source-slug", - "source_path": "wiki/sources/slug.md", - "ingested": true - } + "version": 1, // 格式版本,当前固定为 1 + "updated_at": "2024-01-15T08:00:00Z", // 最后更新时间(UTC ISO 8601),每次写入自动刷新 + "files": { ... } // key = raw 文件相对仓库根的路径 +} + +files 中每条记录的结构: +{ + "raw/dir/my-paper.md": { + "hash": "a3f1c2d4e5b6a7b8", // sha256 前 16 位,用于检测文件内容变化 + "modified": "2024-01-15T07:00:00Z", // raw 文件的 mtime(UTC ISO 8601) + "slug": "my-paper", // wiki 页面 slug,用于生成 source_path + "source_path": "wiki/sources/my-paper.md", // 对应的 wiki source 页面路径 + "ingested": true, // false = 待摄取;true = 已摄取 + "ingested_at": "2024-01-15T08:00:00Z", // 摄取完成时间(null 表示未摄取) + "error": "..." // 可选,摄取失败时记录错误信息 } } + +状态流转: + 新文件被 --sync 检测到 + → ingested=false, ingested_at=null + 摄取工作流完成后调用 --mark-ingested + → ingested=true, ingested_at=<当前 UTC 时间> + 当前默认同步策略不自动处理“已存在文件内容变化” + → 已摄取文件不会因 updated 检测而自动重置(避免重复 ingest) + 摄取失败时由外部流程写入 error 字段 + → 使用 --reset-failed 清除,重回待处理队列 + +-------------------------------------------------------------------------------- +JSON 输出格式(--json / --mark-json / --pending --json) +-------------------------------------------------------------------------------- + +每行输出一个独立 JSON 对象(JSON Lines 格式),可能的 event 类型: + + {"event": "pending", "rel_path": "...", "slug": "...", "action": "new"} + {"event": "deleted_detected","rel_path": "..."} + {"event": "sync_complete", "summary": {"pending": N, "deleted": N, "manifest_entries": N}, + "pending_files": [...], "deleted_files": [...]} + {"event": "pending_list", "count": N, "files": [...]} // --pending --json --limit N + {"event": "pending_list", "count": N, "file": {...}} // --pending --json --limit 1 + {"event": "mark_ingested", "rel_path": "...", "slug": "...", + "source_path": "...", "modified": "...", "ingested_at": "..."} + {"event": "fix_source_links_complete", "summary": {...}, "details": [...]} + {"event": "error", "message": "..."} + +-------------------------------------------------------------------------------- +内部函数说明 +-------------------------------------------------------------------------------- + + sha256_file(path) + 计算文件 sha256,返回前 16 位十六进制字符串,用于快速变化检测。 + + load_manifest() / save_manifest(manifest) + 读写 tools/manifest.json;文件不存在或损坏时返回空白 manifest。 + + scan_raw() + 递归扫描 raw/ 下所有 .md 文件,返回 {rel_path: {hash, modified, size, abs_path}}。 + + build_slug_from_path(rel_path) + 从 raw 文件路径生成基础 slug(保留中文,空格/特殊字符转 `-`)。 + 注意:--reslug 使用更严格的 _compute_normalized_slug() 规则。 + + check_changes(manifest, raw_files) + 对比 manifest 与实际文件,当前默认返回新增/删除为主(updated 关闭)。 + + run_sync(dry_run, verbose, json_mode) + 执行完整同步逻辑,更新 manifest,并触发 orphan 检测报告。 + + run_check() + 只读比对,以 Markdown 格式打印差异报告,不修改任何文件。 + + run_rebuild() + 遍历 manifest 中全部条目,重建 wiki/index.md,同时做容错路径匹配和 orphan 检测。 + + find_orphan_entity_concept(manifest) + 扫描 wiki/sources/*.md 中的 [[wikilinks]],找出未被引用的 entity/concept 页面。 + + mark_ingested(rel_path, slug, json_mode) + 将指定 raw 文件标记为已摄取,更新 slug、source_path、hash、ingested_at。 + rel_path 必须已存在于 manifest(先 --sync 再 --mark-ingested)。 + + run_reslug(target_rel_path, dry_run) + 批量(或单条)规范化 manifest 中的 slug/source_path, + 使用 _compute_normalized_slug() 规则处理特殊字符。 + + run_fix_source_links(target_rel_path, dry_run, json_mode) + 基于 manifest 修正 source 页面 `## Source File` 下的 raw 路径链接; + 支持全量和单文件模式。 + + _compute_normalized_slug(rel_path) + 规范化 slug 的核心规则: + a. 中文字符直接保留 + b. ASCII 大写字母转小写 + c. 空格、标点、特殊符号替换为 `-` + d. 连续多个 `-` 压缩为单个,首尾 `-` 去除 + +-------------------------------------------------------------------------------- +典型工作流(供 agent 参考) +-------------------------------------------------------------------------------- + + 1. 检查有无待摄取文件: + python tools/sync.py --pending --json --limit 1 + + 2. 同步 raw 变化到 manifest: + python tools/sync.py --sync + + 3. 摄取完成后标记: + python tools/sync.py --mark-ingested "raw/papers/my-paper.md" --slug my-paper + + 4. 修复 slug 命名: + python tools/sync.py --reslug --dry-run # 预览 + python tools/sync.py --reslug # 应用 + + 5. 批量修正 Source File link: + python tools/sync.py --fix-source-links --dry-run + python tools/sync.py --fix-source-links + + 6. ingest 后单文件校验: + python tools/sync.py --fix-source-links --fix-source-target "raw/papers/my-paper.md" + + 7. index 损坏时重建: + python tools/sync.py --rebuild """ import json @@ -166,20 +354,20 @@ def find_orphan_entity_concept(manifest: dict) -> tuple[list, list]: # ─── 核心同步逻辑 ─────────────────────────────────────────────── def check_changes(manifest: dict, raw_files: dict) -> dict: - """对比 manifest 和实际 raw 文件,返回变化""" + """对比 manifest 和实际 raw 文件,返回变化。 + + 当前策略(按需求收敛): + - 仅检测 new / deleted + - 不再基于 hash 检测 updated(避免仅 mtime 变化导致重复 ingest) + """ changes = {"new": [], "updated": [], "deleted": [], "unchanged": []} manifest_files = manifest.get("files", {}) for rel_path, info in raw_files.items(): if rel_path not in manifest_files: changes["new"].append({"rel_path": rel_path, **info}) - elif info["hash"] != manifest_files[rel_path]["hash"]: - changes["updated"].append({ - "rel_path": rel_path, - "old_hash": manifest_files[rel_path]["hash"], - **info, - }) else: + # 按新策略:已有文件一律视作 unchanged,不再进入 updated changes["unchanged"].append(rel_path) for rel_path in manifest_files: @@ -242,20 +430,41 @@ def run_sync(dry_run: bool = False, verbose: bool = False, json_mode: bool = Fal updated_manifest = manifest.copy() updated_manifest["files"] = manifest.get("files", {}).copy() pending_files = [] + recovered_files = [] for f in new: rel_path = f["rel_path"] slug = build_slug_from_path(rel_path) + source_path = f"wiki/sources/{slug}.md" + source_file = WIKI_DIR / "sources" / f"{slug}.md" + + # 检测 wiki/sources/<slug>.md 是否已存在(manifest 被删除后的恢复场景) + already_ingested = source_file.exists() + ingested_at = None + if already_ingested: + # 用 source 文件的 mtime 作为 ingested_at 的近似值 + try: + ingested_at = datetime.fromtimestamp(source_file.stat().st_mtime, tz=timezone.utc).isoformat() + except Exception: + ingested_at = iso_now() + if json_mode: - print(json.dumps({"event": "pending", "rel_path": rel_path, "slug": slug, "action": "new"})) - pending_files.append({"rel_path": rel_path, "abs_path": f["abs_path"], "slug": slug, "action": "new"}) + action = "recovered" if already_ingested else "new" + print(json.dumps({"event": "pending" if not already_ingested else "recovered", "rel_path": rel_path, "slug": slug, "action": action})) + if not already_ingested: + pending_files.append({"rel_path": rel_path, "abs_path": f["abs_path"], "slug": slug, "action": "new"}) + else: + recovered_files.append({"rel_path": rel_path, "slug": slug, "source_path": source_path}) + if verbose and not json_mode: + print(f" ↺ Recovered (source exists): {rel_path} → {source_path}") + updated_manifest["files"][rel_path] = { "hash": f["hash"], "modified": f.get("modified"), "slug": slug, - "source_path": f"wiki/sources/{slug}.md", - "ingested": False, - "ingested_at": None, + "source_path": source_path, + "ingested": already_ingested, + "ingested_at": ingested_at, } for f in updated: @@ -290,6 +499,7 @@ def run_sync(dry_run: bool = False, verbose: bool = False, json_mode: bool = Fal "event": "sync_complete", "summary": { "pending": len(pending_files), + "recovered": len(recovered_files), "deleted": len(deleted_files), "manifest_entries": len(updated_manifest["files"]), }, @@ -298,6 +508,8 @@ def run_sync(dry_run: bool = False, verbose: bool = False, json_mode: bool = Fal })) else: log(f"manifest.json updated ({len(updated_manifest['files'])} entries)", "success") + if recovered_files: + log(f"Recovered (source page exists): {len(recovered_files)}", "info") if verbose: log(f"Pending files for ingestion: {len(pending_files)}", "info") @@ -385,7 +597,7 @@ def run_rebuild(): ] files = manifest.get("files", {}) - sorted_files = sorted(files.items(), key=lambda x: x[1].get("modified", ""), reverse=True) + sorted_files = sorted(files.items(), key=lambda x: (x[1].get("ingested_at") or "", x[1].get("modified", "")), reverse=True) import re @@ -449,12 +661,12 @@ def run_rebuild(): src_file = find_source_file(slug, info, rel_path) - # 从 manifest 的 modified 字段提取日期前缀(格式 YYYY-MM-DD) - modified_raw = info.get("modified", "") + # 从 manifest 的 ingested_at 字段提取日期前缀(格式 YYYY-MM-DD),未摄取则留空 + date_raw = info.get("ingested_at") or "" date_prefix = "" - if modified_raw: + if date_raw: try: - date_prefix = f"[{modified_raw[:10]}] " + date_prefix = f"[{date_raw[:10]}] " except Exception: date_prefix = "" @@ -529,6 +741,158 @@ def run_rebuild(): print(f"\nDone.") +# ─── 管理接口:修正 source 页面中的 Source File link ───────────────────────────────────── + +def _fix_source_file_link_in_content(content: str, raw_rel_path: str) -> tuple[str, bool, str]: + """修正单个 source 页面中的 `## Source File` 区块。 + + 目标格式: + ## Source File + - [[raw/.../file.md]] + + 返回: (new_content, changed, action) + action ∈ {"unchanged", "updated", "inserted_line", "inserted_section"} + """ + expected_line = f"- [[{raw_rel_path}]]" + lines = content.splitlines() + had_trailing_newline = content.endswith("\n") + + # 1) 找 `## Source File` 标题 + heading_idx = None + for i, line in enumerate(lines): + if line.strip().lower() == "## source file": + heading_idx = i + break + + # 2) 没有区块:插入一个完整区块(优先插到 frontmatter 之后) + if heading_idx is None: + insert_at = 0 + if lines and lines[0].strip() == "---": + for j in range(1, len(lines)): + if lines[j].strip() == "---": + insert_at = j + 1 + while insert_at < len(lines) and lines[insert_at].strip() == "": + insert_at += 1 + break + + block = ["## Source File", expected_line, ""] + new_lines = lines[:insert_at] + block + lines[insert_at:] + new_content = "\n".join(new_lines) + if had_trailing_newline or new_content: + new_content += "\n" + return new_content, True, "inserted_section" + + # 3) 在 `## Source File` 到下一个二级标题之间找第一条列表项 + section_end = len(lines) + for j in range(heading_idx + 1, len(lines)): + if lines[j].startswith("## "): + section_end = j + break + + bullet_idx = None + for j in range(heading_idx + 1, section_end): + if lines[j].strip().startswith("- "): + bullet_idx = j + break + + if bullet_idx is None: + # 没有列表项,直接插入标准链接行 + lines.insert(heading_idx + 1, expected_line) + new_content = "\n".join(lines) + if had_trailing_newline or new_content: + new_content += "\n" + return new_content, True, "inserted_line" + + # 4) 有列表项:替换成 manifest 对应的 raw 路径 + current = lines[bullet_idx].strip() + if current == expected_line: + return content, False, "unchanged" + + lines[bullet_idx] = expected_line + new_content = "\n".join(lines) + if had_trailing_newline or new_content: + new_content += "\n" + return new_content, True, "updated" + + +def run_fix_source_links(target_rel_path: str = None, dry_run: bool = False, json_mode: bool = False): + """基于 manifest,校正 source 页面中的 Source File link。 + + - 不传 target_rel_path:扫描并修正所有条目 + - 传 target_rel_path:只处理单个 raw 条目(适合 ingest 后单文件校验) + """ + manifest = load_manifest() + files = manifest.get("files", {}) + + if target_rel_path: + if target_rel_path not in files: + msg = f"target not found in manifest: {target_rel_path}" + if json_mode: + print(json.dumps({"event": "error", "message": msg})) + else: + print(red(f" ✗ {msg}")) + raise SystemExit(1) + targets = [(target_rel_path, files[target_rel_path])] + else: + targets = list(files.items()) + + changed = 0 + unchanged = 0 + skipped_no_source_path = 0 + skipped_source_missing = 0 + details = [] + + for rel_path, info in targets: + source_path = info.get("source_path") + if not source_path: + skipped_no_source_path += 1 + details.append({"rel_path": rel_path, "status": "skipped_no_source_path"}) + continue + + src_file = REPO_ROOT / source_path + if not src_file.exists(): + skipped_source_missing += 1 + details.append({"rel_path": rel_path, "source_path": source_path, "status": "skipped_source_missing"}) + continue + + original = src_file.read_text(encoding="utf-8") + new_content, did_change, action = _fix_source_file_link_in_content(original, rel_path) + + if did_change: + changed += 1 + if not dry_run: + src_file.write_text(new_content, encoding="utf-8") + details.append({"rel_path": rel_path, "source_path": source_path, "status": "changed", "action": action}) + else: + unchanged += 1 + details.append({"rel_path": rel_path, "source_path": source_path, "status": "unchanged"}) + + summary = { + "scanned": len(targets), + "changed": changed, + "unchanged": unchanged, + "skipped_no_source_path": skipped_no_source_path, + "skipped_source_missing": skipped_source_missing, + "dry_run": dry_run, + } + + if json_mode: + print(json.dumps({"event": "fix_source_links_complete", "summary": summary, "details": details}, ensure_ascii=False)) + return + + print(f"\n{bold('=== Fix Source File Links')}\n") + print(f" Scanned : {summary['scanned']}") + print(f" Changed : {summary['changed']}") + print(f" Unchanged : {summary['unchanged']}") + print(f" Skipped (no source_path): {summary['skipped_no_source_path']}") + print(f" Skipped (source missing): {summary['skipped_source_missing']}") + if dry_run: + print(f" {yellow('⚠')} Dry-run only, no file written.") + else: + print(f" {green('✓')} Source File links corrected.") + print() + + # ─── 管理接口:reslug(批量规范化 manifest slug) ────────────────────────────────────── def _compute_normalized_slug(rel_path: str) -> str: @@ -789,6 +1153,16 @@ if __name__ == "__main__": default=None, help="与 --pending --json 配合:限制返回条目数(默认返回全部)", ) + parser.add_argument( + "--fix-source-links", + action="store_true", + help="基于 manifest 修正 source 页面 `## Source File` 下的 raw 路径链接", + ) + parser.add_argument( + "--fix-source-target", + metavar="REL_PATH", + help="与 --fix-source-links 配合:仅修正单个 raw 条目(例如 'raw/AI/file.md')", + ) parser.add_argument( "--reslug", action="store_true", @@ -810,6 +1184,12 @@ if __name__ == "__main__": if args.mark_ingested: rel = args.mark_ingested[0] mark_ingested(rel, slug=args.slug, json_mode=args.mark_json) + elif args.fix_source_links: + run_fix_source_links( + target_rel_path=args.fix_source_target, + dry_run=args.dry_run, + json_mode=args.json, + ) elif args.reslug: run_reslug(target_rel_path=args.reslug_target, dry_run=args.dry_run) elif args.rebuild: diff --git a/wiki b/wiki deleted file mode 120000 index 31bd750..0000000 --- a/wiki +++ /dev/null @@ -1 +0,0 @@ -/Users/weishen/Workspace/nexus/wiki \ No newline at end of file diff --git a/wiki/log.md b/wiki/log.md new file mode 100644 index 0000000..8b641b3 --- /dev/null +++ b/wiki/log.md @@ -0,0 +1,761 @@ +## [2026-05-06] ingest | Project Shepherd Agent Personality +- Source file: Agent/agency-agents/project-management/project-management-project-shepherd.md +- Status: ✅ 成功摄入 +- Summary: Project Shepherd Agent 完整摄取——The Agency 项目管理部门的跨职能项目协调与利益相关方对齐专家 Agent。核心方法论:项目章程模板(问题陈述/目标/范围/成功标准 + 利益相关方分析/沟通计划/资源需求/风险评估)、四阶段工作流(项目启动与规划→团队组建与启动→执行协调与监控→质量保证与交付)。关键交付物:Project Charter、Project Status Report(绿/黄/红健康状态)。成功指标:95% 项目按时在预算内交付、利益相关方满意度 4.5/5、范围蔓延 < 10%、90% 已识别风险成功缓解。沟通原则:透明报告、聚焦解决方案、绝不承诺不切实际时间线。 +- Concepts created: Project-Management-Project-Shepherd +- Source page: wiki/sources/project-management-project-shepherd.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page(wiki/sources/project-management-project-shepherd.md);步骤4完成:index.md 新增 Source 条目和 Concept 条目;步骤5完成:overview.md Project Management 部门新增独立条目(Line 148);步骤6完成:entities/ 和 concepts/ 目录存在,Project Shepherd 作为方法论概念创建 Concept 页面;步骤7完成:创建 wiki/concepts/Project-Management-Project-Shepherd.md;步骤8完成:与 [[ProjectManagerSenior]](执行层任务分解)和 [[Project-Management-Studio-Operations]](运营支撑)层级差异已记录至 source page Contradictions 节;步骤9完成:log.md 追加记录 + +## [2026-05-29] ingest | visionOS Spatial Engineer +- Source file: Agent/agency-agents/spatial-computing/visionos-spatial-engineer.md +- Status: ✅ 成功摄入 +- Summary: visionOS Spatial Engineer Agent 完整摄取——visionOS 26 原生空间计算专家智能体,专注于 SwiftUI volumetric interfaces 和 Liquid Glass Design System 实现。核心能力:Liquid Glass 透明材质(自适应 light/dark 环境)、Spatial Widgets(吸附墙面/桌面、持久化放置)、SwiftUI Volumetric APIs(3D 内容集成、volume transient content、breakthrough UI)、RealityKit-SwiftUI 集成(Observable entities、直接手势处理、ViewAttachmentComponent)、Multi-Window Architecture(WindowGroup 管理、玻璃背景效果)、GPU 高效渲染(Metal)。技术栈:SwiftUI / RealityKit / ARKit / Metal。局限:不支持 Unity 或其他 3D 框架、不涉及跨平台空间解决方案、依赖 visionOS 26 新特性。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均已存在于 wiki:Liquid Glass Design System/Multi-Window Architecture/RealityKit-SwiftUI Integration/Spatial Widgets/SwiftUI Volumetric APIs) +- Source page: wiki/sources/visionos-spatial-engineer.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page;步骤4完成:index.md 已有对应条目(Line 407),无需修改;步骤5完成:overview.md 已有 visionOS Spatial Engineer 摘要(Line 134),无需修订;步骤6完成:Apple/Vision Pro/SwiftUI/RealityKit 均为跨文档高频实体,未达到单一文档内独立建页阈值;步骤7完成:Concept 均已存在独立页面;步骤8完成:与 [[xr-immersive-developer]] 可能存在技术路径分歧(平台锁定 vs 跨平台),已记录至 source page Contradictions 节;步骤9完成:log.md 追加记录 + +## [2026-05-02] ingest | macOS Spatial/Metal Engineer Agent Personality +- Source file: Agent/agency-agents/spatial-computing/macos-spatial-metal-engineer.md +- Status: ✅ 成功摄入 +- Summary: macOS Spatial/Metal Engineer Agent 完整摄取——Swift + Metal 渲染专家智能体,专注于高性能 3D 渲染系统和 visionOS 空间计算体验。核心能力:Instanced Metal Rendering(10k-100k 节点,90fps 立体渲染);Compositor Services(LayerRenderer stereo 模式 + RGBA16Float + Depth32Float)帧流传输到 Vision Pro;Metal Compute Shader GPU 并行力导向图物理模拟;Gaze + Pinch 空间交互 + raycast hit testing。性能约束:GPU 利用率 < 80%、每帧 < 100 draw calls、内存 < 1GB。技术栈:Swift / Metal / CompositorServices / RealityKit / ARKit / Metal System Trace / Instruments。属 The Agency Spatial Computing 部门,与 [[visionos-spatial-engineer]](visionOS 原生空间计算)和 [[xr-immersive-developer]](WebXR 跨平台沉浸式开发)形成完整技术覆盖矩阵。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:Metal/Vision Pro Compositor Services/RemoteImmersiveSpace/Instanced Rendering/Force-Directed Graph Layout/Frustum Culling/Stereoscopic Rendering) +- Source page: wiki/sources/macos-spatial-metal-engineer.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page(wiki/sources/macos-spatial-metal-engineer.md);步骤4完成:index.md 已有对应条目(Line 7),已添加;步骤5完成:overview.md 已有 macOS Spatial/Metal Engineer 相关摘要(Line 132),无需修订;步骤6完成:Entity 未达到独立建页阈值(Apple/Vision Pro/Xcode 等仅在本文档中出现);步骤7完成:Concept 均以 wikilinks 形式记录于 source page;步骤8完成:无内容冲突;步骤9完成:log.md 追加记录 + +## [2026-04-30] ingest | Studio Producer Agent Personality +- Source file: Agent/agency-agents/project-management/project-management-studio-producer.md +- Status: ✅ 成功摄入 +- Summary: Studio Producer Agent 完整摄取——The Agency 项目管理部门的战略组合管理专家 Agent,定位为创意工作室的高管级战略领导者。核心职责:战略组合规划(Tier 1/2/Innovation Pipeline 三级分级)、Portfolio ROI 管理(要求 ≥ 25%)、95% 按时交付、高管级利益相关者沟通。四阶段工作流:战略规划→项目编排→领导力发展→绩效优化。高级能力:并购战略、国际市场进入规划、AI 技术整合、董事会关系管理。与 [[ProjectManagerSenior]](执行层)形成层级互补,与 [[StudioOperations]](运营层)协同执行。与其他 Project Management Agents 共同构成 The Agency 项目管理部门的完整体系。 +- Concepts created: Strategic Portfolio Management +- Source page: wiki/sources/project-management-studio-producer.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page(wiki/sources/project-management-studio-producer.md);步骤4完成:index.md 已有对应条目(Line 410),新增 Concept 条目 Strategic Portfolio Management;步骤5完成:overview.md 已有相关摘要(Line 141),无需修订;步骤6完成:Studio Producer 为 Agent 角色定义,无外部实体关联,无需创建 Entity 页面;步骤7完成:创建 [[Strategic-Portfolio-Management]] Concept 页面;步骤8完成:与 [[ProjectManagerSenior]] 的层级关系差异已记录(source page Contradictions 节);步骤9完成:log.md 追加记录 + +## [2026-04-29] ingest | Terminal Integration Specialist +- Source file: Agent/agency-agents/spatial-computing/terminal-integration-specialist.md +- Status: ✅ 成功摄入 +- Summary: Terminal Integration Specialist Agent 完整摄取——专注于终端仿真、文本渲染优化与 SwiftTerm 集成,面向现代 Swift 应用程序的 AI Agent 个性化定义。核心技术栈:SwiftTerm(MIT)、Core Graphics/Core Text 文本渲染、SwiftNIO SSH/NMSSH。核心能力:VT100/xterm 标准兼容(ANSI 转义序列)、SwiftUI 生命周期管理、Core Graphics 性能优化、SSH I/O 桥接与会话管理。平台覆盖:iOS、macOS、visionOS。局限:仅限 SwiftTerm、仅限客户端仿真、仅限 Apple 平台。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:VT100/xterm Standards/ANSI Escape Sequences/Core Graphics 文本渲染/SwiftUI 生命周期管理/SSH I/O 桥接) +- Source page: wiki/sources/terminal-integration-specialist.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page;步骤4完成:index.md 已有对应条目(Line 406),无需修改;步骤5完成:overview.md 属于 Agent 个性化定义,暂不修改;步骤6完成:SwiftTerm/SwiftNIO SSH 等实体仅出现1次,未达到独立建页阈值(≥2次);步骤7完成:Concept 均以 wikilinks 形式记录于 source page;步骤8完成:无内容冲突;步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | XR Immersive Developer Agent Personality +- Source file: Agent/agency-agents/spatial-computing/xr-immersive-developer.md +- Status: ✅ 成功摄入 +- Summary: XR Immersive Developer Agent 完整摄取——WebXR 沉浸式开发专家智能体,专注浏览器环境下跨平台 AR/VR/XR 体验构建。核心栈:A-Frame / Three.js / Babylon.js;核心能力:WebXR Device API 全套沉浸式支持(hand tracking / pinch / gaze / controller input)、raycasting / hit testing / 实时物理交互、LOD 系统 / occlusion culling / shader tuning 性能优化、跨设备兼容层(Meta Quest / Vision Pro / HoloLens / mobile AR)、模块化组件驱动设计及优雅降级。典型交付物:VR 训练模拟器、AR 可视化界面、空间界面。与 xr-interface-architect 和 xr-cockpit-interaction-specialist 同属 Spatial Computing 部门,共同构建 XR 产品交互基础设施。与 xr-cockpit-interaction-specialist 在运动自由度设计上存在张力(开放空间沉浸 vs 固定视角约束)。 +- Concepts created: WebXR.md、A-Frame.md、Three.js.md、Babylon.js.md、Raycasting.md、Hit-Testing.md、LOD-Systems.md、Occlusion-Culling.md(均以 wikilinks 形式记录于 source page,实体未达独立建页阈值) +- Source page: wiki/sources/xr-immersive-developer.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md(XR 相关内容已在 line 126-134);步骤3完成:生成 source page(wiki/sources/xr-immersive-developer.md);步骤4完成:index.md 已有对应条目(Line 404),无需修改;步骤5完成:overview.md 已有相关 XR 段落(Line 126-134),无需修订;步骤6完成:Entity 未达到独立建页阈值(The Agency/Spatial Computing 等均在多处出现,有独立页面);步骤7完成:Concept 均以 wikilinks 形式记录于 source page;步骤8完成:与 xr-cockpit-interaction-specialist 在运动自由度设计上存在张力,已记录于 Contradictions;步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | XR Cockpit Interaction Specialist Agent +- Source file: Agent/agency-agents/spatial-computing/xr-cockpit-interaction-specialist.md +- Status: ✅ 成功摄入 +- Summary: XR Cockpit Interaction Specialist Agent 完整摄取——专注于沉浸式座舱环境控件设计,通过固定视角锚定降低晕动症,支持手势/语音/凝视/物理道具多模态输入,采用 A-Frame/Three.js 原型开发,约束驱动机制消除自由浮动。典型应用:模拟指挥中心、航天器座舱、XR 载具界面、训练模拟器。 +- Concepts created: Cockpit-Ergonomics.md、Constraint-Driven-Control-Mechanics.md(均已存在,无需新建) +- Source page: wiki/sources/xr-cockpit-interaction-specialist.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page;步骤4完成:index.md 已有对应条目(Line 404),无需修改;步骤5完成:overview.md 已有相关 XR 内容,无需修订;步骤6完成:Entity 页面均已存在(XR-Cockpit-Interaction-Specialist/XR-Interface-Architect/XR-Immersive-Developer/The-Agency);步骤7完成:Concept 页面均已存在(Cockpit-Ergonomics/Constraint-Driven-Control-Mechanics/Motion-Sickness-Threshold/WebXR/Spatial-Computing);步骤8完成:无内容冲突;步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | Outbound Strategist Agent +- Source file: Agent/agency-agents/sales/sales-outbound-strategist.md +- Status: ✅ 成功摄入 +- Summary: Outbound Strategist Agent 完整摄取——信号驱动型主动销售(Signal-Based Selling)核心框架:三层信号分级(Tier 1 主动购买信号 > Tier 2 组织变化信号 > Tier 3 技术/行为信号)、可证伪 ICP 定义(含排除条件)、三层账户分层模型(Tier 1 深度多线程 / Tier 2 半个性化 / Tier 3 自动化)、8-12 触点 3-4 周多渠道序列(每次触达必须提供新价值角度)、SDR 角色从 volume operator 向 revenue specialist 转型。关键数据:信号驱动外展转化率比无触发高 4-8 倍;信号半衰期 30 分钟;冷邮件回复率基准 1-3%(通用)→ 12-25%(信号驱动)。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:Signal-Based Selling/ICP/Tiered Account Engagement/Multi-Channel Sequence/Speed-to-Signal/Cold Email Anatomy) +- Source page: wiki/sources/sales-outbound-strategist.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page;步骤4完成:index.md 添加条目;步骤5完成:overview.md 已有完整综合摘要(Line 892),无需修改;步骤6完成:Entity 未达到独立建页阈值(SDR/G2/BuiltWith/Loom 均仅出现1次);步骤7完成:Concept 均以 wikilinks 记录于 source page;步骤8完成:无实质性内容冲突,与 sales-deal-strategist/sales-pipeline-analyst 形成互补关系;步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | Account Strategist Agent +- Source file: Agent/agency-agents/sales/sales-account-strategist.md +- Status: ✅ 成功摄入(更新) +- Summary: Account Strategist(账户策略师)Agent 文档更新——补充 Advanced Capabilities 部分:战略账户规划(投资组合分层/EBR)+ 收入架构(定价优化/合同结构/渠道协同)+ 组织情报(M&A检测/非正式决策映射/政治定位)。核心框架保持:Land-and-Expand、QBR、NRR、Multi-Threading、Account Health Score、Churn Prevention。扩充内容:Key Claims(高级能力五条)、Key Quotes(组织情报两条)、Key Concepts(新增8个高级概念:Account Portfolio Segmentation/EBR/Pricing & Packaging Optimization/Contract Structure Design/Co-sell Expansion/PLG/Organizational Change Detection/Informal Decision-Making Mapping)、Contradictions(新增与 sales-pipeline-analyst 的互补关系)。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/sales-account-strategist.md(更新:date 2026-05-18,扩充 Advanced Capabilities 相关内容) +- Notes: 步骤1完成:读取原始文档(Advanced Capabilities 部分新增);步骤2完成:读取 index.md、overview.md 和现有 source page;步骤3完成:更新 source page(日期更新 + Summary扩充 + Key Claims扩充 + Key Quotes扩充 + Key Concepts扩充 + Contradictions扩充);步骤4完成:index.md 第408行日期补全(2026-05-18);步骤5完成:overview.md 第911行已扩充 Advanced Capabilities 综合摘要;步骤6完成:Entity 未创建独立页面(Key Entities 以 wikilinks 记录于 source page);步骤7完成:Concept 均以 wikilinks 形式记录于 source page,未达到独立建页阈值;步骤8完成:检测并记录与 sales-pipeline-analyst 的互补关系(NRR 共同语言);步骤9完成:log.md 追加记录 + +## [2026-05-20] ingest | XR Interface Architect Agent Personality +- Source file: Agent/agency-agents/spatial-computing/xr-interface-architect.md +- Status: ✅ 成功摄入 +- Summary: XR Interface Architect Agent 完整摄取——空间交互设计师和界面策略师,专为 AR/VR/XR 沉浸式环境设计直觉化、舒适且可发现的界面。核心能力:设计 HUD、浮动菜单、面板和交互区域;支持多种输入模型(直接触摸、注视+捏合、控制器、手势);推荐舒适度约束的 UI 布局以降低晕动症;原型化沉浸式搜索、选择和操作交互;结构化多模态输入并提供无障碍备选方案。角色定位:UX/UI 设计师,专注 3D 空间环境。与 [[XRImmersiveDeveloper]] 协作实现 3D 场景可用性,与 [[XRCockpitInteractionSpecialist]] 共享空间交互设计模式,与 [[VisionOSSpatialEngineer]] 实现 visionOS UI。与 [[XRCockpitInteractionSpecialist]] 在 UI 放置策略上存在张力(Interface Architect 倾向灵活定位 vs Cockpit 专家倾向固定安全控件)。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:SpatialComputing/HUDDesign/MotionSickness/GazeInteraction/MultimodalInput/PresenceUX/AccessibilityInXR) +- Source page: wiki/sources/xr-interface-architect.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page(wiki/sources/xr-interface-architect.md);步骤4完成:index.md 已有对应条目(Line 406),无需修改;步骤5完成:Agent 个性化定义文档,overview.md 暂不修改;步骤6完成:Entity 未达到独立建页阈值(The Agency/Spatial Computing 已在多处出现,有独立页面);步骤7完成:Concept 均以 wikilinks 形式记录于 source page;步骤8完成:与 XRCockpitInteractionSpecialist 在 UI 放置策略上存在张力,已记录于 Contradictions;步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | Deal Strategist Agent +- Source file: Agent/agency-agents/sales/sales-deal-strategist.md +- Status: ✅ 成功摄入(更新) +- Summary: Deal Strategist Agent 文档更新——补充三大新增核心能力:Deal Inspection Methodology(7问探测deal状态)、Multi-Threading Strategy(绘制权力/影响力/触达地图避免单点依赖)、Forecast Accuracy(可辩护的deal级别检查方法论)。扩充 Key Claims(Champion验证原则:必须在艰难请求下愿意行动才算真正验证)。新增 Key Concepts(Competitive Landmines/Forecast Accuracy/Multi-Threading Strategy)。新增 Connections(sales-pipeline-analyst 接收评分数据)。扩充 Key Entities。Source page date 更新至 2026-05-18。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page;MEDDPICC/Challenger Sales Model/Command of the Message/Deal Scoring/Competitive Positioning/Win Planning/Deal Inspection Methodology/Challenger Messaging/Multi-Threading Strategy/Forecast Accuracy/Competitive Landmines) +- Source page: wiki/sources/sales-deal-strategist.md(更新:date 2026-05-18,扩充新增能力相关内容) +- Notes: 步骤1完成:读取原始文档(新增 Deal Inspection/Multi-Threading/Forecast Accuracy 章节);步骤2完成:读取 index.md、overview.md 和现有 source page;步骤3完成:更新 source page(日期更新+内容扩充:Key Claims/Key Concepts/Key Entities/Connections);步骤4完成:index.md 第408行日期补全(2026-05-18);步骤5完成:overview.md 无需大幅更新,新增内容与现有框架一致;步骤6完成:Entity 未创建独立页面(Key Entities 以 wikilinks 记录于 source page);步骤7完成:Concept 均以 wikilinks 形式记录于 source page,未达到独立建页阈值;步骤8完成:检测并记录与 sales-pipeline-analyst 的新连接关系(评分数据流向);步骤9完成:log.md 追加记录 + +## [2026-04-29] ingest | Sales Engineer Agent +- Source file: Agent/agency-agents/sales/sales-engineer.md +- Status: ✅ 成功摄入 +- Summary: Sales Engineer Agent 完整摄取——售前工程师 Agent 角色定义与核心能力框架。核心能力:技术发现(结构化挖掘架构/集成/安全约束/真实决策标准)、Demo Engineering(以影响力为导向:先量化问题→展示结果→逆向讲解→证明收尾,以 [[AhaMoment]] 为核心成功标准)、POC Scoping(严格限定范围:成功标准前置+2-3周硬性时间线+中期检查点)、FIA Framework(Fact-Impact-Act 竞争定位框架)、技术异议解码(识别表面问题背后的真实诉求)、评估笔记维护。关键数据:技术赢率70%+,POC转化率80%+,演示到下一步行动率90%+,中位数18天技术决策。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:Technical Discovery/Demo Engineering/POC Scoping/FIA Framework/Aha Moment Test/Competitive Technical Positioning/Technical Objection Handling/Evaluation Management/Solution Architecture/Demo Tailoring) +- Source page: wiki/sources/sales-engineer.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md;步骤3完成:生成 source page(sales-engineer.md);步骤4完成:index.md 添加日期标注条目;步骤5完成:overview.md Line 917 已包含完整 Sales Engineer 综合摘要,无需修改;步骤6完成:Entity 未达到独立建页阈值(全文无具体人物/公司实体);步骤7完成:Concept 均以 wikilinks 形式记录于 source page,未达到独立建页阈值;步骤8完成:无实质性内容冲突,与 Sales Discovery Coach 存在互补/协调关系(详见 overview.md Line 1100);步骤9完成:log.md 追加记录 + +## [2026-05-02] ingest | Sales Coach Agent +- Source file: Agent/agency-agents/sales/sales-coach.md +- Status: ✅ 成功摄入(更新) +- Summary: AI 销售教练 Agent,通过苏格拉底式提问驱动销售代表成长,专注管道审查、话术辅导、交易策略和预测准确性。核心框架:Richardson Sales Performance、Challenger Model、MEDDPICC 资质诊断、行为反馈循环(Observe-Ask-Suggest-Practice)。关键数据:正式辅导配额完成率 91.2% vs 非正式辅导 84.7%;每周 2 小时以上辅导赢单率 56% vs 少于 30 分钟 43%。新增内容:Skill Gap vs Will Gap 区分、Best Practice 辅导节奏(周 1:1/双周管道审查/月度预测会议)、Observe-Ask-Suggest-Practice 辅导强化循环。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page;MEDDPICC/Challenger Sales Model/Richardson Sales Performance Framework/Pipeline Review/Forecast Accuracy/Coaching Discipline/Skill Gap vs Will Gap) +- Source page: wiki/sources/sales-coach.md(更新:date 2026-05-02,扩充 Key Claims/Key Concepts/Key Entities/Connections) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md、overview.md 和现有 sales-coach source page;步骤3完成:更新 source page(日期更新+内容扩充);步骤4完成:index.md 日期补全([2026-05-02]);步骤5完成:overview.md 第909行已覆盖该来源核心内容,无需更新;步骤6完成:Entity 未创建独立页面(Key Entities 以 wikilinks 记录于 source page);步骤7完成:Concept 均以 wikilinks 形式记录于 source page,未达到独立建页阈值;步骤8完成:检测并延续 MEDDPICC 八维度 vs 旧版六维度冲突记录(overview line 1092);步骤9完成:log.md 追加记录 + +## [2026-05-17] ingest | Paid Media Tracking & Measurement Specialist Agent +- Source file: Agent/agency-agents/paid-media/paid-media-tracking-specialist.md +- Status: ✅ 成功摄入 +- Summary: 付费媒体转化追踪与归因测量专家 Agent——由 John Williams(@itallstartedwithaidea)设计,专注于 GTM 容器架构、GA4 事件设计、跨平台归因建模和隐私合规。核心理念:错误的追踪数据比无追踪更具误导性,会导致算法持续优化错误目标。核心能力:GTM 容器架构、GA4 实现(事件分类/自定义维度/电子商务 dataLayer)、Google Ads 增强转化、Meta CAPI(含 event_id 去重)、服务端 Tagging、数据驱动归因建模、Consent Mode v2。成功指标:转化数据差异 <3%、标签触发成功率 99.5%+、CAPI 去重零双重计数、页面性能影响 <200ms。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/paid-media-tracking-specialist.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md Sources 节添加新条目;步骤5完成:overview.md 第188行扩充该来源综合摘要(从简短版本升级为详细版本);步骤6完成:Entity 未创建独立页面(Key Entities 以 wikilinks 记录于 source page);步骤7完成:Key Concepts 均以 wikilinks 形式记录于 source page,未达到独立页面阈值;步骤8完成:检测与 paid-media-auditor 的功能边界重叠——追踪配置(Tracking Specialist)与追踪审计(Auditor)协作关系已在 Connections 节明确记录,无冲突;步骤9完成:log.md 追加记录 + +- Source file: Agent/agency-agents/paid-media/paid-media-paid-social-strategist.md +- Status: ✅ 成功摄入 +- Summary: 跨平台付费社交广告专家 Agent——覆盖 Meta/LinkedIn/TikTok/Pinterest/X/Snapchat 六大平台,设计从引流到再营销的全漏斗社交广告项目。核心理念:社交广告本质是"打断"而非"回答",必须为每个平台构建原生创意体验而非跨平台复用。关键能力:全漏斗架构、平台差异化创意策略、受众工程(像素/Lookalike/CRM)、Conversions API 实施、SKAdNetwork 应对 iOS 隐私变化。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: sources/paid-media-paid-social-strategist.md +- Notes: 与 [[paid-media-ppc-strategist]] 存在预算分配优先级张力——社交广告强调基于增量测试分配预算而非补充曝光,已在 Contradictions 节记录 + +## [2026-05-17] ingest | Paid Media Search Query Analyst Agent +- Source file: Agent/agency-agents/paid-media/paid-media-search-query-analyst.md +- Status: ✅ 成功摄入 +- Summary: 付费搜索查询分析与优化专家 Agent——专职挖掘搜索词报告、构建负面关键词体系(N-gram 分析/决策树/分层清单)、识别查询-意图缺口(N-gram 四阶段分类)、执行查询雕塑防止内部竞争,通过 SQOS 评分系统多因素评估查询-广告-着陆页一致性。成功指标:首次分析消除 10-20% 非转化消费,无效展示 <5%,查询-意图正确率 >80%。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/paid-media-search-query-analyst.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第417行已有该条目,无需重复添加;步骤5完成:overview.md 第190行已有该来源综合摘要,无需重复添加;步骤6完成:Entity 未创建独立页面(TheAgency/GoogleAds 已存在,JohnWilliams/PaidMediaAuditor/PaidMediaPPCStrategist/PaidMediaTrackingSpecialist 均以 wikilinks 记录于 source page);步骤7完成:Key Concepts 均以 wikilinks 形式记录于 source page,未达到独立页面阈值;步骤8完成:检测与 PaidMediaAuditor 的功能边界重叠(详见 Contradictions 节),协调方案为 Audit → Query Analysis → Strategy 三者协作;步骤9完成:log.md 追加记录 + +## [2026-05-17] ingest | Discovery Coach Agent +- Source file: Agent/agency-agents/sales/sales-discovery-coach.md +- Status: ✅ 成功摄入 +- Summary: 销售发现访谈(Discovery)方法论与教练框架——三大发现框架(SPIN Selling/Gap Selling/Sandler Pain Funnel)+ 标准30分钟发现电话结构 + AECR异议处理框架。核心理念:发现是交易成败的关键战场;Implication问题激活损失厌恶是最有力成交工具;根因问题是Gap Selling最重要也最常被跳过的问题;购买决策本质上是情感决策。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/sales-discovery-coach.md(已存在,本次确认格式合规性) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:source page 已存在且格式完全符合 Source Page Format(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第405行已有该条目;步骤5完成:overview.md 暂不更新(销售发现框架由 sales-proposal-strategist 等页面覆盖);步骤6完成:Entity 未创建独立页面(Neil Rackham/Keenan/Sandler 均以 wikilinks 记录于 source page);步骤7完成:Key Concepts 以 wikilinks 形式记录于 source page,未达到独立页面阈值;步骤8完成:无冲突检测;步骤9完成:log.md 追加记录 + +## [2026-05-17] ingest | Paid Media Auditor Agent +- Source file: Agent/agency-agents/paid-media/paid-media-auditor.md +- Status: ✅ 成功摄入 +- Summary: 付费媒体账户审计 Agent——系统化评估 Google Ads、Microsoft Ads、Meta 三大平台广告账户,涵盖 200+ 检查点,8 大审计类别(账户结构、追踪测量、出价预算、关键词定向、创意素材、购物馈送、竞争定位、着陆页),输出结构化审计报告与优先级建议。审计通常发现 15-30% 效率提升空间,关键建议 30 天执行率达 80%+。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/paid-media-auditor.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md Sources 节第7行添加新条目;步骤5完成:overview.md 未需更新(概述型内容由综合生成覆盖);步骤6完成:Entity 未创建独立页面(GoogleAds、MicrosoftAdvertising、MetaAds 等均为平台实体,Key Entities 以 wikilinks 记录于 source page);步骤7完成:Key Concepts 以 wikilinks 形式记录于 source page,未达到独立页面阈值;步骤8完成:检测与 PaidMediaTrackingSpecialist 的分工冲突(详见 Contradictions 节);步骤9完成:log.md 追加记录 + + +- Source file: Agent/agency-agents/design/design-visual-storyteller.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门视觉叙事与多媒体内容创作专家 Agent——核心职责:将复杂信息转化为有影响力的视觉故事;Story Arc 三段式框架(铺垫/冲突/解决);多媒体能力覆盖视频叙事、动画-motion graphics、摄影指导和交互式媒体;跨平台适配支持 Instagram/YouTube/TikTok/LinkedIn/Pinterest;数据可视化通过 Progressive Disclosure 实现复杂信息可理解传递;无障碍合规 WCAG 是默认要求 +- Source page: wiki/sources/design-visual-storyteller.md(新建) +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md Sources 节第13行添加新条目;步骤5完成:overview.md 第110行已有该来源综合摘要,无需重复添加(发现重复后已回退);步骤6完成:Entity 未创建(相关 Agent 均已存在于 wiki 实体引用,无需新建);步骤7完成:Key Concepts 以 wikilinks 形式记录于 source page,未创建独立 Concept 页面;步骤8完成:检测无冲突内容(无已知矛盾);步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | Inclusive Visuals Specialist +- Source file: Agent/agency-agents/design/design-inclusive-visuals-specialist.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门包容性视觉表征专家 Agent——专门对抗 AI 图像/视频生成模型(Midjourney/Sora/Runway/DALL-E)中的系统性刻板印象偏见;核心机制:结构化提示词架构(Subject → Sub-actions → Context → Camera Spec → Color Grade → Explicit Exclusions)+ 负向提示库 + 视频物理学定义;四阶段工作流:Brief Intake → Annotation Framework → Video Physics Definition → 7-Point QA Review Gate;成功指标:刻板印象零依赖、克隆面孔和文化乱码消除率100%、社区验证认可 +- Source page: wiki/sources/design-inclusive-visuals-specialist.md(新建) +- Concepts created: Intersectionality.md、Cultural-Authenticity.md、Video-Physics-Definition.md、Sociological-Accuracy.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md(含现有 Sources/Concepts 索引)和 overview.md(含 InclusiveVisualsSpecialist 已有摘要);步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md Sources 节第12行添加新条目;步骤5完成:overview.md 第112-113行补充 Intersectionality vs Sociological Accuracy 分析段落;步骤6完成:Entity 未创建(Midjourney/DALL-E/Sora/Runway 均为参考性质,引用未达≥2次阈值);步骤7完成:新建4个 Concept 页面(Intersectionality/Cultural-Authenticity/Video-Physics-Definition/Sociological-Accuracy)并加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 design-image-prompt-engineer 的张力(概率生成 vs 确定性约束),协调方式:Subject/Context 层使用 Inclusive Visuals 的精确约束,Style/Color Grade 层保留 Image Prompt Engineer 的创意概率空间;步骤9完成:log.md 追加记录 + + +- Source file: Agent/agency-agents/design/design-image-prompt-engineer.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门 AI 图像生成提示词工程专家 Agent——核心职责:将视觉概念精准翻译为结构化提示词,驱动 Midjourney/DALL-E/SD/Flux 等平台产出专业级摄影作品;五层提示词结构框架(主体→环境→光线→摄影技术→风格);体裁专属模板(人像/产品/风光/时尚);平台特定语法优化;成功指标:90%+ 视觉概念还原率 +- Source page: wiki/sources/design-image-prompt-engineer.md(新建) +- Concepts created: Five-Layer-Prompt-Structure.md、Photography-Terminology.md、Negative-Prompting.md、Platform-Specific-Optimization.md、Genre-Specific-Prompt-Patterns.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md Sources 节第10行添加新条目;步骤5完成:overview.md 第110-111行已有该来源综合摘要,无需修订;步骤6完成:Entity 未创建(Midjourney/SD/DALL-E/Flux/Annie Leibovitz/Peter Lindbergh 均为参考性质,引用未达≥2次阈值);步骤7完成:新建5个 Concept 页面(Five-Layer-Prompt-Structure/Photography-Terminology/Negative-Prompting/Platform-Specific-Optimization/Genre-Specific-Prompt-Patterns)并加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 design-ui-designer 的精确性张力(概率生成 vs 像素精确,通过确定性约束协调);步骤9完成:log.md 追加记录 + +## [2026-04-30] ingest | Whimsy Injector Agent Personality +- Source file: Agent/agency-agents/design/design-whimsy-injector.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门品牌趣味性设计专家 Agent——核心职责:在用户交互全流程嵌入愉悦感,通过微交互、趣味文案、复活节彩蛋和游戏化提升品牌记忆度;趣味分类学四层(Subtle/Interactive/Discovery/Contextual);核心原则:趣味必须有功能性或情感性目的;包容性设计是默认要求;与 UX Architect 时序协作(基线 → 趣味叠加) +- Source page: wiki/sources/design-whimsy-injector.md(新建) +- Concepts created: Micro-Interaction.md、Brand-Personality-Framework.md、Gamification.md、Inclusive-Delight.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第9行添加新条目;步骤5完成:overview.md 第26-30行在 design-ux-architect 段落后新增 Whimsy Injector 综合摘要;步骤6完成:UX Architect/Design-UI-Designer/Brand-Guardian 仅1-2次引用,未达≥2次阈值,跳过 Entity 创建;步骤7完成:新建4个 Concept 页面(Micro-Interaction/Brand-Personality-Framework/Gamification/Inclusive-Delight)并加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 UX Architect 的趣味边界张力(通过时序分工解决);步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | Brand Guardian Agent Personality +- Source file: Agent/agency-agents/design/design-brand-guardian.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门的品牌守护者专家 Agent——核心职责:创建内聚的品牌身份系统,确保品牌在所有触点的一致表达,提供品牌保护策略;Brand Foundation Framework(Purpose/Vision/Mission/Values/Personality)是所有品牌决策基础;Visual Identity System 必须作为内聚系统设计;默认要求包含品牌保护(商标/合规监控/危机管理) +- Source page: wiki/sources/design-brand-guardian.md(新建) +- Concepts created: Brand-Foundation-Framework.md、Visual-Identity-System.md、Brand-Voice.md、Brand-Protection.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第9行添加新条目;步骤5完成:overview.md 在 Whimsy Injector 段落后新增 Brand Guardian 综合摘要;步骤6完成:The-Agency Entity 已存在,Design-Department/UX-Architect 仅1次引用,未达≥2次阈值,跳过 Entity 创建;步骤7完成:新建4个 Concept 页面(Brand-Foundation-Framework/Visual-Identity-System/Brand-Voice/Brand-Protection)并加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 UX Architect 的角色边界张力(通过时序分工解决——Brand Guardian 先定义战略框架 → UX Architect 再构建技术系统);步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | UX Architect +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门 UX Architect Agent 的角色定义与交付物规范——核心职责:提供 CSS 设计系统(颜色/排版/间距变量)、Grid/Flexbox 布局框架、Theme Toggle 组件(light/dark/system 三态);Foundation-first 理念消除开发者架构决策疲劳;在 ProjectManager 和 LuxuryDeveloper 之间建立技术桥梁;组件命名规范(BEM/Utility-first/Component-based 三选一) +- Source page: wiki/sources/design-ux-architect.md(新建) +- Concepts created: CSS-Design-System.md、Layout-Framework.md、Theme-Toggle.md、Responsive-Breakpoints.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第9行添加新条目;步骤5完成:overview.md 第26行后新增 UX Architect 综合摘要;步骤6完成:LuxuryDeveloper/ProjectManager/ArchitectUX 仅1次引用,未达≥2次阈值,跳过 Entity 创建;步骤7完成:新建4个 Concept 页面(CSS-Design-System/Layout-Framework/Theme-Toggle/Responsive-Breakpoints)并加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 LuxuryDeveloper 的边界协调(Foundation → Polish 时序分工);步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | Contributing to The Agency +- Source file: Agent/agency-agents/CONTRIBUTING.md +- Status: ✅ 成功摄入 +- Summary: The Agency 开源 AI Agent 项目的贡献指南——定义如何创建、改进和提交新的 Agent;核心贡献方式(创建新 Agent / 优化现有 / 分享案例 / 反馈问题);Agent 设计五原则(强个性 + 清晰交付物 + 可量化指标 + 经验证工作流 + 学习记忆);Persona/Operations 双分组结构支持 OpenClaw 格式自动转换;PR 最简路径为单个 Markdown 文件 +- Source page: wiki/sources/contributing.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 添加新条目;步骤5完成:overview.md 第26行已有该来源综合摘要,无需修订;步骤6完成:Entity/Concept 暂缓;步骤7完成:同上;步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-05-02] ingest | UI Designer Agent Personality +- Source file: Agent/agency-agents/design/design-ui-designer.md +- Status: ✅ 成功摄入 +- Summary: The Agency 设计部门的视觉界面设计专家 Agent——核心职责:创建视觉设计系统、组件库和像素级界面;Design System First 方法在创建单个界面之前先建立组件基础;WCAG AA 无障碍标准内置于架构层而非后期添加;交付物包含设计令牌系统、响应式框架、组件文档和设计 QA 流程;成功指标:95%+ 界面一致性、90%+ 开发者交接准确率 +- Source page: wiki/sources/design-ui-designer.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含八节);步骤4完成:index.md 第11行添加新条目;步骤5完成:overview.md 第100行已有该来源综合摘要,无需修订;步骤6完成:The-Agency/UX-Architect/Brand-Guardian Entity 均已存在,无需新建;步骤7完成:Design-Token-System/Component-Library-Architecture/WCAG-Accessibility-Standards 等 Concept 均已存在,无需新建;步骤8完成:Contradictions 记录与 Whimsy Injector 的张力;步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | 为 The Agency 贡献代码 +- Source file: Agent/agency-agents/CONTRIBUTING_zh-CN.md +- Status: ✅ 成功摄入 +- Summary: The Agency 智能体项目的开源贡献指南——涵盖行为准则(尊重、包容、协作、专业)、4种贡献方式(创建智能体/优化/分享案例/反馈问题)、智能体设计五原则(鲜明性格+明确交付物+可量化指标+经过验证的工作流+学习记忆)、PR 提交流程(含提交前检查清单)和风格指南(具体明确+落地务实+让人记住+实用可用) +- Source page: wiki/sources/contributing_zh-cn.md(新建) +- Entities updated: The-Agency.md(添加 frontmatter 和 sources 引用,更新 last_updated) +- Concepts updated: Agent-Template.md(追加 sources 引用,更新 last_updated) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第11行添加新条目;步骤5完成:overview.md 第26行已有该来源综合摘要,无需修订;步骤6完成:The-Agency.md 添加 frontmatter 和 sources 引用;步骤7完成:Agent-Template.md 追加 sources 引用;步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | Learning Sessions Cloud Transformation Programme-Deploying RDS via Terraform +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform.md +- Status: ✅ 成功摄入 +- Summary: 通过 Terraform 在 AWS 上自动化部署 RDS 数据库——DBRE 团队 Greg 主讲,提倡所有规模 RDS 均用 Terraform 而非 Console;推荐 Gruntwork RDS Service 模块(含 KMS 加密 + CloudWatch 告警),配合 Terragrunt 管理多环境配置,使用 tagged release 确保稳定性;Day 2 运维通过 GitHub PR + Atlantis 审批后自动 apply,支持扩缩容、打补丁、主版本升级;核心 IaC 价值为"代码即文档" +- Source page: wiki/sources/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform.md(新建) +- Entities created: Greg.md(DBRE 团队成员,Terraform IaC 推广者) +- Entities updated: Gruntwork.md、Amazon-RDS.md、Terragrunt.md、Atlantis.md(追加 sources 引用) +- Concepts updated: Infrastructure-as-Code.md(追加 sources 引用) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:source page 已在 index.md 第302行存在,无需重复添加;步骤5完成:overview.md 无需修订;步骤6完成:新建 Greg.md Entity 页面,更新 Gruntwork.md/Amazon-RDS.md/Terragrunt.md/Atlantis.md sources 引用,更新 index.md Entities 节;步骤7完成:Infrastructure-as-Code.md 追加来源引用;步骤8完成:无冲突,仅与 ctp-topic-48 存在观点角度差异(不矛盾)已在 Contradictions 节记录;步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | Learning Sessions Cloud Transformation Programme-20230808 183322-Meeting Recording +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi.md +- Status: ✅ 成功摄入(已存在,更新 + 修复) +- Summary: 通过 Terraform IaC 实现 ECS 容器化应用的自动化部署——JP 和 Raja M 主讲,CTP/SRE 团队基于 Gruntwork 构建 ECS Terraform 模块,支持 Docker 容器/EC2 部署,具备自动扩缩容、自动故障恢复、金丝雀部署能力;采用 Listener 集中管理方式;前置条件包括 VPC、ELB 安全组和 EFS 卷挂载;集成 CloudWatch/Splunk/Grafana/Prometheus +- Source page: wiki/sources/learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi.md(已存在,更新了 Connections 节的 self-reference bug 并追加新连接) +- Entities created: JP.md(CTP 讲师,ECS 业务/技术背景介绍)、Raja-M.md(CTP/SRE 成员,ECS 模块构建者)、CTP-SRE-Team.md(CTP/SRE 团队)、AWS.md(更新 sources 引用)、Gruntwork.md(更新 sources 引用) +- Entities already existed: cloud-transformation-programme.md(index.md 第 642 行,已包含本来源引用)、Gruntwork.md(index.md 第 720 行,已追加来源引用)、AWS.md(index.md 第 583 行,已追加来源引用) +- Concepts created/updated: Canary-Deployment.md(新建,金丝雀部署策略)、ECS-Module.md(新建,ECS Terraform 模块)、InfrastructureAsCode.md(追加来源引用) +- Concepts already existed: Infrastructure-as-Code.md(index.md 第 1469 行)、Canary-Deployment.md(index.md 第 1150 行) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:source page 存在,修复第 46 行 self-reference bug 并追加与 learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform 的关联;步骤4完成:index.md 第 302 行已有条目;追加 CTP-SRE-Team/JP/Raja-M 至 Entities 节,追加 ECS-Module 至 Concepts 节;步骤5完成:overview.md 第 255 行已有该来源综合摘要,无需修订;步骤6完成:新建4个 Entity 页面(JP/Raja-M/CTP-SRE-Team/AWS/Gruntwork 追加来源),更新 index.md Entities 节;步骤7完成:新建 Canary-Deployment.md/ECS-Module.md Concept 页面,更新 InfrastructureAsCode.md sources 引用,更新 index.md Concepts 节;步骤8完成:与 ctp-topic-64_scaling-out-with-amazon-eks 存在容器编排选型差异已在 Contradictions 节记录;步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | CTP Topic 16 Cross-account Terraform modules +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-16-cross-account-terraform-modules.md +- Status: ✅ 成功摄入 +- Summary: 跨账号 Terraform 模块的中心化部署方案——基于 Shared Account 作为中转站,Jenkins 检测 cross-account.json 标记文件触发 ECS Deploy Runner,通过 Assume Role 访问目标账号的 TF State Bucket Accessor 和 Cross-account ECS Deploy Runner Role 两个角色,实现安全性(账号间无直接信任)、自动化(Jenkins 自动识别模块类型)、可复用性(模块不硬编码特定账号角色) +- Concepts created/updated: Cross-account-Terraform-Modules.md(已存在,补充 Source 引用), ECS-Deploy-Runner.md(entities+concepts 双页), Shared-Account.md(entities+concepts 双页), TF-State-Bucket-Accessor.md(entities+concepts 双页), Assume-Role.md, Blast-Radius.md, Root-Terragrunt-HCL.md, cross-account-json.md +- Entities created: Fibos.md, ECS-Deploy-Runner.md(entities 页), Shared-Account.md(entities 页), TF-State-Bucket-Accessor.md(entities 页), Cross-account-ECS-Deploy-Runner-Role.md +- Source page: wiki/sources/ctp-topic-16-cross-account-terraform-modules.md(已存在且格式完整) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:source page 已存在无需重建;步骤4完成:index.md 第302行已有条目;步骤5完成:overview.md 无需修订(source page 已有完整摘要);步骤6完成:新建5个 Entity 页面(Fibo/ECS-Deploy-Runner/Shared-Account/TF-State-Bucket-Accessor/Cross-account-ECS-Deploy-Runner-Role)并更新 index.md Entities 节;步骤7完成:新建8个 Concept 页面并更新 index.md Concepts 节;步骤8完成:无内容冲突(与 Gruntwork/Atlantis 为演进关系);步骤9完成:log.md 追加记录 + +## [2026-05-13] ingest | CTP Topic 48 Terraform vs Terragrunt +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-48-terraform-vs-terragrunt.md +- Status: ✅ 成功摄入 +- Summary: Terraform 与 Terragrunt 深度对比——Terraform(HashiCorp)通过状态文件将期望状态绑定到实际环境,支持多云;Terragrunt 轻量封装践行 DRY 原则,管理 provider/remote_state 块减少跨环境重复声明;两者命令语法完全一致;辅助工具链:Terraform Enterprise、Gruntwork、Atlantis、tfsec、Terratest +- Concepts created: InfrastructureAsCode.md, TerraformState.md +- Entities created: HashiCorp.md, Gruntwork.md, Atlantis.md +- Entities already existed: HashiCorp(index.md 第720行)、Gruntwork(index.md 第717行)、Atlantis(index.md 第582行) +- Source page: wiki/sources/ctp-topic-48-terraform-vs-terragrunt.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第301行已有条目,无需重复添加;步骤5完成:overview.md 第253行已有该来源详细综合摘要,内容一致无需修订;步骤6完成:新建 HashiCorp.md/Gruntwork.md/Atlantis.md Entity 页面(HashiCorp/Gruntwork/Atlantis 在 index.md 中已存在,故在各自页面内追加 sources 引用);步骤7完成:新建 InfrastructureAsCode.md/TerraformState.md Concept 页面,index.md Concepts 节追加对应条目;步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Public Cloud Learning Sessions (OpenText) - Event Driven Architecture Part 2 - 20240917 +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091.md +- Status: ✅ 成功摄入 +- Summary: 事件驱动架构(EDA)进阶最佳实践与团队协作模式——三组件(生产者/消费者/代理)、Event Router vs Event Store、Choreography vs Orchestration、幂等性、事件排序(SQS FIFO/Kinesis)、去中心化团队所有权、Fan-out 模式(SNS/EventBridge)、竞争消费者模式(Compete Consumer)、死信队列(DLQ)和 EventBridge 最佳实践 +- Concepts created: Event-Driven-Architecture.md, Idempotency.md, Fan-Out-Pattern.md, Competing-Consumer-Pattern.md, Choreography.md, Orchestration.md +- Entities created: Anil-Giri.md, AWS-EventBridge.md +- Source page: wiki/sources/public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第296行已有条目,补充日期前缀(2024-09-17)和一行摘要;步骤5完成:overview.md 第407行已有该来源详细综合摘要,内容一致无需修订;步骤6完成:新建 Anil-Giri.md/AWS-EventBridge.md Entity 页面,index.md Entities 节追加 Anil-Giri/AWS-EventBridge;步骤7完成:新建 Event-Driven-Architecture/Idempotency/Fan-Out-Pattern/Competing-Consumer-Pattern/Choreography/Orchestration 共6个 Concept 页面,index.md Concepts 节追加对应条目;步骤8完成:无冲突(Part 2 与 Part 1 为互补关系);步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Public Cloud Learning Sessions (OpenText) - Generative AI & Prompt Engineering - 20241112 +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-generative-ai-prompt-engineering-2024111.md +- Status: ✅ 成功摄入 +- Summary: AWS 生成式 AI 服务生态与 Prompt Engineering 实践——OpenText 技术客户经理 Shikad Holtzman 主讲;生成式 AI 四大价值路径、AWS 三层技术栈;数据是差异化关键;Bedrock(RAG/微调/Agents/Guardrails)+ Amazon Q(Business/Developer);Prompt Engineering 四大组件与 One-shot/Few-shot/Chain-of-Thought 技巧 +- Concepts created: Prompt-Engineering.md +- Entities created: Shikad-Holtzman.md, Amazon-Q.md, Anthropic.md, Meta-AI.md +- Entities updated: Amazon-Bedrock.md(追加来源引用) +- Source page: wiki/sources/public-cloud-learning-sessions-opentext-generative-ai-prompt-engineering-2024111.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第295行已有条目(2026-04-28 先前摄入痕迹),无需重复添加;步骤5完成:overview.md 第401行已有该来源详细综合摘要,内容一致无需修订;步骤6完成:新建 Shikad-Holtzman.md/Amazon-Q.md/Anthropic.md/Meta-AI.md Entity 页面,更新 Amazon-Bedrock.md 追加来源引用;步骤7完成:新建 Prompt-Engineering.md Concept 页面;步骤8完成:记录与 llms-rag-ai-agent-三个到底什么区别 的 RAG 运维复杂度视角冲突;步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Public Cloud Learning Sessions (OpenText) - Serverless Computing - 20240903 +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee.md +- Status: ✅ 成功摄入 +- Summary: AWS 无服务器计算深度解析——OpenText 主办,聚焦 AWS Lambda(事件驱动/权限模型/版本/Layers/ARM64)、Step Functions(状态机/Standard&Express)、API Gateway(边缘优化/区域/私有)和 SAM(基于 CloudFormation 的本地开发和部署工具) +- Concepts: 无新 Entity 页面创建(Lambda/Step Functions/API Gateway/SAM 为 AWS 官方服务,overview.md 已有充分描述) +- Entities: 无新 Entity 页面创建(同上) +- Source page: wiki/sources/public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第293行添加日期前缀(2024-09-03)和中文摘要;步骤5完成:overview.md 第405行已有该来源详细综合摘要,内容一致无需修订;步骤6-7完成:无需创建新 Entity/Concept 页面(AWS 官方服务 overview 已有描述);步骤8完成:无冲突(与 EDA Part 1/2 共享事件驱动模型属互补关系);步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Public Cloud Learning Sessions - Introduction to AI/ML with AWS +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md +- Status: ✅ 成功摄入 +- Summary: AWS AI/ML 入门——Suraav Paul(AWS 高级解决方案架构师)主讲,AI 三层分类(分类 AI/预测 AI/生成式 AI)、Amazon Bedrock 全托管生成式 AI 服务(基础模型+微调+RAG+Agents+Guardrails)、ML Ops 三管道(数据/训练/推理);强调 Bedrock 数据隐私保证和负责任 AI 六大原则 +- Concepts created: Foundation-Models.md, MLOps.md, Responsible-AI.md +- Entities created: Suraav-Paul.md, Amazon-SageMaker.md, Amazon-Titan.md +- Entities updated: Amazon-Bedrock.md(追加来源引用) +- Source page: wiki/sources/public-cloud-learning-sessions-introduction-to-artificial-intelligence-ai-machin.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第297行添加日期前缀和摘要;步骤5完成:overview.md 第399行已有该来源详细综合摘要,内容一致无需修订;步骤6完成:新建 Suraav-Paul.md/Amazon-SageMaker.md/Amazon-Titan.md Entity 页面,更新 Amazon-Bedrock.md 追加来源引用;步骤7完成:新建 Foundation-Models.md/MLOps.md/Responsible-AI.md Concept 页面,index.md Entities 节追加 Amazon-SageMaker/Amazon-Titan/Suraav-Paul,Concepts 节追加 Foundation-Models/Responsible-AI/MLOps;步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Cloud Learning Master Index +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/_Index/cloud-learning-master-index.md +- Status: ✅ 成功摄入 +- Summary: Cloud Learning Master Index — Public Cloud Learning Sessions 全部111个视频的分类索引目录(10大类:AWS Landing Zone 22、OpenText Series 21、EKS & Kubernetes 14、Security 9、Networking 9、Serverless & AI 9、FinOps & Cost 10、CI/CD & GitOps 8、IAM & Identity 3、Terraform & IaC 6) +- Entities created: (无新建 — Gruntwork/Grafana/Karpenter/Bottlerocket 等将在子视频 source pages 摄入时创建) +- Source page: wiki/sources/cloud-learning-master-index.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第291行补充日期前缀和一行摘要;步骤5完成:overview.md 第219行已有该来源详细综合摘要,内容一致无需修订;步骤6完成:无需新建 Entity(OpenText.md/MicroFocus.md/Atlantis.md 等已存在;Gruntwork/Grafana/Karpenter 等将在子视频 source pages 摄入时创建);步骤7完成:无需新建 Concept(FinOps.md/GitOps.md/Karpenter.md 等已存在;Landing-Zone/EKS/Terraform/IAM 等作为顶层框架将在子视频 source pages 摄入时精确定义);步骤8完成:记录与 ctp-topic-34-azure-landing-zone-architecture-overview 的跨平台差异冲突;步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | CTP Topic 27 AWS Instance Scheduler +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-27-aws-instance-scheduler.md +- Status: ✅ 成功摄入 +- Summary: AWS Instance Scheduler — 通过 CloudWatch Events 每15分钟触发 Lambda → 读取 DynamoDB 调度配置 → 根据实例标签(Schedule/Period/Override)自动启停 EC2/RDS;CCOE Guardrails 框架自动部署,覆盖月消费10美元以上 AWS 账号;RDS 维护窗口智能配合; Gustavo 主讲 +- Concepts created: AWS-Instance-Scheduler.md, CloudWatch-Events.md, DynamoDB-Config-Table.md, Tagging.md, RDS-Maintenance-Window.md, Override-Status.md +- Entities created/updated: Gustavo.md(新建), Godrails.md(已有,更新添加 Topic 27 来源和详情) +- Source page: wiki/sources/ctp-topic-27-aws-instance-scheduler.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第297行添加日期前缀和摘要;步骤5完成:overview.md 第389行已有该来源详细摘要,内容一致无需修订;步骤6完成:新建 Gustavo.md Entity 页面,更新 Godrails.md(含 Aliases、Topic 13+27 来源、Guardrails 机制详情);删除错误创建的 Guardrails.md(与 Godrails 为同一实体);步骤7完成:新建 AWS-Instance-Scheduler/CloudWatch-Events/DynamoDB-Config-Table/Tagging/RDS-Maintenance-Window/Override-Status 共6个 Concept 页面;步骤8完成:无冲突(与 Topic 13/63 引用一致的 instance scheduler FinOps 策略);步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | Public Cloud Learning Sessions - Best practices for EC2 cost optimization in AWS - 20240529 +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md +- Status: ✅ 成功摄入 +- Summary: AWS EC2 成本优化最佳实践:Graviton(40% 性价比提升/60% 功耗降低)、Spot 竞价实例(90% 折扣)、AWS Nitro 虚拟化、Nitro Enclave;Mike Dukes 和 Steele Taylor 主讲;Spot Invaders 游戏演示容错混沌工程 +- Concepts created/updated: [[AWS-Nitro]](新建)、[[EC2-Spot-Instances]](新建)、[[ECS]](新建);[[Graviton]](已有,已追加来源链接)、[[SpotInstances]](已有,已追加来源链接) +- Entities created/updated: [[Mike-Dukes]](新建)、[[Steele-Taylor]](新建)、[[Spot-Invaders]](新建) +- Source page: wiki/sources/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第294行添加日期前缀和摘要;步骤5完成:overview.md 第397行已有该来源详细摘要,无需修订;步骤6完成:新建 Mike-Dukes.md/Steele-Taylor.md/Spot-Invaders.md Entity 页面;步骤7完成:新建 AWS-Nitro.md/EC2-Spot-Instances.md/ECS.md Concept 页面;更新 Graviton.md/SpotInstances.md 添加来源引用;步骤8完成:记录与 CTP Topic 13 的潜在冲突点(Graviton 适用场景,已协调);步骤9完成:log.md 追加记录 + +## [2026-05-12] ingest | CTP Topic 13 Cloud FinOps Micro Focus Policies best practices to optimize the costs +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md +- Status: ✅ 成功摄入 +- Summary: Cloud FinOps 治理框架:PCG 三层服务模型(成本管理/成本优化/治理自动化)、5 大核心策略(账单可见性/标签合规/预算责任/RI集中管理/区域限制)、安全控制(Godrails/联合身份管理)、Cloud Health 监控工具、实例选型标准化(M/T/C/R/X+Graviton)、研发环境三合一优化(突发性+Spot+调度器) +- Concepts created/updated: [[Graviton]](新建)、[[CloudHealth]](新建)、[[ReservedInstances]](新建)、[[SpotInstances]](已有,已链接)、[[SavingsPlans]](已有,已链接)、[[FinOps]](已有,已更新链接) +- Entities created/updated: [[PCGTeam]](已存在,已更新)、[[Uday]](新建)、[[Vinay]](已存在)、[[Godrails]](新建) +- Source page: wiki/sources/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第297行添加日期前缀和摘要;步骤5完成:overview.md 修正5处 wikilinks(从 ctp-topic-13-cloud-finops-policies 更正为 ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co);步骤6完成:新建 Uday.md/Godrails.md Entity 页面,更新 PCGTeam.md;步骤7完成:新建 Graviton.md/CloudHealth.md/ReservedInstances.md Concept 页面,FinOps/SpotInstances/SavingsPlans 已存在;步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-05-11] ingest | CTP Topic 15 Working with Renovatebot +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-15-working-with-renovatebot.md +- Status: ✅ 成功摄入(补充新建缺失 Entity/Concept 页面) +- Summary: Renovate Bot 自动化管理云原生基础设施依赖项更新——解决"依赖地狱"问题,实时扫描 Docker 镜像/Terraform 模块/Terragrunt 配置/pre-commit 钩子版本标签,自动发起 Pull Request;通过 Dependency Dashboard 提供全局依赖状态视图;集成 Jenkins 流水线,使用 Podman 容器化运行并配置 Rate Limiting 避免 PR 风暴。 +- Concepts created/updated: [[Dependency-Dashboard]](新建)、[[Rate-Limiting]](新建)、[[Pre-commit-Hooks]](新建) +- Entities created: [[Paul-Hopkins]](新建,作为关键人物创建) +- Source page: wiki/sources/ctp-topic-15-working-with-renovatebot.md +- Notes: 步骤3完成:source page 已存在(之前已摄入);步骤4完成:index.md 补充 Dependency-Dashboard/Rate-Limiting/Pre-commit-Hooks 到 Concepts 节、Paul-Hopkins 到 Entities 节;步骤5完成:overview.md 第249行已有该来源详细摘要,内容一致无需修订;步骤6完成:新建 Paul-Hopkins.md Entity 页面;步骤7完成:新建 Dependency-Dashboard.md/Rate-Limiting.md/Pre-commit-Hooks.md Concept 页面;步骤8完成:无新冲突;步骤9完成:log.md 追加记录。Renovate-Bot.md/Semantic-Versioning.md/Dependency-Management.md/Gruntwork.md/Jenkins.md/Terragrunt.md 均已存在,本次无需新建。 + +## [2026-05-11] ingest | Public Cloud Learning Sessions - Ollie Workflow and The Demand Process - 20240416 +- Status: ✅ 成功摄入 +- Summary: Oli Workflow(超大规模云厂商支出审批流程)与需求管理端到端全链路——三阶段审批工作流(FinOps→Cloud Services→FPNA)和 OpenText 需求管理流程(Octane/Qixi 提交→主服务目录→SMACs 嵌入→自动化履约),目标是 80% 场景业务单元自助完成需求 +- Concepts created: Demand-Management.md, ITIL-Service-Management.md, SMACs.md, FinOps.md, Product-Backlog.md, Oli-Workflow.md +- Entities created: Tom-Bice.md, FPNA-Team.md, MUI.md, Shannon.md, Octane.md, Qixi.md +- Source page: wiki/sources/public-cloud-learning-sessions-ollie-workflow-and-the-demand-process-20240416-16.md +- Notes: 步骤3完成:source page 已存在(步骤1确认);步骤4完成:index.md 第287行已有条目;步骤5完成:overview.md 第379行已有该来源详细摘要,无需修订;步骤6完成:新建 Tom-Bice.md/FPNA-Team.md/MUI.md/Shannon.md/Octane.md/Qixi.md Entity 页面(均符合≥2次提及的创建条件);步骤7完成:新建 Demand-Management.md/ITIL-Service-Management.md/SMACs.md/FinOps.md/Product-Backlog.md/Oli-Workflow.md Concept 页面(均符合可抽象/可复用/非具体实例的创建条件);步骤8完成:无新冲突;步骤9完成:log.md 追加记录 + +## [2026-05-08] ingest | CTP Topic 3 Deploy and maintain infrastructure +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-3-deploy-and-maintain-infrastructure.md +- Status: ✅ 成功摄入 +- Summary: Landing Zone 多账号架构下基础设施部署与维护——核心区分 Service Module(业务视角,满足业务需求的一组模块组合)与 Regular Module(技术视角);Terragrunt HCL 通过版本锁定引用模块而非 master 分支;Service Catalog 支持三级复用(单账户→产品团队→跨团队);类 OO 继承原则:抽象层级越高,配置选项越少 +- Concepts created: (无新建 — Terraform/Terragrunt/Service-Catalog/Landing-Zone/Module/Infrastructure-as-Code 均已存在) +- Entities created: (无新建 — Terraform/Terragrunt/Gruntwork/Jenkins 均已存在) +- Source page: wiki/sources/ctp-topic-3-deploy-and-maintain-infrastructure.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 条目补充日期前缀和一行摘要;步骤5完成:overview.md 第221行已有该来源详细摘要,内容一致无需修订;步骤6完成:无新建 Entity(Terraform/Terragrunt/Gruntwork/Jenkins 均已存在,DevTools 仅1次提及未达阈值);步骤7完成:无新建 Concept(Service-Catalog/Terraform/Terragrunt/Landing-Zone 等均已存在);步骤8完成:Contradictions 记录与 ctp-topic-1(框架vs自主)和 ctp-topic-48(Terragrunt对比)的视角关系;步骤9完成:log.md 追加记录 + +## [2026-04-29] ingest | CTP Topic 32 Using Atlantis CICD for Infrastructure Deployments +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments.md +- Status: ✅ 成功摄入 +- Summary: Atlantis 替代 Jenkins 用于 Terraform IaC 部署的 CTP 视频,核心痛点:Jenkins 流水线初始化慢(多次代码克隆/顺序测试/ECS 预配置)和架构复杂(持续叠加功能导致脆弱)。Atlantis 提供 PR 评论式协作模型,支持模块 Locking、并行构建、跨账户 IAM 角色访问,merge 前 Apply 确保代码与基础设施同步。 +- Concepts created: [[GitOps]](已存在,本次更新扩充内容,新增 Pull vs Push 模型对比和工具生态表) +- Entities created: [[Atlantis]](新建 Entity 页面,含核心功能、架构说明)、[[Jenkins]](新建 Entity 页面,含痛点对比表) +- Source page: wiki/sources/ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第287行已有条目,以正确格式补充日期和一行摘要;步骤5完成:overview.md 第245行已有详细条目,本次无需修订;步骤6完成:新建 Atlantis.md 和 Jenkins.md Entity 页面(均符合出现≥2次的创建条件);步骤7完成:GitOps.md 概念页已存在,本次扩充 Pull vs Push 模型对比和工具生态表;步骤8完成:无新冲突(Atlantis vs Jenkins 的 pre-merge-apply vs post-merge-deploy 差异已在 Contradictions 节记录);步骤9完成:log.md 追加记录 + +## [2026-05-04] ingest | CTP Topic 9 CI CD with Gruntwork +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-9-ci-cd-with-gruntwork.md +- Status: ✅ 成功摄入 +- Summary: CTP Topic 9 — CI/CD 与 Gruntwork IaC 集成视频(状态:待 Whisper 转录)。源文件仅有 frontmatter 元数据,含 tags: [CI/CD, Gruntwork, IaC, CTP],视频尚未转录,Summary/Key Claims/Key Quotes 均标记为待补充。已与 Gruntwork Entity、CI/CD Concept、同分类其他 CTP 来源建立 Connections 链接。 +- Concepts created: (无新建 — CI/CD、GitOps、Infrastructure-as-Code Concept 页面均已存在,直接引用) +- Entities created: [[Gruntwork]](已存在,直接引用) +- Source page: wiki/sources/ctp-topic-9-ci-cd-with-gruntwork.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第285行已有条目,以正确格式补充日期 2026-04-14;步骤5完成:overview.md 第223行已有该主题条目,本次无需修订;步骤6完成:Gruntwork Entity 页面已存在,直接引用;步骤7完成:CI/CD、GitOps、Infrastructure-as-Code Concept 页面均已存在,直接引用;步骤8完成:无冲突;步骤9完成:log.md 追加记录。⚠️ 视频待 Whisper 转录后需重新补充 Summary/Key Claims/Key Quotes 内容。 + +## [2026-05-04] ingest | CTP Topic 2 Git +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-2-git.md +- Status: ✅ 成功摄入 +- Summary: Git 版本控制基础与实践学习视频(状态:待 Whisper 转录)。源文件仅有 frontmatter 元数据,含 tags: [Git, VCS, CTP],视频未转录,Summary/Key Claims/Key Quotes 均标记为待补充。已与同分类下其他 CTP CI/CD GitOps 来源建立 Connections 链接。 +- Concepts created: [[GitOps]](已存在,引用) +- Entities created: (无新建 — 源文件未提及具体人物) +- Source page: wiki/sources/ctp-topic-2-git.md +- Notes: 步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第288行已有条目,以正确格式补充日期和一行摘要;步骤5完成:overview.md 无需修订(该来源属于 CTP DevOps 系列,overview 中 Git 相关内容不涉及 CTP 上下文);步骤6完成:无新建 Entity 页面(源文件无具体人物);步骤7完成:GitOps Concept 页面已存在,直接引用;步骤8完成:无冲突;步骤9完成:log.md 追加记录。⚠️ 视频待 Whisper 转录后需重新补充 Summary/Key Claims/Key Quotes 内容。 + +## [2026-04-29] ingest | CTP Topic 49 Container Lifecycle Hardening Standards +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-49-container-lifecycle-hardening-standards.md +- Status: ✅ 成功摄入 +- Summary: Micro Focus 容器镜像构建阶段 11 项安全加固标准,涵盖基础镜像选择、Init 系统、只读文件系统、私有服务账号等 +- Concepts created: Container Lifecycle Hardening(已存在), Read-Only Root Filesystem(已存在), Init System in Containers(已存在), Kubernetes Security Context(已存在), Container Image Scanning(已存在), Principle of Least Privilege(已存在), Network Isolation(已存在) +- Entities created: Ashish(已存在), Micro Focus(已存在), Kubernetes(已存在), Product Security Group(已存在) +- Source page: wiki/sources/ctp-topic-49-container-lifecycle-hardening-standards.md +- Notes: Entity 和 Concept 页面在之前的 batch ingest 中已创建,本次仅生成 source 页面 + +## [2026-05-04] ingest | CTP Topic 55 AWS Firewall Manager +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-55-aws-firewall-manager.md +- Status: ✅ 成功摄入 +- Summary: AWS Firewall Manager 在 Grand Torque 多 Landing Zone 环境中的集中化安全策略管理实践。核心动机:跨 RLABS/R&D/SAS/CAT 多个 Landing Zone 管理安全策略的复杂性;原有 Checkpoint Firewall 无法完全覆盖公网子网流量安全。核心方案:①在独立 Firewall Manager 账户创建安全组策略,指定目标账户或 OU,自动将基线安全组附加到现有和新实例;②三种策略类型——通用安全组(允许产品团队自增)、审计与强制安全组规则(拒绝过度宽松规则,支持手动或自动修复)、清理未使用冗余安全组;③通过 RAM Prefix List 跨账户共享规则,支持 Atlantis CI/CD 流水线部署。Demo 演示了策略创建后 EC2 实例的自动附加与策略删除后的自动移除。前提条件:OU 内管理员权限 + AWS Config 全账户启用。 +- Concepts touched: [[AWS Firewall Manager]], [[Security Group Policy]], [[AWS Config]], [[AWS Lambda]], [[Prefix List]], [[AWS RAM]], [[Landing Zone]] +- Entities touched: [[Grand Torque Landing Zone]], [[LAPS Landing Zone]], [[SAS Landing Zone]], [[Digital Factory Landing Zone]], [[Atlantis Server]], [[QALIS]] +- Concepts created: [[AWS Firewall Manager]], [[Security Group Policy]] +- Entities created: (无新建 — Landing Zone Entity 页面待后续批量整理) +- Source page: wiki/sources/ctp-topic-55-aws-firewall-manager.md +- Notes: 步骤3完成:新建 source page(严格按 Source Page Format,含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第277行已有条目,本次补充日期和一行摘要;步骤5完成:overview.md 第319行已有详细条目,本次无需修订;步骤6完成:无新建 Entity 页面(Landing Zone Entity 页面待后续批量整理 CTP Security 相关实体);步骤7完成:新建2个 Concept 页面(AWS-Firewall-Manager、Security-Group-Policy);步骤8完成:无冲突(Firewall Manager 与 Checkpoint Firewall 为互补关系,非竞争替代,详见 source page Contradictions 节);步骤9完成:log.md 追加记录 + +## [2026-05-04] ingest | CTP Topic 62 AWS Secrets Manager +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/07_Security/ctp-topic-62-aws-secrets-manager.md +- Status: ✅ 成功摄入 +- Summary: AWS Secrets Manager 企业实施与标准化——Nurit 和 Daniel 主讲。是前一年 7 月学习会议的续篇,介绍了 AWS Secrets Management Standard 文档,分享了实施机会。核心内容:①Secrets 管理平台选型(HashiCorp Vault vs AWS Secrets Manager,后者因成本更低被选中);②三阶段实施方法(集中 Secrets → 调整自动化获取 → 启动轮换);③Lambda 函数配合 JDBC Wrapper 实现无密码 Oracle 数据库访问;④SendGrid API Key 集中轮换方案;⑤通过 Control Tower 实现企业级 Secrets 标准化管理。 +- Concepts touched: [[SecretsManagement]], [[SecretRotation]], [[JDBCWrapper]], [[ControlTower]] +- Entities touched: [[Nurit]], [[Daniel]], [[Victor]], [[HashiCorpVault]], [[AWSControlTower]], [[SendGrid]] +- Concepts created: [[SecretsManagement]], [[SecretRotation]], [[JDBCWrapper]] +- Entities created: (无新建 — Entity 页面待后续整理) +- Source page: wiki/sources/ctp-topic-62-aws-secrets-manager.md +- Notes: 步骤3完成:新建 source page;步骤4完成:index.md 条目已存在(第275行),本次以正确格式更新并补充摘要;步骤5完成:overview.md 无需修订(该来源属于 CTP Security 系列,overview 中有相关上下文);步骤6完成:无新建 Entity 页面(待后续批量整理 CTP Security 相关人物);步骤7完成:新建3个 Concept 页面(SecretsManagement、SecretRotation、JDBCWrapper);步骤8完成:无冲突(与 HashiCorp Vault 的对比属技术选型视角差异,已记录于 Contradictions 节);步骤9完成:log.md 追加记录 + +## [2026-04-28] ingest | CTP Topic 65 Tracing the Value Delivered in Cloud Transformation +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation.md +- Status: ✅ 成功摄入 +- Summary: 云转型计划(CTP)价值交付追踪方法论——区分 Process/Value/Value Stream 三个层次;价值分解为财务、生产力、质量、体验四维度;WSJF 公式(CoD/Job Size)排列工作优先级;功能级价值分解三种策略;综合框架涵盖年收入增长、成本降低、风险改善、SOM 四大价值维度。 +- Concepts touched: [[Value Stream]], [[Weighted Shortest Job First (WSJF)]], [[Cost of Delay (CoD)]], [[Process]], [[Value-Adding Activity]], [[Serviceable Obtainable Market (SOM)]] +- Entities touched: [[Cloud Transformation Programme (CTP)]] +- Concepts created: [[Value Stream]], [[Weighted Shortest Job First (WSJF)]], [[Cost of Delay (CoD)]], [[Serviceable Obtainable Market (SOM)]] +- Entities created: [[Cloud Transformation Programme (CTP)]] +- Source page: wiki/sources/ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation.md +- Notes: 步骤3完成:新建 source page;步骤4完成:index.md 条目已存在(第242行),无需更新;步骤5完成:overview.md 无需修订(该来源属于 CTP 专题系列,overview 中已有综合 CTP 上下文);步骤6完成:新建1个 Entity 页面(Cloud Transformation Programme);步骤7完成:新建4个 Concept 页面(Value Stream、Weighted Shortest Job First、Cost of Delay、SOM);步骤8完成:无冲突(与 ctp-topic-53 互补而非矛盾:Topic 53 论证"为何上云",本主题解决"如何衡量云转型价值");步骤9完成:log.md 追加记录 + +## [2026-04-28] ingest | CTP Topic 4 Using Agile to Run the Cloud Transformation Programme +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-4-using-agile-to-run-the-cloud-transformation-program.md +- Status: ✅ 成功摄入 +- Summary: 云转型项目中敏捷框架实践——Heather Norris 主讲。框架演进:Scrum(两周 Sprint)→ Kanban(持续流)→ 混合框架(Kanban + Scrum 仪式)。Scrum 局限:Sprint 期间不允许变更需求。Kanban 优势:随时调整优先级、持续交付。混合方案:保留每日站会和回顾会,使用 Microsoft Planner 五列看板。核心理念:敏捷本质是快速反馈循环,持续改进产品和开发文化。 +- Concepts touched: [[Scrum]], [[Kanban]], [[Scrum-Kanban混合框架]], [[Microsoft Planner]] +- Entities touched: [[Heather Norris]] +- Concepts created: 无(Scrum.md、Kanban.md 均已存在) +- Entities created: 无(Heather Norris.md 已存在) +- Source page: wiki/sources/ctp-topic-4-using-agile-to-run-the-cloud-transformation-program.md +- Notes: 步骤3完成:新建 source page;步骤4完成:index.md 条目已存在(第247行),无需更新;步骤5完成:overview.md 无需修订(Agile/Scrum/Kanban 内容已覆盖于现有概述中);步骤6完成:无新增 Entity(Heather Norris.md 已存在);步骤7完成:无新增 Concept(Scrum.md、Kanban.md 均已存在);步骤8完成:无冲突;步骤9完成:log.md 追加记录 + +## [2026-04-28] ingest | CTP Topic 43 VMware Cloud on AWS +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-43-vmware-cloud-on-aws.md +- Status: ✅ 成功摄入(re-ingest:补充缺失实体/概念页面) +- Summary: VMware Cloud on AWS(VMC on AWS)混合云服务介绍——VMware 与 AWS 联合工程,在 AWS 裸金属服务器(i3.metal/i3en.metal)上原生安装 vSphere 8,为不完全准备完全迁移至原生云的企业提供中间路线。相比常规云方案节省 27% 成本,支持 HCX 任意迁移,Brian Reeves 主持经济学讨论,Mike O'Reilly 主讲技术架构。属 [[Hybrid-Cloud]] 在 AWS 落地的核心实践。 +- Concepts touched: [[VMware-Cloud-on-AWS]], [[SDDC]], [[HCX]], [[Stretched-Cluster]], [[TCO]] +- Entities touched: [[VMware]], [[AWS]], [[BrianReeves]], [[MichaelRiley]], [[MikeArmstrong]], [[MikeOReily]] +- Concepts created: [[TCO]] +- Entities created: [[BrianReeves]], [[MichaelRiley]], [[MikeArmstrong]], [[MikeOReily]] +- Source page: wiki/sources/ctp-topic-43-vmware-cloud-on-aws.md +- Notes: 步骤3完成:Source page 已存在(2026-04-14 初版),本次修复双竖线格式问题;步骤4完成:index.md 条目已存在(第254行),无需更新;步骤5完成:overview.md 已有该来源摘要(line 331),内容一致无需修订;步骤6完成:新建4个 Entity 页面(BrianReeves、MichaelRiley、MikeArmstrong、MikeOReily),补充 TCO 到 VMware.md 和相关 Concept 页面的 Sources 节;步骤7完成:新建 [[TCO]] Concept 页面,补充 [[TCO]] 到 Source page Key Concepts 节;步骤8完成:无冲突(与 ctp-topic-53 的张力已在 Contradictions 节记录,属云迁移决策的视角差异而非事实冲突);步骤9完成:log.md 追加本次 re-ingest 记录 + +## [2026-04-28] ingest | CTP Topic 19 Configuring DNS within AWS LZs +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-19-configuring-dns-within-aws-lzs.md +- Status: ✅ 成功摄入 +- Summary: AWS Landing Zone 多账号环境下的集中化 DNS 管理架构——Sankar Gopov 主讲。核心方案:设立专门 DNS 账号(InfoBlocks 账号)集中管理 Route 53 私有托管区(PHZ)和 Resolver Rules,优于分散式 PHZ 管理。关键技术:Route 53 Resolver Inbound Endpoint(接收 On-prem 解析请求)和 Outbound Endpoint(转发 AWS → On-prem 请求);AWS RAM 跨账号共享 Resolver Rules;跨账号 PHZ 关联两步流程(授权→关联);Terraform 自动化部署。典型场景:AWS → On-prem、On-prem → AWS、账号间相互解析。属 [[AWS-Landing-Zone]] 网络基础服务层,与 Topic 18(广域网)和 Topic 31(网络安全)共同构成完整网络知识体系。 +- Concepts touched: [[Route-53-Resolver]], [[Private-Hosted-Zone]], [[Resolver-Rules]], [[AWS-RAM]], [[VPC-Association-Authorization]], [[AWS-Landing-Zone]] +- Entities touched: [[SankarGopov]] +- Concepts created: [[Route-53-Resolver]], [[Private-Hosted-Zone]], [[Resolver-Rules]], [[VPC-Association-Authorization]] +- Entities created: (无新建 — SankarGopov 已存在) +- Source page: wiki/sources/ctp-topic-19-configuring-dns-within-aws-lzs.md +- Notes: 步骤3完成:新建 Source page;步骤4完成:index.md 条目已存在(第255行),补充一行摘要;步骤5完成:overview.md 新增 CTP Topic 19 摘要条目(在 Topic 18 与 Topic 25 之间);步骤6完成:新建4个 Concept 页面(Route-53-Resolver、Private-Hosted-Zone、Resolver-Rules、VPC-Association-Authorization),更新 SankarGopov Entity 来源引用;步骤7完成:Source page Key Concepts 节已覆盖全部关键概念;步骤8完成:无冲突;步骤9完成:log.md 追加本次记录 + +## [2026-04-28] ingest | CTP Topic 10 AWS Landing Zone (LZ) Data Collection, Tagging Related Security +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/10_OpenText-Series/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md +- Status: ✅ 成功摄入 +- Summary: AWS Landing Zone 环境下的资源数据收集、标签体系及基于标签的安全控制策略——Steve Jarman 和 Pradeep 联合主讲。核心内容:①OU 分层 + SCP 强制标签规范防止用户篡改标签绕过审计;②标签体系涵盖机器名、所有者(PDL)、类型、BU、产品、环境、服务器角色等维度;③Checkpoint Firewall 基于标签的 Ordered Layers(地理封锁→类型→BU→产品→环境→角色)和 Inline Layers(基于账号编号的父子规则结构);④Demo 演示标签缺失导致 EC2 流量被防火墙拦截。 +- Concepts touched: [[AWS-Landing-Zone]], [[SCP-Security-Control-Policy]], [[Resource-Tagging]], [[Ordered-Layer]], [[Inline-Layer]], [[Checkpoint-Firewall]] +- Entities touched: [[AWS]], [[Checkpoint]], [[Pradeep]], [[Steve Jarman]] +- Concepts created: [[SCP-Security-Control-Policy]], [[Resource-Tagging]], [[Ordered-Layer]], [[Inline-Layer]] +- Entities created: [[Pradeep]], [[SteveJarman]] +- Source page: wiki/sources/ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md +- Notes: 步骤3完成:新建 source page;步骤4完成:index.md 条目已存在(第31行、第250行),无需更新;步骤5完成:overview.md 已有该来源详细摘要(line 321),无需修订;步骤6完成:更新2个已有 Entity 页面(AWS-Landing-Zone、Checkpoint-Firewall),新增2个 Entity 页面(Pradeep、SteveJarman);步骤7完成:新建4个 Concept 页面(SCP-Security-Control-Policy、Resource-Tagging、Ordered-Layer、Inline-Layer);步骤8完成:与 CTP Topic 7 的视角差异已记录于 Contradictions 节(属账号结构 vs 标签驱动的互补视角);步骤9完成:log.md 追加本次记录 + +## [2026-04-28] ingest | CTP Topic 22 Global DNS service offerings +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/08_Networking/ctp-topic-22-global-dns-service-offerings.md +- Status: ✅ 成功摄入(re-ingest) +- Summary: 企业级全球 DNS 服务架构详解——Sankar 和 Vino 联合主讲。核心架构:Route 53 Private Hosted Zone(私有托管区域)配合 AD 托管 DNS,通过 Route 53 Resolver 入站/出站终端节点打通 AWS VPC 与本地网络的 DNS 查询;Outbound Endpoint 出站规则配置多个区域 AD 域控制器 IP,单区域故障时自动切换确保弹性。本地 Infoblox 平台利用 DNS Anycast 实现全球低延迟和自动故障转移;AWS EC2 不支持 Anycast,需手动维护 IP 列表。DNS 安全涵盖防隧道攻击、防数据外泄及缓存污染;"就近解析"原则优化 Office 365 等全球化 SaaS 访问性能。属 AWS Landing Zone 网络层 DNS 专题,与 ctp-topic-19 共同构成 Landing Zone DNS 完整体系。 +- Concepts touched: [[HybridDnsResolution]], [[DNS-Anycast]], [[Landing-Zone-Architecture]], [[Route-53-Resolver]], [[IPAM]] +- Entities touched: [[AWS]], [[Infoblox]], [[SankarGopov]], [[VinoCTP]], [[Microsoft-Active-Directory]], [[Office-365]] +- Concepts created: [[DNS-Anycast]] +- Entities created: [[VinoCTP]] +- Source page: wiki/sources/ctp-topic-22-global-dns-service-offerings.md +- Notes: 步骤3完成:Source page 已存在(2026-04-14 初版),本次更新 Contradictions 节(ctp-topic-19 已摄入,补充完整互补关系说明);步骤4完成:index.md 条目已存在(第257行),本次新增 [[VinoCTP]] Entity 和 [[DNS-Anycast]] Concept 条目;步骤5完成:overview.md 已有该来源摘要(line 345),内容一致无需修订;步骤6完成:新建 [[VinoCTP]] Entity 页面(CTP Topic 22 联合讲师);步骤7完成:新建 [[DNS-Anycast]] Concept 页面(关键网络概念,本来源首次系统阐述);步骤8完成:Contradictions 更新为视角互补说明(Topic 19 讲配置实施 → Topic 22 讲企业架构,属深度递进关系);步骤9完成:log.md 追加本次 re-ingest 记录 + +## [2026-05-07] ingest | CTP Topic 50 AMI Roadmap for AWS AMIs (re-ingest) +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-50-ami-roadmap-for-aws-amis.md +- Status: ✅ 成功摄入(re-ingest) +- Summary: CCOE AMI 路线图与 AWS 标准 AMI 生命周期规划——核心内容:CCOE 每两个月发布加固 AMI;ARM AMI 自 2023 年 5 月起同步发布;路线图优先级由 ADM 需求驱动;OS EOL 时间线(WS2008/2008R2 已 EOL;CentOS8 已 EOL;WS2012 即将 EOL;RHEL7/CentOS7 2024 年 6 月 EOL);AMI 通知通过邮件发送至 CCOE notifications PDL;CCRE 门户变更日志;新 AMI 添加三阶段流程;AMI 跨账号共享机制 +- Concepts touched: [[Foundation-AMI]], [[OS-End-of-Life]], [[AMI-Sharing]], [[ARM-AMI]], [[CCOE]], [[ADM]] +- Entities touched: [[CCOE]], [[AWS]], [[Amazon Linux]], [[Ubuntu]], [[CentOS]], [[Rocky Linux]], [[Red Hat Enterprise Linux]], [[SLES]], [[Windows Server]], [[McAfee]] +- Concepts created: [[ARM-AMI]], [[ADM]] +- Source page: wiki/sources/ctp-topic-50-ami-roadmap-for-aws-amis.md +- Notes: 步骤3完成:源页面已存在(2026-04-14 初版),本次补全 wikilinks 格式(Foundation AMI→Foundation-AMI, AMI Sharing→AMI-Sharing);步骤4完成:index.md 条目已存在(第306行),无需重复添加;步骤5完成:overview.md 已有该来源摘要(line 313),内容一致无需修订;步骤6完成:Amazon Linux/Ubuntu/CentOS/SLES/Windows Server/McAfee 在 source doc 中出现次数不足以创建独立 Entity 页面(仅1-2次提及),按工作流规则跳过;Rocky Linux/Red Hat Enterprise Linux Entity 页面已存在,无需重复创建;步骤7完成:Foundation-AMI/OS-End-of-Life/AMI-Sharing Concept 页面已存在,本次新建 ARM-AMI.md 和 ADM.md;步骤8完成:Contradictions 已在 source page 记录(与 ctp-topic-26 的互补关系);步骤9完成:log.md 追加本次 re-ingest 记录 + +## [2026-05-07] ingest | CTP Topic 26 Standard AMI – build, publish, share processes +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-26-standard-ami-build-publish-share-processes.md +- Status: ✅ 成功摄入(re-ingest) +- Summary: Foundation AMI 全生命周期管理详解——Srihari/Alan/Praveen 主讲。基于市场主流 OS(CentOS/Ubuntu/Windows)进行 CIS Benchmark 安全基准加固,集成 McAfee EPO 防病毒 + Syslog-ng 日志管理 + AD 单点登录 + AWS-SSM + SiteScope 监控;使用 HashiCorp Packer + Jenkins 流水线实现镜像创建完全自动化;通过 AMI Sharing 分发至全球多区域;每两个月更新,采用 N-2 版本保留策略。责任共担:CCOE 提供 Foundation AMI,产品团队构建产品特定 AMI。 +- Concepts touched: [[Foundation-AMI]], [[OS-Hardening]], [[CIS-Benchmark]], [[HashiCorp]], [[AWS-SSM]], [[AMI-Sharing]] +- Entities touched: [[CCOE]], [[Jenkins]], [[AWS]] +- Concepts created: [[Foundation-AMI]], [[OS-Hardening]], [[AMI-Sharing]] +- Source page: wiki/sources/ctp-topic-26-standard-ami-build-publish-share-processes.md +- Notes: 步骤3完成:Source page 已存在(2026-04-14 初版),本次更新 wikilinks 格式(Foundation AMI→Foundation-AMI 等)并移除 Srihari/Alan/Praveen(仅出现1次);步骤4完成:index.md 条目已存在(第306行);步骤5完成:overview.md 已有该来源摘要(line 315),内容一致无需修订;步骤6完成:新建 CCOE.md Entity 页面;步骤7完成:新建 Foundation-AMI.md、OS-Hardening.md、AMI-Sharing.md Concept 页面;CIS-Benchmark/HashiCorp/AWS-SSM/HashiCorp(Entity)已存在,跳过;Central Repository 未创建独立页面(保留为普通概念描述);步骤8完成:Contradictions 已在 source page 记录(与 ctp-topic-58 的"当前 Packer vs 未来 EC2 Image Builder"属技术演进非冲突);步骤9完成:log.md 追加本次 re-ingest 记录 + +## [2026-05-07] ingest | CTP Topic 68 Introduction to Redshift +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-68-introduction-to-redshift.md +- Status: ✅ 成功摄入 +- Summary: AWS Redshift 数据仓库入门介绍——核心架构含 Leader Node(管理 Schema、元数据、查询计划)和 Compute Node(在 Slices 上通过 MPP 执行并行查询);支持列式存储(适合 OLAP 聚合查询)和行式存储;Sort Key 和 Distribution Key 是性能优化核心;三种实例类型(Dense Compute/Dense Storage/RA3);RA3 以 AWS 托管 NVMe 提供成本效益。 +- Concepts touched: [[MassivelyParallelProcessing]], [[Columnar-Storage]], [[Sort-Key]], [[Distribution-Key]], [[OLAP]], [[Data-Compression]] +- Entities touched: [[Amazon-Redshift]], [[LeaderNode]], [[ComputeNode]], [[JDBC]], [[ODBC]] +- Concepts created: [[Sort-Key]], [[Distribution-Key]] +- Source page: wiki/sources/ctp-topic-68-introduction-to-redshift.md +- Notes: 步骤3完成:新建 source page(含完整 Summary/Key Claims/Key Quotes/Key Concepts/Key Entities/Connections/Contradictions);步骤4完成:index.md 条目补全日期前缀(2026-04-14)和一行摘要;步骤5完成:overview.md 已有该来源摘要(line 339),内容一致无需修订;步骤6完成:Amazon-Redshift Entity 页面已存在(2026-04-14 初版),内容一致无需修订;步骤7完成:新建 Sort-Key.md 和 Distribution-Key.md Concept 页面;步骤8完成:Contradictions 记录与 [[ctp-topic-66-rds-vs-aurora]] 的定位差异(Redshift 专 OLAP vs Aurora 混合 OLTP/OLAP),非冲突;步骤9完成:log.md 追加本次摄入记录 + +## [2026-04-28] ingest | CTP Topic 58 AWS EC2 Image Builder +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-58-aws-ec2-image-builder.md +- Status: ✅ 成功摄入 +- Summary: AWS EC2 Image Builder 服务详解——自动化 AMIs 和 Docker 镜像创建/管理/分发的托管服务;核心组件包括 Image Pipeline、Image Recipe、Infrastructure Configuration、Distribution Settings;YAML 定义镜像配方(Source AMI → Output AMI);CCOE 提供 Golden AMI,产品团队可追加自定义组件(按字母序添加);支持 CentOS 7 和 Ubuntu 18 的端到端 POC;集成 AWS Inspector 进行安全扫描,Lambda 工作流触发扫描并发送邮件通知和 S3 报告;当前 AMI 流程(GitLab + Jenkins + Packer)的痛点(交付周期长、跨 LZ 兼容性差)推动了 Image Builder 的采用。 +- Concepts touched: [[AMI-Image-Builder]], [[Image-Pipeline]], [[Golden-AMI]], [[AWS-Inspector]], [[AWS-Landing-Zone]] +- Entities touched: [[AWS]], [[Packer]], [[Jenkins]], [[Terraform]], [[Qualys]] +- Source page: wiki/sources/ctp-topic-58-aws-ec2-image-builder.md +- Notes: 步骤3完成:新建 source page,含完整 Summary/Key Claims/Key Quotes/Key Concepts/Key Entities/Connections/Contradictions;步骤4完成:index.md 条目已存在(第303行),无需重复添加;步骤5完成:overview.md 由后续 query workflow 维护,此处无需主动修订;步骤6-7完成:关键 Entity/Concept 在源文档中出现1-2次,未达到创建独立页面的阈值(≥2次且关键影响),按工作流规则跳过;步骤8完成:Contradictions 记录"暂无发现冲突";步骤9完成:log.md 追加本次摄入记录 + +## [2026-05-06] ingest | CTP Topic 25 Labs Landing Zone Overview - ITOM Teams (re-ingest) +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-25-labs-landing-zone-overview-itom-teams.md +- Status: ✅ 成功摄入(re-ingest) +- Summary: Labs LZ 基于 Gruntwork 参考架构,多账户策略(Shared/Jenkins/Logs/Security/Core(AD+DNS)/Network(TGW+JetPult)/Product Account);全部通过 Terraform/Terragrunt IaC 管理;Jenkins 流水线扫描 GitHub 触发 plan/apply;防火墙通过标签(Tags)控制网络访问;Shared Services 含 45 Arc Site 监控和 Qualys 安全扫描。 +- Entities touched: [[Gruntwork]], [[Jenkins]], [[Swimford.net]], [[JetPult]], [[Pulse-VPN]], [[Qualys]], [[Terragrunt]], [[Terraform]] +- Concepts touched: [[Landing-Zone-Architecture]], [[Terraform]], [[Terragrunt]], [[Transit-Gateway]], [[Tag-Based-Access-Control]], [[Federated-Access]] +- Source page: wiki/sources/ctp-topic-25-labs-landing-zone-overview-itom-teams.md +- Notes: 步骤3完成:Source page 已有(2026-04-14 初版),内容完整无需修订;步骤4完成:index.md 条目补全日期前缀(2026-04-14)和一行摘要;步骤5完成:overview.md 已有该来源摘要(line 291),内容一致无需修订;步骤6-7完成:Key Concepts/Entities 均以 wikilink 形式存在,相关 Entity(Gruntwork/Jenkins/Swimford.net/JetPult/Pulse-VPN/Qualys)和 Concept(Landing-Zone-Architecture/Terraform/Terragrunt/Transit-Gateway)页面已存在;步骤8完成:Contradictions 记录"无已知冲突"(JetPult vs Checkpoint 属 Labs vs SaaS 不同 LZ 的防火墙方案差异,非冲突);步骤9完成:log.md 补录本次 re-ingest + +## [2026-05-06] ingest | CTP Topic 7 SaaS Landing Zone Design +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-7-saas-landing-zone-design.md +- Status: ✅ 成功摄入(re-ingest) +- Summary: SAS LZ 四层账户体系设计(Core/Baseline/Shared Services/Product);核心账户(Shared/Jenkins+Lambda、Logs、Security/IAM)、基线账户(Network/Transit Gateway+Checkpoint、DNS/Route 53、AD双节点)、共享服务账户(Software Factory 45 hubs+Octane Hub+Artifactory、Cyber/Qalis、ARC、Monitoring/OBM)、产品账户(私有子网工作负载+公有子网LB+WAF+CloudFront可选);Terraform IaC + GitHub/Jenkins CI/CD 端到端自动化部署链路;Checkpoint VPN → Pulse VPN 远程访问迁移。 +- Concepts created: [[Transit-Gateway]], [[Active-Directory-Integration]], [[WAF-Web-Application-Firewall]], [[Private-Subnet-Architecture]], [[Terraform-IaC]], [[Software-Factory]] +- Entities created: [[Jenkins]], [[Pulse-VPN]], [[TerraGrant]], [[Qalis]], [[OBM]], [[CloudFront]] +- Entities touched: [[Gruntwork]], [[Checkpoint]], [[Terraform]], [[Terragrunt]] +- Source page: wiki/sources/ctp-topic-7-saas-landing-zone-design.md +- Notes: 步骤3完成:Source page 已有(2026-04-14 初版),本次补加 tags 和 last_updated: 2026-05-06;步骤4完成:index.md 条目补全日期前缀和一行摘要;步骤5完成:overview.md 已有该来源摘要(line 307),内容一致无需修订;步骤6-7完成:新建 6 个 Entity 页面(Jenkins/Pulse-VPN/TerraGrant/Qalis/OBM/CloudFront)和 6 个 Concept 页面(Transit-Gateway/Active-Directory-Integration/WAF-Web-Application-Firewall/Private-Subnet-Architecture/Terraform-IaC/Software-Factory),并加入 index.md;步骤8完成:Contradictions 已在 source page 记录(与 [[ctp-topic-35-aws-landing-zone-design-refresher-saas-labs]] 属设计演进视角互补,非冲突);步骤9完成:log.md 补录本次摄入 + +## [2026-05-06] ingest | CTP Topic 34 Azure Landing Zone Architecture Overview +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-34-azure-landing-zone-architecture-overview.md +- Status: ✅ 成功摄入 +- Summary: Azure Landing Zone 架构概述——Micro Focus 通过 Azure Enterprise Enrollment + Azure AD 完成企业接入;管理组四区分离(platform/landing-zones/decommission/sandbox);连接订阅集成 DDoS 防护和 Checkpoint 防火墙;Terraform Cloud 管理跨订阅依赖;PIM 强制最小权限。核心价值:团队独立部署减少跨团队依赖,AWS 侧用 Gruntwork/Jenkins,Azure 侧用 Terraform Cloud,体现 CTP 多云战略。 +- Concepts touched: [[Landing-Zone-Architecture]](已存在,内容已通过本来源扩展) +- Entities touched: [[Azure]](已存在), [[Micro-Focus]](已存在) +- Source page: wiki/sources/ctp-topic-34-azure-landing-zone-architecture-overview.md +- Notes: 步骤3完成:新建 source page,含完整 Summary/Key Claims/Key Quotes/Key Concepts/Key Entities、Connections、Contradictions;步骤4完成:index.md 条目补全日期前缀和一行摘要;步骤5完成:overview.md 新增 CTP Topic 34 条目,置于 Topic 35 之后;步骤6-7完成:关键 Entity/Concept 均已存在(Azure/Micro-Focus/Landing-Zone-Architecture/Terraform),无需新建;步骤8完成:Contradictions 记录了与 Gruntwork AWS LZ 的平台差异说明(非冲突,为多云战略互补);步骤9完成:log.md 补录 + +## [2026-05-06] ingest | CTP Topic 35 AWS Landing Zone Design Refresher (SaaS Labs) +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-35-aws-landing-zone-design-refresher-saas-labs.md +- Status: ✅ 成功摄入 +- Summary: Landing Zone 设计复习——明确 SaaS(生产)与 Labs(开发)的核心定位:SaaS = 生产,Labs = 开发;SaaS LZ 含产品账户、核心账户(AD/DNS/Network)、共享服务账户、Gruntwork 账户;近期变更:网络分段阻断 SaaS 直连、CCOE CloudTrail 替代 Gruntworks CloudTrail、Checkpoint 重新路由入站流量、AWS Backup 强制化、新账户取消 Management VPC;PoC LZ 并入 Labs;Cloud Technology Design Forum 推动标准化。 +- Concepts created: [[Network-Segmentation]] +- Entities created: [[Cloud-Technology-Design-Forum]] +- Entities touched: [[Gruntwork]], [[Checkpoint]] +- Source page: wiki/sources/ctp-topic-35-aws-landing-zone-design-refresher-saas-labs.md +- Notes: 步骤3完成:Source page 修复所有 broken wikilinks(CCOEs-CloudTrail → CloudTrail,AWS-Landing-Zone → Landing-Zone-Architecture,删除 Shared-Services-Account 等不必要独立 Concept),补全 Contradictions 与 [[ctp-topic-1-gruntwork-landing-zone-architecture]] 视角互补说明,更新 last_updated: 2026-05-06;步骤4完成:index.md 条目补全日期前缀和一行摘要;步骤5完成:overview.md 已有该来源摘要(line 301),内容一致无需修订;步骤6-7完成:新建 [[Cloud-Technology-Design-Forum]] Entity 和 [[Network-Segmentation]] Concept 并加入 index.md;步骤8完成:Contradictions 已从无记录更新为视角互补说明;步骤9完成:log.md 补录本次摄入 + +## [2026-05-06] ingest | CTP Topic 1 Gruntwork Landing Zone Architecture +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-1-gruntwork-landing-zone-architecture.md +- Status: ✅ 成功摄入 +- Summary: Gruntwork AWS Landing Zone 架构基础——参考架构(Reference Architecture)提供最佳实践起点,含核心账户 Shared/Logs/Security 和工作负载账户 Prod/Stage/Dev;Landing Zone 基于 Gruntwork 仓库由产品团队自行定义具体服务(ECS/RDS 等);安全账户使用联邦用户通过 AD 组映射 IAM 角色;每个 Landing Zone 配置独立 Jenkins 服务器和特性分支 Git 工作流;Gruntwork Terraform AWS 服务目录强调服务应具有业务上下文。 +- Concepts touched: [[Reference-Architecture]](已存在,内容完整)、[[Landing-Zone-Architecture]](已存在,内容完整) +- Entities touched: [[Gruntwork]](已存在,内容完整) +- Source page: wiki/sources/ctp-topic-1-gruntwork-landing-zone-architecture.md +- Notes: 步骤3完成:更新 last_updated: 2026-05-06;步骤4完成:index.md 条目补全日期前缀和一行摘要;步骤5完成:overview.md 已有该来源摘要(line 309),内容一致无需修订;步骤6-7完成:Entity/Concept 均已存在;步骤8完成:冲突已在 source page Contradictions 节记录(与 [[ctp-topic-35-aws-landing-zone-design-refresher-saas-labs]] 视角互补) + +## [2026-04-26] ingest | CTP Topic 46 NetApps on AWS (re-ingest) +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-46-netapps-on-aws.md +- Status: ✅ 成功摄入 +- Summary: Source page 已存在(2026-04-14 初版)。本次检测到源文件更新(Apr 26 12:35),更新 Source page tags 增加 CVO/ONTAP,新增 last_updated: 2026-04-26;index.md 条目补全日期前缀和一行摘要;overview.md 已有该来源摘要(line 335),内容一致无需修订。 +- Concepts touched: [[SnapMirror]](已存在,内容完整) +- Entities touched: [[NetApp]](已存在,内容完整) +- Source page: wiki/sources/ctp-topic-46-netapps-on-aws.md +- Notes: 步骤3完成:Source page 更新 tags 和 last_updated;步骤4完成:index.md 条目补全日期+摘要;步骤5完成:overview.md 内容一致无需修订;步骤6-7完成:Entity/Concept 均已存在;步骤8完成:无冲突(属存储技术域,与数据库/备份技术互补) + +## [2026-05-05] ingest | CTP Topic 17 Active Directory Services in Gruntwork AWS LZs +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-17-active-directory-services-in-gruntwork-aws-lzs.md +- Status: ✅ 成功摄入 +- Summary: Paul 讲解 Gruntwork AWS Landing Zones 中 AD 服务集成的核心实践——双域名策略(`swinford.net` 用于 R&D Labs,`intsas.local` 用于生产/SAS 环境,废弃旧 `infra`/`AST` 域名);SRE 预制 AMI 内置 PowerShell/Shell 脚本,通过 Terraform `user_data` 实现 Windows/Linux 实例自动化域加入;Linux 支持 Secure Dynamic Updates 自动注册 DNS A 记录;R&D 环境使用 MIM 自助服务,生产/SAS 环境通过 SMACKS 工单系统申请账号。 +- Concepts created: [[Domain Join]], [[Secure Dynamic Updates]] +- Entities created: none([[swinford.net]], [[intsas.local]], [[SMACKS]], [[Gruntwork]] 均已存在并已更新引用) +- Entities touched: [[Gruntwork]] +- Source page: wiki/sources/ctp-topic-17-active-directory-services-in-gruntwork-aws-lzs.md +- Notes: index.md 已有该来源条目(line 304),本次补加日期前缀和一行摘要;overview.md 已有该来源摘要(line 349),内容一致无需修订;Swinford.net.md 和 Intsas.local.md 已正确引用本来源;冲突检测:无冲突 + +## [2026-04-23] ingest | CTP Topic 66 Exposing the differences between PostgreSQL RDS and Aurora +- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/01_AWS-Landing-Zone/ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora.md +- Status: ✅ 成功摄入 +- Summary: Greg Klau 主讲 PostgreSQL 在 Amazon RDS 与 Aurora 两种托管方案之间的深度技术对比。涵盖架构差异(RDS 计算+ EBS 分离 vs Aurora 6副本跨3AZ共享存储)、选型决策(小型<10TB选RDS,大型>10-20TB选Aurora)、高可用性(Aurora RTO 30秒 vs RDS 2分钟)、Aurora Global 跨区域灾备、Blue-Green Deployment(仅 Aurora MySQL 支持)、监控(CloudWatch/Grafana/Performance Insights)等。 +- Concepts created: [[Aurora Global]], [[Multi-AZ]], [[Blue-Green Deployment]] +- Entities created: none([[Amazon RDS]], [[Amazon Aurora]], [[RTO]] 均已存在并已更新引用) +- Entities touched: [[Amazon RDS]], [[Amazon Aurora]], [[RTO]] +- Source page: wiki/sources/ctp-topic-66-exposing-the-differences-between-postgresql-rds-and-aurora.md +- Notes: index.md 已有该来源条目(line 292);overview.md 已新增该来源摘要(line 260-261);冲突检测:RTO 数值(Aurora 30秒/RDS 2分钟)已记录于 Contradictions 节,建议与 [[RTO vs RPO: Key Differences for Modern Disaster Recovery]] 交叉验证 + +## [2026-04-18] ingest | Blogwatcher Daily 技能收藏 +- Source file: Skills/blogwatcher-daily收藏.md +- Status: ✅ 成功摄入 +- Summary: Hermes Agent 自定义技能 blogwatcher-daily,实现 31 个 RSS/YouTube 订阅频道的自动化监控与每日摘要生成。核心技术栈:RSSHub(YouTube 频道转 RSS)+ feedparser(多格式解析)+ SQLite(URL 去重)+ Cron(定时调度)+ Telegram(通知)。每天早上 6:00 自动运行,Job ID `ecdd35bb7df3`。 +- Concepts created: 无(RSSHub/feedparser/SQLite去重机制/Cron定时任务均已有 Entity/Concept 页面或以内嵌 wikilink 引用存在) +- Entities created: 无([[Hermes Agent]] 已存在,[[RSSHub]] 已存在) +- Entities touched: [[Hermes Agent]], [[RSSHub]] +- Source page: wiki/sources/blogwatcher-daily收藏.md +- Notes: index.md 已有该来源条目(line 200),本次补全一行摘要;冲突检测:无冲突 + +## [2026-04-17] ingest | WSL2 启动与网络配置指南 +- Source file: Home Office/WSL2 启动与网络配置指南.md +- Status: ✅ 成功摄入 +- Summary: WSL2(Windows Subsystem for Linux 2)日常使用操作与网络配置完整指南。涵盖安装(`wsl --install`)、状态检查(`wsl -l -v`)、版本转换(`wsl --set-version`);网络配置核心痛点(NAT 模式导致 Windows 代理无法镜像);推荐方案(`.wslconfig` 配置 `networkingMode=mirrored` + `dnsTunneling=true`);备选方案(手动代理 `http_proxy/https_proxy`);GitHub 加速(`ghproxy.com` 反向代理);常见故障排查(WSL_E_VM_MODE_INVALID_STATE、文件权限问题)。 +- Concepts created: 无(镜像网络模式/NAT模式均以内嵌 wikilink 引用存在,未达独立建页阈值) +- Entities created: [[WSL2]], [[ghproxy]] +- Entities touched: [[uv]], [[Hermes Agent]] +- Source page: wiki/sources/wsl2-启动与网络配置指南.md +- Notes: index.md Sources 节已有该来源条目,本次补加日期前缀 [2026-04-17] 和一行摘要;index.md Entities 节新增 WSL2 和 ghproxy 条目;overview.md 已有 WSL2 相关条目(line 413-415, line 787-789),内容一致无需修订;冲突检测:与 [[Install WSL]] 的视角差异(安装 vs 配置)已记录于 source page Contradictions 节,无本质冲突 + +## [2026-04-28] ingest | fireworks-tech-graph +- Source file: Skills/fireworks-tech-graph.md +- Status: ✅ 成功摄入(更新) +- Summary: fireworks-tech-graph 将自然语言描述转化为精美 SVG 技术图并导出高分辨率 PNG——解决技术文档/博客缺乏高质量可视化图表的核心痛点。内置 7 种视觉风格(扁平图标风/暗黑极客风/工程蓝图风/Notion极简风/玻璃态卡片风/Claude官方风格/OpenAI官方风格)和 14 种 UML 图类型。语义形状词汇表确保图形语义一致,语义箭头系统通过颜色+虚线编码含义。支持 librsvg/rsvg-convert 导出 1920px PNG。触发词:画图/帮我画/生成图/做个图/架构图/流程图/可视化一下。 +- Concepts created: none(concept 页面待补充:技术图生成、7种视觉风格系统、语义形状词汇表、语义箭头系统、14种UML图) +- Entities created: none(rsvg-convert 已列出,concept 页面待补充后关联) +- Source page: wiki/sources/fireworks-tech-graph.md +- Notes: 源页面已存在(2026-04-18),本次对比 489 行源文档发现以下内容已补全:7种风格详细参数表、形状词汇表完整表格、箭头语义完整表格、AI/Agent 内建 Pattern、产品图标覆盖范围;index.md 已有条目(line 196);overview.md 已有条目(line 508);冲突检测:无冲突 + +## [2026-04-28] ingest | Obsidian 官方 CLI 命令全景速查表 +- Source file: Skills/Obsidian 官方 CLI 命令全景速查表.md +- Status: ✅ 成功摄入 +- Summary: Obsidian v1.12+ 官方 CLI 80+ 命令全景速查表。涵盖 18 个功能模块:基础操作、数据库(Bases)、书签、命令面板、日记、文件历史、文件目录、链接网络、大纲、插件管理、属性元数据、发布、随机笔记、全局搜索、官方同步、标签、任务管理、模板、外观样式、卡片盒、仓库管理、内置浏览器、字数统计、工作区布局、开发者模式。附带 7 个典型自动化工作流:全局极速闪记、播客沉浸式知识榨取、AI 收件箱自动分拣员、绝对隐私的本地 RAG 对话助理、跨平台数据库级联录入、历史知识自动唤醒、批量元数据重构。 +- Concepts created: [[Backlinks]] +- Entities created: [[Obsidian]] +- Entities touched: [[n8n]], [[OpenClaw]] +- Source page: wiki/sources/obsidian-官方-cli-命令全景速查表.md +- Notes: index.md 已添加该来源条目(一行摘要);Backlinks 是核心概念,已创建独立概念页面;Obsidian 已创建实体页面(CLI + 核心特性描述);n8n.md 和 OpenClaw.md 已添加本来源引用;冲突检测:无冲突;index.md 中已有同名条目已补全摘要内容 + +## [2026-04-28] ingest | Obsidian CLI +- Source file: Skills/Obsidian CLI.md +- Status: ✅ 成功摄入 +- Summary: Obsidian 官方 CLI 完整命令参考文档(1534行)——50+ 命令覆盖日常使用、文件管理、链接分析、任务管理、开发者命令(CDP协议截图/控制台/插件热重载)、数据管理(Bases)、版本历史(File Recovery+Sync)、插件管理和 Obsidian Publish。两种使用模式:单命令和 TUI 交互。vault 定向和文件定位机制详解。 +- Entities touched: [[Obsidian]], [[Obsidian-Skills]] +- Entities created: none (Obsidian entity already exists via obsidian-必装-skills) +- Concepts touched: [[Obsidian-CLI]], [[Obsidian-TUI]], [[Vault-Management]], [[Developer-Commands]], [[CDP-Commands]], [[Plugin-Reload]], [[Daily-Notes-CLI]], [[File-Recovery]], [[Base-Commands]], [[Property-Commands]], [[Task-Commands]], [[Template-Commands]], [[Sync-Commands]], [[Plugin-Management-CLI]], [[Publish-Commands]] +- Source page: wiki/sources/obsidian-cli.md +- Notes: 原 source page 已存在但内容简略(58行),本次用完整 1534 行源文档重建 source page,严格按 Source Page Format 补充了完整命令分类速查表和 Key Claims;overview.md 已添加详细 obsidian-cli 条目;冲突检测:与 obsidian-必装-skills 的视角差异(官方内置 vs Skills 收录)已在 Contradictions 节协调,两种描述均正确 + +## [2026-04-28] ingest | Obsidian 必装 Skills +- Source file: Skills/Obsidian 必装 Skills +- Status: ✅ 成功摄入 +- Summary: Obsidian 生态 AI Skills 全景盘点——推荐安装 kepano 官方 defuddle(网页清洗)、obsidian-cli(官方 CLI 操作)、obsidian-bases(数据库视图);Axton 的 obsidian-canvas-creator(径向布局算法);tutor-skills("输入-内化-检测"三阶段学习闭环);scholar-skill(基于 OpenClaw 的 L1/L2/L3 分级论文阅读)。核心插件:claudian(适配 Claude Code)和 obsidian-agent-client(适配多主流 Agent)。含 BRAT 安装和配置指南。 +- Concepts created: [[tutor-skills]], [[scholar-skill]] +- Entities created: [[kepano]] +- Entities touched: [[OpenClaw]], [[BRAT]], [[defuddle]], [[obsidian-cli]], [[obsidian-bases]], [[obsidian-canvas-creator]], [[claudian]], [[obsidian-agent-client]] +- Source page: wiki/sources/obsidian-必装-skills.md +- Notes: overview.md 已添加该来源摘要(Second Brain 部分);index.md 已添加该来源条目和 Concepts 条目;冲突检测:与养虾日记3的 obsidian-skill 方案存在张力(obsidian-cli vs 文件系统直写);kepano 已存在于 index.md,本次补充完整发布的 Skills 信息 + +## [2026-04-28] ingest | 在 Ubuntu 安装 Ollama 并运行 Qwen2.5‑Coder 7B +- Source file: AI/在 Ubuntu 安装 Ollama 并运行 Qwen2.5‑Coder 7B.md +- Status: ✅ 成功摄入 +- Summary: Ubuntu 本地部署 Qwen2.5-Coder 7B 代码大模型完整指南。涵盖系统要求(8+ cores CPU、16GB RAM、4.5GB 模型)、Ollama 安装(`curl install.sh | sh`)、systemd 服务管理、模型下载运行(3 条命令最简流程)、REST API 调用(http://localhost:11434)、Python/NodeJS SDK、远程 API 开放(OLLAMA_HOST=0.0.0.0)、GPU 加速、模型管理(list/rm/pull)。推荐搭配工具链:Open WebUI、n8n、LangChain、OpenClaw。核心价值:qwen2.5-coder:7b 在 Tool usage、Shell/Python/SQL 理解和 Repo 级代码理解方面优于普通 qwen2.5:7b,更适合 DevOps automation、SQL Agent、Kubernetes troubleshooting 等工程任务。 +- Entities created: [[Ollama]], [[Qwen2.5-Coder]] +- Entities touched: [[Open WebUI]], [[n8n]], [[LangChain]], [[OpenClaw]] +- Source page: wiki/sources/在-ubuntu-安装-ollama-并运行-qwen2-5‑coder-7b.md +- Notes: overview.md 已添加该来源摘要(条目23);index.md 已添加该来源条目和 Entities 条目;冲突检测:无冲突;Open WebUI/n8n/LangChain/OpenClaw 出现次数 < 2,暂不创建独立 Entity 页面 + +## [2026-04-28] ingest | I Went Through Every AI Memory Tool I Could Find. There Are Two Camps. +- Source file: Agent/AI-Memory-Tools-Two-Camps.md +- Status: ✅ 成功摄入 +- Summary: AI 记忆工具全景分类框架(@witcheer,2026-04-15)。GitHub 450+ repos "agent-memory"、460+ "context-management",系统梳理后划分为两大阵营:Camp 1(Memory Backend,提取事实+向量检索,优化召回)vs Camp 2(Context Substrate,维护结构化人类可读文件,跨会话累积,优化复合增长)。Camp 1 代表:Mem0、MemPalace、Supermemory、Honcho;Camp 2 代表:OpenClaw、Zep、Thoth、TrustGraph、MemSearch、ALIVE。核心洞察:Zep 从"Memory"重品牌化为"Context Engineering"是最强市场信号;预测 6 个月内"Context Engineering"将取代"Memory"成为主流术语;24/7 持续运行 Agent 必须采用 Context Substrate 架构。 +- Concepts created: [[Memory-Backend]], [[Context-Substrate]], [[Context-Engineering]], [[Dream-Cycle]], [[Context-Cores]], [[Fact-Recall-vs-Compounding]] +- Entities created: [[Mem0]], [[MemPalace]], [[Supermemory]], [[Honcho]], [[Zep]], [[Thoth]], [[TrustGraph]], [[MemSearch]], [[ALIVE]], [[@witcheer]] +- Entities touched: [[OpenClaw]](已存在,新增链接) +- Source page: wiki/sources/ai-memory-tools-two-camps.md +- Notes: overview.md 已有详细摘要(lines 623-626),无需修订;index.md 已有该 source 条目(line 530);冲突检测:无实质性冲突,仅 wikilink 引用一致;Context-Substrate.md 在此前由其他来源创建,本次补充了完整工具列表和对比表 + +## [2026-04-28] ingest | Learn AI for free directly from top companies +- Source file: AI/Learn AI for free directly from top companies.md +- Status: ✅ 成功摄入 +- Summary: @RodmanAi 整理的顶级AI公司免费学习平台导航——涵盖 Anthropic、Google、Meta、NVIDIA、Microsoft、OpenAI、IBM、AWS、DeepLearning.AI、Hugging Face 共10家头部组织的官方免费课程资源。 +- Concepts touched: [[AI免费学习]](概念引用,概念页面待后续来源积累后创建) +- Entities touched: [[Anthropic]], [[Google]], [[Meta]], [[NVIDIA]], [[Microsoft]], [[OpenAI]], [[IBM]], [[AWS]], [[DeepLearning.AI]], [[Hugging Face]] +- Source page: wiki/sources/learn-ai-for-free-directly-from-top-companies.md +- Notes: overview.md 已添加该来源摘要;index.md 已添加该来源条目;冲突检测:无冲突;Entity 页面暂未创建(各公司实体信息分散在多个来源中,待后续聚合) + +## [2026-04-28] ingest | 可自动化、可扩展、AI增强的电商数据采集与处理系统 +- Source file: Others/可自动化、可扩展、AI增强的电商数据采集与处理系统.md +- Status: ✅ 成功摄入 +- Summary: 基于 Docker + Ubuntu + n8n 的电商数据采集与处理系统完整指南。三层架构:采集层(Scrapy/Playwright)→ AI处理层(n8n + LLM API)→ 存储展示层(PostgreSQL/MinIO + Grafana)。核心价值:Scrapy + Playwright 组合抓取动态页面,n8n 自动化工作流编排,Ollama 本地 LLM 替代外部 API,防封策略(UA轮换/代理池/延迟随机化)。 +- Concepts created: [[网页爬虫]], [[自动化工作流引擎]], [[防封技术]], [[Docker容器化]], [[LLM API集成]], [[向量数据库]] +- Entities created: [[Scrapy]], [[Playwright]], [[Ollama]], [[MinIO]], [[Grafana]] +- Entities touched: [[n8n]](已更新来源链接) +- Source page: wiki/sources/可自动化-可扩展-ai增强的电商数据采集与处理系统.md +- Notes: source page 新建完成;index.md Entities 节已添加 Scrapy;overview.md 已有对应条目(电商数据采集与处理系统节),无需修订;冲突检测:与 [[Scrapy + Playwright 抓取TikTok Shop Data]] 属技术实现互补关系,无冲突 + +## [2026-04-28] ingest | 电商如何选品 - 如何找到爆款选品策略 +- Source file: 跨境电商/电商如何选品 如何找到爆款 选品策略.md +- Status: ✅ 成功摄入 + +## [2026-05-15] ingest | Design Whimsy Injector +- Source file: Agent/agency-agents/design/design-whimsy-injector.md +- Status: ✅ 成功摄入 +- Summary: Whimsy Injector Agent 角色定义——品牌个性和愉悦感注入专家,隶属于 The Agency Design 部门。核心能力:战略人格注入、包容性愉悦设计、微交互设计系统(含 CSS 动画规范)、游戏化成就系统(含彩蛋发现)。Source page 已在 2026-05-05 生成,本次完成 Entity/Concept 页面创建和 index.md 补充。 +- Source page: wiki/sources/design-whimsy-injector.md(已存在,格式完整) +- Entities created: Whimsy-Injector.md、ArchitectUX.md、LuxuryDeveloper.md +- Entities updated: The-Agency.md(追加 sources 引用) +- Concepts created: Micro-Interaction-Design.md、Inclusive-Delight-Design.md、Gamification-System.md +- Concepts updated: Gamification.md(追加 sources 引用) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:source page 已存在(2026-05-05),格式完整无需修订;步骤4完成:index.md 第512行更新日期前缀和中文摘要;步骤5完成:overview.md 无需修订(source page 已包含完整摘要);步骤6完成:新建 Whimsy-Injector.md/ArchitectUX.md/LuxuryDeveloper.md Entity 页面,更新 The-Agency.md sources 引用;步骤7完成:新建 Micro-Interaction-Design.md/Inclusive-Delight-Design.md/Gamification-System.md Concept 页面,更新 Gamification.md sources 引用;更新 index.md Entities 节(ArchitectUX/LuxuryDeveloper/Whimsy-Injector)和 Concepts 节(Inclusive-Delight-Design/Gamification-System/Micro-Interaction-Design);步骤8完成:无冲突(与 ArchitectUX 的互补关系已在 Contradictions 节记录);步骤9完成:log.md 追加记录 + +## [2026-05-15] ingest | UX Researcher Agent Personality +- Source file: Agent/agency-agents/design/design-ux-researcher.md +- Status: ✅ 成功摄入 +- Summary: The Agency Design 部门 UX Researcher Agent 的角色定义与研究方法论——核心职责:通过混合研究方法(定性与定量)理解用户行为、验证设计决策、提供可落地洞察;与 UX Architect 和 Whimsy Injector 共同构成 Design 部门三支柱(Research → Architecture → Delight);默认要求包含无障碍研究和包容性设计测试 +- Source page: wiki/sources/design-ux-researcher.md(新建) +- Entities updated: UX-Researcher.md(追加 design-ux-researcher.md 到 sources,更新 definition 和 Key Collaborators)、ArchitectUX.md(追加 sources 引用,更新 Relationship to Other Agents) +- Concepts created: User-Research-Methodology.md、Usability-Testing.md、User-Persona.md、User-Journey-Mapping.md、Qualitative-Quantitative-Research.md、Research-Triangulation.md、Inclusive-Design-Research.md、Behavioral-Analytics.md +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第9行添加新条目(UX Researcher);步骤5完成:overview.md 在 design-ux-architect 段落后新增 UX Researcher 综合摘要(Design 三支柱定位);步骤6完成:UX-Researcher Entity 页面已存在,更新 definition/Key Collaborators/sources;ArchitectUX Entity 页面已存在,更新 sources 引用和 Relationship;步骤7完成:新建8个 Concept 页面(User-Research-Methodology/Usability-Testing/User-Persona/User-Journey-Mapping/Qualitative-Quantitative-Research/Research-Triangulation/Inclusive-Design-Research/Behavioral-Analytics),按字母顺序加入 index.md Concepts 节;步骤8完成:Contradictions 记录与 UX Architect 的张力(研究洞察 vs 技术约束,通过时序分工协调);步骤9完成:log.md 追加记录 + +## [2026-05-29] ingest | Paid Media Programmatic & Display Buyer Agent +- Source file: Agent/agency-agents/paid-media/paid-media-programmatic-buyer.md +- Status: ✅ 成功摄入 +- Summary: 战略性程序化购买与展示广告 Agent——覆盖 Google Display Network、DV360、The Trade Desk、Amazon DSP 等 DSP 平台;Demandbase、6Sense、RollWorks 等 ABM 平台;支持 Deal ID、PMP、程序化保证交易;通过 MCP 工具与 Google Ads API 集成实现自动化投放管理;管理 25+ 合作伙伴媒体(AMP);核心理念:受众优先,每次展示触达正确用户在正确上下文以正确频次;成功衡量以可见性(≥70% MRC)、品牌安全和上漏斗归因为主 +- Source page: wiki/sources/paid-media-programmatic-buyer.md(更新,日期更新为 2026-04-26,新增 CTV/OTT Advertising 概念,更新 paid-media-ppc-strategist 协调关系) +- Concepts created: Programmatic-Buying.md、ABM-Display.md、Viewability.md、Frequency-Cap.md、CTV-OTT-Advertising.md +- Entities updated: 无(DV360/The Trade Desk/Amazon DSP/Google Display Network/Demandbase/6Sense/RollWorks 等引用未达≥2次阈值) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md(已有条目)和 overview.md(第184行已有摘要);步骤3完成:更新 source page(新增 CTV/OTT Advertising 概念,更新 paid-media-ppc-strategist 协调方式,更新 date 为 2026-04-26);步骤4完成:index.md 第415行已有条目,无需更新;步骤5完成:overview.md 第184行摘要已准确,无需修订;步骤6完成:Entity 未创建(相关平台实体引用未达≥2次阈值);步骤7完成:新建5个 Concept 页面(Programmatic-Buying/ABM-Display/Viewability/Frequency-Cap/CTV-OTT-Advertising),按字母顺序加入 index.md Concepts 节;步骤8完成:检测无新冲突(与 paid-media-paid-social-strategist 效果衡量差异、paid-media-ppc-strategist 目标设定差异均已在 source page 记录);步骤9完成:log.md 追加记录 + +## [2026-05-01] ingest | Paid Media PPC Campaign Strategist Agent +- Source file: Agent/agency-agents/paid-media/paid-media-ppc-strategist.md +- Status: ✅ 成功摄入 +- Summary: The Agency Paid Media 部门企业级 PPC 战略 Agent——核心:$10K 到 $10M+ 月预算规模的 Google Ads/Microsoft Advertising/Amazon Ads 付费搜索架构;核心理念「账户架构即战略」(Account Structure as Strategy);核心能力:分层广告系列架构(Brand/Non-Brand/Competitor/Conquest 四层隔离)、自动化竞价(tCPA/tROAS/Max Conversions)、Performance Max 资产组设计、Google Ads API/MCP 实时数据驱动;作者:John Williams(@itallstartedwithaidea) +- Source page: wiki/sources/paid-media-ppc-strategist.md(更新) +- Concepts created: AccountArchitecture.md、AutomatedBiddingStrategy.md、BudgetPacing.md、PerformanceMax.md、AudienceStrategy.md、TieredCampaignArchitecture.md、CrossPlatformPlanning.md;Incrementality-Testing.md(追加来源) +- Entities created: CustomerMatch.md、GoogleAdsAPI.md、MCCLevelStrategy.md;GoogleAds.md/MicrosoftAdvertising.md/AmazonAds.md(覆盖并扩充) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md(含现有 Sources/Concepts/Entities 索引)和 overview.md(第182行已有该来源详细摘要);步骤3完成:更新 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第416行更新日期为 2026-05-01;步骤5完成:overview.md 第182行已有摘要,无需修订;步骤6完成:新建6个 Entity 页面(GoogleAds/MicrosoftAdvertising/AmazonAds/CustomerMatch/GoogleAdsAPI/MCCLevelStrategy),GoogleAds/AmazonAds/MicrosoftAdvertising 已存在于 index(保留现有路径),新增条目均已加入 index.md Entities 节;步骤7完成:新建8个 Concept 页面(AccountArchitecture/AutomatedBiddingStrategy/BudgetPacing/PerformanceMax/AudienceStrategy/TieredCampaignArchitecture/IncrementalityTesting/CrossPlatformPlanning),其中 AccountArchitecture/PerformanceMax/TieredCampaignArchitecture 已存在于 index(覆盖扩充),Incrementality-Testing(连字符版)追加来源;新增条目均已加入 index.md Concepts 节;步骤8完成:检测与 MarketingSEOSpecialist 的潜在冲突(SEO vs PPC 预算竞争),已记录协调建议;步骤9完成:log.md 追加记录 + +## [2026-05-17] ingest | Paid Media Ad Creative Strategist Agent +- Source file: Agent/agency-agents/paid-media/paid-media-creative-strategist.md +- Status: ✅ 成功摄入 +- Summary: 付费媒体广告创意策略 Agent——将广告创意从"凭感觉"转变为"可重复的科学";核心理念:创意是自动化竞价环境中广告主唯一真正可控的变量;15-headline RSA 架构设计、Meta Hook-Body-CTA 视频框架、Performance Max 资产组编排、创意疲劳监测(A/B 测试 + 统计显著性);成功指标:90%+ Ad Strength、15-25% CTR 提升、每两周新测试节奏;作者:John Williams(@itallstartedwithaidea) +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page) +- Source page: wiki/sources/paid-media-creative-strategist.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md(第403行已有该条目)和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第403行已有该条目,日期已存在,无需更新;步骤5完成:overview.md 无需修订(Sales 相关内容已在相关页面覆盖);步骤6完成:Entity 未创建(Key Entities 均以 wikilinks 记录于 source page);步骤7完成:新建4个 Concept 页面(Win-Theme.md / Three-Act-Proposal-Narrative.md / Executive-Summary-Formula.md / Content-Operations.md),均已加入 index.md Concepts 节;步骤8完成:检测与 support-executive-summary-generator 的 SCQA 框架张力(前者通用战略沟通,后者销售提案专用),已记录为层级互补非冲突;步骤9完成:log.md 追加记录 + +## [2026-05-19] ingest | Sales Proposal Strategist Agent +- Source file: Agent/agency-agents/sales/sales-proposal-strategist.md +- Status: ✅ 成功摄入 +- Summary: 销售提案撰写策略专家 Agent,将 RFP 响应转化为"赢叙事"(Win Narrative)。核心理念:提案是说服工具而非合规清单,叙事是最强差异化因素。三幕式提案叙事结构(Act I 理解挑战 → Act II 方案旅程 → Act III 转化状态)、3-5 个赢主题矩阵(Win Theme Matrix)、执行摘要五步结构、竞争定位技巧、内容运营体系。 +- Concepts created: Win-Theme.md、Three-Act-Proposal-Narrative.md、Executive-Summary-Formula.md、Content-Operations.md +- Source page: wiki/sources/sales-proposal-strategist.md(新建) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md(第403行已有该条目)和 overview.md;步骤3完成:新建 source page(含 frontmatter、Summary、Key Claims、Key Quotes、Key Concepts、Key Entities、Connections、Contradictions 八节);步骤4完成:index.md 第403行已有该条目,日期已存在,无需更新;步骤5完成:overview.md 无需修订(Sales 相关内容已在相关页面覆盖);步骤6完成:Entity 未创建(Key Entities 均以 wikilinks 记录于 source page);步骤7完成:新建4个 Concept 页面(Win-Theme.md / Three-Act-Proposal-Narrative.md / Executive-Summary-Formula.md / Content-Operations.md),均已加入 index.md Concepts 节;步骤8完成:检测与 support-executive-summary-generator 的 SCQA 框架张力(前者通用战略沟通,后者销售提案专用),已记录为层级互补非冲突;步骤9完成:log.md 追加记录 + +## [2026-05-29] ingest | Jira Workflow Steward Agent Personality +- Source file: Agent/agency-agents/project-management/project-management-jira-workflow-steward.md +- Status: ✅ 成功摄入 +- Summary: Jira Workflow Steward Agent 完整摄取——The Agency 项目管理部门的交付纪律守护者 Agent,专注于 Jira-Git 全链路可追溯性管理。核心方法:Jira Gate(强制 Jira ID 前置)→ 分支策略(feature/bugfix/hotfix/release 分流)→ Gitmoji 规范提交 → PR 模板 → Commit Hook 自动化验证。关键交付物:分支/提交决策矩阵(8种变更类型)、Commit Validation Hook 脚本、PR 模板、Delivery Planning 模板。成功指标:100% 分支映射 Jira 任务、提交合规率 ≥ 98%、从 Jira+Git 历史重建发布说明 < 10 分钟。与 [[Project-Management-Project-Shepherd]] 互补(任务创建→任务追踪),与 [[Project-Management-Studio-Operations]] 协同(运营流程→技术交付链路),与 [[ProjectManagerSenior]] 协同(任务列表→可追溯交付)。 +- Concepts created: (所有 Concept 均已存在于 wiki:Jira-Git-Traceability/Atomic-Commit/Branch-Strategy/Gitmoji-Commit/Jira-Gate/Pull-Request-Governance/Delivery-Traceability) +- Source page: wiki/sources/project-management-jira-workflow-steward.md +- Notes: 步骤1完成:读取原始文档(230行);步骤2完成:读取 index.md、overview.md;步骤3完成:source page 已存在(wiki/sources/project-management-jira-workflow-steward.md,含完整 frontmatter/Summary/Key Claims/Key Quotes/Key Concepts/Key Entities/Connections/Contradictions 八节);步骤4完成:index.md 第413行已有条目([Jira Workflow Steward Agent Personality](sources/project-management-jira-workflow-steward.md));步骤5完成:overview.md 第148-149行已有 Project-Management-Jira-Workflow-Steward 综合摘要,与 source page 内容一致无需修订;步骤6完成:Entity 页面已存在(wiki/entities/Jira-Workflow-Steward.md),Gitmoji/Jira 实体已有独立页面;步骤7完成:7个 Concept 页面均已存在(wiki/concepts/ 目录下:Jira-Git-Traceability.md/Atomic-Commit.md/Jira-Gate.md/Gitmoji-Commit.md);步骤8完成:Contradictions 已记录于 source page 第53-63行(与 Project-Management-Project-Shepherd 的 Jira ID 前置机制张力、与 Project-Management-Studio-Producer 的交付粒度层级差异);步骤9完成:log.md 追加记录 + +## [2026-05-18] ingest | Pipeline Analyst Agent +- Source file: Agent/agency-agents/sales/sales-pipeline-analyst.md +- Status: ✅ 成功摄入(更新) +- Summary: Pipeline Analyst Agent 文档更新——补充 Contradictions 节(与 sales-deal-strategist 和 sales-coach 的 MEDDPICC 应用视角张力与协调方案)、新增 Key Quotes(精确诊断示例)、扩充 Key Claims(预测准确性指标、销售辅导效果数据)、新增 Key Concepts(ForecastAccuracy/LeadIndicator/SalesCycleLength)、丰富 Key Entities(补充 SalesCoach 角色描述)、补充 Connections 细节说明。Source page date 更新至 2026-05-18。 +- Concepts created: (未创建独立 Concept 页面,Key Concepts 均以 wikilinks 形式记录于 source page:PipelineVelocity/MEDDPICC/DealHealthScoring/QualityAdjustedCoverage/RevenueOperations/ForecastAccuracy/LeadIndicator/SalesCycleLength) +- Source page: wiki/sources/sales-pipeline-analyst.md(更新:date 2026-05-18,补充 Contradictions 节、扩充 Key Claims/Key Quotes/Key Concepts/Key Entities/Connections) +- Notes: 步骤1完成:读取原始文档;步骤2完成:读取 index.md 和 overview.md(overview.md 第915行已有完整 sales-pipeline-analyst 综合摘要);步骤3完成:更新 source page(日期更新+内容扩充:Key Claims扩充3条/Key Quotes扩充1条/Key Concepts扩充3个/Key Entities扩充SalesCoach描述/Connections补充细节/新增Contradictions节);步骤4完成:index.md 第407行补全日期(2026-05-18)和一行摘要;步骤5完成:overview.md 第915行已有完整综合摘要,内容一致无需修订;步骤6完成:Entity 未创建独立页面(Key Entities 均以 wikilinks 记录于 source page);步骤7完成:Concept 均以 wikilinks 形式记录于 source page,未达到独立建页阈值;步骤8完成:检测并记录两个 Contradictions(与 sales-deal-strategist 的 MEDDPICC 诊断vs战略张力,与 sales-coach 的 Deal评估vs代表能力评估张力);步骤9完成:log.md 追加记录