Commit Graph

104 Commits

Author SHA1 Message Date
lisheng.lisheng 0221e35803 fix(config-agent): 优化 Codex 配置写入与兼容性处理
- 调整 Codex 代理默认 wire_api 为 "responses",兼容新版 Codex
- 增加对 legacy Codex <= 0.80.0 使用 wire_api "chat" 的警告提示
- 修正 agent flags 描述,更准确说明 wire_api 默认与兼容范围
- 优化代码格式,统一 import 语句风格
- 增加测试用例覆盖不同 wire_api 配置及环境变量警告
- 修复写入过程中文件备份及合并逻辑,保留用户已有配置
- 修复多个 provider 写入时键名与内容匹配,避免重复添加
- 改善测试代码格式,提高可读性与一致性
2026-07-27 17:10:26 +08:00
clh02467605 36ebd63716 fix(text): omit enable_thinking by default and retry when API requires false
Non-streaming chat no longer forces enable_thinking=false, which breaks
thinking-only models. Retry once with false only when the server demands it.
2026-07-27 16:51:11 +08:00
clh02467605 dac254af86 feat: add MCP WebSearch page URL and enhance error handling in web search command 2026-07-27 16:51:09 +08:00
chenanran555 8a0fb870f1 feat(agent): update openagentpack sdk version 2026-07-27 16:34:58 +08:00
qcq01083097 ff469ce717 feat(install-docs): enhance installation documentation and validation processes 2026-07-27 11:24:22 +08:00
chenanran555 5f0966ec8d fix(agent): ci issues 2026-07-27 10:51:09 +08:00
qcq01083097 c4f5bb09c6 fix(image): resolve size and prompt_extend by model profile
Stop inferring size/prompt_extend from sync vs async; use per-family sizeProfile. wanx*-imageedit uses function+base_image_url; bare qwen-image uses the fixed resolution table.
2026-07-27 10:17:09 +08:00
qcq01083097 9a13700390 fix(image): route text-to-image and image-edit by model family
Fix wanx/wan2.x-t2i, wan2.5-i2i, z-image, and qwen-image-plus hitting the wrong endpoint, and add routing unit tests plus dry-run coverage.
2026-07-27 10:16:25 +08:00
chenanran555 32c497db63 feat(agent): add skill-list command and fix pr issues 2026-07-26 18:52:27 +08:00
chenanran555 247bb82154 test(agent): cover config-write, profile, logout and error-mapping auth-chain scenarios 2026-07-24 18:44:18 +08:00
chenanran555 1bf4fec9e6 feat(agent): support --dry-run for all local and remote mutations 2026-07-24 16:02:15 +08:00
chenanran555 1d589c5178 Merge remote-tracking branch 'origin/main' into feat/cma 2026-07-24 14:52:21 +08:00
chenanran555 9cad1994e7 feat(agent): validate by client apiKey auth type 2026-07-24 14:50:30 +08:00
若麒 92ee845bdd fix(core): normalize model base URL to origin 2026-07-23 19:31:02 +08:00
lisheng.lisheng 4751145283 fix(config-agent): 修复 Qwen Code 凭证写入与模型名处理
- 凭证同时写入 env 和 security.auth,避免系统 OPENAI_API_KEY 干扰
- modelProviders 中按 id + baseUrl 作为键,保持 name 为模型显示名
- 修复旧的 bailian-cli 名称,防止其覆盖用户自定义显示名
- model 配置中新增 baseUrl 字段,用于消歧同 id 但不同地址的模型
- 调整测试用例验证上述行为,确保配置一致性和兼容性
2026-07-23 19:20:44 +08:00
chenanran555 64335a6201 feat(agent): rename cli command to managed-agent 2026-07-23 16:46:06 +08:00
lisheng.lisheng 26a69a7c99 fix(config-agent): align agent writers with cc-switch and official Model Studio docs
- claude-code: honor CLAUDE_CONFIG_DIR; drop stale ANTHROPIC_API_KEY
- qwen-code: write $version:3; security.auth carries selectedType only
- opencode: tolerate JSONC (comments/trailing commas) via stripJsonc
- openclaw: add --context-window flag (default 256000), full cost fields,
  agents.defaults.models allowlist
- hermes: switch to official flat model.* block; api_mode only for
  anthropic endpoints
- codex: official env_key + auth.json fallback; add --wire-api flag
  (default chat, responses for supported models)
2026-07-23 11:12:34 +08:00
inhai e1caee99f2 feat(config-ui): MCP management, skill zip install, and UI polish
- MCP: editable JSON config in the detail drawer with secret masking and
  mask-preserving writes; create/update/delete across claude-code, qwen-code,
  opencode, cursor, windsurf, gemini, qoderwork, openclaw and Claude Desktop
- Skills: upload a .zip and install into any agent's skills root (self-contained
  ZIP reader, zip-slip safe); scan more roots (openclaw workspace, qoderwork,
  windsurf/codeium, gemini antigravity, workbuddy)
- Markdown: GFM table rendering in the skill detail drawer
- Layout: collapsible grouped sidebar with icons + persistent state, responsive
  breakpoint, wider main, single-line tile titles, 2-line description clamp,
  round icon run buttons, custom file picker, modal spacing
- Server: /api/mcp POST/DELETE, /api/skill/install, binary upload reader,
  constant-time token compare, CSP/no-store headers, error logging
2026-07-23 10:52:26 +08:00
chenanran555 7cbd61dd5c Merge remote-tracking branch 'origin/main' into feat/cma
# Conflicts:
#	packages/commands/src/commands/auth/login.ts
#	packages/commands/src/commands/config/set.ts
#	packages/commands/src/index.ts
#	packages/core/src/client/index.ts
#	packages/core/src/config/schema.ts
#	skills/bailian-cli/reference/auth.md
#	skills/bailian-cli/reference/config.md
#	skills/bailian-cli/reference/index.md
2026-07-22 16:38:46 +08:00
chenanran555 1c9dac24e9 feat(cma): login时初始化agent相关的baseUrl 2026-07-22 14:20:24 +08:00
chenanran555 d6bd38a46a feat(agent): agent相关cli命令的client层功能,对齐cli client的基础能力 2026-07-22 13:40:28 +08:00
若麒 81539005cc Merge branch 'main' into feat/token-plan-default-models 2026-07-22 09:55:39 +08:00
若麒 4c566fd60e feat(token-plan): support local images with base64 data URIs
- convert local images to Base64 for Token Plan image and video commands
- preserve the existing OSS upload flow for standard API Key profiles
- use wan2.7-image as the default image model with the sync endpoint
- hide full Base64 image content in dry-run output
- add Token Plan compatibility tests and update related docs
2026-07-22 09:54:54 +08:00
inhai 9ab5de8c2e feat(config-ui): enrich config UI with skills, MCP, agents, assets and model catalog
- Add Skills / MCP / Agents / Assets inventory views with click-to-open
  right-side detail drawers (reusable infoDrawer)
- Render SKILL.md as Markdown via a self-contained, XSS-safe inline renderer
  (HTML-escape first, strip YAML frontmatter, no external deps)
- Add local vs remote origin badges to Skills and MCP items
- Add quick-launch for coding agents (allowlisted id->binary, execFile, no
  shell); gate the button on Connected AND the CLI binary being on PATH
- Add per-category model catalog surfaced as click-to-fill suggestion chips
  under each default_*_model field, sourced from real bl pipeline model names
- Add assets browser (categorized, time-sorted) with preview, open-locally
  and delete, backed by path-traversal-guarded file serving
- Convert Profiles to a tile grid with an add-tile and design-consistent
  new-profile modal; make view headers sticky and use drawers for editing
- Tests for inventory, agent-launch, assets and config-ui endpoints
2026-07-21 21:54:27 +08:00
若麒 4ca3e2de80 feat(config): update token-plan default models
- switch the default text model to qwen3.8-max-preview
- add dedicated T2V, I2V, and R2V model defaults
- persist and consume per-mode video model settings
- enable thinking when validating the qwen3.8 preview model
2026-07-20 16:44:53 +08:00
若麒 bc162f4678 Merge branch 'main' into feat/cli-access-token 2026-07-19 15:32:20 +08:00
lisheng.lisheng ba062c1a71 feat: add bl config agent command for one-click coding agent configuration
Add `bl config agent` to configure a coding agent (Claude Code, Qwen Code,
OpenCode, OpenClaw, Hermes, Codex) to use a DashScope/ModelStudio endpoint
with a single command. Writers non-destructively merge into each agent's
local config with a timestamped backup and atomic writes.

- Field structures aligned to farion1231/cc-switch; qwen-code aligned to
  QwenLM/qwen-code source (modelProviders/security.auth keyed by protocol).
- provider id unified as `bailian-cli` (qwen-code brands via model entry
  name + BAILIAN_CLI_API_KEY, since it keys by protocol).
- Codex config.toml merged via smol-toml to preserve unrelated settings.
- Add writer unit tests + config e2e cases; regenerate skill reference.
2026-07-18 19:29:53 +08:00
若麒 a03ba673be fix(auth): clear model base URL on full logout 2026-07-17 15:57:23 +08:00
若麒 ece0c8dd1c feat(config): activate explicit profile after successful login 2026-07-17 09:59:14 +08:00
若麒 052960e269 fix(config): mask all secret fields in config show 2026-07-16 15:27:18 +08:00
若麒 a8f45e93af fix(config): preserve unmanaged fields when saving profiles 2026-07-16 14:48:29 +08:00
若麒 84805f287c fix(core): normalize model base URLs across all sources
- preserve custom gateway path prefixes
- strip query, fragment, trailing slash, and known SDK suffixes
- normalize flag, environment, config, and fallback sources
- normalize auth and config writes before persistence
- add resolver, login, config, and UI coverage
2026-07-16 14:43:26 +08:00
若麒 196b2a1f51 fix(e2e): avoid live OpenAPI login with placeholder credentials 2026-07-16 11:53:09 +08:00
若麒 de9f1a3889 feat(config): add active profile selection
- persist the active profile in config.json
- resolve config with --config > active_config > default
- add config list and config use commands
- make auth and config writes target the selected profile
- reset activation to default when deleting the active profile
- update config UI with profile activation controls
- keep token refresh and pipeline execution profile-aware
- add loader, UI, auth, and CLI interaction coverage
2026-07-16 11:05:59 +08:00
若麒 64ff057fe5 feat(auth): support token-plan model profile login
- add the built-in Token Plan profile preset
- validate and persist model API keys atomically
- materialize the default Base URL and models on login
- preserve flag > env > config precedence
2026-07-15 16:26:43 +08:00
若麒 6d588a57b4 Merge branch 'main' into feat/cli-access-token 2026-07-14 19:23:47 +08:00
lisheng.lisheng 84383f1c83 feat(bootstrap): 支持使用AK/SK生成CLI访问令牌并重构用户创建流程
- 新增命令行参数,支持通过--access-key-id和--access-key-secret传入阿里云凭证
- 集成generateCLIAccessToken接口实现AK/SK转CLI访问令牌
- 调用BailianControl OpenAPI完成用户创建,实现与控制台用户同步
- 新增获取工作空间列表接口,解析agentId以便权限管理
- 调用ResetPolicies4Agent接口完成用户权限授权
- 优化命令步骤日志输出,更详细展示执行流程
- 将轮询次数由120次减少至20次,缩短等待激活时长
- 移除旧有测试代码,适配新实现
- core包新增bailian-control客户端支持对应OpenAPI调用
- client模块添加openApiJson通用方法支持ROA风格接口调用
- console模块导出类型扩展,涵盖新的网关目标类型
- 修改acs请求签名类型支持number类型参数,增强签名兼容性
2026-07-14 08:47:16 +08:00
若麒 06f932c1bd Merge branch 'main' into feat/model-usage-and-detail 2026-07-13 16:23:19 +08:00
若麒 63edde3588 refactor: simplify command context capabilities
- replace lazy store and manager accessors with direct properties
- enforce command capability boundaries through lint rules
2026-07-13 15:47:57 +08:00
若麒 e932495560 Merge branch 'main' into feat/command-pack 2026-07-13 15:38:45 +08:00
故璃 f3b85914ab Merge branch 'main' into feat/model-usage-and-detail 2026-07-13 15:34:04 +08:00
若麒 b2ca78512f feat: add command pack protocol and plugin management
- define the Command Pack API and integrate pack loading into the CLI runtime
- add product-specific package, command prefix, and credential access policies
- add plugin install, link, list, and remove commands
- add validation, tests, documentation, and generated command references
2026-07-13 15:02:35 +08:00
lisheng.lisheng e0f3d450ae feat(config): add "config ui" local web UI to manage config profiles
启动绑定 127.0.0.1 的本地 HTTP server + 内嵌单页 WebUI,可视化查看/
新建/切换/删除全部命名 profile 并编辑键值与凭证。

- core: readConfigProfiles / deleteConfigProfile 全量配置读写 API
- commands/config/shared.ts: 抽出 VALID_KEYS/别名/校验,set.ts 复用
- commands/shared/local-server.ts: 抽出 listen/openInBrowser,login-console 复用
- config ui: token + Host 校验,--config 决定初始聚焦,密钥明文可编辑
2026-07-13 14:20:32 +08:00
lisheng.lisheng ac4dbb9e88 Merge branch 'main' of github.com:modelstudioai/cli into feat/cli-access-token 2026-07-13 13:13:29 +08:00
顾捷晔 58ab622e11 feat: remove intent-detect-v3 model 2026-07-12 13:44:00 +08:00
lisheng.lisheng e1532bf35c feat(bootstrap): 新增创建控制台用户步骤,完善服务激活流程
- 在 bootstrap 命令流程中添加第 3 步,调用 createUser 接口创建控制台账号用户
- 修改 callApi 函数支持传入请求体参数
- 增强错误日志输出,显示更完整的错误响应内容
- 在服务启动时校验登录信息包含 aliyun.uid,否则抛出错误
- 优化商品检查与激活逻辑,更清晰的状态输出及错误处理
- 在 CLI-core 控制台网关请求中添加日志,打印结构化请求负载,支持 verbose 模式
- BailianError 新增 rawResponse 字段,保存原始错误响应数据
- 增加 bootstrap 命令单元测试,覆盖用户创建及不同初始化场景
- 调整测试框架用例,增加调用控制台网关及错误处理的测试覆盖
2026-07-10 17:57:06 +08:00
clh02467605 94adb919b1 refactor(e2e): enhance auth login tests and remove unused dependencies
- Removed the `bailian-cli-commands` dependency from `pnpm-lock.yaml` and `package.json` as it was no longer needed.
- Expanded the E2E tests in `auth.e2e.test.ts` to cover additional scenarios for the `auth login` command, ensuring proper error handling for conflicting flags and missing parameters.
- Improved test assertions for better clarity and coverage of authentication flows.
2026-07-10 17:46:17 +08:00
clh02467605 a0b4666940 refactor(e2e): remove outdated token-plan tests and add new route exports
- Deleted the `token-plan.e2e.test.ts` file as it contained outdated test cases.
- Introduced `TOKEN_PLAN_ROUTES` in `topic-routes.ts` to define new command routes for token-plan operations.
- This update streamlines the E2E testing structure and prepares for future enhancements.
2026-07-10 17:11:20 +08:00
clh02467605 e8666b33ae merge: merge main to feat/migtate-e2e 2026-07-10 16:54:14 +08:00
clh02467605 d646a4e780 refactor(e2e): update test routes and streamline command handling
- Replaced hardcoded command paths with dynamic route mappings in E2E tests.
- Enhanced documentation for command testing, specifying minimum route requirements.
- Consolidated command path management into `topic-routes.ts` for better maintainability.
- Updated various E2E test cases to utilize the new routing structure, ensuring consistency across tests.
- Removed redundant helper functions and improved test clarity by directly referencing route exports.
2026-07-10 15:55:53 +08:00