Skip to main content

FoxCode - AI 编码代理工具

基于 pydantic-ai 框架的终端交互式 AI 编程助手,支持文件操作、命令执行、网络搜索等功能。

功能

  • 文件操作: 读取、创建、编辑(精确替换/覆盖)、追加、删除、重命名、列出文件
  • 命令执行: 运行 shell 命令、执行脚本文件(支持 Python/JS/TS/Go/Rust 等)
  • 网络搜索: 通过 Bing 搜索获取信息(无需 API Key)
  • 撤销恢复: 支持操作撤销,避免误操作
  • 对话记忆: 保持多轮对话上下文,长对话自动智能压缩保留关键信息
  • 结构化输出: AI 返回清晰的 ActionPlan(解释、修改文件、代码片段),支持 Thinking 过程展示
  • 代码库索引: 自动索引项目符号(类/函数/方法),支持快速定位
  • Web 预览: 启动本地 HTTP 服务器预览前端项目
  • AI 代码审查: 自动分析变更并给出安全、风格、逻辑审查建议
  • 项目健康检查: 检测依赖、测试、文档、配置完整性
  • 文件引用: 在对话中用 @文件名 引用文件,自动注入内容
  • 自动 Git 提示: 进入终端时自动提示未提交的变更
  • LSP 桥接: 基于 jedi 提供 Python 代码的跳转定义、查找引用、类型信息(需 jedi)
  • 图片理解: 支持 Markdown 图片语法 ![alt](path) 上传图片给 AI 分析
  • VS Code 扩展: 一键在 VS Code 中启动 foxcode 终端
  • 权限确认系统: allow / ask / deny 规则、高危行为拦截、交互式审批、只读命令自动放行
  • 计划模式: 切换后隐藏所有写工具,AI 只读探索并先给出方案
  • Subagents: 通过 .foxcode/agents/ 定义只读子代理,用 task 工具调用
  • Skills: 通过 .foxcode/skills/ 定义技能,按需注入提示
  • MCP 支持: 通过 .foxcode/mcp.json 接入任意 MCP 服务器(stdio / HTTP)
  • 项目记忆与用户规则: .foxcode/Memory.md 由 AI 维护重要项目知识/踩坑点(update_memory 工具);.foxcode/Rules.md 为用户规则(AI 只读,所有文件写工具强制拦截)
  • Headless 模式: 一条命令或管道输入即可无人值守运行,支持 JSON 输出

快速开始

1. 安装依赖

pip install -r requirements.txt

或使用 pip 安装包本身:

pip install -e .

2. 配置 API

复制 .env.example 为 .env,填入你的 API 信息:

cp .env.example .env

编辑 .env:

OPENAI_MODEL=gpt-4o
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_API_KEY=sk-xxxxxxx

支持任何 OpenAI 兼容 API(如 DeepSeek、Claude、Kimi 等)。

3. 启动

python main.py

或安装后:

foxcode

Headless 模式(无人值守 / CI)

# 直接给提示
foxcode -p "列出当前目录所有文件"

# 指定工作目录与模型,JSON 输出
foxcode -p "重构 main.py" --cwd /path/to/project --model gpt-4o --output-format json

# 管道输入
echo "总结 README.md" | foxcode

# 跳过所有权限确认(仅限可信的 CI 环境)
foxcode -p "安装依赖并运行测试" --dangerously-skip-permissions

说明:headless 模式下需要确认的操作会直接拒绝(除非显式配置了 allow 规则或使用 --dangerously-skip-permissions)。

权限系统

权限模式(.foxcode/settings.json 中 permissions.defaultMode)

模式 说明
default 读操作放行,写/执行操作每次询问
acceptEdits 自动接受文件编辑,命令仍询问
plan 拒绝所有写/执行操作
bypass 放行一切(谨慎使用)

规则配置示例

{
  "permissions": {
    "defaultMode": "default",
    "allow": ["Bash(git status)", "Read(*)", "Edit(*)", "Bash(ls .*)"],
    "ask": ["Bash(npm install)", "WebFetch(*)"],
    "deny": ["Bash(rm -rf /)"]
  }
}
  • 工具名支持通配符(*),括号内为正则匹配目标参数
  • 内置高危操作(rm -rf /、git push --force、磁盘格式化等)无条件拦截
  • 只读 shell 命令(ls、cat、git status、git diff、pip list 等)默认自动放行
  • 交互式审批支持 y 允许 / n 拒绝 / a 本次会话总是允许

计划模式

交互中输入 /plan 切换。开启后:

  • 所有写/执行工具对 AI 不可见(run_shell、write_file、git 提交等)
  • AI 只能读取、搜索、分析,最终返回方案
  • AI 也可自行调用 enter_plan_mode / exit_plan_mode 工具完成"先分析后动手"

Goal 模式(目标验收循环)

交互中输入 /goal <目标>(或 /goal 后输入目标)启动。流程:

  1. 主 AI 执行目标(可访问完整上下文与全部工具)
  2. 完成后启动一个独立上下文、只读的验收 AI,亲自检查工作区真实状态
  3. 验收通过 → 结束;未通过 → 将验收反馈交回主 AI 继续工作
  4. 循环直到确认完成(默认最多 8 轮)

为抵抗上下文自动压缩导致的进度丢失,Goal 模式要求 AI 持续维护三个持久化文件:

  • goal.md - 目标定义、验收标准、完成状态
  • plan.md - 实施计划、当前阶段方案、关键决策
  • todo.md - 任务清单(- [ ] 未完成 / - [x] 已完成)

每轮开始时 AI 先读取这些文件恢复进度,每完成重要步骤即同步更新。若工作目录是 git 仓库,每轮结束后会自动将这 3 个文件 git add + git commit(提交信息 goal: 第 N 轮进度),形成可回滚的进度检查点,不干扰其他工作区文件。

Skills(技能)

.foxcode/skills/<名称>/SKILL.md 格式:

---
name: code-review
description: 对代码做安全与性能审查
---

# 代码审查流程

1. 先读取变更文件
2. 检查安全与性能问题
3. 输出修复建议
  • /skills 列出所有技能;/skill <名称> 把内容注入下一条提示
  • AI 也可通过 list_skills / use_skill 工具按需获取

Subagents(子代理)

.foxcode/agents/<名称>.md 格式(frontmatter 可省略):

---
name: reviewer
description: 代码审查者
model: gpt-4o-mini   # 可选,覆盖默认模型
tools: [read_file]   # 可选,限制可用工具
---

你负责审查代码质量,只读探索后用中文总结。
  • 默认只读(写工具自动过滤),适合隔离上下文的探索任务
  • AI 用 task(prompt, agent="reviewer") 调用;/agents 列出所有定义

MCP 支持

.foxcode/mcp.json(或项目根 .mcp.json)格式:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    },
    "filesystem": {
      "url": "https://example.com/mcp"
    }
  }
}
  • 支持 stdio(command/args/env)和 http(url/headers)两种传输
  • 支持 ${ENV_VAR} 环境变量展开(可带默认值 ${VAR:-default})
  • 工具以 服务器名__工具名 暴露给 AI,并受权限系统门控
  • /mcp 列出已配置的服务器;配置错误会在启动时提示

项目配置目录 .foxcode/

.foxcode/
├── instructions.md    # 项目指南(注入系统提示)
├── settings.json      # 权限与运行参数
├── commands/          # 自定义 /命令(.md 文件,文件名即命令名)
├── skills/            # Skills(每技能一个目录)
├── agents/            # 子代理定义(.md 文件)
├── mcp.json           # MCP 服务器配置
└── sessions/          # 保存的会话

使用方法

在交互式终端中输入你的编程需求,AI 会自动调用工具完成。

CLI 命令

命令 说明
/help 显示帮助
/goal <目标> 设定目标,AI 完成后由独立上下文验收 AI 确认,未完成则继续直到达成
/plan 切换计划模式(只读探索,先出方案)
/permissions 查看当前权限模式与规则
/mcp 列出已配置的 MCP 服务器
/skills 列出可用 Skills
/skill <名称> 将指定 Skill 内容注入下一条提示
/agents 列出可用子代理
/term 切换终端模式 (Ctrl+X 切换)
/commit [信息] 暂存所有变更并用 AI 生成提交信息后提交
/session list 列出所有已保存的会话
/session save [名称] 保存当前会话
/session load <名称> 加载指定会话
/session del <名称> 删除指定会话
/export [文件名] 导出当前会话为 Markdown
/undo [n] 撤销最近 n 步操作(默认 1 步)
/history 显示操作历史
/usage 显示本次会话的 API 用量和费用统计
/clear 清屏
/exit 或 /quit 退出(自动保存会话)

AI 可用工具

AI 在推理过程中会自动调用以下工具:

  • read_file - 读取文件内容
  • read_file_range - 读取指定行范围
  • create_file - 创建新文件
  • write_file - 查找替换(要求唯一匹配)
  • write_file_complete - 覆盖写入整个文件
  • append_file - 追加内容到文件末尾
  • delete_file - 删除文件
  • rename_file - 重命名文件
  • copy_file - 复制文件或目录
  • list_files - 列出工作区文件
  • tree - 以树形结构展示目录(支持深度限制和过滤)
  • run_shell - 执行 shell 命令
  • run_file - 运行脚本文件
  • run_tests - 自动检测并运行测试(pytest/npm/go/cargo 等)
  • format_code - 格式化代码(black/prettier/gofmt 等)
  • install_deps - 自动检测并安装依赖(pip/npm/cargo/go 等)
  • web_search - 搜索网络
  • fetch_url - 抓取网页内容
  • search_in_files - 在项目中搜索文本
  • git_status / git_diff / git_log / git_add / git_commit / git_branch / git_checkout - Git 操作
  • undo_last - 撤销操作
  • show_history - 查看操作历史
  • task - 调用只读子代理(agent 参数指定名称)
  • use_skill / list_skills - 获取 / 列出 Skills
  • enter_plan_mode / exit_plan_mode - AI 自主进入 / 退出计划模式
  • index_codebase / search_symbols / get_symbol_context - 代码库索引与符号搜索
  • multi_write_file / apply_diff / batch_create - 多文件批量编辑、diff 应用、批量创建
  • start_preview / stop_preview - 启动/停止本地 Web 预览服务器
  • review_changes - AI 代码审查,分析当前变更的潜在问题
  • project_health - 项目健康检查(依赖、测试、文档、配置)
  • go_to_definition / find_references / get_type_info / get_docstring - Python 代码静态分析(基于 jedi)
  • mcp__<服务器>__<工具> - MCP 服务器提供的工具(前缀区分来源)

VS Code 扩展

在 vscode-extension/ 目录提供了轻量扩展,支持一键在 VS Code 中启动 foxcode:

# 打包并安装
cd vscode-extension
npx @vscode/vsce package --no-dependencies
code --install-extension foxcode-0.1.0.vsix

安装后按 Ctrl+Shift+P 输入 FoxCode: Start in Right Terminal 即可在右侧终端启动 foxcode。

项目结构

foxcode/
├── main.py                 # 入口文件
├── pyproject.toml          # 项目配置
├── requirements.txt        # 依赖列表
├── .env                    # API 配置(勿提交)
├── .env.example            # 配置示例
├── workspace/              # 工作区目录
├── tests/                  # 冒烟测试
└── src/foxcode/
    ├── __init__.py
    ├── __main__.py         # python -m 入口
    ├── config.py           # 配置加载
    ├── models.py           # 数据模型
    ├── agent.py            # Agent 创建与工具注册
    ├── cli.py              # 交互式终端 / headless 入口
    ├── session.py          # 会话管理
    ├── permissions.py      # 权限确认系统
    ├── skills.py           # Skills 管理
    ├── subagents.py        # 子代理管理
    ├── mcp_manager.py      # MCP 服务器加载
    └── tools/
        ├── file_ops.py     # 文件操作工具
        ├── shell.py        # 命令执行工具
        ├── search.py       # 网络搜索工具
        ├── fetch.py        # URL 抓取工具
        ├── git.py          # Git 操作工具
        ├── grep.py         # 文件搜索工具
        ├── tree.py         # 目录树工具
        ├── copy_file.py    # 文件复制工具
        ├── tests.py        # 测试运行工具
        ├── format.py       # 代码格式化工具
        ├── deps.py         # 依赖安装工具
        ├── undo.py         # 撤销管理工具
        ├── mode.py         # 计划模式切换工具
        ├── security.py     # 安全检测工具
        ├── code_index.py   # 代码库索引工具
        ├── multi_edit.py   # 多文件批量编辑工具
        ├── preview.py      # Web 预览工具
        ├── review.py       # AI 代码审查工具
        ├── health.py       # 项目健康检查工具
        └── lsp_bridge.py   # LSP/jedi 代码分析桥接

License

AGPLv3

Metadata

Release files for foxcode2 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for foxcode2 0.5.2
File Size Uploaded
foxcode2-0.5.2.tar.gz 212.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for foxcode2 0.5.2
File Interpreter ABI Platform
foxcode2-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 460.5 kB

Release files / foxcode2-0.5.2.tar.gz

Download URL foxcode2-0.5.2.tar.gz
Size 212.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a7898aa4d16b0209d7448dcef7f318891c5a159aa75f3287d6932720cdb34ef8
BLAKE2b-256 checksum
How to use checksums
98674f1df3126f04fc36eca2347d0c9490b5e40ca8edf35299c7b353aeb4f30d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / foxcode2-0.5.2-py3-none-any.whl

Download URL foxcode2-0.5.2-py3-none-any.whl
Size 248.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7494f392606974fde6b2ff0d247873c0292e330006cee77051c0de6949d63fbd
BLAKE2b-256 checksum
How to use checksums
243c3c842119bd72f01c0a212c9b599ea42ead76f724c382b4b7fb7ba8c18803
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page