Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

docs: update the providers page for openai-compatible, registerProvider and provider imports

クローズ
#291 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@prakashNalla がすでに取り組んでいます。

2026年10月21日 から。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
76/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
markdown, typescript
領域
documentation

調査の方向性

Read website/src/content/docs/core/providers.mdx alongside packages/core/src/types.ts and ProviderConfig to check the options table. Use packages/core/tests/providers/openai-compatible.test.ts and registry.test.ts for working examples, and review packages/core/src/providers/registry.ts, base.ts, and packages/server/src/config.ts for registration and custom provider behavior. Update the listed sections and examples, then verify them with the website build and add the empty changeset described in the issue.

索引モデルが issue の本文から書いたものです。

説明

documentation good first issue hacktoberfest website

Three provider changes landed this week and the providers page doesn't know about any of them yet: the openai-compatible type and registerProvider() (#289), the provider classes moving to their own import paths (#288), and the server taking a provider object you built yourself. This issue brings website/src/content/docs/core/providers.mdx up to date.

What to do

  • "Provider configuration" (lines 8 to 31): add an openai-compatible block. Note that apiKey is required for claude, openai and gemini, and setup fails with a clear error without it.
  • "Options" table (lines 43 to 53): add headers (OpenAI and openai-compatible, sent on every request) and supportsTools (same providers, default true, tools aren't sent when false and one warning is logged). Change the maxTokensParam row: the default is 'max_completion_tokens' for openai and 'max_tokens' for openai-compatible.
  • "OpenAI-compatible servers" (lines 61 to 83): switch the Ollama and OpenRouter examples to type: 'openai-compatible'. Ollama needs no apiKey now, so drop the 'ollama' placeholder line. Add one example with headers (OpenRouter's HTTP-Referer is a good one) and one with supportsTools: false for a model that can't call tools. baseURL and model are required for this type.
  • New section "Custom providers", after "AIProvider interface":
    • registerProvider('my-llm', async (config) => new MyProvider(config)), then provider: { type: 'my-llm', ... }. The factory gets the whole provider config. Registering a built-in name throws, and registering the same name again replaces it.
    • The other way: pass the provider object itself as the server's provider (packages/server/src/config.ts, lines 17 to 20). Anything with step() or chat() works.
  • "Direct provider usage" (lines 112 to 138): add a short note that ClaudeProvider, OpenAIProvider and GeminiProvider are imported from @chatcops/core/providers/claude, /openai and /gemini, not from @chatcops/core, so importing core doesn't load all three SDKs.

Where to look

  • packages/core/src/types.ts, ProviderConfig
  • packages/core/src/providers/registry.ts and base.ts (createProvider)
  • packages/core/tests/providers/openai-compatible.test.ts and registry.test.ts for working configs

Acceptance criteria

  • Every option in ProviderConfig is in the Options table, and nothing that isn't
  • Every code sample on the page matches the current types (copy them into a scratch .ts file in packages/core and run pnpm --filter @chatcops/core typecheck, then delete it)
  • pnpm --filter @chatcops/website build succeeds
  • Changeset: pnpm changeset --empty (docs only)

Please get this merged by Dec 8, since the v0.6 release notes link to it.


Want to work on this? Comment below and I'll assign it to you. Please take one issue at a time, branch off dev, and open your PR against dev with Closes #<this issue number>. Setup notes (pnpm, build before test) are in CONTRIBUTING.md.

主要言語
TypeScript
スター
13
フォーク
7
平均マージ
3時間 33分
マージ済み PR(30日)
176

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

codercops/chatcops のほかの issue

codercops/chatcops の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。