一个本地优先的 AI Coding Agent,帮助你理解代码、修改项目、调用工具,并把开发任务接入终端、桌面端和自动化工作流。
文档 · Issues · Discussions
NeoCode 是一个运行在本地开发环境中的 AI Coding Agent。
它可以在工作区中读取项目、理解代码、调用工具、执行命令、管理会话,并通过本地 Gateway 暴露统一的 JSON-RPC / SSE / WebSocket 接口,方便终端、桌面端或第三方客户端接入。
核心闭环:
用户输入(TUI) -> 网关中继(Gateway) -> Agent推理(Runtime) -> 调用工具(Tools) -> 结果回传 -> UI展示
- 本地优先:在你的工作区中运行,面向真实项目上下文。
- 终端交互:基于 TUI 的对话式 coding agent 体验。
- 工具调用:支持读取文件、分析项目、执行命令和调用系统工具。
- 多模型 Provider:支持 OpenAI、Gemini、ModelScope、Qiniu、OpenLL 以及自定义 Provider。
- 会话持久化:保存和恢复历史会话,减少重复沟通。
- 记忆能力:保存偏好、项目事实和跨会话上下文。
- Skills 系统:为不同任务启用专用行为和流程。
- MCP 接入:通过 MCP stdio server 扩展外部工具能力。
- Gateway 模式:通过本地 JSON-RPC / SSE / WebSocket 接口连接桌面端、脚本和第三方客户端。
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/1024XEngineer/neo-code/main/scripts/install.sh | bashWindows PowerShell:
irm https://raw.githubusercontent.com/1024XEngineer/neo-code/main/scripts/install.ps1 | iexgit clone https://github.com/1024XEngineer/neo-code.git
cd neo-code
go run ./cmd/neocode按你使用的 Provider 设置对应环境变量,例如:
export OPENAI_API_KEY="your_key_here"Windows PowerShell:
$env:OPENAI_API_KEY = "your_key_here"然后在项目目录中启动:
neocode --workdir /path/to/your/project/help 查看帮助
/provider 切换 Provider
/model 切换模型
/compact 压缩当前会话上下文
/memo 查看记忆
/remember <text> 保存记忆
/skills 查看可用 skills
/skill use <id> 启用 skill
/skill off <id> 停用 skill
用于新增、查看、删除自定义 provider,变更会落在 ~/.neocode/providers/。
# 新增自定义 provider(要求先设置好 --api-key-env 指向的环境变量)
neocode provider add <name> --driver <driver> --url <url> --api-key-env <env> [--discovery-endpoint <path>]
# 示例
export MOCK_KEY="sk-xxx"
neocode provider add my-openai --driver openaicompat --url https://api.openai.com/v1 --api-key-env MOCK_KEY --discovery-endpoint /v1/models
# 列出所有 provider
neocode provider ls
# 删除自定义 provider
neocode provider rm my-openai用于查看当前 provider 的模型候选,并切换到指定模型。
# 列出当前 provider 可用模型(优先本地快照,必要时触发一次同步发现)
neocode model ls
# 切换当前模型(会校验模型是否属于当前 provider)
neocode model set <model-id>
# 示例
neocode model set gpt-4.1用于切换 provider,并可通过 --model 覆盖自动选择的模型。
# 仅切换 provider(自动修正到可用模型)
neocode use <provider>
# 切换 provider 并指定模型(会做模型归属校验)
neocode use <provider> --model <model-id>
# 示例
neocode use openai --model gpt-4.1用于进入代理 shell、初始化 shell integration、手动触发诊断和控制自动诊断模式。
# 进入代理 shell(当前仅支持 Unix-like)
neocode shell
# 输出 shell integration 脚本(支持写法:--init <shell>)
neocode shell --init bash
neocode shell --init zsh
# 触发一次手动诊断(两种写法等价)
neocode diag
neocode diag diagnose
# 自动诊断开关与状态查询
neocode diag auto on
neocode diag auto off
neocode diag auto status详细指南链接: HTTP URL 唤醒使用指南(用户故事版)
# 启动本地 HTTP daemon(默认 127.0.0.1:18921)
go run ./cmd/neocode daemon serve
# 安装用户态自启动 + best-effort hosts 别名写入(127.0.0.1 neocode)
go run ./cmd/neocode daemon install
# 查看运行与安装状态
go run ./cmd/neocode daemon status
# 卸载自启动配置
go run ./cmd/neocode daemon uninstall可点击链接示例:
http://neocode:18921/review?path=README.md
http://neocode:18921/run?prompt=写一个简单的HTTP服务器
当前支持动作:
review:必须携带path参数。run:必须携带prompt参数,网关会返回session_id并触发终端接管链路。
会话接管启动方式:
go run ./cmd/neocode --session <session_id>当传入
--session时,TUI 会优先按会话历史中的workdir进行上下文接管;若该路径在本地失效,会保留当前工作区并显示告警。Linux(及其他非 Windows/macOS)当前尚未接入自动弹窗终端;
wake.run会返回not_supported,可手动执行neocode --session <session_id>接管。
daemon serve不提供--token-file,默认仅监听127.0.0.1,并限制 Host 白名单为neocode/localhost/127.0.0.1。Linux 自启动策略:优先
systemd --user,若不可用则回落到~/.config/autostart/neocode-daemon.desktop。若未通过安装脚本安装(例如
go build/ 裸二进制),请手动执行一次neocode daemon install。
详细说明在文档内:
- 官方文档站:https://neocode-docs.pages.dev/
- 快速引导(中文):www/guide/index.md
- 配置指南
- 工具与权限
- Skills 使用
- MCP 工具接入
- 升级与版本检查
- 排障与常见问题
文档站源码位于 www/,本地预览:
cd www
pnpm install
pnpm docs:dev欢迎通过 Issue、Discussion 或 Pull Request 参与 NeoCode。
建议流程:
- 先在 Issue 中描述问题、需求或设计想法。
- Fork 仓库并创建功能分支。
- 保持改动聚焦,说明动机和影响范围。
- 提交前运行基础检查:
gofmt -w ./cmd ./internal
go test ./...
go build ./...MIT


