下载

项目配置

设置项目能力、环境变量与已保存提示词,通过对话回放检查分析过程。

项目管理员可以为每个项目设置可用能力、运行时使用的环境变量和常用提问,并通过对话回放检查团队的分析过程。先切换到需要配置的项目,再打开项目设置;这些设置只影响当前项目。

成员与组、模型供应商、后台任务模型和语音输入的入口见组织设置。

项目能力

打开项目设置 → 能力,选择 Agent 可以使用的功能。主要选项如下:

选项用途与使用条件
地图允许 Agent 将地理数据展示为地图,默认开启。需要按地区着色时,可在边界库中添加对应的区域边界。
语义层决定 Agent 如何使用已接入的 dbt MetricFlow 指标。需要先在项目中配置并同步语义层,才能选择模式。
Python 沙箱提供 execute_python,用于在受限的 Python 环境中计算和处理数据,默认关闭。
Python 执行时长限制单次 execute_python 的运行时间,单位为秒;默认 30 秒,可设置为 1–600 秒。超过时限会停止执行。
沙箱环境提供 execute_sandboxed_code,允许在隔离环境中运行 Python 或 shell、安装所需包并处理文件,默认关闭。
危险的写入权限默认关闭,Agent 只允许发起只读 SQL。开启后可发起 INSERT、UPDATE、DELETE 和 DDL 等操作,执行范围仍受数据库账号权限限制。

Python 沙箱与沙箱环境是两项独立能力:前者适合受限环境内的计算,后者用于需要额外包或 shell 的任务。实例不支持相应运行环境时,开关会不可用;仅打开开关不会补齐实例缺少的运行环境。

语义层默认使用优先使用语义层:已定义的指标优先通过语义查询回答,其他问题可以使用 SQL。也可以选择仅使用语义层或不使用语义层,具体行为见语义层。

项目能力页面中的地图、语义层、Python、执行时长与沙箱选项
在能力页分别设置地图、语义层与代码执行能力。

能力修改会自动保存。新建对话并提出对应任务,可以检查 Agent 是否使用预期工具。内置工具与扩展方式见工具与技能。

环境变量

项目文件可以通过变量名引用数据库密码、MCP 令牌或其他配置值,实际值保存在运行环境中。这样,同一份项目配置可以在不同环境中使用不同凭据。

Cappy 会从 config.yaml 和 agent/mcps/*.json 中提取变量名,并在项目设置 → 环境变量中列出。先在文件中添加引用,再到页面填写对应的值。

在配置文件中引用变量

数据库配置使用 {{ env('变量名') }}。例如,在已有连接中将密码字段改为:

config.yaml 中的数据库连接字段
password: {{ env('DB_PASSWORD_YAML') }}

MCP JSON 使用 ${变量名}。例如,headers 中的静态令牌可以写成:

agent/mcps/metabase.json 中的 headers 字段
{
  "Authorization": "Bearer ${METABASE_MCP_TOKEN}"
}

上面的片段分别放入对应的连接配置中;完整示例见接入数据库与 MCP 配置。文件中保留变量引用,不写入真实密码或令牌。

让运行项目取得配置文件

在本地工作副本中保存配置,提交并推送到项目仓库,再按更新上下文确认实例已经同步到该提交。

打开项目设置 → 环境变量,应能看到文件中引用的 DB_PASSWORD_YAML 或 METABASE_MCP_TOKEN。变量没有出现时,检查引用语法,以及更新的是否为当前项目使用的文件。

填写并保存实际值

在对应字段中填写值,点击保存。本例的数据库密码使用 JSON 字符串编码,例如 "your-database-password",包含双引号;特殊字符按 JSON 转义,详见接入数据库。这里保存的值属于当前项目;解析配置时,项目中保存的值优先于同名的服务进程环境变量。

修改数据库凭据后,新建对话并查询一张已接入的表。修改 MCP 凭据后,在MCP 服务器中重新连接对应服务器,再检查工具调用是否返回预期结果。

在自己的终端中执行 cappy sync 或 cappy debug 时,需要在该终端中提供相应变量,例如:

export DB_PASSWORD_YAML='"your-database-password"'
cappy debug

项目设置中保存的值不会自动写回本地终端。终端中的 export 也不会自动为独立运行的 Cappy 实例填写项目环境变量。

已保存提示词

已保存提示词是团队可重复使用的提问。管理员为它填写标题、正文与适用范围;成员在新对话中选择后,可以调整日期、对象等内容再发送。

创建常用提问

打开项目设置 → 已保存提示词,点击新建提示词。例如:

字段示例
标题每月销售趋势
正文统计上个月各地区的销售额,与前一个月比较,展示趋势并说明变化最大的地区。
适用范围业务数据

正文直接描述需要完成的分析。团队共用的销售额定义仍维护在上下文中,提示词引用既有定义即可。

选择适用范围并保存

适用范围提示词用于哪里
业务数据普通对话,用于分析项目接入的数据。
Admin(应用数据)管理员分析 Cappy 应用数据的对话,例如检查使用情况和工具错误。

普通业务提问选择业务数据。如果保存的是“本周哪些工具调用报错最多?”等应用使用问题,选择 Admin(应用数据)。适用范围决定提示词在哪种模式下展示,不会赋予使用者额外权限。

填写完成后点击保存。

已保存提示词创建表单,含标题、正文、业务数据与 Admin 适用范围及保存按钮
填写标题与正文,选择适用范围后保存。图中为尚未保存的示例。

在新对话中使用

回到当前项目的新对话页面,在提示词建议中选择刚保存的标题。正文会填入输入框;按本次需要修改时间或分析对象,再发送。

例如,把“上个月”改成“今年第一季度”,其余分析要求可以继续复用。修改输入框中的文字只影响本次提问;要更新团队共用版本,回到已保存提示词中编辑并保存。

提示词适合保存常用问题;需要复用一套多步分析方法时,可以编写技能。

对话回放

项目管理员可以通过项目设置 → 对话回放查看当前项目中成员的历史对话,包括提问、回复、SQL、工具调用和用户反馈。回放展示已保存的分析过程,不会重新运行 Agent 或查询。

例如,成员给某次分析点了负面反馈,可以从回放中找到对应回复,检查问题是否出在指标理解、查询条件或工具执行上。

找到需要检查的对话

打开对话回放,使用反馈或工具状态筛选,找出有负面反馈或工具错误的对话。列表中的来源、成员、Token 与费用可以帮助确认分析发生在哪里,以及需要优先检查哪次分析。

对话回放列表,包含历史对话、投票和工具状态筛选以及工具错误计数
从历史对话列表查看工具状态,再打开需要检查的对话。

查看消息和工具调用

打开对话,用反馈与工具错误的前后跳转定位相关消息。展开 SQL、工具输入和返回结果,核对 Agent 使用了哪些表、传入了什么筛选条件,以及错误发生在哪一步。

对话回放中展开的历史 SQL 查询,旁边保留问题、工具调用与结果表
展开历史 SQL,查看查询内容及已有结果;回放不会重新执行查询。

如果要把问题交给其他项目管理员检查,可以复制回放链接;接收者仍需有当前项目的回放权限。

根据过程修正问题

指标口径或上下文缺失时,修正相应定义,用同一问题重新提问检查;需要长期复核的问题可以加入评估。连接或认证错误则回到对应数据来源或 MCP 配置中处理。

回放中的 Token 和费用描述过去的调用。费用根据记录的 Token 与模型价格计算,可能与供应商账单不同;个人用量的查看方式见个人设置。