v0.2.0 · 五平台预编译 · MIT 开源

把 Agent 能力
拴在你自己的 Harness

本地优先的 Agent Harness:ReAct Loop、Graph Engine、Plan-and-Execute。 CLI、HTTP SSE、MCP 远程托管、IM 四渠道流式,Webhook 与任务 API 开箱即用。

  • 5 平台架构
  • 3 MCP 传输
  • G2 Graph 工作流
  • 4 IM 渠道
  • REST 自动化 API

下载预编译包

Go 单二进制,解压即用。附件与 SHA256 见 Gitee Release v0.2.0

macOS Intel

darwin / amd64

charness_0.2.0_darwin_amd64.tar.gz

macOS Apple Silicon

darwin / arm64

charness_0.2.0_darwin_arm64.tar.gz

Linux x64

linux / amd64

charness_0.2.0_linux_amd64.tar.gz

Linux ARM64

linux / arm64

charness_0.2.0_linux_arm64.tar.gz

Windows x64

windows / amd64

charness_0.2.0_windows_amd64.zip
macOS / Linux 安装示例
tar -xzf charness_0.2.0_darwin_arm64.tar.gz
chmod +x charness_0.2.0_darwin_arm64
sudo mv charness_0.2.0_darwin_arm64 /usr/local/bin/charness
charness version
charness config init

为可控、可扩展而生

不依赖重型 Agent 框架,核心运行时全部自研,外部依赖克制。

01

ReAct Loop

多轮工具调用、HTTP/CLI SSE 流式、Run 审计与 per-session 取消。

  • content_delta
  • Run 审计
  • cancel API
02

Plan-and-Execute

计划生成、并行 Subagent、replan,plan SSE 事件实时推送。

  • 并行步骤
  • Replan
03

Graph 工作流

YAML 映射 Graph Engine:条件边、Parallel、SubGraph、Checkpoint 断点续跑。

  • when 分支
  • parallel
  • --resume
04

Toolset 分级

safe / coding / full。Shell deny · confirm · auto,IM 与 HTTP 可分别配置。

  • safe
  • coding
  • MCP 工具
05

MCP 平台化

Client 消费 stdio 与远程 URL;Server 暴露 stdio / Streamable HTTP / SSE,可与 REST 共存。

  • 远程托管
  • 流式 chat
  • /mcp
06

自动化与可观测性

Webhook / cron 定时 / CI 模板、async 重试与失败通知、任务 API 动态注册 Webhook 与 Schedule。

  • task_id
  • notify_url
  • 热重载

多种入口,同一运行时

Gateway.Chat() 统一会话锁、审计、Shell 审批与流式推送。

charness chat CLI 流式
charness serve REST + SSE
mcp serve stdio / HTTP
gateway start IM 四渠道
graph run YAML 工作流
/v1/hooks Webhook
/v1/automation 任务 API
charness version 版本信息

核心数据流

CLI · HTTP · MCP · IM用户与系统集成
Gateway锁 · 取消 · 审计 · 流式
RuntimeTools · MCP · Hooks
Loop / PlannerReAct · Plan-Execute

几分钟跑起来

下载预编译包或源码构建;配置与数据在 ~/.charness/。

terminal
# 方式一:预编译包(见上方下载区)
tar -xzf charness_0.2.0_darwin_arm64.tar.gz
chmod +x charness_0.2.0_darwin_arm64 && sudo mv charness_0.2.0_darwin_arm64 /usr/local/bin/charness

# 方式二:源码构建
make build
./charness config init
export OPENAI_API_KEY=sk-...

# 终端对话
charness chat --toolset coding

# HTTP API(http.mcp_enabled 可共存 MCP)
charness serve

# IM Gateway
charness gateway start

IM 渠道

钉钉 / 飞书 WebSocket 无需公网;Telegram / Discord 轻量接入。均支持 Agent 流式回复(文本,4000 字截断)。

钉钉

Stream WebSocket,群聊默认需 @ 机器人。

国内可用 配置说明 →

飞书

WebSocket 长连接,订阅 im.message.receive_v1。

国内可用 对接指南 →

Telegram

Bot 长轮询,编辑同条消息流式推送。

视网络 对接指南 →

Discord

Gateway WebSocket,需 Message Content Intent。

视网络 对接指南 →

自动化 · MCP · 工作流

无人值守巡检、CI 分析、远程 IDE 集成与复杂 DAG 编排。

自动化

  • Webhook async + task_id
  • 失败重试 + notify_url
  • API 动态 Webhook / Schedule
automation.md →

MCP 远程

  • Server:streamable-http / SSE
  • Client:远程 URL + headers
  • charness serve 共存
mcp-remote.md →

Graph 工作流

  • 条件边 when:
  • parallel / subgraph
  • --checkpoint-dir --resume
workflow.md →
workflow.yaml
entry: classify
nodes:
  - { id: classify, type: prompt, output: category }
  - { id: deep, type: chat }
  - { id: quick, type: prompt }
edges:
  - { from: classify, to: deep, when: "category == complex" }
  - { from: classify, to: quick }