langchain-ai/openwiki
GitHub: langchain-ai/openwiki
OpenWiki 是一款命令行工具,利用 LLM 自动为代码库生成和维护面向 AI 智能体的文档,并支持通过 CI/CD 流水线自动提交文档更新。
Stars: 9634 | Forks: 629
# OpenWiki
OpenWiki 是一个专为智能体(agent)设计的 CLI 工具,用于为您的代码库编写和维护文档。

## 安装
```
npm install -g openwiki
```
## 快速开始
初始化 OpenWiki,配置您的模型和 API key,然后生成文档:
```
openwiki --init
```
然后为了确保您的文档保持最新,请为您的 Git 提供商添加 CI 工作流,以自动提交带有文档更新的 PR 或 merge request:
- GitHub Actions:将 [openwiki-update.yml](./examples/openwiki-update.yml) 复制到 `.github/workflows/openwiki-update.yml` 中。
- GitLab CI:将 [openwiki-update.gitlab-ci.yml](./examples/openwiki-update.gitlab-ci.yml) 复制到 `.gitlab-ci.yml` 中,或者将其包含在您现有的 GitLab pipeline 中。
## 用法
启动交互式 CLI:
```
openwiki
```
使用初始请求启动 OpenWiki:
```
openwiki "Please generate documentation for this repository"
```
运行单个命令并退出:
```
openwiki -p "Summarize what you can do"
```
初始化 OpenWiki:
```
openwiki --init
```
更新现有文档:
```
openwiki --update
```
显示帮助:
```
openwiki --help
```
当不存在 wiki 时,`openwiki` 会在 `openwiki/` 目录中创建初始文档。如果 `openwiki/` 已经存在,它会根据仓库的更改刷新该文档。默认情况下,CLI 在每次运行后会保持打开状态,以便您可以发送后续消息。使用 `-p` 或 `--print` 可进行一次性的非交互式运行,该运行会打印出最终的助手输出。
`openwiki` 会自动将提示词追加到您的 `AGENTS.md` 和/或 `CLAUDE.md` 文件中,以指示您的编码 agent 在搜索上下文时参考它。如果您的代码库中尚未存在该文件,OpenWiki 会为您创建它。
在首次交互式运行时,OpenWiki 会要求您配置您的推理提供商、API key 和 LLM。您还可以设置 LangSmith API key,以便将您的 OpenWiki 运行 trace 到名为“openwiki”的 LangSmith tracing 项目中(可选)。
这些配置选项和密钥将保存到您本地计算机的 `~/.openwiki/.env` 文件中。
## 自定义
OpenWiki 开箱即用,支持 OpenRouter、Fireworks、Baseten、OpenAI、OpenAI 兼容的提供商以及 Anthropic。默认情况下,预定义了一些模型(GLM 5.2、Kimi K2.6、Sonnet 5 等),但对于每个推理提供商,OpenWiki 都允许您指定自定义的模型 ID。
### 替代 base URL
要将 Anthropic 提供商路由到替代的、兼容 Anthropic 的 endpoint
(例如自托管或代理的 gateway)而不是默认的 API,请在 `ANTHROPIC_API_KEY` 旁边设置 `ANTHROPIC_BASE_URL`:
```
OPENWIKI_PROVIDER=anthropic
ANTHROPIC_API_KEY=your-key
ANTHROPIC_BASE_URL=https://your-gateway.example.com/anthropic
```
### 兼容 OpenAI 的 endpoint
`openai-compatible` 提供商通过必需的 base URL 针对任何兼容 OpenAI 的 chat-completions
endpoint。这可用于兼容 OpenAI 的 LLM
endpoint,例如当 LiteLLM gateway 被用作 gateway 时暴露的那些 endpoint ——
让您能够通过单一
OpenAI 形态的 API 访问 gateway 所代理的任何上游提供商。将模型 ID 设置为 gateway 暴露的任何名称:
```
OPENWIKI_PROVIDER=openai-compatible
OPENAI_COMPATIBLE_API_KEY=your-gateway-key
OPENAI_COMPATIBLE_BASE_URL=https://your-gateway.example.com/v1
OPENWIKI_MODEL_ID=your-gateway-model-name
```
Base URL(以及所有凭证)可以设置在您的环境中,或存储在 `~/.openwiki/.env` 中。
如果您希望添加其他的推理提供商或模型,请提交一个 PR!
## 贡献
欢迎您的贡献!在提交 PR 之前,请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。我们有意将 PR 严格限制为每次只进行一项更改,如果 PR 捆绑了不相关的更改,可能会被关闭并要求您拆分它们。
标签:AI代理, C2, LLM, MITM代理, SOC Prime, Unmanaged PE, 代码库维护, 开发工具, 文档生成, 暗色界面, 网络调试, 自动化, 自动化攻击