文件匹配
60+ 内置 glob,覆盖 .env、*.pem、*.key、kubeconfig、terraform 变量等敏感文件。
安全优先 · 本地运行 · 零遥测
注重安全,代码不会自动上传。
OwnCoder 是一个安全优先的 AI 编程工具。文件在发送给大模型前自动脱敏密码与密钥, 代码分析与索引全部在本地完成——不上传源码,没有云端索引。
安全第一
数据库口令、API Key、SSH 私钥不会因为一次 Agent 读文件就离开你的机器。
OwnCoder 在请求发出前自动检测并替换为 ***。
60+ 内置 glob,覆盖 .env、*.pem、*.key、kubeconfig、terraform 变量等敏感文件。
25+ 种密钥格式正则:OpenAI、AWS、GCP、GitHub Token、数据库连接串、JWT、PEM 私钥块等。
识别 password、secret、token 以及 *_PASSWORD 等环境变量后缀,减少漏网。
DB_HOST=localhost
DB_USER=app
DB_PASSWORD=***
OPENAI_API_KEY=***
SSH_PRIVATE_KEY=***
本地优先 · 无云端索引
分析、检索、嵌入与经验记忆都在你的电脑上完成。没有把仓库同步到第三方服务器的“云端知识库”。
基于 SQLite + FTS5 的统一索引:符号搜索、全文检索、经验索引,增量扫描并遵循 .gitignore。
核心能力
三大省 Token 优化:双模型分阶段使用、缓存命中率最大化、让 LLM 多做事少说话。
原理:任务分解阶段消耗 Token 较少但需要强规划能力;执行阶段包含大量工具调用和迭代但对推理要求相对较低。
配置:Plan 阶段使用高能力的强模型,Agent 执行阶段切换至成本更低的轻量模型;两类模型可按预算与效果自由搭配,不绑定具体厂商或型号。
收益:执行阶段通常占总 Token 消耗的 70-80%。将其交给成本更低的模型可显著降低总费用,同时让高能力模型专注于关键决策。
原理:许多模型服务商支持提示缓存(Prompt Cache),对重复出现的输入 Token 按更低价格计费。OwnCoder 的提示词拼接策略专门针对缓存优化设计。
实现:不变内容前置(系统提示词 + 工具定义、平台信息、项目规则),变动内容后置(用户输入、任务分解结果);固定部分拼接顺序与格式严格一致,确保跨轮次缓存前缀完全匹配。
效果:系统提示词和工具定义自动享受缓存;重复的项目上下文命中率可达 60-80%。实测缓存命中率可达 95%(按 缓存 Token ÷(输入 Token + 输出 Token)计算,分母包含输出 Token),让高频使用场景更经济。
原理:输出 Token 通常是输入的 2-3 倍价格。让 LLM 多做工作(通过工具调用)、少说话(减少解释性文字),可大幅降低输出成本。
纪律:关键规则是零叙事工具调用——默认直接调用工具完成任务,除工具调用外不输出任何文字。禁止过渡语、计划叙述、进度评论、寒暄、解释;禁止"让我先…""现在开始…""接下来…""我来搜索…""首先需要…";禁止工具调用之间的任何说明文字。