@icingrain/term-ai
v0.3.17
Published
Cross-platform terminal AI assistant: session context + requirements -> shell commands
Readme
@icingrain/term-ai
term-ai는 터미널 안에서 자연어 요구사항을 받아 셸 명령어로 바꿔주는 CLI입니다. #ai로 시작하는 한 줄을 입력하면 AI가 명령어를 만들고, 그 명령어를 셸 입력줄에 채워 넣습니다. 사용자가 Enter를 눌러야 실제 실행됩니다.
요구사항이 애매하면 터미널 안에서 바로 추가 질문을 하고, 그 답변은 같은 요청에 이어 붙여 처리합니다.
동작 방식
term-ai를 실행하면 인터랙티브 셸 세션이 시작됩니다.- 일반 셸 사용은 그대로 가능합니다.
#ai <요구사항>을 입력하면 AI가 명령어를 생성합니다.- 현재 세션 기록이 필요할 때만 참고합니다.
- 요구사항이 애매하면 터미널 안에서 바로 추가 질문을 합니다.
- 추가 질문에는
#ai를 다시 쓰지 말고, 바로 텍스트로 답합니다. - 생성된 명령어는 클립보드에 복사되고 셸 입력줄에도 채워집니다.
- Enter를 누르면 실행되고, 수정하거나 취소할 수도 있습니다.
예시:
#ai 네트워크 포트 8000 켜져 있는지 확인생성된 명령어:
lsof -nP -iTCP:8000 -sTCP:LISTEN설치
전역 설치:
npm install -g @icingrain/term-ai개발용 로컬 설치:
npm install
npm link설치 후 실행:
term-ai오프라인이나 의존성 설치가 어려운 환경에서는, 릴리스에 포함된 별도 설치 파일을 쓰는 방법을 참고하세요.
초기 설정
term-ai init설정할 수 있는 프로바이더는 다음과 같습니다.
- OpenAI API 키
- OpenAI ChatGPT 구독 기반 Codex CLI
- Anthropic Claude API 키
- Claude Code CLI
- OpenAI 호환 커스텀 엔드포인트
Codex CLI를 쓰려면 먼저 로그인해야 합니다.
codex loginClaude Code를 쓰려면 Claude CLI도 설치되어 있어야 합니다.
claude사용 예시
세션 시작:
term-ai명령어 요청:
➜ 프로젝트폴더 #ai 실행 프로세스 목록
[AI 처리 중...] "실행 프로세스 목록"
[AI 되묻기] 어떤 종류의 프로세스를 확인할까요?
> 전체 프로세스 중 상위 20개만
[AI 추가 정보] "전체 프로세스 중 상위 20개만"
[생성된 명령어]
ps aux | head -20
➜ 프로젝트폴더 ps aux | head -20요청이 애매하면 추가 질문이 나옵니다.
➜ 프로젝트폴더 #ai 로그 지워줘
[AI 처리 중...] "로그 지워줘"
[AI 되묻기] 어떤 로그를 지우려는지 알려주세요.
> ./logs 폴더 안의 7일 지난 로그만
[AI 추가 정보] "./logs 폴더 안의 7일 지난 로그만"
[생성된 명령어]
find ./logs -type f -mtime +7 -delete세션 기록 사용
term-ai는 사용자의 현재 입력만 보고 끝내지 않습니다. 필요할 때는 세션 기록을 함께 읽어서, 지금 요청이 단독으로 충분한지 아니면 이전 출력과 이어지는 요청인지 판단합니다.
다만 세션 기록을 매번 넣지는 않습니다. 단독으로 충분한 요청이면 현재 입력만으로 처리하고, 이전 출력이 있어야 의미가 생기는 요청일 때만 기록을 붙입니다.
#ai 네트워크 포트 8000 켜져 있는지 확인이전 출력이 필요한 요청은 최근 터미널 출력을 참고합니다.
#ai 방금 실패한 서버 다시 띄워줘주의 사항
- macOS와 zsh/bash 기준으로 먼저 검증했습니다.
- Windows native PowerShell/cmd 입력줄 주입은 별도 확인이 필요합니다.
- 생성된 명령어는 자동 실행되지 않습니다.
- 세션 기록은 메모리에서 최근 범위만 유지합니다.
- 설정 파일은 프로젝트 안이 아니라
~/.term-ai-cli/config.json에 저장됩니다.
개발
문법 확인:
find src -type f -name '*.js' -print0 | xargs -0 -n1 node --check
node --check bin/term-ai라이선스
Apache License 2.0
