# OIP-Agent **Repository Path**: dauroar/OIP-Agent ## Basic Information - **Project Name**: OIP-Agent - **Description**: OIP-Agent 是奥集能开放架构的 认知与决策层(L5) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2026-09-30 - **Last Updated**: 2026-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # oiocns-agent

oiocns-agent:把奥集能内核接入 DSH 的桥接插件

许可证:MulanPSL-2.0 Node.js 版本要求:>= 22 DeepSeek Harness 插件

奥集能智能体 —— DSH 内核桥接插件形态。 ## 项目概述 本仓把「连接奥集能内核、接收用户消息、驱动智能体干活、把过程与结果回流内核」做成一个 **DSH(DeepSeek Harness)插件**:宿主由使用方自行安装,本仓交付插件产物 (`packages/plugin-orginone`),随 profile 装载。 内核会话身份直接复用为 DSH 会话身份;入站消息经 `kernelContext` 按账号路由, 出站经会话直发(过程块 / 审批卡片 / 结果卡片)。模型、端点与密钥由 DSH 侧 provider 配置提供;联网搜索、本地文件与命令、MCP 客户端等能力由宿主原生工具承担。 **内核接入(通用接入方式)**:平台侧旧内核(`legacy`,`/orginone/kernel/*`)与新内核(`OIP`,`/oip/v1/*`) 在迁移期并存,插件按 `kernel.namespace` 接入其中一种、上层能力不感知差异(切换只改地址、不改方法签名); 默认接入旧内核;`oip` 分支的端点、连接实现与协议级差异均已接线,真实联调待做(见 [docs/开发目标.md](docs/开发目标.md))。 ### 运行链路

运行链路:前端经内核进入插件,通道行驱动 DSH 会话,四个组件行注册工具与技能

**插件侧核心能力**: - 内核连接与认证:经接入面 `packages/platform-link` 的连接接缝 `KernelClient`(`legacy` 由 `@orginone/protocol` 的 `KernelApi` 适配,`oip` 取 `@orginone/oip-protocol` 的连接核;SignalR、401 自动重登、断线退避); - 会话驱动:`ctx.agents.create` / `resume` + `followup`,会话工作目录隔离,跨重启历史补齐; - 出站映射:`thinking` / `toolcall` / `text` / `image` 过程块实时回流(流式原地替换)+ 审批与提问转发; - 指令面:`/help` `/status` `/current` `/cancel` `/new` `/list` `/switch` `/log` `/config` `/model` `/skill` `/tool` `/workspace` `/session` `/jobs` `/schedule` `/permission` `/goal` `/todo` `/subagent` `/compact` `/policy`(22 个;清单与差异见插件 README); - 技能与工具:随包技能(platform-assistant / app-authoring / target-searcher / work-creator / session-control)与 `soul.md` 人格、 8 个内核绑定域工具、可执行面处置(allow / ask / deny); - 审批闭环:`approval/request` answerer + `tools/pre-execute` ask 判定 + 结果卡片; - MCP 接入:宿主 `@deepseek-ai/dsh-mcp-client`(一行一 server)。 ## 界面一览

设置 → 奥集能:连接 / 组件 / 诊断 三个标签页

设置页集中填写内核地址与智能体密钥(密钥只写不回显),按 `kernel.namespace` 在旧内核 / OIP 之间切换; 组件行各自的配置在「组件」标签页,运行事实、重载入口与指令表在「诊断」标签页。 **演进方向**:在现有通道插件之上扩展**单插件多组件**(应用工厂)——用户在 Web 端与智能体对话,由同一交付物内的多个组件行协同生产平台应用与报表;设计与边界见 [docs/应用工厂设计.md](docs/应用工厂设计.md)。 ## 仓库结构 本仓以 `packages/` 为核心(包清单与新增包约定见 [packages/README.md](packages/README.md)): ``` oiocns-agent/ ├── packages/ │ ├── plugin-orginone/ # DSH 内核桥接插件(主交付物,详见包 README) │ ├── protocol/ # @orginone/protocol:SignalR 协议底座(零仓内依赖) │ ├── platform-link/ # @orginone/platform-link:平台桥接缝隙(KernelTransport / SessionBridge) │ ├── oip-protocol/ # @orginone/oip-protocol:OIP 内核协议层(连接参数 + OIP 连接实现) │ ├── infra/ # @orginone-agent/infra:日志 / 脱敏 / 通用工具 │ ├── contract/ # @orginone-agent/contract:跨包纯契约 │ └── plugin-oip-knowledge-rag/ # OIP 个人知识 RAG 插件 ├── apps/ │ └── docs/ # VitePress 文档站(产物 apps/docs/.vitepress/dist) ├── python/ # rag-service(旧,待下线) / oip-knowledge-rag-worker / laya-decision-service ├── __tests__/ # 仓级结构守护与宿主装载契约(详见 __tests__/README.md) ├── scripts/ # 运维脚本(反馈导出解密)与仓库级构建基建 ├── archive/ # 归档区:历史实现与知识组织参考(不参与编译、测试与运行,详见 archive/README.md) └── docs/ # 项目文档(权威源;apps/docs 为文档站镜像) ``` ## 环境要求 - Node.js >= 22.0.0(`packages/protocol` 依赖 `@microsoft/signalr` 的 WebSocket 支持;`package.json` 的 `engines` 已声明); - TypeScript 5.x(`strict: true`,新增代码需满足全部严格项,约定见 [AGENTS.md](AGENTS.md)); - DSH 宿主:`@deepseek-ai/dsh-*` 子包 **0.2.2-rc.1 起**(产物 `peerDependencies` 为 `^0.2.2-rc.1`)。装载期还会自检宿主契约, 低于该版本时插件行装载失败,并在日志给出当前版本与升级要求; - 交付物为插件产物:使用方在自己的 DSH 宿主中装载(见下)。 ## 快速开始(使用方装载) ```bash npm ci npm run build:plugin # 产出 packages/plugin-orginone/dist 与根 dist/-.tgz dsh plugin --profile add <本仓>/dist/orginone-agent-plugin-orginone-<版本>.tgz dsh --profile --dump-config # 确认插件层 dsh --profile # 启动后到 设置 → 奥集能 填写内核地址与智能体密钥 ``` ### 桌面端(DSH Desktop) 桌面端用本地 tarball 安装,**升级必须先删旧版再装新包**(否则旧包残留): 1. 插件管理里删除旧版 `@orginone-agent/plugin-orginone`; 2. 安装入口粘贴 tarball 完整路径 `<本仓>\dist\orginone-agent-plugin-orginone-<版本>.tgz`; 3. 启动后到 **设置 → 奥集能** 填内核地址与智能体密钥(填过则不用再填)。 装载细节、配置字段(`kernel` / `workspace` / `skills` / `admin` 等)、MCP 接入与技能装载见 [packages/plugin-orginone/README.md](packages/plugin-orginone/README.md)。 ## 开发 ```bash npm ci npm run verify # 提交前完整校验:类型检查 + 死代码 + 全部测试 npm run check # 类型检查(tsc --noEmit) npm run check:dead # 死代码与依赖检查(knip) npm test # 单元测试(Vitest) npm run build # 构建插件产物(等价 npm run build:plugin) npm run dev:docs # 文档站开发(VitePress,端口 4173) npm run build:docs # 文档站构建 ``` 端到端联调在 oiocns-react 侧发起(发消息、过程块、审批卡片),按插件 README 的装载章节复现。 ## 配置 配置分两层(分层与生效时机见 [docs/配置系统.md](docs/配置系统.md),字段以插件 README 为权威): - **插件配置**:DSH profile 中插件行的 `config` 段;内核地址与智能体密钥在 **设置 → 奥集能** 填写(保存即生效, 密钥只写不回显),**不走环境变量**; - **宿主配置**:模型 provider、审批策略与权限预设(插件层不覆盖基础审批 / 权限行,远控部署须显式配置 `ask`)、 遥测与会话日志上传(私有化五项见 [docs/DSH私有化部署开关.md](docs/DSH私有化部署开关.md))。 多账号按「一账号一实例」形态部署:每个智能体账号使用独立 profile 与插件 config; 多实例编排(账号账目、profile 生成、起停)属后置专项。 ## 指令 插件注册的指令与差异登记见 [packages/plugin-orginone/README.md](packages/plugin-orginone/README.md) 「指令面」章节;`/技能名` 手势由宿主技能设施(`dsh-tool-skill`)承接,与插件指令互不冲突。 ## 注意事项 - `.env`、`agent-accounts.json`、`config.json` 含敏感信息或已弃用,均被 `.gitignore` 排除, 请勿提交到版本库; - 本仓按根目录 `LICENSE`(木兰宽松许可证第 2 版)分发;`packages/protocol/base` 内的第三方派生文件 保留其原始许可头(MIT 等),随源码再分发时一并保留; - 插件产物的运行时依赖(`@microsoft/signalr`、`@deepseek-ai/schemastery`)随产物清单声明,由使用方 profile 安装; `@deepseek-ai/*` 其余子包由宿主运行时提供(peer 声明)。 ## 文档导航 主要入口如下;完整索引、阅读顺序与专项文档见 [docs/README.md](docs/README.md)(**文档权威源入口**),包清单见 [packages/README.md](packages/README.md): | 文档 | 说明 | | --- | --- | | [packages/plugin-orginone/README.md](packages/plugin-orginone/README.md) | 内核桥接插件:装载、配置、组件、会话驱动、出站映射、交互面、指令面、域工具、技能、MCP 接入、差异登记 | | [packages/README.md](packages/README.md) | 独立包清单(权威)与新增包约定 | | [docs/README.md](docs/README.md) | 文档索引(权威源、阅读顺序、差距与专项) | | [AGENTS.md](AGENTS.md) | 编码协作规范(命令、边界、工作方式、测试与文档约定) | | [__tests__/README.md](__tests__/README.md) | 测试目录说明与新测试编写规范 | | [apps/docs/快速上手/](apps/docs/快速上手/) | 使用方快速上手系列(文档站) |