核心优势功能

Orchidea Code

AI 编程平台(CLI / Web / ACP)

对话式 AI 编码 Agent 平台,用自然语言驱动「生成代码、修 Bug、代码审查、补测试」的编码闭环。

核心能力

  • 多 Agent 编排与任务拆分(Debug / Plan Agent,子任务并行)
  • 数十种内置工具:bash、文件、grep/glob、fetch、webSearch、task/team/swarm、cron、LSP、MCP、Skill、voice、Worktree、computerUse 等
  • 会话持久化与恢复,Memdir 记忆系统(记忆扫描 / 记忆老化 / 团队记忆)
  • MCP 双向:既作客户端接入外部工具服务器(含远程鉴权),也提供 MCP server 入口对外暴露能力
  • 插件机制:checkpoint / 同步 / 遥测 / 上下文截断,支持运行期加载与卸载
  • Server 模式(HTTP API + WebSocket)安全治理:Token 鉴权 + cwd 白名单 + payload 白名单 + 消息/工具/网络主机数量上限
  • 可编程 SDK + ACP 协议,供桌面端、网页端与外部编排器嵌入
  • 多模型 Provider:Anthropic / Google / OpenAI / OpenAI-compatible / OpenRouter
  • Ink 终端交互 UI + Vim 模式 + 丰富内置命令(cfg / prompt / plan / cost / commit / doctor / skill / session / workspace / update)

技术优势

  • 多 Agent 并行工作,复杂任务自动拆解、各司其职
  • 数十种工具即插即用,覆盖编码 / 调试 / 测试全链路
  • 跨会话记忆,上下文不丢失、团队经验可复用
  • 标准开放协议,可嵌入任何产品与工作流
应用场景 个人开发者与团队在终端内完成编码、重构、审查、测试闭环;通过 Server / SDK / ACP 被桌面端、网页端与外部编排器嵌入;是 Orchidea 生态的编码底座
任务流转 自然语言 → 任务拆解 → 工具执行 → 代码生成 → 质量校验
数据存储 会话记忆 · 代码仓库

Orchidea Code

AI 编程平台(CLI / Web / ACP)

Orchidea Code 是对话式 AI 编码 Agent 平台,用自然语言驱动「生成代码、修 Bug、代码审查、补测试」的编码闭环。

2026-11 能力更新(v0.29.0)

  • CLI relay 命令:把既有 upstream proxy(/relay/* 透传、host 白名单、可选 Bearer token)正式接出入口
  • 显式失败:目标取位置参数或 ORCHIDEA_RELAY_TARGET,缺目标直接报错,不静默起空转服务
  • 配套:relay 单测与 Memdir Hub 客户端补齐

Quick Start

Ready to try Orchidea Code? Getting started is simple:

npm install -g @orchidea/code
orchidea

We respect the API KEY environment variable for all providers. If you don’t have an API Key, enter /login, select a provider, open the website, and enter the API Key.

Then enter /model to select a model of that provider.

Then you can start to use Orchidea Code, describe what you want to do in the command line, review proposed changes and approve tools calls.

# Examples of what you can do:
"Add error handling to the user authentication function"
"Refactor this component to use TypeScript"
"Create unit tests for the payment service"
"Optimize this database query"

Features

Orchidea Code 是一个可扩展的对话式编码 Agent,核心能力层按模块化组织(详见 src/):

  • 对话式编码 Agent:在命令行中用自然语言描述目标,Agent 负责生成代码、修复缺陷、代码审查、补充测试,并对每次工具调用给出 diff 供你审批。
  • Agent 编排与任务拆分(src/agent/):多 Agent 管理与路由(agentManager / routing)、任务执行器(executor),内置 Debug / Plan 等内置 Agent,支持子任务(Task)拆分与并行执行。
  • 丰富的工具系统(src/tools/):数十种内置工具,覆盖 Bash 命令、文件读写(read / write / edit)、搜索(grep / glob / ls)、网络抓取(fetch)、Web 搜索(webSearch)、TODO 管理、任务与团队协作(task / team / swarm)、定时任务(cron)、LSP、MCP、Skill、语音(voice)、代码仓 Worktree、计算机操作(computerUse)等。
  • 会话管理与恢复(src/session.ts / sessionRegistry / history):会话持久化、历史记录与恢复,支持交互式与静默(非交互)两种模式。
  • 记忆目录 Memdir(src/memdir/):基于目录的记忆系统,支持记忆扫描(memoryScan)、记忆老化(memoryAge)与团队记忆路径(teamMemPaths)。
  • MCP 全栈支持(src/mcp.ts / src/services/mcp/):作为 MCP 客户端接入外部工具服务器(含远程 MCP 鉴权),也提供 MCP server 入口(src/entrypoints/mcp.ts)对外暴露能力。
  • 插件机制(src/plugin.ts / src/plugins/):可扩展插件体系,内置 checkpoint、同步、遥测、上下文截断等插件,支持在运行期加载与卸载。
  • Server 模式(src/server/):orchidea server 启动本地 HTTP(/api)+ WebSocket(/ws)服务,提供 Headless 消息发送与 Work Queue 任务队列(详见 docs/server-api.md)。
  • SDK 与协议(src/sdk.ts):编程式 SDK 供其他应用(如桌面端、网页端)嵌入调用,与 @orchidea/protocol 配合实现统一的请求/响应/事件消息封装。
  • 多模型 Provider(src/provider/):基于 AI SDK 集成 Anthropic、Google、OpenAI、OpenAI-compatible 与 OpenRouter 等 Provider,支持模型映射与模型选择(/model)。
  • 丰富的内置命令(src/commands/):cfg(JSON/YAML 配置工具)、prompt(Prompt 模板物化)、plan、vim、mcp、diff、copy、cost、fast、tag、btw、ide、commit、doctor、install、skill、session、workspace、update、version 等。
  • ACP 支持(src/commands/acp/):Agent Client Protocol 客户端,可接入支持 ACP 的主机。
  • 终端内交互 UI:基于 Ink(React for terminals)的界面,内置 Markdown 渲染、Diff 查看、审批弹窗、队列显示与状态栏。
  • Vim 模式(src/commands/vim/ / src/hooks/useVimInput.ts):终端输入支持 Vim 键位。
  • 语音交互(src/services/voice.ts / src/tools/voice.ts):语音输入与语音工具。
  • 循环任务与定时调度(src/utils/cronScheduler.ts / src/tools/cron.ts / src/skills/bundled/loop.ts):定时执行与循环任务。
  • 安全加固(src/security/):文件系统访问控制(filesystem.ts)与敏感信息脱敏(redaction.ts),配合策略限制(policyLimits)收敛工具权限。
  • 自动升级(src/utils/autoUpdater.ts / src/upgrade.ts):版本检查与自动升级。
  • 其他能力:代码索引(codeIndexing)、会话压缩(compact / compression)、成本追踪(cost-tracker / usage)、VCR 录制回放(services/vcr)、Node 宿主桥接(nodeBridge)、上游代理(upstreamproxy)等。

Configuration

模型与 API Key

  • 所有 Provider 均尊重 API_KEY 环境变量;也可在 CLI 中运行 /login 选择 Provider、打开网页获取并填写 API Key,再运行 /model 选择模型。
  • .env.sample 提供端到端测试使用的模型变量 E2E_MODEL。

Server 模式环境变量

orchidea server(本地 API + WebSocket 服务)支持以下环境变量(完整说明见 docs/server-api.md):

环境变量说明
ORCHIDEA_SERVER_TOKEN鉴权 Token。未设置时不校验鉴权;设置后所有 /api/* 接口需携带 Authorization: Bearer <token> 或 x-orchidea-token,WebSocket 需通过 /ws?token=<token> 连接
ORCHIDEA_ALLOWED_CWD_PREFIXEScwd 白名单,用 , 或 ; 分隔的前缀列表;设置后 cwd 必须以任一前缀开头,否则返回 403
ORCHIDEA_SERVER_STATE_DIRServer 状态存储目录
ORCHIDEA_HEADLESS_MAX_EVENTSHeadless 响应事件上限
ORCHIDEA_WORKER_CONCURRENCYWork Queue 并发 Worker 数
ORCHIDEA_WORK_MAX_EVENTS_PER_JOB单个 Job 的最大事件数
ORCHIDEA_WORK_JOB_TTL_MSJob 存活时间(毫秒)
ORCHIDEA_WORK_CLEANUP_INTERVAL_MSJob 清理间隔(毫秒)
ORCHIDEA_STRICT_API_VALIDATION启用请求 payload 字段白名单检查
ORCHIDEA_MAX_MESSAGE_CHARS消息最大字符数
ORCHIDEA_MAX_APPROVED_TOOLS一次性自动审批工具数上限
ORCHIDEA_MAX_NETWORK_HOSTS网络安全配置中的 Host 数量上限
ORCHIDEA_VALIDATION_DETAILS返回更详细的 Schema 校验错误信息

Repository Components

This repository contains multiple related projects. The recommended layout is:

  • orchidea-code/: Core service (coding agent CLI/SDK and the core runtime)
  • orchidea-code-desktop/: Main AI code editor (desktop)
  • orchidea-code-browser/: AI code editor (web)
  • orchidea-archive/: Knowledge base management service (backend)
  • orchidea-desktop/: Knowledge base management client

Extra Commands

  • orchidea cfg: JSON/YAML config utilities (expand/minimize/compare).
  • orchidea prompt materialize: Materialize prompt templates into JSONL rows.
  • orchidea server: Runs the local API + WebSocket server (/api + /ws). If ORCHIDEA_SERVER_TOKEN is set, WebSocket supports /ws?token=<token>.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on setting up the development environment, running tests, and submitting pull requests.

License

MIT

← 返回平台架构总览