No description
feat: 添加 Windows 平台支持和一键安装脚本 - 新增 Makefile 目标 build-windows、build-server-windows 和 build-agent-windows, 支持交叉编译 Windows 版本的 server 和 agent 二进制文件 - 修改 agent/identity.go 中的 resolveDefaultProjectRoot 函数, 添加 USERPROFILE 环境变量以支持 Windows 系统获取用户主目录 - 在 client/shell/shell.go 中添加对 Windows 命令执行的支持, 使用 runtime.GOOS 判断操作系统类型并选择适当的 shell 命令执行方式 - 移除 cmd/agent/main.go 和 cmd/server/main.go 中对 syscall 包的依赖, 改用标准的 os.Interrupt 信号处理以提高跨平台兼容性 - 新增 scripts/install-agent.ps1 PowerShell 安装脚本, 提供完整的 Windows 平台一键安装功能,包括: - 自动检查和请求管理员权限 - 安装 Go 编译环境 - 编译 agent 二进制文件 - 生成配置文件 - 可选注册为 Windows 服务 - 写入 OpenCode MCP 配置 ``` |
||
|---|---|---|
| .opencode | ||
| agent | ||
| api | ||
| client | ||
| cmd | ||
| docs | ||
| embedding | ||
| internal | ||
| scripts | ||
| server/migrations | ||
| tests/integration | ||
| .gitignore | ||
| .golangci.yml | ||
| agent.md | ||
| AGENTS.md | ||
| ai-platform-bundle.tar.gz | ||
| buf.gen.yaml | ||
| buf.yaml | ||
| config.yaml | ||
| docker-compose.yml | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
| sqlc.yaml | ||
AI 开发平台
Go + gRPC + PostgreSQL 的云端 AI 编程服务,提供项目记忆、知识检索、任务管理和 MCP 工具。
架构
OpenCode / Claude Code
│ MCP (stdio) ← AI 编辑器对话
Agent Client(本地 Go) ← cmd/agent
│ gRPC
Server(Go) ← cmd/server
│ gRPC
Embedding(Python) ← 向量化微服务
│
PostgreSQL + pgvector ← 持久化
- Agent:本地常驻进程,通过 MCP stdio 给 OpenCode 提供文件读写、Shell 命令、Git 操作等工具
- Server:云端数据服务,处理认证、项目、会话、记忆、任务、知识库、RAG 检索
- Embedding:Python 微服务,用 sklearn 做文本向量化
快速开始
# 安装依赖(Go 1.23+)
make dev-db # 启动 PostgreSQL (Docker)
make dev # 一键启动 db + server
# 或手动启动
make dev-db && make dev-server
Server 启动后监听 :50051(gRPC),Embedding 服务监听 :50052。
Agent 通过 go run ./cmd/agent 独立启动,自动连接 Server 并暴露 MCP stdio。
MCP 工具
Agent 向 AI 编辑器提供 6 个本地工具:
| 工具 | 说明 |
|---|---|
read_file |
读取文件 |
write_file |
写入文件 |
list_dir |
列出目录 |
run_shell |
执行 Shell 命令 |
git_status |
查看 Git 状态 |
git_commit |
提交 Git 变更 |
云端服务
| 服务 | 功能 |
|---|---|
| Auth | 注册/登录/JWT 令牌管理 |
| Project | 项目 CRUD |
| Session | 跨设备会话上下文同步 |
| Memory | 情景记忆(交互历史)+ 语义记忆(编码规范、偏好) |
| Task | 任务状态机(todo → in_progress → done) |
| Knowledge | 文档导入/管理/RAG 检索(支持 dense/sparse/hybrid) |
| Tool Registry | 工具注册与发现 |
配置
参见 config.yaml。生产环境建议通过环境变量覆盖敏感信息:
| 环境变量 | 覆盖配置项 |
|---|---|
DATABASE_URL |
database.url |
JWT_SECRET |
auth.jwt_secret |
SERVER_ADDR |
server.address |
EMBEDDING_ADDR |
embedding.address |
ADMIN_USERNAME |
auth.admin_username |
ADMIN_PASSWORD |
auth.admin_password |
生产部署
# 一键安装(需 root)
bash scripts/install-server.sh
# 安装时环境变量
DB_PASS=yourpassword JWT_SECRET=yoursecret bash scripts/install-server.sh
安装完成后会自动创建 systemd 服务,敏感凭据通过环境变量注入。
技术栈
| 层 | 选型 |
|---|---|
| 语言 | Go 1.23 |
| 通信 | gRPC + Protobuf (buf) |
| 数据库 | PostgreSQL 16 + pgvector |
| ORM | sqlc + pgx |
| 迁移 | golang-migrate |
| 日志 | slog |
| Embedding | Python + sklearn (HashingVectorizer 256d) |
| 测试 | testing + testify |