Skip to content

feat(taiji): unofficial custom package - warden/poke/RBAC, legion, ACP bridge, knowledge-base search - #2177

Open
1688mengdie wants to merge 5 commits into
GCWing:custom/taiji-unofficialfrom
1688mengdie:custom/taiji-unofficial
Open

feat(taiji): unofficial custom package - warden/poke/RBAC, legion, ACP bridge, knowledge-base search#2177
1688mengdie wants to merge 5 commits into
GCWing:custom/taiji-unofficialfrom
1688mengdie:custom/taiji-unofficial

Conversation

@1688mengdie

@1688mengdie 1688mengdie commented Aug 9, 2026

Copy link
Copy Markdown

taiji 定制包合入请求

将 taiji 非官方定制成果合入上游 custom/taiji-unofficial 定制分支。

  • 来源分支1688mengdie:custom/taiji-unofficial(merge commit 90f1ad2e5
  • 定制包:单个 commit ca6eb3dad(父 = 最新上游 a86e1916a,含全部定制成果,压缩自完整开发历史)
  • 目标 base:上游 custom/taiji-unofficial792459b7b)→ 合入后变更面 = 上游 3 提交 + 定制包共 482 文件(+53482 / -15744),零混入

定制内容按功能域组织,核心能力与关键实现位置引用自功能权威源文档(taiji 开发版 docs/功能文档/)。


功能域总览

1. Warden 守卫 + RBAC 权限模型(warden/poke/RBAC)

定位:agentic 运行时守卫全链路 + 三权分立权限底座。

  • 内容长度钳制(WARDEN-08):Audit-Poke 判定请求把 content-like 参数替换为 {contentLength: N} + 内容指纹,判定模型只见长度/指纹、不见全文(防内容泄露 + 判定 token 大降)
    • src/crates/assembly/core/src/agentic/warden/runtime.rs(summarize 链)
    • src/crates/assembly/core/src/agentic/tools/pipeline/tool_pipeline.rs(convert_tool_result / summarize_judgement_tool_args)
  • readonly manifest 修正:TodoWrite/PlanUpdate 刻意改为非 readonly(允许清单 ≠ 禁止清单;状态变更工具必须过写门禁)
    • .../tools/implementations/todo_write_tool.rs.../plan_update_tool.rs
  • Challenge-Poke 速率护栏:PoissonScheduler sanitize_rate(rate=0/NaN/负/超上限 → 永不 poke;f64::INFINITY 保留为显式禁用)
    • src/crates/assembly/core/src/agentic/warden/poisson.rs
  • Warden 持久化:违规记录落盘 ~/.bitfun/warden/(跨 workspace 共享、重启不丢)
    • src/crates/assembly/core/src/agentic/warden/runtime.rs + scheduler 接线
  • RBAC 五角色:Commander / Executor / Reviewer / Warden / PunishmentExecutor,角色创建时钉死、派发时校验、委托时限制
    • src/crates/assembly/core/src/agentic/tools/restrictions.rs
  • 主会话豁免(R3):主会话只注册角色不落 Commander 模板,防恢复注册锁死主会话核心工具
  • 共享授权门(R4/R5)resolve_session_mutation_authorization 统一 SessionControl / acp_control / SessionMessage 投递的授权语义(daemon/warden 拦截 + owner 豁免 + created_by + 祖先授权)

已知边界:SKILL.md 已降承诺——deadline/defer 当前运行时未执法(协议设计意图);惩罚阶梯为 R-25 纯提醒(无 RBAC 降级/冻结)。

2. Legion 军团系统(legion_mode / legion_control / team_presets)

定位:军团拓扑部署——fractal deployment topology,把复杂工作分解到专门 agent 会话。

  • LegionControlTool:部署军团拓扑为持久化 agent 会话(校验无环/单父),节点上限 MAX_LEGION_NODES=20 防资源爆炸
    • src/crates/assembly/core/src/agentic/tools/implementations/legion_control_tool.rs
  • LegionMode(id="Legion"):军团功能独立成新模式——工具 = agentic 共享子代理工具集 + 独有 LegionControl;prompt legion_mode.md;注册链完整(modes/mod.rs + agent-runtime agents.rs + registry/catalog.rs + prompt_catalog_contracts)
    • src/crates/assembly/core/src/agentic/agents/definitions/modes/legion.rssrc/crates/assembly/agent-content/prompts/agents/legion_mode.md
  • team_presets:军团预设存储(nodes/edges),供 LegionControl 加载
    • src/crates/assembly/core/src/agentic/agents/team_presets.rs
  • RBAC 子代理角色钉死(P-01):subagent-marked 会话恒为 Executor 角色 + GeneralPurpose 专属模板 + 护栏测试(防子代理被错配 Commander 模板导致工具全禁)
  • WebUI 军团:CreateLegionPage / LegionCard / orchestration-patterns / LegionPresetAPI
    • src/web-ui/src/app/scenes/agents/components/src/web-ui/src/infrastructure/api/service-api/LegionPresetAPI.ts

已知边界:军团节点硬上限 20;LegionControl 通过 SessionControl 同一条持久化路径部署会话。

3. ACP 通道(真通道直通,去转述层)

定位:把 BitFun 会话/工具调用桥接到真实外部 Agent(Codex / Claude Code / OpenCode 等),acp__<client> 会话 = 真实外部进程。

  • 创建即真:SessionControl acp__ create / Task acp__<client> spawn 直接经 AcpClientPort 创建真外部 ACP 流会话(持久记录 + 进程启动 + 失败回滚)
    • src/crates/assembly/core/src/agentic/tools/implementations/session_control_tool.rs.../task/execution.rs
  • ACP 工具族:acp_control / acp_message / acp_history
    • src/crates/assembly/core/src/agentic/tools/implementations/acp_tools.rs
  • 端口契约 + desktop 实现AcpClientPort 契约(create/send/cancel/release/delete/read_history/stream)+ DesktopAcpClientPort 服务桥
    • src/crates/contracts/runtime-ports/src/acp_client_port.rssrc/apps/desktop/src/runtime/acp_client_port.rs
  • 生命周期桥 + 孤儿扫描:SessionCreated→启动进程、SessionDeleted→release、DialogTurnCancelled→cancel、启动时孤儿扫描回收
    • src/apps/desktop/src/runtime/acp_session_lifecycle.rs
  • 超时控制:ACP 直通 1800s / Task ACP 600s;结果回传走通知(不注全文),全文经 SessionHistory 检索

已知边界:ACP 外部进程未启动时由首次委托 turn 懒启动;ACL 授权门(R4)已接入。

4. Session 会话管理(session tree / 幽灵防护 / 工具族)

定位:会话全生命周期管理 + 会话树 + 幽灵复活防护。

  • 会话树(session tree):纯内存会话树(cycle/self-reference 校验,递归深度上限),SessionControl list 树视图
    • src/crates/services/services-core/src/session/tree.rssrc/crates/contracts/core-types/src/session_tree.rs
  • 幽灵复活防护:tombstone 注册表(deleted-session-ids.json,上限 2000)+ finalize 前检查 + list 后端 tombstone 过滤 + 写锁/原子写(KeyedAsyncLock + temp+rename)
    • src/crates/assembly/core/src/agentic/session/session_manager.rs
  • 会话工具族增强:SessionControl 增 rename / compact action;SessionMessage / SessionHistory
    • src/crates/assembly/core/src/agentic/tools/implementations/session_control_tool.rs.../session_message_tool.rs
  • 上下文窗口钳制SESSION_CONTEXT_WINDOW_MIN_TOKENS = 1M
  • 共享授权门(R4/R5):delete/cancel/投递统一授权语义(详见功能域 1)

已知边界:tombstone 损坏显式报错传播(Err 暴露);reconcile 删除失败错误传播 + Windows 删除重试(5×50ms)。

5. 执行引擎 + 工具链(engine / 工具防呆)

定位:执行引擎主循环(消息组装/压缩/输出预留)+ 工具层防呆。

  • 缓存前缀稳定:消息组装静态组(system 后)+ 动态组(末尾),动态注入永不破坏缓存前缀(缓存命中省 token)
    • src/crates/assembly/core/src/agentic/execution/execution_engine.rs
  • 压缩上限 + 输出预留MAX_SAME_ROUND_COMPRESSION_PASSES=2 防同轮无限压缩;ENGINE-03 输出预留钳制 ≤40% 窗口
  • User Context 每 turn 首轮注入:每用户回合首轮注入关键上下文、同轮工具轮抑制(省 token 与上下文完备平衡)
  • grep 防呆降级 + 根因级修复:flashgrep 索引不可信(脏仓库/子路径 scope)→ 降级 rg 重搜;service 层对空结果用 rg 同 scope 交叉校验(假空→信任 rg、真空→原样)
    • src/crates/assembly/core/src/agentic/tools/implementations/grep_tool.rssrc/crates/services/services-integrations/src/workspace_search/rg_fallback.rs
  • review read receipt 防呆:同一文件被已读回执拦截 ≥3 次强制放行真实读取(精确计数 + 文件级计数双维度),破审查空转
    • .../file_read_tool.rssrc/crates/execution/agent-runtime/src/file_read_state.rs

已知边界:skip_message_for_model_send 仅跳 ComputerUse 截图(刻意窄化);BackgroundResult 通知注入不注全文。

6. 知识库搜索 + 计划/任务工具

  • 知识库搜索knowledge_base_search_tool——知识库根目录经环境变量解析(workspace 外可达,无硬编码路径)
    • src/crates/assembly/core/src/agentic/tools/implementations/knowledge_base_search_tool.rs
  • 计划工具族:plan_list / plan_read / plan_update + create_plan / todo_write 增强、plan_todo_binding(计划↔任务绑定)、review_propagation(审查传播)
    • src/crates/assembly/core/src/agentic/tools/implementations/plan_*.rssrc/crates/assembly/core/src/agentic/coordination/plan_todo_binding.rs.../review_propagation.rs
  • workspace_scan:工作区扫描工具

7. WebUI 增强

  • BeeColonyMonitor:浮动面板渲染 bee-colony-dag MiniApp DAG 可视化(常驻可访问,不占主场景 tab)
    • src/web-ui/src/app/layout/BeeColonyMonitor.tsx
  • content-canvas grid9 布局:动态 1-9 分链 / free-form 行列 / 模板+合并 / L0 拖拽 / 入口可达(头部图标栏)
    • src/web-ui/src/app/components/panels/content-canvas/
  • 会话/子代理视图:session tree 前端、SubagentProjectionView、会话相关 locale 三语补齐
  • agent 场景:CreateLegionPage / LegionCard(见功能域 2)

8. 脚本 / CI / 上游同步基础设施

  • embed-server.py:本地 OpenAI 兼容 embedding 服务器(端口 8890,Qdrant/bge-small-zh-v1.5,ONNX 推理,ThreadingHTTPServer 并发稳定)
    • scripts/embed-server.py
  • Windows 打包package-windows-assets.mjs + 单测
  • CI 稳定性:sherpa-onnx native 库 CI 预下载 + SHERPA_ONNX_LIB_DIR;desktop-package workflow 修复
  • 上游同步压缩模式固化:commit-tree 绕过 reset --soft 写保护 + main-full-history 备份分支 + force-with-lease(定制包 = 单 commit ca6eb3d,diff 零差异)

变更面

测试程度声明

本定制包为 AI 辅助产出(taiji 开发版开发由 AI 辅助 + 人工审查),以下为已执行验证:

  • 本次拉取验证(merge 后)
    • cargo check -p bitfun-core / -p bitfun-runtime-ports / -p bitfun-services-core0 error 0 warning
    • 冲突解决:零冲突(merge-base = HEAD,taiji-dev 侧纯领先)
    • 全量差异法:merge 变更面 = 上游 ∪ 定制,零混入
  • 开发侧验证(功能文档台账实证)
    • bitfun-core 全量测试 2300+ 全绿(含 tombstone 7/7、legion_mode 2 passed、RBAC 护栏、execution 防回退等)
    • bitfun-agent-tools 211+6 联动测试全绿
    • 边界测试 scripts/check-core-boundaries.test.mjs 67/67(上游规则零破坏)
    • rand 方案 C 三态编译矩阵全过(default / no-default / no-default+agent-runtime)
    • CI 全绿实证(windows/macos/ubuntu,含 reconcile、CLI flaky 修复)
  • 已知未覆盖
    • bitfun-desktop 受限于本地 mobile-web 前端产物缺失(环境预存问题,无 Rust 代码错误;CONTRIBUTING 前置检查项)
    • 前端 type-check 未在本次拉取重跑(本次无前端代码改动,WebUI 改动全部来自定制包)

备注

  • 本 PR 由 taiji-unofficial 稳定版拉取流程产出,审查已通过(P0/P1=0)
  • 未改动 upstream/main、taiji-dev 分支、stash;只推 fork 分支 + 本 PR

liao-zh and others added 5 commits August 9, 2026 14:00
chore(i18n): unify copy wording in zh-CN and zh-TW locale
Remove the parallel application connection and batch review surface, keeping the existing source policy and owner-specific permission controls as the single path.

Reduce Web and TUI output, preserve remote and owner guards, and consume retired automatic defaults once without overwriting later user choices.
…icial

- baseline: HEAD = 792459b (frozen baseline, clean tree)
- merged: taiji-dev/main = ca6eb3d (parent = a86e191 = latest upstream main)
- change surface: upstream 3 commits (92a6203 i18n / 8a5dbaa merge GCWing#2172 / a86e191 refactor external-sources) + custom package ca6eb3d
- conflicts: none (merge-base = HEAD, taiji-dev side strictly ahead)
- custom preserved: warden / legion_mode / acp_tools / knowledge_base_search / session tree / WebUI agents / BeeColonyMonitor / embed-server.py etc.
@1688mengdie
1688mengdie changed the base branch from main to custom/taiji-unofficial August 9, 2026 13:38
@1688mengdie 1688mengdie changed the title taiji unofficial custom package: warden/poke/RBAC, legion, ACP bridge, knowledge-base search (based on a86e1916a) feat(taiji): unofficial custom package - warden/poke/RBAC, legion, ACP bridge, knowledge-base search Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants