core

oc-core · package · G6-核心服务 · Layer 3

① 作用

核心服务层(无根 index.ts,按子路径导出,package.json:18-23 暴露 effect/layer-node、session/runner 等)。实现数据库(src/database/sqlite.ts,drizzle ORM)、会话执行(src/session/runner/index.ts:20-28 从已记录历史执行一次续跑)、配置解析(src/config/* 覆盖 agent/command/mcp/lsp/formatter)、权限策略(src/permission.ts)、事件流(src/event.ts,基于 PubSub/Queue)、文件系统与搜索(src/filesystem/*,含 ripgrep 封装 src/ripgrep.ts:5)。Effect 运行时层见 src/effect/layer-node.ts 与 app-node-builder.ts。

② 提供能力

· SQLite 持久化:drizzle schema/迁移(packages/core/src/database/sqlite.ts、migration.ts)
· Session 执行引擎(packages/core/src/session/runner/index.ts:19-28)
· 配置系统:agent/command/mcp/lsp/formatter/plugin 解析(packages/core/src/config/*)
· 权限与策略引擎(packages/core/src/permission.ts:5、policy.ts)
· 事件总线与持久化事件(packages/core/src/event.ts:3)
· 文件系统/ripgrep 搜索/文件监听(packages/core/src/filesystem/*、ripgrep.ts)
· Effect 服务层组装(packages/core/src/effect/layer-node.ts、app-node-builder.ts)
· Provider/Model/Catalog/集成认证 领域服务(packages/core/src/provider.ts、catalog.ts、integration.ts)

③ 依赖(上游)

节点机制证据
effect-drizzle-sqliteworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/effect-drizzle-sqlite
effect-sqlite-nodeworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/effect-sqlite-node
llmworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/llm
schemaworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/schema
pluginworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/plugin
http-recordersemantic-depstage-01 @opencode-ai/core
planagent-core装配层→官方包
buildagent-core装配层→官方包
pdf-workeragent-dep装配层→官方包
architect-workeragent-dep装配层→官方包
reflection-workeragent-dep装配层→官方包
grill-meskill-dep装配层→官方包
headroomskill-dep装配层→官方包
opencode-configskill-dep装配层→官方包

④ 被依赖(下游)

节点机制证据
appworkspace-dep@opencode-ai/app/package.json dependencies.@opencode-ai/core
cliworkspace-dep@opencode-ai/cli/package.json dependencies.@opencode-ai/core
enterpriseworkspace-dep@opencode-ai/enterprise/package.json dependencies.@opencode-ai/core
sdk-nextworkspace-dep@opencode-ai/sdk-next/package.json dependencies.@opencode-ai/core
serverworkspace-dep@opencode-ai/server/package.json dependencies.@opencode-ai/core
session-uiworkspace-dep@opencode-ai/session-ui/package.json dependencies.@opencode-ai/core
tuiworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/core
opencodesemantic-depstage-01 opencode

⑤ 为什么存在(why)

设计意图(官方)

把会话/存储/配置/权限等可复用领域逻辑从 CLI 与 HTTP 层抽离为纯 Effect 服务,供 opencode 主程序、server 包及测试直接注入依赖,实现平台无关的核心(bun/node 双实现见 package.json imports 的 #sqlite/#pty/#fff)。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作

模块内部结构 DAG(315 模块 · 1031 边 · 组级视图) 内部结构基线 v1.18.29,v1.18.35 包级结构未变(36 包集合逐一致)

按目录分组的组级视图:点击组节点下钻查看组内模块依赖;点击模块节点查看完整路径。

组级视图