879 Commits

Author SHA1 Message Date
Gong Shiqi 8544f40e07 Merge pull request #23 from modelstudioai/feat/auto-generate-skills
Feat/auto generate skills
2026-06-05 14:07:47 +08:00
故璃 7914a6d203 Merge branch 'main' into feat/model-recommend 2026-06-05 14:01:09 +08:00
故璃 a767bee41e feat: model recommend beta version 2026-06-05 13:56:24 +08:00
Gong Shiqi 832d3f7e2b Merge pull request #26 from modelstudioai/chore/publish-workflow
docs: rewrite publish docs and rename release.md to publish.md
2026-06-05 13:52:40 +08:00
若麒 173c7a2f10 docs: improve formatting in changelog-write.md and publish.md for better readability 2026-06-05 13:51:43 +08:00
qcq01083097 6494e683cc feat: First add, then do diff 2026-06-05 13:47:03 +08:00
若麒 fddab1a1b2 docs: rewrite publish docs and rename release.md to publish.md 2026-06-05 11:55:17 +08:00
qcq01083097 99ef96d209 feat: Fix the null value verification of the flag 2026-06-05 11:14:17 +08:00
若麒 647d819c9d Merge branch 'main' into feat/mcp-command 2026-06-05 10:54:12 +08:00
Gong Shiqi 6a0ceabc70 Merge pull request #25 from modelstudioai/chore/publish-workflow
Chore/publish workflow
2026-06-05 10:51:53 +08:00
若麒 cdf211648c chore(ci): upgrade actions to v6 for Node 24 compatibility
GitHub will force Node.js 24 for all actions starting June 16, 2026.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-05 10:50:57 +08:00
若麒 7590d475e5 fix(ci): use Node 24 for npm OIDC trusted publishing 2026-06-05 10:41:51 +08:00
若麒 5d08bcb2a4 chore(release): drop attw from pack-scan 2026-06-05 10:41:51 +08:00
若麒 cdbe5c080d docs: sync packages/cli/README.md with root 2026-06-05 10:41:50 +08:00
若麒 ca77c77417 fix(ci): use Node 24 for npm OIDC trusted publishing 2026-06-05 10:30:31 +08:00
qcq01083097 b7349976fb feat: Change the workflow for synchronizing skills to be executed at 3 am tomorrow 2026-06-05 10:13:36 +08:00
若麒 30b881c36f chore(release): drop attw from pack-scan 2026-06-05 00:35:52 +08:00
若麒 7b440177ee docs: sync packages/cli/README.md with root 2026-06-05 00:03:31 +08:00
若麒 6683ff172c Merge branch 'main' into feat/mcp-command 2026-06-05 00:00:45 +08:00
Gong Shiqi 3b11a620a1 Merge pull request #22 from modelstudioai/chore/consolidate-release-workflows
refactor(release): consolidate stable + channel into single release.yml
2026-06-04 23:56:45 +08:00
若麒 9cd4adb26c refactor(release): merge stable + channel into single release.yml
npm Trusted Publishers only supports ONE (repo, workflow, environment)
tuple per package, so the two split workflows cannot both be granted
OIDC publish rights. Consolidate into release.yml with a mode input:

- mode=stable  -> publish-stable job, environment=production (reviewer
  gate), contents:write (push lightweight tag).
- mode=channel -> publish-channel job, no environment, contents:read.

Concurrency group keys on mode + channel so stable serializes globally
and channels serialize per dist-tag. Trusted Publisher entry should
now point at release.yml with environment left blank (matches both
the production-gated stable job and the env-less channel job).
2026-06-04 23:53:18 +08:00
Gong Shiqi f1c78f01b7 Merge pull request #21 from modelstudioai/feat/release-pipeline
chore: drop dependabot version-updates config
2026-06-04 23:34:09 +08:00
若麒 7a8c55dd4a chore: drop dependabot version-updates config 2026-06-04 23:29:03 +08:00
若麒 d6cbe981a8 fix(ci): build core/cli before pnpm run check 2026-06-04 23:16:15 +08:00
若麒 3693f7dacb feat(release): CI-driven publish pipeline via GitHub Actions + npm OIDC
Replace tools/release.mjs with two workflow_dispatch flows:

- stable: production environment gate (Required Reviewers) + lightweight git tag. Trusted Publishing (OIDC) removes the need for an npm token.
- channel beta: disposable 0.0.0-beta-<sha>-<date> versions on the corresponding dist-tag, no tag, no commit. Any collaborator can dispatch without npm credentials.

Pack-time scans via publint, attw, gitleaks; weekly Dependabot for npm + actions.
2026-06-04 23:02:38 +08:00
qcq01083097 ce59e2bd08 feat: Deal with text redundancy of flag default values 2026-06-04 17:49:03 +08:00
qcq01083097 fa3d3a6905 feat: Unify the text format of flag default values 2026-06-04 17:40:22 +08:00
qcq01083097 ea37be0e30 feat: Add illegal flag verification 2026-06-04 17:36:47 +08:00
qcq01083097 f3c35c411b feat: Dealing with redundancy and semanticization of file names 2026-06-04 17:30:30 +08:00
qcq01083097 6436ca88eb fix: Fix the issue of the watermark being always on and address the issue of paired flags 2026-06-04 17:07:11 +08:00
qcq01083097 0781aa7db2 feat: add schedule 2026-06-04 15:46:28 +08:00
qcq01083097 3461e53404 feat: 增加自动同步skills的workflow 2026-06-04 15:22:58 +08:00
若麒 73d9d7ef07 feat(cli): add bl mcp command group (list/tools/call)
- `bl mcp list` — list MCP servers enabled under the current Bailian
  account via console gateway PageList (always activated=1).
- `bl mcp tools <server-code>` — list tools exposed by a server.
- `bl mcp call <server-code>.<tool>` — invoke a tool. Accepts `--json`,
  repeatable `--arg k=v` (JSON-parsed when possible) and `--query` sugar;
  `--url` overrides the endpoint for non-Bailian MCPs.
- core: export `bailianMcpUrl(baseUrl, code)` building
  `/api/v1/mcps/<code>/mcp`; `McpClient` now takes a full URL.
- `bl search web` switches to `mcpWebSearchEndpoint` directly.
- e2e: `mcp.e2e.test.ts` covering help, dry-run, arg-merge semantics,
  invalid-input paths, and one live `tools/list` against WebSearch.
2026-06-03 19:00:51 +08:00
mamba 14371a0647 Merge pull request #5 from lhfer/claude/busy-noether-Rjbaz
security: harden credential handling, pipeline JS execution, and the HTTP/stream layer
2026-06-03 15:06:26 +08:00
若麒 3a8121328c docs(install): promote bl auth login --console as recommended auth method 2026-06-02 21:57:59 +08:00
inhai 7e85bdd36c Update README.md 2026-06-02 19:41:05 +08:00
若麒 1499a5de2d chore(docs): fix ts problems 2026-06-02 18:05:03 +08:00
若麒 375e560804 chore(release): 1.1.3
- bump bailian-cli and bailian-cli-core to 1.1.3
- changelog: add 1.1.3 entry (console login auto-configures API key, validation retry)
- changelog: backfill missing 1.1.2 entry (default vision model → qwen3-vl-plus)
2026-06-02 18:02:39 +08:00
Gong Shiqi d3e6743735 Merge pull request #9 from modelstudioai/feat/auto-set-apikey
Refactor console login and implement auto-request for API key
2026-06-02 17:26:53 +08:00
clh02467605 a490969d58 feat(auth): add retry logic and error handling for API key validation 2026-06-02 16:29:43 +08:00
ls 842bec922d Merge pull request #8 from lishengzxc/feat/auto-set-apikey
feat(auth): 支持在控制台登录时自动处理 API 密钥
2026-06-02 11:04:38 +08:00
lishengzxc 64f7e71783 feat(auth): 支持在控制台登录时自动处理 API 密钥 2026-06-02 10:53:31 +08:00
ls 8af4257412 Merge pull request #7 from lishengzxc/feat/auto-set-apikey
Refactor console login and auto-request API key
2026-06-02 10:40:00 +08:00
lishengzxc 993972cc93 Merge branch 'main' of github.com:lishengzxc/cli into feat/auto-set-apikey 2026-06-02 10:06:46 +08:00
inhai 765fa23c5b Update README.md 2026-06-01 18:09:24 +08:00
inhai 4485e67ff4 Update README.md 2026-06-01 18:08:58 +08:00
lishengzxc c04deceb27 feat(auth): split console login into separate file and auto-request apikey
Extract console login logic to login-console.ts for better separation
of concerns. When no api_key is configured, append needapikey=true to
the console login URL so the frontend returns an apiKey in the callback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 16:59:02 +08:00
若麒 0543d27463 docs: add UTM tracking params to bailian console links in READMEs 2026-06-01 15:04:49 +08:00
Claude ba074f566d fix(security): validate base_url / console_gateway_url as real http(s) URLs
The config file accepted any value that merely starts with "http" (so even
"httpfoo://evil" passed) for base_url and console_gateway_url — origins the
client sends the Bearer token to. Validate them with `new URL()` and an
http:/https: protocol check instead, rejecting malformed values. Valid http(s)
URLs (including custom proxies and local http) are unaffected.

https://claude.ai/code/session_017ZGQCjwNQF5Pz96gLUnnG1
2026-05-29 12:44:50 +00:00
Claude bb9f941849 fix(security): require script/js code to be a literal (block untrusted-code RCE)
script/js executes its `code` as host JavaScript (via new Function), and a step's
`code` is a *resolved* input — so it could be written as `{ $from: <chat-step> }`,
turning model/API output into the body of the executed function (untrusted data
-> arbitrary host code execution). Pipeline validation now requires script/js
`code` to be a literal string: any $from/expression-sourced code is rejected.

Authoring a literal script/js step remains supported (the pipeline file is the
trust boundary, like a shell/npm script). Combined with "dry-run never executes
$js", this closes the path where untrusted text reaches the JS sink.

Adds regression tests: $from-sourced code rejected, literal code accepted,
dry-run does not execute $js, getByJsonPointer blocks prototype/inherited keys,
and concurrency clamps to the maximum.

https://claude.ai/code/session_017ZGQCjwNQF5Pz96gLUnnG1
2026-05-29 12:44:48 +00:00