Releases: Ink-dark/orcha
Release list
Orcha v0.1.2-beta
Orcha v0.1.2-beta
安全加固版本:按高危优先级修复 9 个安全 issue。
本次发版聚焦安全:4 个 CRITICAL + 5 个 HIGH,每个 issue 一个独立 commit,
commit message 均带工单号(fix(#N))并附验证通过的证明。CI 双平台
(ubuntu-latest / windows-latest)fmt + clippy(-D warnings) + test 全绿。
CRITICAL 修复
| # | 问题 | 修复 |
|---|---|---|
| #7 | 命令超时只 kill 主进程,孤儿子进程继续运行 | run_with_timeout() 用 process_group(0) + killpg(SIGKILL) 杀整个进程组 |
| #16 | HTTP server 无认证,任意本机进程可读写任务/记忆 | 可选访问令牌认证(Bearer / Cookie / ?token=),None 向后兼容 |
| #20 | 运行时白名单只匹配 basename,批准 src/main.rs 会覆盖 tests/main.rs |
改用完整规范化相对路径匹配,杜绝同名文件越权 |
| #23 | CORS 设为 *,任意网站可跨域读取 API |
移除 cors() 与所有 Access-Control-Allow-Origin 响应头 |
HIGH 修复
| # | 问题 | 修复 |
|---|---|---|
| #17 | Unix socket 默认 umask,同机其他用户可连入 | bind 后 set_permissions(0o600) |
| #22 | 审批 action_id 用时间戳+计数器,可推算伪造 | 改用 uuid::Uuid::new_v4()(CSPRNG) |
| #26 | IPC TCP 后端无认证,任意进程可注入伪造触发/审批 | TCP 共享密钥握手 AUTH <secret>\n + constant_time_eq |
| #24 | Feishu adapter 三个 Map 只增不减 → OOM | 新增 TTLMap(TTL 1h + LRU maxSize 5000)替换 |
| #27 | API 错误响应 {"error":"{e}"} 泄露内部细节 |
改返回 {"error":"internal_error","correlation_id":"<uuid v4>"} |
设计原则
- 向后兼容 Option 模式:#16(auth token)、#26(tcp secret)均用
Option<String>,
None保留旧行为,未配置时打警告,不破坏现有部署/CI。 - 纵深防御:Unix socket 用文件系统权限(#17)+ TCP 用共享密钥(#26),两条 IPC 路径都加锁。
- fail-closed:审批/白名单/认证任一环节失败都返回拒绝,不放行。
- 每个修复带回归测试:新增测试覆盖修复点,保留全部既有测试。
验证
cargo test --workspace --features orcha-core/llm
orcha-core 223 passed
orcha-gateway 67 passed
orcha-llm 46 passed
orcha-shell 13 passed
orcha-cli 40 passed
orcha-sdk 14 passed
全部 0 failed
cargo fmt --all -- --check · cargo clippy --workspace --features orcha-core/llm --all-targets -- -D warnings → exit 0
TS:npx tsc --noEmit 无错误
升级须知
两个新增的可选配置(生产建议启用,dev/CI 不配也能跑):
- HTTP token(#16):
orcha shell --token <secret>或ORCHA_SHELL_TOKEN=<secret> - IPC TCP secret(#26):
config.ipc.tcp_secret或ORCHA_IPC_TCP_SECRET=<secret>
注:本次标签打在
fix/security-high-priority分支(CI 已绿的 b07a683),
合并 PR #29 后 main 即包含全部修复。
完整变更日志:CHANGELOG.md
PR:#29
Orcha v0.1.1-beta
Let the Orcha play.
92 次提交 · 4 天 · 从零到飞书联调闭环
起源
2026 年 7 月 4 日,一行 Initial commit,学校机房,TRAE云端开发环境,一切从0开始。
四天后的现在,Orcha 已经是一个能在飞书接到一句话任务、AI 自主拆解执行、经人工审批写代码跑测试、最后把改动推到 Git 分支的全链路系统。
这不是 demo,这是实打实接了飞书长连接、跑了真实 Rust 项目的 AI Agent。
核心能力
🤖 AI 自主调度
LLM 决定每一步调哪个 Agent(Observer / Planner / Worker / Tester / Reviewer / Fixer),不再硬编码流程。调度权交 AI。
📱 飞书一键触发
@orcha 发一句话,长连接实时接入,无需公网 URL。Agent 执行进度实时推送到飞书卡片——🔍 观察中 → 📋 规划中 → 💻 写代码 → 🧪 测试中 → 👀 审核中。
🛡️ 人工审批
写文件、跑命令、删文件前推送审批卡片,管理员点击 [批准] / [拒绝] 按钮。PathGuard 硬限制 + 审批 Hook 软限制双层防护。
🌿 Git Worktree 隔离
每个任务在独立 worktree 执行,原 repo 不受污染。任务成功自动 commit 并推到 orcha/* 新分支。
🔧 完整的 Sub-Agent 体系
- Observer — 自动检测项目类型(Rust / Go / Python / JS 等),按模块分组报告
- Planner — 基于 workspace 现状生成结构化执行计划
- Worker — 只读探查 + 编辑已有文件 / 创建新文件 / 删除
- Tester — 自动检测测试框架,跑 cargo test / pytest / go test…
- Reviewer — 审核 Worker 产出 + diff scope 校验
- Fixer — 修复测试基础设施
🛡️ 熔断与恢复
- 最多 30 步决策 + 连续 3 次失败强换策略
- 命令执行 10 分钟超时保护
- panic 自动恢复,不丢 task 状态
/stop命令随时取消运行中任务
里程碑(M0 → M7)
| Milestone | 名称 | 状态 |
|---|---|---|
| M0 | 骨架与契约 | ✅ |
| M1 | Task 模型与本地 CLI | ✅ |
| M2 | 单步 Sub-Agent 执行 | ✅ |
| M3 | Cycleround 闭环 MVP | ✅ |
| M4 | 编码 Agent 核心能力 + 写边界安全 | ✅ |
| M5 | Web UI Shell + HTTP API | ✅ |
| M6 | Gateway 基础设施与跨进程通信 | ✅ |
| M7 | IM 接入与智能守护 | ✅ |
242 个测试全部通过,clippy 零警告。
技术栈
| 层 | 技术 |
|---|---|
| 核心调度 | Rust (orcha-core) |
| LLM 客户端 | Rust (orcha-llm),OpenAI 兼容协议 |
| Gateway | Rust (orcha-gateway),IPC + 任务队列 |
| CLI | Rust (orcha-cli) |
| Web UI | Rust (orcha-shell),tiny_http |
| 飞书 Adapter | TypeScript (orcha-feishu-adapter),飞书官方 SDK |
跨平台:Windows / Linux / macOS,IPC 支持 Unix Socket / Named Pipe / localhost TCP。
仓库
https://github.com/Ink-dark/orcha
git clone https://github.com/Ink-dark/orcha.git
cd orcha
.\scripts\start.ps1自动化 AI-Agent 未来已来。
国内用户蓝奏云加速下载地址:https://www.ilanzou.com/s/QuZxpxTz
Orcha-dev官方账号:https://github.com/orcha-dev