Skip to content

feat(acli): tongyi native DashScope route + expert guide surfaces - #190

Open
lzsweb wants to merge 3 commits into
mainfrom
release/agentic-cli-4
Open

feat(acli): tongyi native DashScope route + expert guide surfaces#190
lzsweb wants to merge 3 commits into
mainfrom
release/agentic-cli-4

Conversation

@lzsweb

@lzsweb lzsweb commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Switch the vendored acli Tongyi provider to the native DashScope generation route (/api/v1/services/aigc/{text,multimodal}-generation/generation) with dual-endpoint fallback; streaming wrong-path errors (HTTP 200 + SSE error event) now fall back via first-chunk peek before committing a path
  • Surface the expert guide link: TUI welcome banner and CLI startup banner show a Guide row when embedded with a guide_url (used by the dashscope SDK-expert entry)
  • Sync fixes from agenticCLI: provider/key setup wizards no longer dead-end on a stale provider; keep the extras name in the rl registration warning

Test plan

  • Unit tests: 729 passed / 9 skipped (incl. new test_tongyi_native.py, test_banner_guide.py, test_handlers_key_docs.py)
  • Live probe: qwen3.8-max streams over the native route and caches the working endpoint
  • CI green on the 3.9–3.13 matrix

zhansheng.lzs added 3 commits September 5, 2026 19:49
The warning quotes a literal 'dashscope[rl]', which rich reads as a style
tag and drops — users were told to run `pip install 'dashscope'`, which
installs none of the extras the message is about. Escape the exception
text.

Also drop the duplicated instruction: the reinforcement package's
ImportError already says how to install, so the CLI appended a second
copy. The hint is now added only when the underlying message lacks one.
Mirrors agenticCLI 1acdd7b. A provider persisted from a directory that
had a custom-extensions.toml (e.g. zhipu) cannot be built elsewhere, and
both entry points mishandled it: startup demanded an API key for a
provider with no definition and suggested an env var nothing reads, and
/provider offered that unbuildable name as the Enter default so a bare
Enter returned "Unknown provider: zhipu; cancelled".
- providers/tongyi: switch from compatible-mode to the native
  generation route so calls land in the native SLS logstore; per-model
  text/multimodal-generation endpoint fallback covering both the
  HTTP-400 and the 200-SSE error-event variants of "url error";
  content parts/tool calls converted to the native shape
- embedded/sdk: new module + guide_url params; the dashscope expert
  entry stamps x-dashscope-sdk-client as acli/<version>/expert and the
  TUI/REPL startup banners show the locale-aware expert guide link
- first-run surfaces: get-api-key and dashscope-sdk-expert links in
  the no-key gate, the example-download offer, and the example README
- README/README_zh: how to obtain an API key + expert guide link
- includes the pending acli sync baseline (provider/key wizard fixes,
  subagents/config/dev/session/adapter updates)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant