Files
openhuman/gitbooks/features/obsidian-wiki/auto-fetch.zh-CN.md
T
JAYcodrGitHubagent:skill-master <skill-master@openclaw>Steven Enamakel
0f439fe1e1 docs(i18n): add zh-CN translations for integrations, mascot, model-routing, privacy, and tools
## Summary
- 添加第二批核心功能模块的中文翻译(8 个文件):隐私与安全、第三方集成、吉祥物、模型路由、编码器、语音、定时任务、系统与工具
- 修复批次 A 遗留的 12 处未本地化内部链接(因第二批新增目标 `.zh-CN` 文件,之前保留的英文链接现在可指向中文版)
- 修复第二批翻译中的 12 处质量问题:错别字、过直译、中英混杂、指向不存在的 `.zh-CN` 链接
- 修复隐私与安全文档中指向 `local-ai.zh-CN.md` 和 `triggers.zh-CN.md` 等尚未翻译文件的错误链接
- 统一 mascot、integrations 等跨模块链接指向,确保中文读者在 zh-CN 文档间流转
- 所有修改仅涉及 `.md` 文档,无代码变更

## Problem
- OpenHuman 中文用户阅读英文文档存在语言障碍
- 第一批汉化(overview + lightweight features)完成后,核心功能模块(integrations、model-routing、native-tools 等)仍无中文版
- 批次 A 的部分链接因目标文件当时未翻译而保留英文版,随着第二批新增 zh-CN 文件,这些链接已过时

## Solution
- 基于英文原文逐文件翻译,遵循术语统一表(vault→存储库、Agent→智能体、LLM/Token 保留英文等)
- 翻译完成后运行审计脚本扫描,修复所有未本地化链接、MD040 代码块标识、术语一致性问题
- 对于目标 `.zh-CN.md` 不存在的链接(如 triggers、subconscious、local-ai、agent-coordination),保持指向英文原文,在 Related 中标记后续批次覆盖计划

## Submission Checklist


- [x] I have read the Codex PR Checklist
- [x] I have confirmed Type Check passes (`pnpm typecheck`) (N/A: Markdown docs only)
- [x] I have confirmed the app builds locally (`pnpm build`) (N/A: Markdown docs only)
- [x] I have added tests for this change (N/A: i18n docs do not affect testable logic)
- [x] I have updated documentation (N/A: this PR is documentation-only)
- [x] I have confirmed no feature flags are required (N/A: no code changes)
- [x] I have confirmed Prettier passes (`pnpm format:check`) (N/A: Markdown docs only)

## Impact
- Runtime/platform impact: None
- Performance/security/migration/compatibility: None

## Related
- Follow-up PR(s)/TODOs:
  - Batch C: subconscious.zh-CN.md, triggers.zh-CN.md, local-ai.zh-CN.md, agent-coordination.zh-CN.md
  - Batch C: memory-tools.zh-CN.md, meeting-agents.zh-CN.md, developing/cef.zh-CN.md

---

## AI Authored PR Metadata

### Linear Issue
- Key: N/A
- URL: N/A

### Commit & Branch
- Branch: `docs/i18n-batch-b-core-features`
- Commit SHA: see PR commits

### Validation Run
- [x] `pnpm --filter openhuman-app format:check` — N/A: no code changed
- [x] `pnpm typecheck` — N/A: no code changed
- [x] Focused tests: N/A
- [x] Rust fmt/check: N/A
- [x] Tauri fmt/check: N/A

### Validation Blocked
- N/A

### Behavior Changes
- Intended behavior change: None
- User-visible effect: Chinese users can now read core feature docs in zh-CN

### Parity Contract
- Legacy behavior preserved: N/A
- Guard/fallback/dispatch parity checks: N/A

### Duplicate / Superseded PR Handling
- N/A


<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

* **Localization**
  * Updated Simplified Chinese UI strings for vault operations and MCP server/settings.

* **Documentation**
  * Added extensive Chinese documentation covering integrations, mascot/meeting agents, model routing, native tools (voice, web search/scraper, coder, cron, system/tools), memory tree, obsidian wiki, token compression, platform, privacy/security, and subconscious/agent coordination.

* **Chores**
  * Updated ignore rules to exclude AI assistant progress tracking.
  * Added documentation maintenance and validation scripts.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/tinyhumansai/openhuman/pull/2450?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: agent:skill-master <skill-master@openclaw>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-22 13:06:20 -07:00

3.5 KiB
Raw Blame History

description, icon
description icon
每隔二十分钟,OpenHuman 遍历每个活跃集成,将新数据整合进你的记忆树。 无需提示词,无需编写轮询循环。 arrows-rotate

自动拉取集成

大多数"AI 助手"是被动的:你提问,它们思考,它们回答。OpenHuman 则相反。它持续从你的技术栈中拉取数据,所以当你问"昨晚我的收件箱收到了什么?"时,答案已经在记忆树里了。

工作原理

一个单一的周期性调度器每二十分钟触发一次。每次触发时,它遍历每个活跃的集成,查找匹配的原生 provider,如果该连接的距上次同步的时间足够长,就调用 provider.sync(ctx, SyncReason::Periodic)

每 20 分钟
    |
    v
遍历每个活跃连接(Gmail、Notion、GitHub……)
    |
    +--> 检查 sync_statetoolkit, connection_id
    |       - 上次同步时间戳
    |       - 每日预算
    |       - 去重集合
    |       - 游标
    |
    +--> 如果间隔已过 -> provider.sync()
            |
            +--> 成功 -> record_sync_success(ts)

这里有几个关键点:

  • 一个全局触发,而不是每个连接一个任务。 每个用户的连接数很少;一个 20 分钟的触发周期足够了,而且 bookkeeping 很简单。
  • 状态按 (toolkit, connection_id) 划分。 每个连接有自己的游标、上次同步时间戳、去重集合和每日预算。重启时从中重建;即使重启后错过了一次周期性同步也无害,因为下一个触发周期会重新拾取。
  • 原生同步与事件驱动路径共享。 当 webhook 或 on_connection_created 事件触发非周期性同步时,它们在同一个 sync_state 上盖戳,所以调度器不会冗余地重新触发。
  • 错误被记录并静默处理。 调度器绝不能在其循环中 panic,否则周期性同步会在进程剩余生命周期内静默停止。

什么进入记忆树

每个 provider 负责定义自己的摄入逻辑。例如 Gmail provider 获取一页新消息,运行邮件规范化器,通过相同的手动 UI 摄入路径传输结果,块进入 SQLite,摘要 bucket 被填充,任何被触及的实体都会将主题树标记为脏。

其他 providersGitHub、Slack、Notion……)遵循相同的形状:从游标后获取新项目 → 规范化 → 摄入到记忆树

为什么是 20 分钟触发周期

最初设计每 60 秒运行一次。当连接了多个 provider 时,这意味着持续不断的 HTTP 获取和数据库写入,在笔记本上明显繁忙。二十分钟用一点延迟换取明显更少的前台负载。每个 provider 的 sync_interval_secs 仍然限制实际同步之间的最小延迟;全局触发周期只放宽上限。

调优和可见性

  • 每个 provider 的间隔。 每个原生 provider 声明自己的 sync_interval_secs,所以高流量工具包(Gmail)可以比低流量工具包(Stripe)更频繁地同步。
  • 每日预算。 每个连接有每日请求预算,以保持 API 成本和速率限制合理。
  • 日志。 同步活动以 debug 级别记录在 core 日志中。

另见