OCode是基于本地 Ollama 模型运行的原生 AI 编码助手,可以直接在终端环境中无缝集成企业级的 AI 辅助功能。
OCode有终端原生工作流特性,能直接在Shell环境中运行,不需要额外的图形界面依赖。OCode能深度理解代码库,能自动映射并解析整个项目结构,支持跨文件逻辑推理和架构分析。
在实际开发中,OCode可以实现文件重构、TDD框架搭建、代码优化和文档生成等。例如,通过自然语言指令“为用户认证模块添加JWT令牌支持”,就可以触发生成相关代码。OCode能处理Git工作流、执行测试套件、集成构建工具,实现开发的自动化。
领域 | 具体能力 |
---|---|
代码生成与修改 | 多文件重构、测试框架搭建、代码优化、文档生成 |
项目理解 | 架构分析、依赖追踪、跨文件逻辑推理 |
开发自动化 | Git操作、测试执行、构建与CI集成 |
数据处理 | JSON/YAML解析查询、数据验证、格式转换 |
系统操作 | 进程监控、环境变量管理、网络连通性测试 |
交互操作 | 自然语言查询、上下文探索、调试辅助 |
OCode提供19+种专业工具。
• file_edit
:能编辑源文件,支持光标定位和操作代码块。
• file_ops
:文件读写管理,可以批量复制、移动、删除文件。
• glob/find/ls
:支持过滤和排序,能搜索文件,支持将目录以列表形式展示。
• head_tail/wc
:读取文件首尾内容,统计行数、字数和字符数。
• grep/text_tools
:支持使用正则来搜索文本,使用正则处理文本,支持提取和替换代码片段。
• json_yaml
:使用JSON/YAML数据进行解析查询,支持JSONPath表达式,可以快速提取配置文件中的数据库连接串等信息。
• notebook_tools
:Jupyter笔记本操作,支持格式转换。
• ps/env/ping
:进程监控、环境变量管理、网络连通性测试,可以实时查看Python进程内存的占用情况。
• git_tools/architect
:Git仓库管理和架构分析,支持分支比较、生成提交信息、输出项目架构文档。
• agent/mcp
:集成复杂任务代理和模型上下文协议,可 delegate 多步骤任务到专用的代理。
执行以下命令:
curl -fsSL https://raw.githubusercontent.com/haasonsaas/ocode/main/scripts/install.sh | bash
该脚本会自动检查Python 3.8+环境,创建虚拟环境(可选),安装OCode和19+工具,配置Shell自动补全。
1、安装依赖
• 需要先安装Python 3.8+和pip,推荐使用虚拟环境隔离项目:
mkdir ~/ocode-workspace && cd $_
python3 -m venv ocode-env
source ocode-env/bin/activate # Windows: ocode-env\Scripts\activate
• 安装Ollama(本地LLM服务):
# macOS via Homebrew
brew install ollama
# Linux 一键安装
curl -fsSL https://ollama.ai/install.sh | sh
启动Ollama并拉取模型:
ollama serve
ollama pull llama3.2 # 或 codellama/gemma2
2、安装OCode
git clone https://github.com/haasonsaas/ocode.git
cd ocode
pip install -e 、 # 开发模式安装,支持实时更新
3、初始化项目
进入项目目录然后执行:
python -m ocode_python.core.cli init
生成.ocode/settings.json
配置文件,可配置模型、权限和上下文参数。
启动交互式模式,支持自然语言指令和命令行操作:
python -m ocode_python.core.cli
# 输入指令:/help 查看帮助,/model 切换模型,/save 保存会话
代码生成:
ocode -p "创建用户注册API端点,包含邮箱验证逻辑"
代码审查:
ocode -m codellama:70b -p "审查支付处理代码的安全漏洞"
数据处理:
ocode -p "解析config.json,提取所有以prod开头的环境变量" --out json
支持复合指令自动拆解,例如:
ocode -p "运行测试并通过后提交代码" # 自动触发 test_runner + git_commit
ocode -p "查找所有TODO注释并替换为FIXME" # 触发 grep + file_edit
模型选择:
• 简单任务:使用llama3.2:3b
,响应速度快。
• 复杂重构:选择codellama:70b
,支持长上下文推理。
export OCODE_MODEL="codellama:70b" # 或通过配置文件设置
上下文优化:
{
"max_context_files": 50, // 最大上下文文件数
"max_tokens": 8192, // 最大令牌数
"ignore_patterns": [".git", "node_modules"] // 忽略文件模式
}
通过配置文件限制操作权限,例如:
{
"permissions": {
"allow_file_write": true, // 允许文件写入
"allow_shell_exec": false, // 禁止Shell执行
"blocked_paths": ["/etc", "/bin"], // 禁止访问系统路径
"blocked_commands": ["rm -rf", "sudo"] // 禁止危险命令
}
}
1、命令未找到:
• 使用完整模块路径:python -m ocode_python.core.cli --help
• 需要先激活虚拟环境,或通过pipx
安装:pipx install git+https://github.com/haasonsaas/ocode.git
2、Ollama连接失败:
• 检查服务是否运行:ps aux | grep ollama
• 测试端口连通性:curl http://localhost:11434/api/version
• 远程服务器需配置OLLAMA_HOST="http://服务器IP:11434"
3、模型响应质量差:
• 切换模型:ocode config --set model=llama3.2:latest
• 调整温度参数(0.1-0.7),降低值让输出聚焦:ocode config --set temperature=0.2
OCode采用白名单优先的安全模型,默认禁止危险操作(如系统命令执行),支持路径和命令过滤。企业级配置示例:
{
"permissions": {
"allow_file_read": true,
"allow_git_ops": true,
"allowed_paths": ["/home/user/projects"], // 仅允许访问项目目录
"blocked_commands": ["rm", "chmod"]
}
}
OCode深度集成Ollama模型,为开发者提供终端原生的AI编码辅助,支持代码生成、项目理解、自动化运维等。OCode拥有大量的工具,细粒度的权限控制和高性能推理能力,能有效的开发人员的提升开发效率,避免云端依赖带来的数据安全风险。