CPU RUN PLUGINS 14 MODEL deepseek-v3
Agent Harness SDK · 用于构建智能体运行时

把智能体
接入你的工程工作流

AutoAgent Studio 是一个全插件化的 Agent 运行时:会话持久化、工具执行、权限门控、技能扩展,全部按 PLC 程序一样确定性地组合。像组态 TIA Portal 项目一样,装配属于你自己的智能体工位。

ESM · Node ^22.19 / ≥24 类型化 RPC · Typert 会话存储 · SQLite
dsh — /projects/line-plc — bash

          
// packages/tool-tia — 让 Agent 读写 TIA Portal 项目
import { definePlugin } from '@deepseek-ai/cordis'

export default definePlugin({
  id: 'dsh.tool.tia',
  setup(ctx) {
    ctx.effect(() => tools.register({
      name: 'tia.export_tags',
      // 导出 PLC 变量表 → CSV
      run: ({ file }) => tia.readTagTable(file),
    }))
  },
})
from deepseek_harness import Client

client = Client(base_url="http://127.0.0.1:8787")

# 会话即工位:上下文、审批、持久化全部继承
session = client.sessions.create(workspace="D:/plc/flying-saw")

for event in session.run(
    "核对 S7-1517F 组态与接线图差异,输出报告"
):
    print(event.type, event.summary)
CPU 1 · AGENT-RUN S7-1500 组态隐喻
CYCLE TIME
4.2 ms
TOKEN LOAD
31 %
SESSIONS
3 在线
TOOLS I/O
26 映射
LADDER · 主扫描循环(节选)
用户任务 权限=ON OUT Q0.0 工具回执 CTX Q0.1
DIAGNOSTIC BUFFER · 最近事件
✔ 09:41:22 plugin mount · dsh.tool.tia
✔ 09:41:20 session resume · #48 · 12 turns
● 09:41:18 approval gate · shell.exec → 已批准
%DB1 · OB1

三步上机

和新建一个 PLC 项目一样:先组态运行环境,再下载程序,最后切到 RUN。

00

启动运行时

从源码拉起 dsh,Web UI 与 CLI 共用同一会话存储
$ pnpm install && pnpm dsh --profile web
01

接入模型

设置 → 模型,填入 DeepSeek API 密钥,路由即时生效
$ export DEEPSEEK_API_KEY=sk-••••••••
02

选中工作区 · RUN

把工程目录交给 Agent:读文件、跑命令、开发插件
>  summarize this repository and list its packages
%HW CONFIG

硬件组态 · 模块清单

每个能力都是一个可插拔 Package,如同导轨上的信号模块——需要什么,插什么。

Web UI · 在线工作台

AI 0.0

持久会话、Plan 模式、工具审批卡片,全部在浏览器完成;与 CLI、ACP 自动化共享同一会话代际。

> 打开 http://127.0.0.1:5173 → 添加工作区 → 开跑
guide/quickstart →

模型路由

AI 0.1

DeepSeek 官方与任意 OpenAI 兼容端点,服务定义/消费者模式热插拔。

guide/providers →

插件系统 · Cordis

DI 1.0

ctx.effect 注册一切贡献点,支持运行时组合与热重载。

develop/cordis-tutorial →

工具链

DI 1.1

bash / PTY 终端 / 文件系统 / LSP / Web / 工作流 / 子代理,26 类工具受权限门控。

reference/tool-catalog →

会话持久化与安全阀

DI 1.2

SQLite 单增 SCHEMA_VERSION、会话投影与压缩;loop-hygiene、tool-timeout、沙箱作为联锁保护常驻。

reference/subsystems/session →
FC90 · AGENT_LOOP

一个扫描周期:Agent Loop 即梯形图

输入映像 → 逻辑求解 → 输出映像。Harness 把每轮对话跑成一次确定性的扫描循环。

%I 用户任务 审批门控 沙箱联锁 Q Q0.0 工具执行 %I 工具回执 Q0.1 更新上下文 %I 上下文 Token 预算OK Q0.2 LLM 请求 LAD · cyclic interrupt · OB35
常开触点 = 能力注册每个 Tool、Provider、Consumer 通过 ctx.effect() 挂到母线上;断开注册即热卸载。
串联联锁 = 权限策略审批门控与沙箱串在工具执行回路里,任一触点断开则本周期不动作。
输出线圈 = 会话事件Q0.x 全部落盘为持久化事件,可投影、可回放、可压缩。
>_ 组态完成,请求切换 RUN。
dsh --profile web · 会话即工位,插件即模块
SPEC

设计规格 · 映射到 VitePress

以下令牌可直接写入 website/.vitepress/config.ts 的 siteStyle 与自定义覆盖样式。

--amber 主控色--vp-c-brand-1 · CTA · 通电母线
--green RUN/OK状态灯 · 成功回执
--cyan 数据色链接 · 度量数值
--red FAULT错误 · 拒绝态(保留)
--bg 深色底--vp-c-bg · 非纯黑
--surface卡片 · 终端窗
--line 描边--vp-c-divider
--text正文 · 深底 15px/1.65
字体:标题与终端用 ui-monospace / Cascadia Code / Consolas;正文中文用系统无衬线。圆角 8 / 12px;动效仅 transform / opacity / stroke-dashoffset,全部遵循 prefers-reduced-motion。浅色主题下主控色改用 #b8732e,其余令牌镜像提亮。