TreeFarm

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • network request — Outbound network request in docs/examples/mixed-project/js_front/client.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

专为AI Agent设计的轻量级思维树+代码深度分析插件。两级触发链(开启思维树→开启深度思考模式),耦合基因库省Token,支持5语言函数级分析、安全/性能/逻辑检测、沙箱动态测试。零依赖,手机端Termux流畅运行。

README.md

🌳🌲 TreeOfThought + TreeFarm(融合版)

一个包,两个技能,两级触发链。
思维树负责「怎么想」(多分支深度推理),树场负责「读哪些、怎么省」(大项目代码分析省 token)。
装一次 = 两个技能全部到位,不用再分别找两个包。

零依赖 纯 Python + Node Apache 2.0 多语言 适配 Claude / Qwen / Cursor / Windsurf / Gemini CLI


★ 先看实测战绩(2026-09-07 更新,v4.9.8)

🏆 最新战绩(2026-09-07,v4.9.8)C/C++ 函数级分析上线——函数提取/调用图/类继承/
复杂度/死代码/跨文件基因/安全规则全覆盖(此前 C/C++ 仅 import 级正则)。十轮攻坚实测:
模型加持相对提升 400%(cproj 0.4→2 信号、psutil 7.6→38 信号,远超 200% 目标);
误报治理 150 系统头文件 0 误报;tornado 6.1 金标准 0/100 A 保持;499 测试全绿。

历史战绩(2026-09-06,v4.9.6/7):OWASP 对抗靶场 11 样例——应报 8 全中、对照 3 全不报;
BugsInPy tornado 8 bug 功能全开 8/8 定位根因(静态规则 3/8 结构型 100% + 思维树兜底语义型)。

历史战绩(2026-08-08,v3.0 已更新):真实 APK 项目实测(自动点击器 2.0.12.31,21MB / 9,187 个 Java 文件):

AI 傻读全量 1,232.6 万 tokens
树场简报 26.2 万 tokens
第一轮节省 ★ 97.9% ★
基因库建库 57,919 条,仅 2 分钟

规模越大越省:50 文件省 95.6% / 100 文件省 96.3% / 500+ 文件省 96.9%

📌 97.9% 的对比基准:AI 傻读全量源码(10 万+ 文件级上下文直接喂给大模型)
vs 树场简报(按需裁剪后的上下文)。对比的是"给 AI 的输入量",不是"开发者手动查代码"的
场景——后者感知的节省约 30~50%。这个数字用于说明输入量级差,不承诺具体省多少钱。

诚实边界:小项目(几个小文件)别开树场,直接读更划算。树场为「大项目 + 多轮排查」而生。


📑 目录


🎯 两级触发链(最重要,先看这个!)

两个技能默认全部关闭,绝不自动触发。触发顺序是严格的两级状态机:

你说的话 效果
(什么都不说) 一切照旧,两个技能都不触发
「开启思维树」 🌲 思维树开启(复杂问题用多分支推理),树场仍关闭
再说「开启深度思考模式」 🌳 树场也启动(大项目代码分析省 token)
(树场模式下)「关闭 LLM」 📵 树场里 LLM 自动报鸟功能关闭(默认开启)
「关闭深度思考模式」 🌳 树场关闭,思维树保持开启
「关闭思维树」 🌲 思维树关闭,恢复正常回答
重启 / 新开会话 全部自动回到默认关闭

🔑 关键:只说「开启思维树」= 只用思维树,树场不会自动开;
两个都要,就按顺序说两句话。新会话一切归零,从不打扰日常使用。


📦 文件夹说明

TreeOfThought+TreeFarm(融合版)/
├── install.sh                  # ★ 一键装两个技能(推荐)
├── README.md                   # 本文档
├── 功能介绍与使用教程.txt       # 图文教程(含省 token 实测数据)
├── 粘贴用.txt                  # 聊天场景快速粘贴(精简版)
├── 纯提示词版.md               # ★ 聊天 AI 完整提示词(思维树+树场合并版)
├── tree-of-thought/            # ★ 技能 1:思维树 v3.1(Agent Skills 标准格式,含自动检测)
│   ├── SKILL.md                #   真搜索算法版协议(beam/bfs/dfs + 评分 + 剪枝 + 回溯)
│   └── scripts/
│       ├── tree-search.js      #   ★ 树搜索管理器(零依赖 Node,v3 新增)
│       ├── render-tree.js      #   推理 JSON / 搜索状态 → 文字符号树(含状态徽章)
│       └── test_tree_search.js #   树搜索 14 个测试(node test_tree_search.js)
├── tree-farm/                  # ★ 技能 2:树场 v4.9.8(Agent Skills 标准格式)
│   ├── SKILL.md                #   两级状态机 + 树场工作流(v4.9.8 同步)
│   └── scripts/
│       ├── tree_farm.py        #   树场引擎 v4.9.8 入口(纯 Python 标准库,SQLite 存储)
│       ├── treefarm/           #   ★ 多模块包(common/parser/storage/config/analysis/core/cli/sandbox/spec)
│       ├── tests/              #   499 个 unittest 测试(python3 -m unittest discover -s tests)
│       └── apk_analyze.sh      #   APK 一条龙脚本(反编译 → 树场)
└── examples/
    ├── 完整输出示例.md          # 思维树文字树效果(完整/紧凑/ASCII)
    ├── 示例输出.txt             # 树场引擎输出示例
    └── demo_project/           # 树场演示项目(跑 --brief 看效果)

🚀 安装(按 agent 选一个)

方法 A:一键安装(推荐,装两个技能)

bash install.sh                # 装到本机所有已装 agent(用户级)
bash install.sh /你的项目目录   # 顺便装到项目级

装完**重启 agent(新开会话)**生效。

方法 B:手动复制

以 Qwen Code 为例(其他 agent 同理,看下表):

mkdir -p ~/.qwen/skills
cp -r "tree-of-thought" ~/.qwen/skills/
cp -r "tree-farm" ~/.qwen/skills/
agent 技能目录
Claude Code ~/.claude/skills/ 或项目 .claude/skills/
Qwen Code ~/.qwen/skills/ 或项目 .qwen/skills/
Cursor .cursor/skills/
Windsurf .windsurf/skills/
Gemini CLI ~/.gemini/skills/
OpenCode / Cline / Roo Code 等 .claude/skills/(兼容 Claude Skills 格式)

方法 C:纯聊天 AI(ChatGPT / 豆包 / Kimi / DeepSeek / 元宝 / 文心等)

没有技能文件系统 → 打开 纯提示词版.md,把虚线框里的内容整体复制:

  • 有「自定义指令/人设」功能 → 粘贴进去,一劳永逸
  • 没有 → 粘贴到新对话第一条消息,后面正常提问

🧪 快速验证

# 思维树:渲染一棵演示文字树(有 node 的环境)
node tree-of-thought/scripts/render-tree.js --demo

# 思维树 v3:真搜索演示(初始化一棵束搜索树)
node tree-of-thought/scripts/tree-search.js init --strategy beam --beam 3 --depth 2 "测试问题"

# 树场:给演示项目做体检(自动建基因库,SQLite)
python3 tree-farm/scripts/tree_farm.py examples/demo_project

# 树场:AI 工作简报(省 token 核心)
python3 tree-farm/scripts/tree_farm.py examples/demo_project --brief

# 跑全部测试(Python 499 个 + Node 14 个)
python3 -m unittest discover -s tree-farm/scripts/tests
node tree-of-thought/scripts/test_tree_search.js

# 树场代码分析(v3.1:5 大分析命令全部试一遍)
python3 tree-farm/scripts/tree_farm.py examples/demo_project --dead-code
python3 tree-farm/scripts/tree_farm.py examples/demo_project --circular-deps
python3 tree-farm/scripts/tree_farm.py examples/demo_project --impact examples/demo_project/main.py
python3 tree-farm/scripts/tree_farm.py examples/demo_project --complexity
python3 tree-farm/scripts/tree_farm.py examples/demo_project --architecture

全部正常输出即安装成功。两个技能均零依赖(Node ≥ 12 / Python 3.8+)。


🔁 与原版的关系

原版包 本融合版(v4.9.8 已升级)
思维树独立包 tree-of-thought/ 技能并入,升级为真搜索算法版(六步流程 → 搜索循环 + 评分/剪枝/回溯 + tree-search.js)
树场独立包 tree-farm/ 技能并入,升级为 v4.9.8(函数级分析 + 真增量更新 + SQLite 存储 + 5 大代码分析 + 沙箱动态测试 + 静态AST + 中文命令菜单 + AST 精确性能/逻辑检测 + 安全规则补齐 XXE/开放重定向/认证绕过/前端XSS + 资源泄漏 + Grader 化:功能画像 --spec/--spec-read + 报bug症状 --bug + 综合评分/趋势 --grade/--grade-diff + 契约检测 + 全自动深度体检 --deep + 污点分级/跨文件污点检测 --security + C/C++ 函数级分析(调用图/复杂度/死代码/安全规则)+ 参数化SQL豁免/os.system拼接/meta refresh重定向 + 499 个测试
各自独立的 install.sh 合并为一个,一次装两个
各自独立的 README/教程/粘贴用 合并为融合版全套文档
(原版 bug)install.sh 不复制 scripts/ 已修复:脚本收进技能目录内,复制即完整

❓ 常见问题

Q:装了没反应?
A:检查文件夹名必须是 tree-of-thought / tree-farm(与 SKILL.md 的 name 一致),
SKILL.md 在文件夹根目录,然后重启 agent 会话

Q:两个技能会打架吗?
A:不会。思维树管「怎么想」,树场管「读哪些」,各自独立开关、独立状态机。
开启思维树后遇到复杂问题用思维树;再开深度思考模式后分析大项目才用树场。

Q:只想用一个技能怎么办?
A:随便。只装 tree-of-thought/ 或只装 tree-farm/ 都可以独立工作;
融合版是"全都要"的选择,不是强制绑定。

Q:怎么调整思维树强度?
A:一句话自定义:用思维树 3 分支 1 轮思维树束宽 6思维树 dfs(深度优先)、思维树恢复默认(beam · 束宽 4 · 深度 3)。

Q:思维树 v3 的「真搜索」和普通多角度分析有什么区别?
A:普通分析是"列几个角度然后总结";v3 搜索是算法骨架:分支要四维评分(证据/相关/新颖/可验证)、
低分剪枝、死路回溯、状态管理(有终端环境由 tree-search.js 自动维护)。评分和剪枝让 token 花在
最值得的分支上,回溯证明"这条路试过为什么不行"——这是专业 ToT 工具的标准做法。

Q:树场什么时候用最划算?
A:大项目 + 多轮排查(实测 21MB APK 省 97.9% token)。小项目(几个文件)直接读更划算,别开树场。


✨ 全部功能一览

🌲 思维树 TreeOfThought v3.1(管「怎么想」,含自动检测)

功能 说明
★ 真搜索算法 默认 beam 束搜索(可选 bfs/dfs):分支评分 → 剪枝 → 深挖 → 回溯,算法骨架驱动
四维评分表 每个分支打「证据 35% / 相关 30% / 新颖 20% / 可验证 15%」,低分剪枝、高分深挖
节点状态机 待展开 → 已展开 → 已评分 → 剪枝 / 死路,搜索过程可中断续跑、可复盘
回溯机制 分支走死(证据不足/前提证伪)→ 标记死路回退到存活分支,不浪费 token 在死路上
搜索循环流程 树干成形 → 分支生长 → 评分 → 剪枝 → 深挖/回溯 → 双重归纳 → 收敛 → 输出
维度按领域选 商业题用商业维度、数学题用数学维度,禁止万能模板(这是质量生死线)
★ 弱信号检测(原创核心,v3 算法化) 工具聚类 + AI 语义复核,仅 ≤30% 分支提到的关键盲点单列展示 + 带进下一轮验证
双重归纳 每轮同时产出「共识」(主流方向)+「弱信号」(被忽略的风险)
动态收敛 相邻两层结论重合 ≥90% 提前停止,不浪费 token
树搜索管理器 scripts/tree-search.js(零依赖 Node):init/expand/score/select/prune/backtrack/signal/converge/render
摘要链优化 每轮只传 ≤200 字摘要给下一轮,不重复全部历史
执行模式(默认开) 思考中直接调用宿主工具:读代码、跑测试、写文件、修 bug
文字符号树 完整/紧凑/ASCII 三格式 + 状态徽章(评分/剪枝/死路),任何终端都能"看图"
会话级状态机 开启/关闭/单次使用,说一次一直生效,新会话自动复位
一句话自定义 「思维树 3 分支 1 轮」「思维树束宽 6」「思维树 dfs」「恢复默认」
纯聊天降级 无终端环境自动降级为「手动模拟搜索」(评分/剪枝/回溯照做,手记状态)

🌳 树场 TreeFarm v4.9.8(管「读哪些、怎么省」)

功能 说明
两级触发链 先「开启思维树」,再说「开启深度思考模式」才启动,绝不自动触发
杂草索引 配置/资源/文档只存「路径+大小+首行摘要」,命中才展开(省大钱)
基因库 持久化「谁依赖谁」的关系图谱(SQLite,原子事务,旧 JSON 自动迁移),跨会话复用
函数级分析 Python AST + JS/TS/Java/Go/Rust 轻量解析器 提取跨文件 call/inherit 基因(v3/v3.3/v3.4/v3.5/v3.7)
多符号基因 同一文件对调多个函数全部入库,不再只留第一个(v3.3)
多模块拆分 单文件 3227 行 → treefarm/ 包(common/parser/storage/config/analysis/core/cli),入口用法不变(v3.6)
小虫子静态验证 免费验证基因真假(0 token,100% 确定)
真增量更新 改文件只重扫该文件;删文件级联回收引用;重命名自动迁移基因 + 重扫引用方(v3)
⚡ 27 倍提速 首次扫描 2 文件 19.4s → 0.7s;100 文件 1.1s;无变化增量 0.24s(v3.2 性能优化;v3.6 拆分后 100 文件首扫再快 43%)
📈 扫描进度条 首次扫描 stderr 实时显示 🌳 扫描 i/N--quiet 可关(v3.2)
📝 配置文件 .treefarm.toml / .treefarm.json[scan] 段支持忽略规则与忽略目录(v3.2);顶层 api_key/base_url/model 配置 LLM(v4.7,如 {"api_key":"sk-...","base_url":"https://api.deepseek.com/v1","model":"deepseek-chat"}
🧾 JSON 输出 --json 全局选项:体检 / 简报输出机器可读数据,方便其他工具集成(v3.2)
💀 死代码检测 --dead-code / 分析 死代码:找出从未被调用的函数和类(v3.1,v3.5 扩展 4 语言,v3.7 加 Rust)
🔄 循环依赖 --circular-deps / 分析 循环依赖:DFS 三色标记找环(v3.1)
💥 影响分析 --impact <文件> [符号] [深度]:改这里会影响哪些文件/函数;跨语言生效——改 JS/Java/Go/Rust 文件同样列出全部调用方(v3.1,v3.6/v3.7 确认)
📊 复杂度分析 --complexity [文件]:圈复杂度,单文件或全项目 Top 排行(v3.1,v3.5 扩展 4 语言,v3.7 加 Rust)
🏗️ 架构分层 --architecture / 分析 架构:自动识别表现/业务/数据/工具层,语言无关(v3.1)
📉 技术债务 --debt / 分析 技术债务:死代码/复杂度/重复/循环依赖四维打分 + 优化建议(v3.5)
🧪 代码异味 --smells / 分析 异味:长函数/长参数/嵌套过深/重复条件/魔法数字/大类,按严重程度排序 + 修复建议(v3.7)
💬 交互式 REPL --repl:交互式执行全部分析命令,Tab 补全 + 命令历史 + 彩色输出 + 项目缓存(v3.7)
🕸 调用图 --graph [文件] / 分析 调用图:Mermaid 调用图输出;加 --json 得结构化数据(v3.3/v3.5)
🔁 重复代码 --duplicates [阈值] / 分析 重复代码:n-gram 相似度查重(v3.3)
🔁 函数级查重 --duplicates-func [阈值] / 分析 函数级查重:函数体级相似度,比文件级更精确(v3.5)
中文命令 分析 死代码/循环依赖/复杂度/架构/技术债务/调用图/重复代码/函数级查重/影响 <文件>/异味(v3.1/v3.3/v3.5/v3.7)
小树过滤 按文件双向过滤相关基因(重构看正向 / 修 bug 看反向),O(1) 索引
垃圾箱熔断器 滑动窗口:最近 3 次验证 ≥2 次失败自动隔离,最后专项修复(负反馈闭环)
收敛控制 一轮新增小鸟 ≤2 只即结束,别无限深挖
小鸟报告 --bird(强耦合,静态验证)/ --bird-weak(弱耦合,双分支确认)
LLM 自动找卡 --analyze 自动识别 6 家 provider(OpenAI/通义/DeepSeek/Kimi/豆包等),找不到就 dry-run 不烧钱
语义搜索 --search 符号精确 + 标识符归一化(UserAuth→user_auth)+ 预构建内容索引,跨语言
多语言支持 Python(AST 精确) + JS/TS(函数级 v3.3) + Java(函数级 v3.4) + Go(函数级 v3.5) + Rust(函数级 v3.7) + C/C++(函数级 v4.9.8:调用图/复杂度/死代码/安全规则)
APK 一条龙 apk_analyze.sh 反编译 → 树场体检 → 简报,全程零配置
工程化 499 个 unittest 测试全绿(+ 14 个 Node 树搜索测试)、GitHub Actions CI、--debug 日志、--brief --compact 精简输出
纯提示词版 无终端的聊天 AI 也能用(粘贴即生效)

🏆 Grader 化(v4.7 新增:从「扫 bug」到「评估好坏 + 指导下一步」)

功能 说明
🌳 全自动深度体检 --deep / 深度体检:一键流水线——识别核心大树(被引用度)→ 每棵大树长思维链(基因+静态检测)→ 跨树搭桥/共性小鸟 → 优先修复建议(v4.8)
🎯 功能画像 --spec "功能描述" 让被检者输入项目功能(如"Flask 博客:注册登录/发文章/评论"),自动解析技术栈与重点检测类型
🐛 报 bug 症状 --bug "症状描述" 让被检者描述遇到的 bug(如"登录没反应、金额算错、很卡"),按症状推断重点排查方向(v4.9.6 起)
📖 AI 自读画像 --spec-read:自己读 README/docs/入口 docstring 推断功能,零依赖无需 LLM key
🏆 综合评分 --grade:六维健康度(安全/逻辑/性能/结构/质量/债务)加权出综合分 0~100 + 等级 A+~F + 短板优先改进方向
📈 评分趋势 --grade-diff:与上次评分对比各维度变化,进步/退步可量化追踪(评分存基因库)
🔗 契约检测 --logic 新增:API 委托对象一致性(tornado#1 型 bug)+ 抽象方法完整性,命中附 🔧 修复建议
🧪 测试目录降级 test/tests 目录检出问题标记 scope=test 单独计数,不拉低核心风险评分

v4 深度代码检测(v4.4 新增三大检测 + 沙箱,v4.5 AST 精确重写)

🔒 安全漏洞检测 --security / 分析 安全:SQL注入/XSS/命令注入/路径遍历/硬编码密码/反序列化/弱哈希/时序攻击/ReDoS/SSRF/XXE 等 20+ 种;v4.5 新增污点变量跟踪(跨行数据流:request.args.get → 变量 → 拼接传播);v4.6 新增 XXE/开放重定向/认证绕过检测 + 前端 XSS(.js/.html/.vueinnerHTML/v-html/dangerouslySetInnerHTML);v4.9 污点分级(param/concat/user)+ 跨文件污点检测(a.py 用户输入 → b.py 危险函数,两层透传链 + 来源追溯 + ORM/参数化豁免,tornado 金标准 0/100 A)
⚡ 性能问题检测 --performance / 分析 性能:循环内字符串拼接/线性查找/re.compile、N+1 查询、递归无终止/无缓存(v4.5 起 AST 精确检测,x+=1 不再误报);v4.6 新增资源泄漏检测(open/socketwith 且无 close
🧩 逻辑错误检测 --logic / 分析 逻辑:可变默认参数/除零风险/边界越界/竞态(仅真实多线程,异步框架降误报)/TOCTOU/is 比较字面量(v4.5 起 AST 精确检测,误报大幅下降);v4.7 新增 API 契约一致性 + 抽象方法完整性检测,命中附修复建议
🧪 沙箱动态测试 --sandbox run/test/trace/cov:安全沙箱执行代码 + 自动多输入生成器(30 组边界/恶意输入)触发休眠 bug;v4.5 补 subprocess 代码级黑名单防护 + AST 可执行行号精确覆盖率
🔬 轻量 AST 辅助 --static-ast:AST 沙箱绕过/动态执行/装饰器注册/类型混淆(默认关闭)
🚀 一键全量 --all-checks / 分析 全部:安全+性能+逻辑+死代码+循环依赖+复杂度+架构+技术债务 一次跑完

📚 文档体系(v3.7 新增):详细文档在 docs/ ——
用户手册 · API 文档 · 最佳实践 ·
贡献指南 · 架构设计 · FAQ ·
多语言示例项目


🏆 战绩(实测数据,2026-08-08)

★ 真实 APK 项目实测(自动点击器 2.0.12.31,21MB)

jadx 反编译 → 9,187 个 Java 文件 / 47MB 源码
AI 傻读全量:   约 1,232.6 万 tokens
树场简报:      约 26.2 万 tokens
第一轮节省:    ★ 97.9% ★
基因库:        57,919 条(建库仅 2 分钟)
语义搜索:      「accessibility」5 秒直达核心文件 MyAccessibility.java

★ 规模模拟曲线(每文件约 2,000 字符)

文件数 全量读 树场简报 节省率
50 25,000 1,100 95.6%
100 50,000 1,850 96.3%
500+ 250,000 7,850 96.9%

★ 诚实边界(不吹牛)

小项目实测(8 个小文件,全量仅 188 tokens):简报反而贵 112.8%——固定开销没摊薄。
树场为「大项目 + 多轮排查」而生;小项目/一次性任务直接读,别开树场。

★ 实测抓出并修复的 11 个 Bug(v2 六个 + v3 四个 + v3.1 一个)

  1. 垃圾箱失败计数跨进程丢失 → trash.json 持久化
  2. gene_bank.json v1→v2 格式不兼容崩溃 → 双格式兼容
  3. 搜索结果重复 → 按文件保留最高分去重
  4. LLM 网络黑洞超时 → 60s 超时 + 友好提示
  5. 基因查重 O(n²) → O(1) 哈希索引
  6. 小树过滤 O(n×m) → O(1) 双向索引
  7. 非 Python 文件模块名截断(a.js→a.)→ 多语言被引用索引失效(v3 修复)
  8. 基因 id 用 hash() 跨会话不稳定 → sha1 稳定哈希(v3 修复)
  9. 文件删除后基因悬空 → 删除级联回收 + 重命名指纹检测(v3 修复)
  10. 迁移后首次运行全量误判 → 指纹比较加旧数据保护(v3 修复)
  11. 架构分层被绝对路径污染(/storage 误命中数据层)→ 改相对路径匹配(v3.1 修复)

📜 出处

  • 思维树:由 Operit 平台 TreeOfThought 插件(约 4000 行 JS)移植,弱信号检测为原创增量
    v3.0 升级为真搜索算法版(beam/bfs/dfs + 评分 + 剪枝 + 回溯,对标专业 ToT 实现)
  • 树场:2026-08-08 一晚独立设计实现(v1.0 → v2.1),实测省 97.9% token;
    v3.0 升级函数级分析 + SQLite 存储 + 真增量更新(2026-08-09);
    v3.1 移植 5 大代码分析(死代码/循环依赖/影响/复杂度/架构)+ 中文命令 + 71 个测试 + GitHub Actions CI

Yorumlar (0)

Sonuc bulunamadi