Skip to content

mickey-228/bytemind

 
 

Repository files navigation

ByteMind Banner

ByteMind

GitHub Stars GitHub Forks License Go Version Last Commit

一个用 Go 实现的 AI Coding CLI,目标是提供更接近 OpenCode / ClaudeCode 的工作流能力。

核心能力快速开始配置文件目录结构

Note

当前版本已具备多轮会话、流式输出、工具调用循环、Shell 执行审批、执行预算控制与重复调用检测等核心能力。

Tip

长任务建议提高 -max-iterations,到达预算后会返回阶段性总结,不会直接失败退出。

🎯 核心能力

模块 说明 状态
会话系统 多轮会话 + 会话持久化 status
对话交互 纯 CLI 聊天 + 流式终端输出 status
Provider 适配 OpenAI-compatible / Anthropic 双适配层 status
工具执行 文件读写搜索、补丁替换、命令执行审批 status
运行稳定性 max_iterations 预算控制 + 重复调用检测 status

🚀 快速开始

1) 准备配置

先复制示例配置,再把 api_key 等字段改成你自己的值:

New-Item -ItemType Directory -Force .bytemind | Out-Null
Copy-Item config.example.json .bytemind/config.json

兼容说明:工作区 config.json 也会被识别;这里推荐 .bytemind/config.json 方便与源码分离。

2) 运行 ByteMind

聊天模式:

go run ./cmd/bytemind chat

单次任务:

go run ./cmd/bytemind run -prompt "分析当前项目并生成改进建议"

提高执行预算:

go run ./cmd/bytemind chat -max-iterations 64
go run ./cmd/bytemind run -prompt "refactor this module" -max-iterations 64

⚙️ 配置文件

默认配置(OpenAI-compatible):

{
  "provider": {
    "type": "openai-compatible",
    "base_url": "https://api.openai.com/v1",
    "model": "gpt-5.4-mini",
    "api_key": "your-api-key-here"
  },
  "approval_policy": "on-request",
  "max_iterations": 32,
  "stream": true
}
Anthropic 配置示例
{
  "provider": {
    "type": "anthropic",
    "base_url": "https://api.anthropic.com",
    "model": "claude-sonnet-4-20250514",
    "api_key": "your-api-key-here",
    "anthropic_version": "2023-06-01"
  }
}

🧱 目录结构

cmd/bytemind            CLI 入口
internal/agent          对话循环、系统提示词模板、流式输出
internal/config         配置加载与环境变量覆盖
internal/llm            通用消息与工具类型
internal/provider       多 provider 适配层
internal/session        会话持久化
internal/tools          文件工具、patch 工具、shell 工具

🧭 交互命令

  • /help
  • /session
  • /sessions
  • /quit

🧰 已实现工具

  • list_files
  • read_file
  • search_text
  • write_file
  • replace_in_file
  • apply_patch
  • run_shell

📝 系统提示词维护

系统提示词模板在:

  • internal/agent/prompts/system.md

运行时由 internal/agent/prompt.go 通过 go:embed 内嵌 Markdown,并替换 {{WORKSPACE}}{{APPROVAL_POLICY}} 占位符。

🌍 Environment Variables

See docs/environment-variables.md for runtime TUI env vars:

  • BYTEMIND_ENABLE_MOUSE
  • BYTEMIND_WINDOWS_INPUT_TTY
  • BYTEMIND_MOUSE_Y_OFFSET

📄 License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 100.0%