MCPcopy Index your code
hub / github.com/OperationT00/T-Code

github.com/OperationT00/T-Code @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
3,528 symbols 14,320 edges 405 files 418 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

t-code

一个使用 Java 构建的 Agent Coding CLI。

t-code 可以在终端中理解代码库、读取和修改文件、执行命令、规划复杂任务,并通过 Memory、RAG、联网搜索、MCP 与 Skill 扩展能力。

当前公开版本:v1.0.0

功能亮点

  • 三种执行模式:默认 ReAct、/plan 规划执行、/team 多 Agent 协作
  • 代码库探索:支持 glob、grep、文件读取和 RAG 语义检索
  • 上下文与记忆:短期上下文压缩、长期记忆、项目级与全局偏好
  • 工具能力:文件操作、Shell、联网搜索、网页抓取和并行工具调用
  • MCP 与 Skill:接入 stdio、Streamable HTTP server 和按需加载的 Skill
  • 终端体验:JLine inline TUI、状态栏、输入补全、历史记录、图片输入和任务取消
  • 安全边界:项目路径围栏、命令策略、HITL 审批、审计日志和 Side-Git 快照
  • 多模型适配:支持 GLM、DeepSeek、StepFun 与 Kimi

快速开始

环境要求

  • Java 17+
  • Maven
  • 至少一个模型 API Key

Linux / macOS

git clone https://github.com/itwanger/tcode.git
cd tcode
cp .env.example .env
${EDITOR:-nano} .env
mvn clean package
java -jar target/t-code-1.0-SNAPSHOT.jar

Windows PowerShell

git clone https://github.com/itwanger/tcode.git
cd tcode
Copy-Item .env.example .env
notepad .env
mvn clean package
java -jar target/t-code-1.0-SNAPSHOT.jar

.env 中填写至少一个模型 API Key:

GLM_API_KEY=
DEEPSEEK_API_KEY=
STEP_API_KEY=
KIMI_API_KEY=

启动后可以直接输入任务:

分析当前项目结构,并告诉我最值得优先阅读的文件

复杂任务可以使用规划模式:

/plan 为这个项目增加一个健康检查接口,并在完成后运行测试

执行模式

模式 入口 适用场景
ReAct 默认模式 日常问答、代码探索、单步修改
Plan-and-Execute /plan <任务> 多步骤任务、存在依赖关系的改动
Multi-Agent /team <任务> 需要规划、执行与审查协作的复杂任务

常用命令

命令 用途
/plan <任务> 使用 Plan-and-Execute 执行任务
/team <任务> 使用 Multi-Agent 执行任务
/cancel 取消当前任务
/clear 清空当前对话
/context 查看上下文与 Token 状态
/index [路径] 建立代码索引
/search <查询> 语义检索代码
/memory list 查看长期记忆
/mcp 查看 MCP server 状态
/browser status 查看浏览器连接状态
/hitl on 开启危险操作审批
/snapshot 查看 Side-Git 快照
/restore <N> 恢复快照

输入 / 后可以使用 Tab 补全命令。

MCP 配置

MCP 默认开启。首次运行时,如果 ~/.tcode/mcp.json 不存在,程序会自动创建 Chrome DevTools MCP 配置。

也可以手动配置用户级 ~/.tcode/mcp.json 或项目级 .tcode/mcp.json

{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "remote-demo": {
      "url": "https://mcp.example.com/v1",
      "headers": {
        "Authorization": "Bearer ${REMOTE_TOKEN}"
      }
    }
  }
}

Runtime API

Java Runtime 可以作为 HTTP 服务运行,为独立客户端提供 thread、turn、events 和 HITL approval 接口:

$env:TCODE_RUNTIME_API_KEY='local-secret'
java -jar target/t-code-1.0-SNAPSHOT.jar serve --http --port 8080

仓库中的 TypeScript CLI 是 Runtime API 的实验性薄客户端。

开发验证

mvn test -Pquick
mvn test -Pphase16-smoke
mvn test -DskipTests=false

文档

Extension points exported contracts — how you extend this code

Renderer (Interface)
终端渲染器抽象。 把对话流核心交互(流式输出、工具调用、HITL、状态栏、行内 diff、palette) 收口到一个接口,方便 inline 流式 / Lanterna 全屏 / plain 三种形态切换。 启动期一次性输 [9 implementers]
src/main/java/com/tcode/render/Renderer.java
SearchProvider (Interface)
搜索引擎抽象。 当前实现: - SerpApiSearchProvider:商业聚合 API,需 API Key,开箱即用 - SearxngSearchProvider:开源元搜索引擎,需要本地或可访问的 [7 implementers]
src/main/java/com/tcode/web/SearchProvider.java
HitlHandler (Interface)
HITL 审批交互接口 - 定义人工审批的交互契约 实现类负责与用户交互,收集用户对危险操作的审批决策。 当前仓库提供基于终端的实现(TerminalHitlHandler)。 设计约定: - 审批是同步阻塞操作,实现类需等待用户输入后 [13 …
src/main/java/com/tcode/hitl/HitlHandler.java
LlmClient (Interface)
(no doc) [6 implementers]
src/main/java/com/tcode/llm/LlmClient.java
Memory (Interface)
Memory 接口 - 记忆系统的统一抽象 分为短期记忆(ShortTermMemory)和长期记忆(LongTermMemory): - 短期记忆:当前对话的上下文,包括消息历史和工具结果 - 长期记忆:跨对话持久化的关键信息,如用户偏 [4 …
src/main/java/com/tcode/memory/Memory.java

Core symbols most depended-on inside this repo

append
called by 725
src/main/java/com/tcode/tui/history/ConversationSnapshot.java
contains
called by 585
src/main/java/com/tcode/tool/ToolDefinitionCatalog.java
get
called by 452
src/main/java/com/tcode/snapshot/SnapshotService.java
of
called by 350
src/main/java/com/tcode/web/SearchResult.java
toString
called by 345
src/main/java/com/tcode/plan/Task.java
isEmpty
called by 299
src/main/java/com/tcode/lsp/LspDiagnosticReport.java
size
called by 276
src/main/java/com/tcode/memory/Memory.java
add
called by 245
src/main/java/com/tcode/cli/TCodeHistory.java

Shape

Method 2,966
Class 505
Enum 25
Interface 22
Function 10

Languages

Java99%
TypeScript1%

Modules by API surface

src/main/java/com/tcode/agent/Agent.java59 symbols
src/main/java/com/tcode/agent/PlanExecuteAgent.java57 symbols
src/main/java/com/tcode/tool/ToolRegistry.java52 symbols
src/main/java/com/tcode/render/inline/InlineRenderer.java50 symbols
src/test/java/com/tcode/cli/CliCommandParserTest.java36 symbols
src/main/java/com/tcode/mcp/McpServerManager.java35 symbols
src/main/java/com/tcode/agent/SubAgent.java35 symbols
src/main/java/com/tcode/llm/LlmClient.java34 symbols
src/main/java/com/tcode/plan/ExecutionPlan.java33 symbols
src/test/java/com/tcode/cli/MainInputNormalizationTest.java29 symbols
src/main/java/com/tcode/snapshot/SideGitManager.java28 symbols
src/main/java/com/tcode/memory/MemoryManager.java28 symbols

For agents

$ claude mcp add T-Code \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact