文档助手

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

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

llms.txt

跳到内容

Markdown

JSON-RPC 参考

本地 JSON-RPC 控制平面的核心方法、参数和安全边界。

本地客户端通过 daemon socket(~/.carina/daemon.sock)或 stdio 使用 JSON-RPC 2.0。注册表 protocol/jsonrpc/methods.jsonprotocol/schemas/ 是方法与 schema 的权威来源。

创建绑定到工作区和权限 profile 的会话。

字段类型必填说明
workspace_rootstring会话绑定的绝对工作区路径
profilestring能力配置,默认 safe-edit

结果包含不透明的 session_id、绑定后的 workspace_id 与实际 profile

request.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "session.create",
"params": {"workspace_root": "/repo", "profile": "safe-edit"}
}
方法作用
runtime.initialize协商客户端身份与 projection 版本
runtime.capabilities返回运行时能力
gateway.hello / gateway.methods返回契约快照和实时方法目录
gateway.token.issue本地签发带作用域 token;要求签名密钥
daemon.status / metrics / doctor运行状态和健康检查
daemon.remote.disable远程入口总开关
daemon.reload重新加载配置
方法作用
session.create / get / list / close会话生命周期
session.pause / resume暂停与继续
session.replay / items / review历史、UI 投影与治理视图
session.events.stream类型化实时事件
execution.start / cancel / status任务控制
governance.action.approve / deny处理待审批动作
方法作用
workspace.tree通过 carina-scan 获取文件树
workspace.search通过 carina-grep 结构化搜索
workspace.file.getFileRead 能力读取工作区内不超过 1 MiB 的相对路径 UTF-8 文件
workspace.diff有上限的 tracked / untracked diff;忽略二进制
workspace.patch.propose / apply / rollback事务补丁生命周期
worktree.*隔离 worktree 的创建、查询与进入
方法作用
memory.list列出 memoryuser 目标的条目
memory.context返回当前会话的围栏式召回片段
memory.status本地权威、外部召回健康与身份 scope
memory.writeMemoryWrite 能力增删改或批处理
memory.projection.*可选 HMS projection 的授权、重试与重播

memory.write 仅限本地控制面,默认需要审批。审计只记录目标、scope、动作、操作数和内容哈希,不记录原始记忆文本。

worker.register 只返回一次 worker_id 与 credential,daemon 只保存 credential 哈希。work.poll 返回 lease_generation fencing token,后续 work.renewwork.report 必须原样回传,防止旧租约发布结果。

方法Scope作用
context.statusread配置值与实际生效的本地 engine 状态
context.doctorreaddaemon doctor 使用的健康探针
context.statsread压缩计数
context.compresswrite诊断压缩,不走 Agent transcript

Carina 不内置或启动外部压缩运行时;auto mode 会使用本地 no-op 实现。

  • workspace.diff 禁用 Git locks、fsmonitor、external diff 和 textconv;单份文本 diff 上限 256 KiB,响应上限 1 MiB。
  • mcp.inventory 只返回公共 server / tool 名称、prompt 数量和连接健康,不泄露进程参数、环境变量或 schema。
event.json
{"jsonrpc":"2.0","method":"event",
"params":{"event_id":"evt_...","session_id":"sess_...",
"type":"CommandStarted","permission_decision_id":"perm_..."}}

这个页面有帮助吗?

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