文档助手

默认在本地检索本站文档;配置回答服务后可生成答案。

可询问有关 当前页面 或 Carina 文档的问题,例如:“如何回滚补丁?”

llms.txt

跳到内容

Markdown

策略与能力

能力类型、权限配置、命令风险等级 — 每次副作用前先策略。

每次有意义的副作用都受门控。 模型决策;Rust 内核授权。

  • 十四种能力类型
  • 内置配置(safe-editread-only …)
  • 命令风险等级 0–5
  • 审批在 CLI/TUI 中如何出现
  1. 默认最小权限
  2. 默认不出工作区
  3. 默认不可读密钥
  4. 默认限制网络
  5. 默认拒绝破坏性命令
  6. 补丁事务化
  7. 插件零权限起步
  • protocol/capabilities/
    • capabilities.json
    • profiles/
  • .carina/
    • sessions/
    • audit/
FileRead FileWrite CommandExec NetworkAccess SecretRead
GitOperation PatchApply ProcessSpawn PluginLoad RemoteExecute
MemoryWrite CodeIndex ContextCompress SubagentSpawn

内核返回 PermissionDecision(allow / deny / require-approval)。
SubagentSpawn子 Agent 只能获得父配置的真子集。 资源形如 agent:NAME:profile:PROFILE默认需审批

Profile摘要样例配置
read-only仅工作区 FileReadprotocol/capabilities/profiles/read-only.toml
safe-editFileWrite 仅经 PatchApply;命令白名单;网络需审批…/safe-edit.toml
full-workspace工作区读写;高等级命令需审批…/full-workspace.toml
ci-runner测试/构建;无任意 shell…/ci-runner.toml
sandboxed · trusted-local · enterprise-restrictedcapabilities.json 中登记的组织/运行时名称尚无随仓库样例 toml — 自定义配置前当作注册名

carina run 在 cwd 创建 safe-edit 会话。

carina profile SESSION
等级类别safe-edit 默认
0只读自动放行
1测试/构建/lint自动放行
2装包需审批
3改文件类命令需审批
4网络/部署/凭据拒绝或显式配置
5破坏性默认拒绝

删除大量文件、lockfile 大范围变化、依赖安装、远程脚本、读取密钥、工作区外路径、push / deploy、网络访问和 CI 配置修改始终需要人工确认。

carina approve SESSION DECISION_ID [role]
carina deny SESSION DECISION_ID [reason]
carina audit SESSION
  • Agent 不能访问 profile 未允许的工作区外路径。
  • 策略判断前先解析 symlink,符号链接不能用来逃逸边界。
  • 超大文件和 ignore 文件默认不进入模型上下文。

Agent 不直接读取环境变量。密钥由 broker 以不透明 handle 提供,日志不写入明文,命令输出还会按已知密钥值脱敏。

carina secret grant SESSION NAME VALUE
carina secret request SESSION NAME
现象含义
频繁要求审批动作风险等级至少为 2 或涉及网络;收窄任务,或有意识地选择更宽 profile
路径被拒绝路径在工作区外,或发生 symlink 逃逸
插件没有动作插件从零权限启动;使用 carina plugin inspect 检查声明

这个页面有帮助吗?

本次会话中每个页面仅记录一次投票。