harness 内核一样不少,
商业外壳一概没有。

自研 coding agent:终端里可交互、可无人值守,也可嵌进你自己的程序。不订阅、不登录,key 和模型都是你自己的。

查看源码
zsh~/projects/api
$ xy "把 utils.py 里的类型注解补全"
$ git diff | xy "写一条 commit message"
$ xy --output-format stream-json "总结这个仓库"
$ xiaoyu --acp
$ xiaoyu send zhinu-1 "顺便把 lint 跑一下"
$ xiaoyu --yolo --no-network
小羽 0.36.0 · 模型 deepseek-v4-pro · 沙箱 seatbelt
/help /tools /skills /model /mode /plan /tasks /resume
 

key 是你的,模型随时换。

各大模型厂商的 coding agent 深度绑定自家模型,行业通用的那些又越做越重:订阅、账号体系,连模型也一并卖给你。小羽反着来:内置直连 deepseek / moonshot / qwen / zhipu / anthropic / openai / xai,或者接任何 OpenAI 兼容网关,两边都配时清单自动合并。

确认框的开关,交还给你。

安全护栏越堆越多、越来越难关掉,体验被一点点吃掉。小羽把「每步确认」当成一档而不是必选项:--yolo 做满,不问、不停、不降速,而沙箱与不可逆命令拦截照样兜着。

每个企业迟早要有自己的 coding agent。

懂自己的代码库、规范、工具链和审批流程,这件事外人替你做不了。小羽想当那层内核:工具、沙箱、审批、上下文管理、MCP 与技能现成给你,模型、工具、流程你自己往上接。

放手程度你定

Shift-Tab 循环切换,或 /mode--mode 起手;--yolo 单独开。

  1. 默认

    写文件、执行命令逐条确认。

  2. auto

    工作区内改文件、沙箱内跑命令免确认;危险命令、提权、写到工作区外仍要问。

  3. plan

    只读规划态:交计划后要你批准才执行。

  4. --yolo

    全放行,一路跑到底。无人值守、CI、容器里就该这么跑。

四条底线在 --yolo 下照样生效

  • bash 仍在内核级沙箱里,写不出工作区、临时目录和构建缓存
  • deny 权限规则一条都不放行
  • rm -rf /、fork bomb 一类不可逆命令任何模式下都不执行
  • 计划批准仍要问;跨会话消息默认不收。介意联网就 --no-network

大致能做什么

内核级沙箱

bash 跑在 macOS Seatbelt / Linux bubblewrap 里,只能写工作区、临时目录和构建缓存。auto 档放行的依据是沙箱,不是信任:沙箱不可用时自动降级。

后台任务与监视

bash 加 run_in_background 立即返回,完成自动通知;monitor 盯 CI、tail 日志,事件逐行送达并限流。

长会话不断片

上下文快满时分层回收,Ctrl-C 随时可继续,xiaoyu resume 恢复历史会话。

多协议自动选

按型号选 chat completions / Responses / Anthropic Messages,推理状态回传与 prompt caching 都用得上。限流自动重试,配了降级链就换模型接着跑。

几百个 MCP 工具也不吃上下文

MCP 工具默认走检索模式:不塞满 schema,模型用 search_tool 按需检索、use_tool 调用。含 OSV 检查与 rug-pull 隔离。

一行装齐插件包

xiaoyu plugin add aws/agent-toolkit-for-aws 装齐技能 + MCP 声明。认 agent-plugins.org 的跨客户端 bundle 格式,社区已有的包直接能用。

多 agent 织造

织女 Zhinu 是织坊,小羽 Xiaoyu 是梭子。agents/*.toml 放一个文件就多一个可委托的子 agent,带 worktree 隔离与 resume 续跑。

七襄Qixiang · Parallel-Weave

并行织造:召集多名织手横向并行,一个模板加 N 份材料扇出,按输入顺序聚合成带续跑句柄的 report。

斗巧Douqiao · Contest-Weave

竞争织造:多名织手互不相通地独立完成同一任务,models 参数可让不同厂商模型各织一匹,判官比对择优。

宸枢Chenshu · Sovereign-Weave

统筹织造:总枢规划、分派、监督、汇总,大工程拆成 scope 互不重叠的 mission,worker 在独立分支 worktree 里并行,评审过闸后合回主干。

用你顺手的工作台

小羽是内核,不强迫你换工作台。终端之外,它还能跑在这些地方。

Zed 侧栏里的小羽:对话面板,底部可选 deepseek-v4-flash 模型与默认模式
Zed 里的小羽,底栏可切模型与模式(截图已裁剪)

Zed

小羽原生说 ACP(Agent Client Protocol)。在 Zed 里按自定义 agent 配置一条启动命令,即可在编辑器侧栏里用小羽,key 和模型仍是你自己的。提交到 ACP 官方 registry 的收录正在进行,合并后可在 agent 列表里直接选。

# 任意 ACP 客户端通用的启动命令
uvx xiaoyu-agent --acp
KiroCrew 会话界面里小羽在自我介绍
KiroCrew 会话里跑的是小羽(截图已裁剪)

KiroCrew beta

羽案 Xiaoyu Desk 是把 KiroCrew 从 kiro-cli 切到小羽的适配器:不改、不 fork KiroCrew,走它自己的 KIROCREW_KIRO_BIN 覆盖项;自带 doctor 自检。目前只能用网关启动时的那个 agent,小羽自身的交互模式在 KiroCrew 里不可达。

pip install xiaoyu-desk
KIROCREW_KIRO_BIN=$(which xiaoyu-desk-acp) kirocrew gateway
羽案 Xiaoyu Desk 源码与已知限制

你自己的程序

xiaoyu.embedding.AsyncAgent 把 agent 当执行引擎嵌进你的进程,异步审批、事件流、会话复用;跨语言用 --wire 的 stdio JSON-RPC。

from xiaoyu.embedding import AsyncAgent

接到你已有的模型和编排上

一个 key 就能跑,或者一个网关兜底。

  • DEEPSEEK_API_KEY
  • MOONSHOT_API_KEY
  • DASHSCOPE_API_KEY
  • ZHIPU_API_KEY
  • ANTHROPIC_API_KEY
  • OPENAI_API_KEY
  • XAI_API_KEY
  • XIAOYU_BASE_URL

HTTP API

xiaoyu serve 起服务,n8n / Dify / 自研调度直接驱动。异步提交、状态轮询、事件游标,OpenAPI schema 由代码生成。

MCP server

同一服务在 /mcp 挂 agent 级 MCP server,LangChain / LangGraph 经官方 adapter 即插即用。

三行装好

# 补全 / 历史 / 粘贴折叠 / 贴图 / diff 高亮
pip install "xiaoyu-agent[tui]"
# 交互向导填 key;--show 看生效配置,key 永不回显
xiaoyu config
# 开聊;xy 是等价缩写
xiaoyu
装完回车,看到的就是这个。

Windows / macOS / Linux 全平台。MIT 协议,源码在 GitHub。