ccch1mneyyy/working-activity
Lively Working-line extension for pi CLI and DSH
working‑activity
그것은 무엇인가 – 두 개의 서로 다른 AI 에이전트 플랫폼에 실시간 “작업 중 활동” 상태 표시줄을 추가하는 오픈 소스 확장 프로그램 쌍입니다:
- pi‑CLI (
pi-working-activity) - DeepSeek Harness (DSH) (
dsh-working-activity)
두 버전 모두 동일한 아이디어를 공유합니다: LLM 기반 코딩 어시스턴트가 생각하거나 도구를 실행하는 동안 터미널 / 웹 UI / 데스크톱 GUI에 컴팩트한 줄이 표시되어 에이전트가 무엇을 하고 있는지, 실행 시간, 진행률 백분율, 토큰 사용량, 비용 및 몇 가지 재미있는 메시지를 알려줍니다.
왜 중요한가
LLM 기반 코딩 에이전트는 종종 “생각”하거나 외부 도구(예: git pull, npm install, 모델 가중치 다운로드)를 호출하는 데 많은 시간을 소비합니다. 피드백이 없으면 사용자는 조용한 스피너만 바라보며 에이전트가 여전히 작업 중인지, 멈췄는지, 완료되었는지 알 수 없습니다. working‑activity는 이 격차를 메웁니다:
- 실시간 도구 실행 업데이트 (시작, 진행, 종료)
- 모델 자체 내레이션 – 에이전트가 “나는 …을 하고 있습니다”라는 짧은 줄을 작성하고 즉시 표시됩니다.
- 컨텍스트 사용량 경고로 모델의 토큰 한도에 가까워지고 있음을 알 수 있습니다.
- 각 라운드의 비용 및 토큰 통계로 예산을 관리하는 데 도움이 됩니다.
- 선택적 재미 요소 (애니메이션 프레임, 무작위 문구, 휴일 이스터 에그)는 미니멀 UI를 위해 끌 수 있습니다.
따라서 이 프로젝트는 pi 또는 DeepSeek 플랫폼에서 LLM 기반 코딩 에이전트를 구축하거나 사용하는 모든 사람에게 투명성, 인체 공학 및 예산 인식을 향상시킵니다.
핵심 기능 (pi 버전 – README가 이 쪽에서 가장 상세함)
| 기능 | 표시 내용 | 작동 방식 |
|---|---|---|
| 실시간 도구 활동 | 翻翻 src/index.ts / 跑命令 npm run build |
에이전트가 내보내는 tool_execution_start / tool_execution_end 이벤트를 수신합니다. |
| 도구 진행률 | 拉取模型权重 · 42% · 8s |
tool_execution_update의 백분율/단계 필드를 구문 분석합니다. 그렇지 않으면 경과 시간으로 대체합니다. |
| 빠른 도구 큐 | 매우 짧은 도구(<1.5초)는 각각 약 1초 동안 표시됩니다. | 빠른 도구를 큐에 넣어 사용자가 볼 수 있도록 합니다. |
| 생각 문구 풀 | 무작위 짧은 중국어 문구가 약 2.6초마다 변경됩니다. | 95개의 사전 작성 문구; 더 긴 생각 임계값은 특별한 메시지를 추가합니다. |
| 희귀한 시각적 이스터 에그 | 색상이 변하는 애니메이션 텍스트가 약 6~7분마다 나타납니다. | 1/150 확률, 4겹의 CSS 효과. |
| 모델 자체 내레이션 | ⏵ 查一下报错原因이 줄에 표시됩니다. |
확장 프로그램이 시스템 프롬프트 규칙(⏵ … ≤20 字)을 주입합니다. 모델의 스트리밍 출력에서 마커를 구문 분석합니다. |
| 타이밍 및 요약 | 搞定 ✓ · 4 工具 · 想3s 干2s 및 최종 비용 줄. |
시작/종료 타임스탬프를 추적하고 라운드별 및 세션 전체로 집계합니다. |
| 컨텍스트 사용량 경고 | ⚠ 上下文85%는 임계값을 초과하면 노란색/빨간색으로 변합니다. |
3초마다 session_compact 사용량을 확인합니다. 임계값은 구성 가능합니다. |
| 콤보 및 느린 도구 태그 | 많은 빠른 도구에 대해 火力全开×5. 30초 이상 도구에 대해 这个有点慢 ·. |
연속 도구 이벤트에 대한 간단한 카운터. |
| 남은 시간 추정 | 拉取模型权重 · 42% · 还剩~11s |
경과 시간과 보고된 백분율을 사용하여 외삽합니다. |
| Git 브랜치 표시 | 拉代码 · main · 3s |
git 관련 명령을 감지하고 현재 브랜치를 쿼리합니다. |
| 시간 인식 문구 | 야간, 주말, 휴일 메시지. | 로컬 시계와 내장 휴일 목록을 확인합니다. |
| 애니메이션 프레임 | /activity frames moon은 장식 애니메이션을 변경합니다. |
28개의 내장 프레임 프리셋; random은 각 라운드에서 선택합니다. |
| 실패 메시지 | 翻车了 · 读文件 config.json ✗ |
무작위 짧은 실패 문자열이 일반 “✗”를 대체합니다. |
| 하위 에이전트 수 | 병렬 하위 에이전트 실행 시 小弟×3. |
|
| 초당 토큰 추정 | ~42 tok/s (선택 사항) |
스트리밍 델타의 문자 수를 대략적으로 계산합니다. |
| 사용자 정의 도구 매핑 | 사용자가 자신의 도구에 대한 동사 문구를 정의합니다. | |
| 대화형 설정 패널 | /activity settings는 검색 가능한 UI를 열어 모든 기능을 전환할 수 있습니다. |
|
| 의사 명령 | /activity doctor는 구성, 테마 및 애니메이션 데이터를 검증합니다. |
|
| 모드 전환 | minimal (필수 정보만) vs lively (전체 재미 UI). |
위의 모든 것은 /activity 명령 스위트 또는 ~/.pi/agent/working-activity.json을 편집하여 전환할 수 있습니다.
DeepSeek Harness (DSH) 버전
DSH 플러그인은 pi 기능을 미러링하지만 Cordis 호스트 플러그인(dsh-working-activity)으로 패키징됩니다. 세 개의 프런트엔드가 소비하는 workingActivity 프로젝션을 게시합니다:
- TUI (
dsh‑tui) - 웹 UI (클라이언트 번들)
- 데스크톱 GUI (React 기반)
주요 차이점:
- 도구 진행률 백분율 없음 (DSH는 이를 내보내지 않음).
- 상태 표시줄은 터미널에 직접 출력되는 대신 프로젝션으로 내보내집니다.
- 선택적
publish: true는 재생을 위한 경량 로그 레코드를 작성합니다. 그렇지 않으면 줄은 메모리 내에서만 유지됩니다. - 여러 DSH 호스트 릴리스(0.1.x‑alpha, 0.2.x‑rc)에 대한 호환성 레이어가 제공됩니다.
구성 키는 pi 버전과 유사하며(프레임, 내레이션, 컨텍스트 임계값 등) 프로필의 플러그인 구성에 저장됩니다.
시작하기
pi‑CLI
pi install npm:pi-working-activity
# 구성 파일은 ~/.pi/agent/working-activity.json에 생성됩니다
# 에이전트 채팅 내에서 /activity 명령 스위트를 사용하여 제어합니다
DeepSeek Harness
# 프로필에 플러그인 추가
dsh plugin --profile <profile> add dsh-working-activity
# 플러그인은 자동 마운트됩니다. 추가 단계가 필요하지 않습니다
두 설치 모두 pi의 경우 제로 빌드(TypeScript 소스가 직접 로드됨)이고 DSH의 경우 일반 npm 게시입니다.
구성 (발췌)
{
"frames": "moon",
"narrate": true,
"contextWarnAt": 80,
"contextDangerAt": 95,
"showTokPerSec": false,
"workRemindAt": 3,
"customPhrases": [],
"customActions": {"my_deploy": ["部署一下", "上线中"]},
"mode": "lively",
"features": {"rareEggs": true, "shimmer": "auto"}
}
모든 키는 README에 문서화되어 있습니다. 수동으로 편집하거나 대화형 /activity settings UI를 통해 편집할 수 있습니다.
누가 이것을 사용할 수 있나요?
- pi 또는 DeepSeek 플랫폼에서 코딩 어시스턴트를 구축하는 개발자는 도구 사용 및 모델 추론에 대한 즉각적인 시각적 피드백이 필요합니다.
- 장기 실행 도구 체인(모델 다운로드, 빌드, 배포)을 실행하는 고급 사용자는 진행률, 비용 및 토큰 사용량 가시성이 필요합니다.
- 토큰 예산에 관심이 있는 팀 – 라운드별 비용 줄은 LLM 비용을 투명하게 유지하는 데 도움이 됩니다.
- 약간의 개성을 좋아하는 사람 – 선택적 애니메이션 프레임, 휴일 메시지 및 무작위 문구는 핵심 기능에 영향을 주지 않고 가벼운 터치를 추가합니다.
라이선스
- 핵심 저장소(pi 버전 및 문서): MIT
- DSH 플러그인 패키지: BSD‑3‑Clause
위의 모든 정보는 저장소의 README에서 직접 가져온 것입니다. 외부 가정은 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch