Skip to content

kcd-dev/turing-mini-harness

Repository files navigation

turing-mini-harness

自定义版本的 Minimal Agent Harness,用 Go 实现 agent 任务治理的最小骨架。

一句话结论

这是一个给业务系统复用的最小后端骨架,不是玩具 demo:它现在已经把 run / step / event / trace_id / risk scan / CI 自动测试与打包 接成一条最短闭环,但仍未进入“完整多 agent 平台”阶段。

当前定位

Harness = 任务管理 + traceId + 权限/审计预留 + executor 路由 + 风险登记
Executor = codex_sdk / turing_sdk / langgraph / nanobot 等 worker

当前最小契约:

  • 每个请求都带 X-Trace-Id
  • 每个 run / event / step / 错误响应都能回读 trace_id
  • 每次代码提交都做风险分级、Go 测试、Hurl 接口测试、Linux 打包
  • 自动打包 ≠ 自动发生产,部署仍保留人工门禁

快速启动

go test ./...
go run ./cmd/harness-server

创建 run:

curl -s http://127.0.0.1:8088/api/v1/runs \
  -H 'Content-Type: application/json' \
  -H 'X-Trace-Id: demo-trace-1' \
  -d '{"agent_id":"sublb-customer-support","user_id":"u1","input":"查一下套餐","executor_type":"codex_sdk"}'

风险评估:

curl -s http://127.0.0.1:8088/api/v1/risk/assess \
  -H 'Content-Type: application/json' \
  -d '{"files":["internal/harness/service.go","migrations/001.sql"]}'

文档

  • docs/architecture.md
  • docs/risk-model.md

Go client

SubLB 或其他业务系统建议只接入薄 client,不复制 Harness 核心代码:

h := client.New("http://127.0.0.1:8088")
out, err := h.CreateRun(ctx, client.CreateRunRequest{
    AgentID: "sublb-customer-support",
    UserID: "u1",
    Input: "查一下套餐",
    ExecutorType: "codex_sdk",
    TraceID: "trace-1",
})

us-main-01-admin-direct 部署

./scripts/build-linux.sh
./scripts/deploy-us-main.sh          # dry-run
./scripts/deploy-us-main.sh --apply  # 真实部署,需人工确认

接口验收与自动化

本项目已把真实接口 smoke test 沉淀成 Hurl:

./scripts/local-api-smoke.sh
./scripts/local-api-expanded.sh

每次提交代码后,GitHub Actions 会自动执行:

  1. 风险分级
  2. gofmt / go vet / go test -race
  3. Hurl 主路径 + 失败路径 + 边界测试
  4. Linux 构建与 release package 打包

说明:

  • 当前默认是自动测试 + 自动打包 artifact
  • 不默认每次提交自动发布服务器
  • 真实发布 us-main-01-admin-direct 仍建议保留人工确认

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors