langchain-ai/openwiki

GitHub: langchain-ai/openwiki

OpenWiki 是一款命令行工具,利用 LLM 自动为代码库生成和维护面向 AI 智能体的文档,并支持通过 CI/CD 流水线自动提交文档更新。

Stars: 9634 | Forks: 629

# OpenWiki OpenWiki 是一个专为智能体(agent)设计的 CLI 工具,用于为您的代码库编写和维护文档。 ![OpenWiki](https://static.pigsec.cn/wp-content/uploads/repos/cas/f1/f122901e462ec7eec42e1f9796ee5d8b7b71e5f0bc590c046ed29e264ae5e60a.png) ## 安装 ``` 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, 代码库维护, 开发工具, 文档生成, 暗色界面, 网络调试, 自动化, 自动化攻击