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 多步骤任务到专用的代理。

OCode安装

一键安装(推荐)

执行以下命令:

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配置文件,可配置模型、权限和上下文参数。

OCode示例

交互式会话

启动交互式模式,支持自然语言指令和命令行操作:

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

OCode配置和性能优化

模型和上下文配置

模型选择

• 简单任务:使用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"]  // 禁止危险命令
  }
}
OCode常见问题

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安全

OCode采用白名单优先的安全模型,默认禁止危险操作(如系统命令执行),支持路径和命令过滤。企业级配置示例:

{
  "permissions": {
    "allow_file_read": true,
    "allow_git_ops": true,
    "allowed_paths": ["/home/user/projects"],  // 仅允许访问项目目录
    "blocked_commands": ["rm", "chmod"]
  }
}

OCode深度集成Ollama模型,为开发者提供终端原生的AI编码辅助,支持代码生成、项目理解、自动化运维等。OCode拥有大量的工具,细粒度的权限控制和高性能推理能力,能有效的开发人员的提升开发效率,避免云端依赖带来的数据安全风险。