Commit Graph

387 Commits

Author SHA1 Message Date
故璃 3909a17da1 Merge branch 'main' into feat/cli-skill-sync 2026-08-17 12:51:26 +08:00
故璃 640dd02bc5 chore(release): prepare 1.15.1 2026-08-17 11:55:36 +08:00
gujieye 57c2d98308 Merge pull request #160 from modelstudioai/feat/skill-init-simplify
feat: update skill init output
2026-08-17 11:01:35 +08:00
故璃 79a0d2db9a fix(permission): drop explicit undefined return and make revoke --all e2e credential-independent 2026-08-16 23:48:19 +08:00
故璃 8e6af6c669 feat: update model quota limit & add model permission command 2026-08-16 19:49:23 +08:00
若麒 cdf94a8c89 chore(release): prepare 1.15.0 2026-08-15 14:33:55 +08:00
故璃 7461189007 Merge branch 'main' into feat/cli-skill-sync 2026-08-15 10:22:09 +08:00
故璃 4ccda5f929 feat: update skill init output 2026-08-15 10:15:00 +08:00
gujieye a9b0a752a8 Merge pull request #155 from modelstudioai/feat/coding-plan-usage
feat: add coding plan usage
2026-08-14 17:36:47 +08:00
Gong Shiqi 2b7a0c742a Merge pull request #156 from modelstudioai/feat/text-chat-responses-api
feat(text): support Responses API
2026-08-14 17:21:40 +08:00
Gong Shiqi e5818e103c Merge pull request #145 from modelstudioai/feat/change-skills-install
Switch official skill install to bl skill init
2026-08-14 17:21:24 +08:00
gujieye 5f1c97940d Merge branch 'main' into feat/coding-plan-usage 2026-08-14 17:05:53 +08:00
若麒 94ccab0898 feat(text): support Responses API 2026-08-14 17:02:29 +08:00
若麒 f3c7b6fb10 docs(readme): add standalone installation options 2026-08-14 16:28:51 +08:00
若麒 eb196cb4a6 docs(readme): add standalone installation options 2026-08-14 16:26:47 +08:00
故璃 9133b6bdd1 feat: add coding plan usage 2026-08-14 15:56:16 +08:00
clh02467605 98ba3279fa fix(runtime): expose errno in fetch-failed JSON cause.code 2026-08-14 15:27:26 +08:00
clh02467605 3b7c4cfabc Merge remote-tracking branch 'refs/remotes/origin/main' into feat/mcp-support-sse 2026-08-14 14:42:21 +08:00
clh02467605 d5d9fcb50f fix: fixed sse error 2026-08-14 14:41:37 +08:00
clh02467605 3ea2931152 fix(mcp): harden SSE parsing, abort, and fallback matching 2026-08-14 11:11:47 +08:00
gujieye bedd59df27 Merge branch 'main' into codex/usage-token-plan-reset-times 2026-08-13 19:54:06 +08:00
故璃 39a488181e refactor(usage): align token-plan with --output convention and tolerant quota reading 2026-08-13 19:43:11 +08:00
若麒 4ec0f6828b fix(update): sync skills after binary upgrades 2026-08-13 19:14:49 +08:00
clh02467605 4dcec7d075 fix(mcp): fix SSE header timeout, 405 fallback matching, and parseSSE chunking 2026-08-13 18:32:54 +08:00
clh02467605 ae0c2c1213 fix(speech): handle qwen3-filetrans singular result.transcription_url
Normalize async ASR transcription items so waiting mode downloads text and --out works without changing shared media task types.
2026-08-13 15:52:34 +08:00
clh02467605 01a62eb85b Merge remote-tracking branch 'refs/remotes/origin/main' into feat/mcp-support-sse 2026-08-13 15:40:04 +08:00
clh02467605 798ce596f6 fix(mcp): harden SSE fallback for Bailian and --url overrides 2026-08-13 15:37:32 +08:00
clh02467605 bd91e9d1c2 Merge remote-tracking branch 'refs/remotes/origin/main' into fix/fixed_issue_146
# Conflicts:
#	skills/bailian-gen/reference/index.md
#	skills/bailian-gen/reference/speech.md
2026-08-13 14:36:16 +08:00
clh02467605 e244771ee9 test(speech): harden flash ASR contract coverage and docs
Add SSE disable header, data-URI format inference, broader response text
parsing, HTTP contract e2e, pipeline routing tests, and ASR model selection
guidance in bailian-gen.
2026-08-13 14:25:47 +08:00
若麒 8a0dd70206 feat(cli): show command authentication requirements in help 2026-08-13 12:01:41 +08:00
clh02467605 9379da7a4c fix(speech): align flash vocabulary_id and qwen3-filetrans language params 2026-08-13 09:47:09 +08:00
clh02467605 ddcd564e61 test: dry-run realtime ASR usage-error e2e to skip auth in CI 2026-08-12 17:22:25 +08:00
clh02467605 241de61866 fix: support sync-flash and qwen3-filetrans ASR models in speech recognize
- Add asr-routes.ts with resolveAsrApi() to route models to the correct
  DashScope endpoint instead of always hitting asr/transcription
- Async filetrans: fun-asr / paraformer / *-filetrans → file_urls (plural)
- Async filetrans (qwen3): qwen3-asr-flash-filetrans* → file_url (singular)
- Sync flash (input-audio): fun-asr-flash* / qwen-audio-*-asr-flash → multimodal-generation
- Sync flash (qwen3): qwen3-asr-flash* → multimodal-generation + asr_options
- Realtime/streaming models now give a clear USAGE error instead of a
  confusing server-side "url error"
- Propagate same routing logic to pipeline speechRecognize step
- Add table-driven unit tests and dry-run e2e assertions
Fixes #146
2026-08-12 17:12:23 +08:00
故璃 61d9a74166 fix: 1.14.3 2026-08-12 17:05:18 +08:00
故璃 69eb759490 refactor(usage): consolidate shared poll logic; migrate freeTrial APIs to bailian-commerce
Dedup:
- shared.ts: extract generic pollConsoleUntilDone (request-builder callback
  absorbs each wrapper convention); pollTelemetryApi becomes a thin wrapper;
  add pollFreeTierBatch
- freetier.ts / stats.ts: drop inline duplicates of extractResponseData,
  polling, model-list paging, free-tier extractors and usage label maps;
  import from shared.ts (behaviour unchanged: freetier keeps its 20-poll
  budget, telemetry keeps 30)

Endpoint migration (broadscope-bailian.freeTrial -> bailian-commerce.freeTrial):
- queryFreeTierQuota, queryFreeTierOnlyStatus, batchActivateFreeTierOnly,
  batchDeactivateFreeTierOnly
- update the console call example and the gateway doc comment to match

Note: verified statically and via dry-run; live calls pending a fresh
console login (session expired).
2026-08-12 16:30:08 +08:00
clh02467605 313966d7a9 feat(mcp): add SSE support with fallback mechanism for MCP connections
- Add McpSseClient implementation for classic HTTP+SSE MCP protocol
- Implement connectBailianMcpWithFallback with Streamable HTTP to SSE fallback
- Add isStreamableHttpUnsupported helper to detect 405 streamableHttp errors
- Update activate-hint logic to handle WebSearch 405 streamableHttp cases
- Replace direct MCP client usage with connection manager in call/tools commands
- Add proper client cleanup with close() calls in finally blocks
- Export new MCP connection utilities and types from core client module
- Add comprehensive tests for SSE client and fallback behavior
2026-08-12 15:44:51 +08:00
故璃 d74d4efcd0 fix(dataset): align validation with the platform data-format rules doc
Reviewed against the official text-tuning data rules; fixes two confirmed
mismatches and fills enforcement gaps:

- thinking: exempt assistant messages carrying tool_calls from the
  THINK_TAG_NOT_LAST check — the spec's tool+thinking combo example puts
  <think> on a non-last assistant and was previously false-flagged
- DPO support matrix: reject image/video content items, tools, tool_calls
  and role:tool (DPO_UNSUPPORTED_ELEMENT); also scan chosen/rejected
- DPO: messages not ending with user upgraded warning -> error
- OpenAI migration: name/weight upgraded warning -> error (spec: must not
  carry); drop dead record-level name branch
- tool_call_id: unmatched tool response upgraded warning -> error
  (one-to-one per spec); new TOOL_CALL_NO_RESPONSE warning for orphan calls
- loss_weight: validate range at message level too; warn when placed on
  anything but the last assistant message (LOSS_WEIGHT_PLACEMENT)
- video params: fps/sample_fps must be within [0.1, 10]
  (INVALID_VIDEO_FPS); mode-mismatched params warned
  (VIDEO_PARAM_MODE_MISMATCH); video_start/video_end type-checked
- zip: skip macOS packaging metadata (__MACOSX/, .DS_Store, ._*) in
  filename constraints and image counting to stop false failures on
  Finder-created archives

Tests 45 -> 59 covering every new/changed rule, including a replica of the
spec's official tool+thinking example.
2026-08-12 10:09:10 +08:00
故璃 e7422bd2e5 fix(dataset): align validation rules with platform data format spec
- Support content array format [{text/image/video}] alongside legacy string
- Add tool role support with tool_calls structure and tool_call_id validation
- Add thinking tag placement check (only in last assistant message)
- Add OpenAI migration guards: warn on unsupported name/weight fields
- Add loss_weight range validation (0.0–1.0)
- Fix size limits: SFT/DPO 200MB, CPT 300MB, media ZIP 2GB
- Enforce data.jsonl at ZIP root (reject nested wrapping folders)
- Add ZIP filename constraints: charset [a-zA-Z0-9_-], length ≤120, uniqueness
- Add .tif to accepted image extensions
- Add DPO_LAST_MSG_NOT_USER warning when messages don't end with user role
- CPT profile now uses dedicated 300MB cap instead of shared default
- Expand unit tests from 19 to 45 covering all new validation paths
2026-08-12 07:48:11 +08:00
故璃 9749a11d76 fix(finetune): detect video-kf2v sub-variant from local dataset
finetune video create passed a fixed modality "video" to the profile
validator without probing the data for last_frame_path. This caused a
false KF2V_DATA_MISMATCH error when training kf2v models (wan2.2-kf2v-*)
with datasets that correctly contain last_frame_path.

Add sub-variant detection symmetric to the existing image-i2i upgrade:
when a local file is provided, detectModality() inspects the first record
and upgrades "video" → "video-kf2v" if last_frame_path is present.
2026-08-11 14:50:58 +08:00
故璃 2965080cb7 feat(skills): replace foreign skill dirs containing SKILL.md during fan-out
Previously, fan-out skipped any existing real directory not recorded in
the lock file, treating it as user content. This left stale skill copies
installed by other tools (e.g. npx skills add) permanently out of date.

Now: if the directory contains a SKILL.md, it is recognized as a skill
artifact and replaced with a symlink to the canonical dir. Directories
without SKILL.md are still preserved (user content safety boundary).
2026-08-11 14:29:10 +08:00
故璃 1c76749ee5 feat: update datalist validate 2026-08-11 13:33:31 +08:00
故璃 5d1b7aac3a Merge branch 'main' into feat/cli-skill-sync 2026-08-11 10:47:45 +08:00
sonicg83 4d84af614b Merge branch 'modelstudioai:main' into codex/usage-token-plan-reset-times 2026-08-07 23:29:01 +08:00
clh02467605 9ae5dc924d docs(cli): update skill installation command from add --name all to init
- Replace `bl skill add --name all` with `bl skill init` across documentation
- Update installation instructions in README, INSTALL, and agent skill guides
- Modify code references in update checker and UI components
- Adjust documentation links and cross-references accordingly
- Revise command examples in protocol and asset files
- Update versioning and setup instructions to reflect new command
- Modify HTML UI rendering for skill installation guidance
- Change internal command constants and execution calls
2026-08-07 17:56:30 +08:00
故璃 946b7029c6 feat: add version 1.14.2 2026-08-07 17:42:31 +08:00
clh02467605 d6cb075629 Merge remote-tracking branch 'refs/remotes/origin/main' into feat/change-skills-install
# Conflicts:
#	README.md
#	README.zh.md
#	packages/cli/README.md
#	packages/cli/README.zh.md
2026-08-07 17:37:43 +08:00
gujieye b9ecd5c43b Merge pull request #143 from modelstudioai/feat/skill-init-commend
feat: add skill init & opt commend flags
2026-08-07 17:26:21 +08:00
故璃 4502424200 feat: add skill init & opt commend flags 2026-08-07 17:17:27 +08:00
若麒 03839766bc docs: update READMEs 2026-08-07 17:15:26 +08:00
故璃 5007b9b574 feat: change output to json 2026-08-07 16:35:47 +08:00