MyCoder:开源 AI 编程助手
MyCoder 是开源的 Claude Code 替代品,提供类似的 AI 编程辅助功能。降低商业工具的使用门槛。
MyCoder 是开源的 Claude Code 替代品,提供类似的 AI 编程辅助功能。降低商业工具的使用门槛。
AI 驱动的编码任务命令行界面。完整详情可在 MyCoder.ai 主网站和官方文档网站查阅。
🤖 AI 驱动:利用 Anthropic 的 Claude、OpenAI 模型和 Ollama 提供智能编码辅助
🛠️ 可扩展工具系统:具有各种工具类别的模块化架构
🔄 并行执行:能够生成子 Agent 进行并发任务处理
📝 自我修改:可以修改代码,整个项目本身通过自我编写和测试而构建
🔍 智能日志:分层的、彩色编码的日志系统,输出清晰
👤 人类友好:利用 README.md、项目文件和 shell 命令来构建自身上下文
🌐 GitHub 集成:GitHub 模式用于在工作流中处理 issue 和 PR
📄 模型上下文协议:支持 MCP 以访问外部上下文源
🧠 消息压缩:为长期运行的 Agent 自动管理上下文窗口
欢迎加入 MyCoder.ai discord 获取支持:https://discord.gg/5K6TYrHGHt
npm install -g mycoder
有关 macOS 和 Linux 的详细安装说明(包括如何使用 NVM 设置 Node.js),请参阅我们的入门指南。
# 交互式模式
mycoder -i
# 使用 prompt 运行
mycoder "Implement a React component that displays a list of items"
# 从文件读取 prompt 运行
mycoder -f prompt.txt
# 启用执行期间的交互式修正(按 Ctrl+M 发送修正)
mycoder --interactive "Implement a React component that displays a list of items"
# 禁用用户提示以实现完全自动化会话
mycoder --userPrompt false "Generate a basic Express.js server"
# 禁用用户同意警告和版本升级检查以适应自动化环境
mycoder --upgradeCheck false "Generate a basic Express.js server"
MyCoder 使用项目中的配置文件进行配置。MyCoder 支持多个配置文件位置和格式,类似于 ESLint 和其他现代 JavaScript 工具。
MyCoder 将按以下顺序在这些位置查找配置(优先级顺序):
支持多种文件扩展名:.js、.ts、.mjs、.cjs、.json、.jsonc、.json5、.yaml、.yml 和 .toml。
在首选位置创建配置文件:
// mycoder.config.js
export default {
// GitHub 集成
githubMode: true,
// 浏览器设置
headless: true,
userSession: false,
// 系统浏览器检测设置
browser: {
// 是否使用系统浏览器或 Playwright 的捆绑浏览器
useSystemBrowsers: true,
// 首选浏览器类型(chromium、firefox、webkit)
preferredType: 'chromium',
// 自定义浏览器可执行路径(覆盖自动检测)
// executablePath: null, // 例如 '/path/to/chrome'
},
// 模型设置
provider: 'anthropic',
model: 'claude-3-7-sonnet-20250219',
maxTokens: 4096,
temperature: 0.7,
// 自定义设置
// customPrompt 可以是字符串或字符串数组用于多行
customPrompt: '',
// 多行自定义 prompt 示例:
// customPrompt: [
// 'Custom instruction line 1',
// 'Custom instruction line 2',
// 'Custom instruction line 3',
// ],
profile: false,
// 基础 URL 配置(针对需要它的提供者)
baseUrl: 'http://localhost:11434', // Ollama 示例
// MCP 配置
mcp: {
servers: [
{
name: 'example',
url: 'https://mcp.example.com',
auth: {
type: 'bearer',
token: 'your-token-here',
},
},
],
defaultResources: ['example://docs/api'],
defaultTools: ['example://tools/search'],
},
};
CLI 参数将覆盖配置文件中的设置。
MyCoder 支持在主 Agent 运行时向其发送修正。当您注意到 Agent 偏离轨道或需要额外信息时,这很有用。
使用 --interactive 标志启动 MyCoder:
mycoder --interactive "Implement a React component"
当 Agent 运行时,按 Ctrl+M 进入修正模式
输入您的修正或额外上下文
按 Enter 发送修正给 Agent
Agent 将接收您的消息并将其合并到决策过程中,类似于父 Agent 如何向子 Agent 发送消息。
您可以在配置文件中启用交互式修正:
// mycoder.config.js
export default {
// ... 其他选项
interactive: true,
};
MyCoder 可以通过灵活的 /mycoder 命令直接从 GitHub issue 评论触发:
/mycoder [your instructions here]
示例:
了解更多关于 GitHub 评论命令的信息
MyCoder 包
# 克隆仓库
git clone https://github.com/drivecore/mycoder.git
cd mycoder
# 安装依赖
pnpm install
# 构建所有包
pnpm build
# 运行测试
pnpm test
# 使用交互式 prompt 创建提交
pnpm commit
MyCoder 遵循 Conventional Commits 规范用于提交消息。我们的发布过程是完全自动化的:
有关更多详情,请参阅贡献指南。
MyCoder 使用 Playwright 进行浏览器自动化,用于 sessionStart 和 sessionMessage 工具。默认情况下,Playwright 需要通过 npx playwright install 分别安装浏览器。
MyCoder 现在包括系统浏览器检测功能,允许它使用您现有的已安装浏览器,而不是需要单独的 Playwright 浏览器安装。这在全局安装 MyCoder 时特别有用。
系统浏览器检测:
您可以在 mycoder.config.js 中配置浏览器检测:
export default {
// 其他配置...
// 系统浏览器检测设置
browser: {
// 是否使用系统浏览器或 Playwright 的捆绑浏览器
useSystemBrowsers: true,
// 首选浏览器类型(chromium、firefox、webkit)
preferredType: 'chromium',
// 自定义浏览器可执行路径(覆盖自动检测)
// executablePath: null, // 例如 '/path/to/chrome'
},
};
请参阅 CONTRIBUTING.md 了解如何为本项目做出贡献的详情。
本项目根据 MIT 许可证授权 - 详见 LICENSE 文件。