SDK 方法参考
按会话、文件、项目、配置、TUI 和认证任务查找 SDK 方法。
本页对应官方 SDK 页使用的默认入口 @opencode-ai/sdk。path、query、body 分别表示路径、查询和请求体参数;示例返回值处理先见SDK 入门。
基础查询
| 方法 | 用途 |
|---|---|
global.health() | 健康状态与版本 |
project.list() / project.current() | 项目列表 / 当前项目 |
path.get() | 当前路径信息 |
config.get() / config.providers() | 配置 / 提供商及默认模型 |
app.agents() | 可用智能体 |
app.log({ body }) | 写日志,body 包含 service、level、message,可加 extra |
会话操作
| 方法 | 用途 |
|---|---|
session.list() | 列出会话 |
session.get({ path }) | 会话详情 |
session.children({ path }) | 子会话 |
session.create({ body }) | 新建会话 |
session.update({ path, body }) | 更新属性 |
session.delete({ path }) | 删除 |
session.init({ path, body }) | 分析项目并创建 AGENTS.md |
session.abort({ path }) | 中止任务 |
session.share({ path }) / session.unshare({ path }) | 分享 / 撤回分享 |
session.summarize({ path, body }) | 生成摘要 |
session.messages({ path }) / session.message({ path }) | 消息列表 / 详情 |
session.prompt({ path, body }) | 提交提示 |
session.command({ path, body }) | 执行 slash command |
session.shell({ path, body }) | 执行 shell command |
session.revert({ path, body }) / session.unrevert({ path }) | 撤销 / 恢复 |
postSessionByIdPermissionsByPermissionId({ path, body }) | 回复权限请求 |
默认入口的 session 路径字段为 id。session.prompt 可以用 body.noReply: true 只注入上下文而不触发模型回复;正常响应包含助手消息及 parts。
最后一项是官方列出的生成方法名,不要自行缩写为未经确认的 permission.reply()。HTTP 端点和请求字段见会话 API;版本变化以导入包的类型为准。
文件搜索与读取
| 方法 | query 字段或作用 |
|---|---|
find.text({ query }) | pattern,文本搜索 |
find.files({ query }) | query,名称搜索;可选 type、directory、limit |
find.symbols({ query }) | workspace symbol 搜索 |
file.read({ query }) | path,读取文件 |
file.status({ query? }) | 受版本控制文件的状态 |
find.files 的 type 可为 file 或 directory,limit 范围为 1–200,directory 可覆盖搜索根。file.read 的内容类型可能为 raw 或 patch,读取程序应检查返回类型再使用内容。
控制 TUI
| 方法 | 用途 |
|---|---|
tui.appendPrompt({ body }) | body.text 追加输入 |
tui.submitPrompt() / tui.clearPrompt() | 提交 / 清空 |
tui.openHelp() / tui.openSessions() | 帮助 / 会话选择 |
tui.openThemes() / tui.openModels() | 主题 / 模型选择 |
tui.executeCommand({ body }) | 执行命令 |
tui.showToast({ body }) | 通知,例如 message 与 variant |
凭据与事件
auth.set({ path, body }) 设置提供商凭据;API Key 示例的 body 为 { type: "api", key: "..." },path.id 是提供商 ID。OAuth 等其他认证不能直接套用该请求体。
event.subscribe() 返回的 stream 支持异步迭代。公开分享、写凭据、删除会话和执行 shell 都有实际副作用,接入界面应明确对应操作与结果。