全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

CLI操作指南

最近更新时间:2026-10-10 18:30:37

1 概述

1.1 产品简介

金山云码CLI是一款 AI 终端编程助手,专为金山云内部使用。用户用自然语言描述需求,金山云码CLI自主完成分析理解、读取代码库、代码编写、文件操作、命令执行、网络搜索等开发任务;如对结果不满意,继续对话调整即可。

1.2 功能特性

功能类别

说明

智能编写代码

代码编写、修改、审查(review)、缺陷修复、代码自测

文件操作

文件读写、搜索、替换、目录管理

Shell 命令

终端命令执行,带沙箱与审批控制

网络搜索

网络内容搜索与网页抓取

上下文管理

项目级 AGENTS.md 和全局级规则配置、自动压缩

安全控制

审批策略、沙箱模式、权限配置、execpolicy 规则

扩展能力

Skills、Agent 子代理、MCP 服务器、插件、Hooks

会话管理

自动保存、恢复、归档、删除、分支、导出

KSYun 集成

扫码/链接登录、动态模型发现、内部 MCP 自动配置、个人页

1.3 环境要求

项目

要求

操作系统

macOS、Linux(Ubuntu 20.04+、Debian 10+、Alpine Linux 3.19+)、Windows(Win 10 1809+ 或 Win Server 2019+)

运行时

原生二进制,安装脚本自动下载,无需额外运行时

终端

推荐使用 WezTerm、Alacritty、Ghostty、Kitty、iTerm2 等现代终端模拟器

安装方式

一键安装脚本

2 安装与启动

以下安装方式任选其一。

2.1 一键安装

Mac / Linux 系统

  1. 打开终端

  2. 执行安装命令

curl -fsSL http://fe-frame.ks3-cn-beijing.ksyuncs.com/fe-frame/kscc/install/ksxc/企业识别码/install.sh | sh

Windows 系统

  1. 打开 PowerShell

  2. 执行安装命令

iex "& { $(irm http://fe-frame.ks3-cn-beijing.ksyuncs.com/fe-frame/kscc/install/ksxc/企业识别码/install.ps1) }"

2.2 登录

首次使用需登录金山云账号。支持两种登录方式。

方式一:交互式登录(推荐)

直接运行:

ksxc

终端会显示登录链接(部分后端还会渲染二维码),使用企业内部协作 APP 扫码,或在浏览器中打开链接完成认证。终端中按 B 可自动在默认浏览器打开登录页面。登录成功后:

  • 认证信息自动保存到 ~/.ksxc/auth.json

  • 后续启动 ksxc 直接使用已保存的凭证

方式二:SK 密钥登录

适用于不在组织架构内、由管理员在控制台手动添加的成员。管理员添加成员后,SK 会发送至成员邮箱,如邮件丢失可向管理员申请重发。

Mac/Linux:

export KSXC_AUTH_TOKEN=你的sk
ksxc

Windows PowerShell:

$env:KSXC_AUTH_TOKEN="你的sk"
ksxc

首次启动会向 KSXC 后端验证该 token,验证通过后自动持久化到本地,之后的启动无需再设置环境变量。验证失败会提示错误并退出。

退出登录

ksxc logout         # 退出登录

在 TUI 中也可输入 /logout 退出登录。

2.3 启动

交互式终端(TUI)— 日常开发选择

# 在项目目录下启动
ksxc

# 指定项目路径
ksxc -C /path/to/project

# 带初始提示启动
ksxc "帮我检查这个项目的依赖是否有安全漏洞"

启动后进入全屏交互界面,可以像聊天一样与 AI 对话,AI 会实时展示操作过程和结果。首次启动若未登录,会自动引导完成登录。

非交互式运行 — CI/CD 和脚本场景

# 发送一条消息,流式输出,完成后自动退出
ksxc exec "修复 auth.test.ts 中失败的测试"

# 以 JSONL 格式输出事件流(适合程序解析)
ksxc exec --json "重构用户模块"

# 不持久化会话(不写盘)
ksxc exec --ephemeral "临时任务"

exec 支持 -e 别名,如 ksxc -e "prompt"。

2.5 升级与卸载

升级

启动时会自动检查更新并提示升级

卸载

删除并清理本地数据 ,删除~/.ksxc/目录。

3 输入方式

支持多种输入方式,适用于不同场景。

3.1 自然语言输入

直接用自然语言描述需求:

帮我在 src/utils/ 下创建一个日期格式化工具函数
请分析这个项目的依赖关系
这个文件的认证逻辑有问题吗?

3.2 斜杠命令

在输入框中输入 / 可查看可用命令。常用斜杠命令:

/model              切换模型与推理强度
/plan               切换到 Plan(规划)模式
/init               初始化项目 AGENTS.md
/compact            压缩上下文
/new                新建会话
/resume             恢复历史会话
/fork               分支当前会话
/archive            归档当前会话
/delete             删除当前会话
/export             导出会话为 Markdown
/memories           管理记忆
/skills             使用技能
/mcp                MCP 服务器面板
/plugins            插件管理
/subagents          查看/切换本会话的子代理线程
/agents             浏览所有 agent 会话
/permissions        选择 KSXC 的允许操作
/keymap             查看快捷键
/theme              选择主题
/status             查看当前会话配置与 token 用量
/usage              查看账户用量
/logout             退出登录
/my-page            打开 KSXC 个人页
/exit               退出 KSXC(别名 /quit)

3.3 Shell 命令

以 ! 开头输入命令可直接执行 Shell 命令,输出会自动加入对话上下文:

!git status
!npm install axios

3.4 文件引用

使用 @ 引用文件或目录,文件内容会自动加入对话:

帮我优化这段代码 @src/utils/helper.ts
把这个目录的结构说明一下 @src/components/
对比这两个文件 @file1.js @file2.js

@ 支持模糊搜索,输入 @ 后输入文件名关键词即可快速定位文件。

3.5 混合输入

以上输入方式可在同一轮对话中组合使用:

!git branch                                  先查看当前分支
@src/api/user.ts 这个文件需要改进              引用文件并提需求
/compact                                     压缩上下文

4 Skills 技能

4.1 什么是 Skills

Skills 是可复用的指令包,通过 SKILL.md 文件定义。金山云码CLI会在需要时自动发现和加载相关技能,Agent 看到可用的技能列表并按需加载完整内容。技能是按需加载的,不会一直占用上下文空间。

4.2 使用技能

  • 在 TUI 中输入 /skills 查看可用技能并管理。

  • 支持从金山云内部技能平台安装技能,安装后为全局技能,可跨项目使用。

  • 技能通过 @技能名 或 @技能名 任务描述 的方式显式调用,Agent 也会根据任务自动选用。

4.3 手动放置 / 自定义 Skills

技能文件存放位置:

位置

作用域

~/.ksxc/skills/<name>/SKILL.md

全局 — 所有项目可用

.codex/skills/<name>/SKILL.md

项目级 — 仅当前项目可用

SKILL.md 必须以 YAML frontmatter 开头:

---
name: git-release
description: 创建一致的发布和变更日志
license: MIT
---

## 功能
- 从已合并的 PR 生成发布说明
- 提出版本号建议
- 提供可复制的 `gh release create` 命令

## 何时使用
在准备标记版本发布时使用此 Skill。

Frontmatter 字段:

字段

必填

说明

name

是

唯一标识符,1-64 字符,小写字母、数字和连字符

description

是

描述何时应使用此技能(1-1024 字符)

license

否

许可证

compatibility

否

兼容性标记

metadata

否

元数据映射

名称规则:仅小写字母、数字和单个连字符;不能以 - 开头或结尾;不能包含连续的 --;必须与包含 SKILL.md 的目录名一致。

5 Agent(子代理)

5.1 什么是子代理

支持子代理(Subagent)工作流:主代理可以派生出多个专门化的子代理并行执行任务,再把各自的执行结果汇总回主对话。

核心特性:

  • 上下文隔离 — 每个子代理拥有独立的 agent thread(独立上下文),探索笔记、测试日志、命令输出等中间噪声不会污染主对话

  • 并行执行 — 多个相互独立的任务可同时进行,显著缩短耗时

  • 汇总返回 — 子代理只向主对话返回执行摘要而非原始中间输出

  • 策略继承 — 子代理继承主会话的沙箱与审批策略

注意:子代理各自独立调用模型和工具,子代理工作流比单代理运行消耗更多 token。

5.2 如何触发子代理

直接在主对话中提出要求即可,例如:

用 3 个子代理并行审查当前分支:一个查安全风险,一个查测试覆盖,一个查可维护性。
等全部完成后,按类别汇总问题并附上文件引用。

当项目 AGENTS.md 或技能指令要求委派时,金山云码CLI也会自动委派。提示词应说明如何分工、是否等待所有子代理完成、以及返回什么形式的汇总。

5.3 内置 Agent(角色)

KSXC 内置以下角色:

角色

用途

default

通用兜底角色

worker

执行类角色,负责功能实现、测试与缺陷修复

explorer

只读角色,快速、精准地回答代码库相关问题,适合并行探索

5.4 查看与切换子代理

  • TUI 中输入 /subagents 查看并切换本会话正在运行的子代理线程

  • 输入 /agents(或命令行 ksxc agents)浏览共享 app-server 上的所有 agent 会话

  • 子代理发起审批请求时,审批弹层会显示来源线程;按 o 打开该线程查看上下文后再决定批准/拒绝

也可以直接要求CLI对运行中的子代理下发补充指令、停止子代理或关闭已完成的分支线程。

5.5 自定义 Agent

自定义 Agent 使用 TOML 文件定义,放置于以下目录(文件自动发现加载):

位置

作用域

~/.ksxc/agents/*.toml

全局 — 对所有项目生效

.codex/agents/*.toml

项目级 — 仅对当前项目生效

每个文件定义一个 Agent。必填字段:

字段

必填

说明

name

是

Agent 名称,派生或引用该角色时使用

description

是

描述何时应使用该 Agent(用于委派决策)

developer_instructions

是

定义 Agent 行为的核心指令

还可包含其他 config.toml 支持的字段,如 model、model_reasoning_effort、sandbox_mode、mcp_servers、skills.config。自定义 Agent 名称与内置角色(如 explorer)同名时,自定义版本优先。

示例 .codex/agents/pr-explorer.toml:

name = "pr_explorer"
description = "只读代码库探索角色,用于提出改动前收集证据。"
model = "ksyun/glm-5.1"
model_reasoning_effort = "low"
sandbox_mode = "read-only"
developer_instructions = """
始终保持探索模式:追踪真实执行路径,引用文件和符号,
除非主代理要求,否则不要提出修复建议。
优先使用快速搜索和定向文件读取,避免大范围扫描。
"""

也可以在 config.toml 中通过 [agents.roles.<name>] 声明角色并指定配置文件:

[agents.researcher]
description = "研究型角色,负责方案调研。"
config_file = "./agents/researcher.toml"
nickname_candidates = ["Herodotus", "Ibn Battuta"]

5.6 子代理全局配置

全局子代理设置位于 config.toml 的 [agents] 表:

[agents]
enabled = true                                   # 启用多代理工具(默认 true)
max_concurrent_threads_per_session = 4           # 每会话最多并发的子代理线程数
default_subagent_model = "ksyun/glm-5.1"         # 子代理默认模型
default_subagent_reasoning_effort = "low"        # 子代理默认推理强度
interrupt_message = true                         # 中断子代理时是否记录可见消息

未配置模型与推理强度时,子代理继承主代理的模型与推理强度;显式派生请求的配置优先于 [agents] 默认值。

5.7 使用建议

  • 适合并行子代理的任务:代码库探索、测试与分诊、日志分析、资料汇总等读密集型工作

  • 谨慎用于写密集型并行:多个子代理同时改代码可能产生冲突,增加协调成本

  • 提示词中明确分工与所有权(如"子代理 A 负责认证模块,子代理 B 负责数据库层")可减少冲突

6 MCP 服务器

6.1 什么是 MCP

MCP(Model Context Protocol)是 AI 工具集成标准,为 AI 代理连接外部工具、数据库和 API 提供统一协议:

  • MCP 服务器是一个进程或远程服务,暴露工具(tools)、资源(resources)和提示(prompts)

  • 作为 MCP 客户端连接服务器,将工具调用路由到对应服务器

  • MCP 工具命名遵循 <服务器名>_<工具名> 的模式

登录 KSXC 后会自动配置金山云内部 ksc-local-mcp MCP 服务器,提供内部服务接入能力。

6.2 添加 MCP 服务器

方式一:交互式添加

# 本地(stdio)服务器
ksxc mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path

# 远程(streamable HTTP)服务器
ksxc mcp add remote-api --url https://example.com/mcp

ksxc mcp list 可查看已配置服务器,ksxc mcp login <名称> 可完成 OAuth/企业认证。

方式二:配置文件添加

在 ~/.ksxc/config.toml 中配置:

[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
env = { MY_ENV_VAR = "value" }
enabled = true

[mcp_servers.remote-api]
url = "https://example.com/mcp"
bearer_token_env_var = "MY_TOKEN"
http_headers = { Authorization = "Bearer ..." }

本地(stdio)服务器支持 command、args、env、cwd、enabled 等字段;远程服务器通过 url(streamable HTTP)+ 可选 bearer_token_env_var、http_headers 配置。

方式三:/mcp 交互式管理

在 TUI 中输入 /mcp 打开交互式 MCP 面板,可查看工具数量、连接状态、认证状态,并添加/禁用服务器。

6.3 管理 MCP 服务器

ksxc mcp list    # 列出已配置的服务器

在 TUI 中输入 /mcp 可查看各服务器的工具数量、连接状态、认证状态,并禁用/启用服务器。也可在配置中通过 enabled = false 关闭单个服务器。

7 配置系统

7.1 配置文件位置

配置文件

说明

~/.ksxc/config.toml

用户全局配置(主配置,TOML 格式)

.codex/config.toml

项目配置(位于项目根目录下)

AGENTS.md

项目规则(见 7.5)

配置是合并的而不是替换的:全局配置与项目配置会叠加,项目配置优先级更高。

KSXC_HOME 环境变量可覆盖主目录(默认 ~/.ksxc);

7.2 常用配置

# 模型选择(KSXC 默认从后端动态发现模型)
model = "ksyun/glm-5.1"

# 审批策略:on-request(默认,模型决定何时询问)/ untrusted / granular / never
approval_policy = "on-request"

# 沙箱模式:read-only / workspace-write / danger-full-access
sandbox_mode = "workspace-write"

# 附加指令文件(相对项目根或绝对路径)
instructions = ["CONTRIBUTING.md", "docs/guidelines.md"]

# MCP 服务器
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path"]

7.3 环境变量

变量

说明

KSXC_AUTH_TOKEN

CLI的SK 密钥(首次验证后自动持久化)

KSXC_HOME

数据主目录(默认 ~/.ksxc)

KSXC_DISABLE_UPDATE

设为 1/true 跳过启动时自动更新检查

7.4 权限与安全

执行敏感操作时会请求你的许可,主要控制维度:

控制项

说明

审批策略

untrusted(命令默认需审批)/ on-request(模型决定何时询问)/ granular(细粒度)/ never(从不询问)

沙箱模式

read-only(只读沙箱)/ workspace-write(工作区可写)/ danger-full-access(无沙箱,危险)

execpolicy 规则

基于 .rules 规则文件(如 git push * 禁止)细粒度控制命令

TUI 中遇到权限请求时可选择:

  • Once — 本次允许

  • Always — 一直允许(保存规则)

  • Reject — 拒绝

非交互运行时可用自动审批参数:

# 通过自动审查批准请求(在 workspace-write 沙箱中运行)
ksxc exec --approve-for-me "重构这个模块"

# 跳过所有确认并不使用沙箱(仅限受控/隔离环境,极其危险)
ksxc exec -y "自动化任务"

-y(--dangerously-bypass-approvals-and-sandbox)仅应在有外部沙箱的环境中使用,日常不建议。

7.5 项目规则(AGENTS.md)

在项目根目录创建 AGENTS.md 文件,为 KSXC 提供项目特定指令,类似 Cursor 的规则文件。

初始化

在 TUI 中输入 /init,KSXC 会扫描项目并生成或更新 AGENTS.md。

示例

# TypeScript 项目规则

## 项目结构
- `packages/` - 所有工作区包
- `infra/` - 基础设施定义

## 代码规范
- 使用 TypeScript 严格模式
- 共享代码放在 `packages/core/`

## 构建命令
- 构建: `pnpm run build`
- 测试: `pnpm test`

规则文件位置

位置

作用域

项目根目录 AGENTS.md

项目级

~/.ksxc/AGENTS.md

全局级

8 会话管理

8.1 自动保存

会话会自动保存到本地(~/.ksxc/ 下),重启 CLI后可随时恢复。

8.2 恢复 / 归档 / 删除 / 分支

# 恢复上次会话(选择器)
ksxc resume --last

# 恢复指定会话
ksxc resume <会话ID或名称>

# 分支(fork)指定会话
ksxc fork <会话ID或名称>

TUI 内斜杠命令:

/resume              恢复历史会话(选择器)
/fork                分支当前会话
/archive             归档当前会话
/delete              删除当前会话
/new                 新建会话

命令行管理命令:

ksxc archive <会话ID或名称>     # 归档
ksxc unarchive <会话ID或名称>   # 取消归档
ksxc delete <会话ID或名称>      # 删除
ksxc queue --thread <会话ID> --message "消息"   # 向已有会话排队发送消息

8.3 导出

在 TUI 中输入 /export 将当前对话导出为 Markdown。

9 主题与快捷键

9.1 主题

在 TUI 中输入 /theme 选择语法高亮主题。

9.2 快捷键

TUI 内输入 /keymap 可查看和自定义全部快捷键。常用默认键位如下。

全局操作

快捷键

功能

Ctrl+T

打开会话侧栏

F3

查找会话

F4

聚焦活动

F2

查看警告

Ctrl+G

打开外部编辑器

Ctrl+O

复制

Ctrl+L

清屏

对话操作

快捷键

功能

Esc

中断当前回合

Alt+, / Shift+Down

降低推理强度

Alt+. / Shift+Up

提高推理强度

Enter

提交消息

Tab

排队消息(不立即提交)

?

快捷键提示

Ctrl+R

上一条输入历史

Ctrl+S

下一条输入历史

输入编辑

快捷键

功能

Ctrl+A

行首

Ctrl+E

行尾

Ctrl+B / Ctrl+F

左/右移一个字符

Ctrl+P / Ctrl+N

上/下移一行

Ctrl+U

删除到行首

Ctrl+K

删除到行尾

Ctrl+W

删除前一个词

Ctrl+Y

粘贴

Ctrl+J / Enter / Shift+Enter

换行

支持 Vim 模式(/vim 切换),在 Vim 模式下可用 u 撤销、Ctrl+R 重做、dd 删除行等标准操作。

10 非交互运行与自动化

10.1 exec 常用参数

ksxc exec [选项] "提示词"

参数

说明

--json

以 JSONL 格式输出事件流,适合程序解析

-o, --output-last-message <文件>

将最后一条消息写入指定文件

--ephemeral

不持久化会话(不写盘)

--skip-git-repo-check

允许在非 Git 仓库中运行

--strict-config

配置包含未知字段时报错

-m, --model <模型>

指定模型

-i, --image <文件>

附加图片

-C, --cd <目录>

指定工作目录

--worktree

在新 Git worktree 中运行

--approve-for-me

自动审查批准权限请求

-y

跳过所有确认并不使用沙箱(危险)

exec 支持子命令:ksxc exec resume <id> 恢复会话继续执行、ksxc exec fork <id> 分支会话执行。

10.2 代码审查

# 对当前仓库的改动运行代码审查
ksxc review

10.3 应用改动

# 将 Agent 产出的最新 diff 以 git apply 应用到工作区
ksxc apply

11 常见命令速查

ksxc                       # 启动 TUI
ksxc "提示词"               # 带初始提示启动 TUI
ksxc login                 # 登录
ksxc logout                # 退出登录
ksxc exec "提示词"          # 非交互运行
ksxc review                # 代码审查
ksxc resume --last         # 恢复上次会话
ksxc fork <id>             # 分支会话
ksxc mcp add / list        # MCP 管理

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈