docs(openui-chat): document Pokee AI as an OpenAI-compatible provider - #938
docs(openui-chat): document Pokee AI as an OpenAI-compatible provider#938devin-ai-integration[bot] wants to merge 1 commit into
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Runtime testing: OpenUI chat example against Pokee AI (
|
| Prompt | Result |
|---|---|
| Stock market analysis | ✅ full dashboard |
| Plan a trip to Japan | ✅ full itinerary |
| Latest sports news |
✅ "Stock market analysis" — parallel tool calls → table + chart
8 × get_stock_price (one per ticker), values matching the mocked bases in route.ts (NVDA $878.83, AAPL $188.15):
⚠️ Pre-existing issue this surfaced (not caused by this PR)
"Latest sports news" intermittently (~50%) returns a completely empty assistant bubble with no error. pokee-isaac keeps re-calling search_web until runTools hits DEFAULT_MAX_CHAT_COMPLETIONS = 10; the route's end handler then emits a bare [DONE] having forwarded zero content chunks.
Reproduced at the API level: attempt 1 → 3 tool calls / 288 content chunks (fine); attempt 2 → 16 tool calls / 0 content chunks (empty).
Two independent hardening options for route.ts, both out of scope for this docs change:
- In the
endhandler, if zero content chunks were forwarded, emit an error/fallback chunk instead of a bare[DONE]. - Pass an explicit
maxChatCompletionsand/or nudge the system prompt to answer after tool results.
✅ "Plan a trip to Japan" — no-loop path
One search_web call, six accordions, numbered day-by-day timeline:
Caveats
- The example's tools are mocked, so content is fabricated by design; assertions target structure and mocked value ranges.
- Dev server logs were not captured, so "no server errors" is unverified.
What
examples/openui-chatalready routes through any OpenAI-compatible endpoint viaOPENAI_BASE_URL, so running it on Pokee-Isaac needs no code change — only config. This documents that config and adds the missingenv.example(other examples likehands-on-table-chatalready ship one).Pokee's
/v1/chat/completionsis OpenAI-shaped and the only model id ispokee-isaac(verified againstapi.pokee.ai/v1/modelsand a live completion), sorunToolsstreaming insrc/app/api/chat/route.tsworks unchanged.Changes
examples/openui-chat/README.md: Pokee example alongside the existing OpenRouter one (OPENAI_BASE_URL=https://api.pokee.ai/v1,OPENAI_MODEL=pokee-isaac)examples/openui-chat/env.example: new, with the OpenAI defaults and the Pokee override commented outTest Plan
Live
pokee-isaaccompletion throughapi.pokee.ai/v1succeeded; the example app was then run against Pokee end to end (recording shared with the requester).Checklist
Link to Devin session: https://app.devin.ai/sessions/0226b24eba644deaa4af169313f98838
Requested by: @zahlekhan