Skip to content

v2.1.2 — Ponytail 审计 + 三轮代码修复

Latest

Choose a tag to compare

@1nceSec 1nceSec released this 24 Sep 03:58

Trocar v2.1.2

本版本引入 Ponytail(lazy senior dev 代码审计规则),对 Trocar 进行三轮审计(code-review → simplify → ponytail),修复 11 个问题。

修复(llm.py)

  • thinking blocks 缺失 signature 字段:Anthropic extended thinking 响应现在正确保留 signature,修复后续对话签名校验失败
  • provider 路由逻辑:从 == "openai" 改为 != "anthropic",所有非 Anthropic provider 走 OpenAI 兼容通道
  • max_tokens 合并思考预算:启用 thinking 时 budget + max_tokens,避免思考吃掉输出额度
  • 异常捕获收窄:OpenAI 兼容通道从 except Exception 改为 except BadRequestError,不再吞掉意外异常
  • import 合并:BadRequestError 导入合并到已有 try/import 块

修复(app.py)

  • thinking_level 校验:使用 THINKING_BUDGETS 作为单一真值源,消除硬编码列表
  • speedtest token 估算:从 chunk 计数改为 len(text) // 4,更贴近实际 token 数
  • 移除死变量:删除 speedtest 中未使用的 token_count = 0 初始化

修复(templates/index.html)

  • provider 下拉值去重:7 个 provider 选项此前全部是 value="openai",现已修复为各自正确值

改进

  • README 明确独立设计定位,标注黑板架构灵感来源
  • 安装 Ponytail 规则到 .claude/CLAUDE.md,后续审计自动遵循 lazy senior dev 准则

Docker 部署

docker pull ox1dq/trocar:latest
docker run -d --name trocar -p 9899:9899 -v trocar-data:/app/data ox1dq/trocar:latest

浏览器打开 http://127.0.0.1:9899