---
type: study
created: 2026-08-11
updated: 2026-08-11
sensitivity: private
status: active
tags:
  - study
  - langchain
  - openwiki
  - operations
  - security
topic: OpenWiki 配置、模型提供商、自动化与安全
sources:
  - https://docs.langchain.com/oss/openwiki/cli-reference
  - https://docs.langchain.com/oss/openwiki/customize
  - https://docs.langchain.com/oss/openwiki/providers
  - https://docs.langchain.com/oss/openwiki/automate-updates
  - https://docs.langchain.com/oss/openwiki/changelog
last_verified: 2026-08-11
---
# OpenWiki：配置、提供商、自动化与安全

## CLI 工作方式

- `openwiki`：当前仓库的交互式 code-mode session。
- `openwiki --init` / `--update`：初次生成或增量更新，不能同时使用。
- `openwiki -p`：一次性运行，打印最终输出后退出。
- `openwiki personal ...`：个人 wiki。
- `openwiki visualize`：本地 graph reader。
- `openwiki auth`：OAuth 与 connector 配置。
- `openwiki ingest <source|instance|all>`：抓取 source raw data 并更新 personal wiki。
- `openwiki cron ...`：macOS personal connector schedule。

交互 session 可用 `/provider`、`/model`、`/api-key`、`/langsmith-key`、`/init`、`/update` 与 `/exit`。API key prompt 被遮罩，配置持久化到本地 `.env`。

## 本地状态

| 路径 | 用途 |
|---|---|
| `~/.openwiki/.env` | provider config、API key、OAuth token |
| `~/.openwiki/openwiki.sqlite` | conversation checkpoint |
| `~/.openwiki/install-id` | 匿名 telemetry 安装 ID |
| `~/.openwiki/wiki/` | personal wiki |
| `~/.openwiki/onboarding.json` | personal onboarding 与 connector schedules |
| `~/.openwiki/connectors/` | connector config 与 raw data |

文档声明目录权限为 `0700`、`.env` 为 `0600`。OAuth refresh token 应按密码级别保护；配置文件不得包含 secret 原值。

## 模型提供商

支持 OpenAI、ChatGPT OAuth、GitHub Copilot、OpenRouter、Anthropic、Gemini、Vertex AI、Bedrock、Baseten、Fireworks、Nebius、NVIDIA 和 OpenAI-compatible endpoints。

关键边界：

- 进程环境优先于 `~/.openwiki/.env`。
- provider/model 由 `OPENWIKI_PROVIDER` 与 `OPENWIKI_MODEL_ID` 指定。
- provider request 默认重试三次，可配置为正整数。
- Copilot 在本地可复用 GitHub CLI credential；CI 需要 OAuth token，classic/fine-grained PAT 不适用。
- ChatGPT provider 使用订阅侧 Codex allowance，OAuth refresh token 必须视为密码。
- Vertex AI 使用 ADC、project/location 和模型权限；MaaS model 可能有区域限制。
- Bedrock 优先显式 credential，否则走 AWS SDK default chain；部分模型需要 cross-region inference profile ID。
- OpenAI-compatible endpoint 即便忽略 key，OpenWiki 仍要求配置一个 key 值。
- OpenRouter 可显式限制上游 provider，减少路由漂移。

## Customization

- `openwiki/INSTRUCTIONS.md` 与 `~/.openwiki/INSTRUCTIONS.md` 是用户拥有的 brief，init/update 不重写。
- Code run 只维护 agent instruction 文件的 OpenWiki marker block。
- `--telemetry-file=<path>` 可把实际将发送的 telemetry payload 写到本地供检查。

匿名 telemetry 默认记录 run command、success/failure/no-op、粗粒度错误类别，以及 init 时的 mode/provider/connector names；文档声明不收集文件内容、仓库名、凭据、prompt、模型输出、connector payload、错误消息、路径、URL、model ID 或个人信息。

可以使用 `OPENWIKI_TELEMETRY_DISABLED=1` 或 `DO_NOT_TRACK=1` 禁用；CI 也应显式决定是否保留 telemetry。

## CI 自动更新

官方提供 GitHub Actions、GitLab CI、Bitbucket Pipelines 示例。CI 使用：

```text
openwiki code --update --print
```

`--update` 在没有初始 wiki 时也会创建，因此 CI 不需要先执行 `--init`。workflow 通过仓库 secret/CI variable 注入 provider、model 与可选 LangSmith tracing key。

OpenWiki 只有在 wiki 实际变化时才更新 `.last-update.json`，无变化则不产生 PR/MR。变更 PR 可能包含 wiki、`AGENTS.md`、`CLAUDE.md` 和 workflow 本身，review 时应分别检查生成知识、agent pointer 和 CI 权限。

## 供应链与权限建议

- CI token 只授予读取源码与创建分支/PR 所需的最小权限。
- 固定 OpenWiki 与 action 版本，升级前审查 changelog 与生成 diff。
- `.openwikiignore` 排除 secrets、生成物、大型二进制和受限目录。
- 禁止把 `~/.openwiki/.env`、connector raw data 或 checkpoint 提交仓库。
- PR 中重点审查敏感信息泄露、错误架构结论、AGENTS marker 变化与异常大 diff。
- 自动更新只创建可审查 PR，不直接写保护分支。

## Changelog 边界

文档内的 changelog 路径当前以 HTTP 307 重定向到 OpenWiki GitHub Releases。它是外部发布记录入口，不是 docs.langchain.com 内的独立正文页；升级时需要单独审查 release notes 和依赖变更。

